(詳細な説明)
図1は、開示される主題に従ったシステム100の例示的な一実施態様のブロック図である。一実施態様において、システム100は、ユーザ190が使用する、又は動作させる装置102と、データベース(database)(DB)サーバ又はシステム104と、1つ以上のビジネスアプリケーションサーバ106とを含むことができる。様々な実施態様において、装置102は、従来的なコンピュータ(例えば、デスクトップ、ラップトップ、ノートブックなど)、又は非従来的なコンピューティングデバイス(例えば、スマートフォン、タブレット、シンクライアント、コンピュータ端末など)を含むことができる。3つのビジネスアプリケーションサーバ106が図示されているが、開示される主題は、そのようなデバイスのいかなる数にも限定されないことが理解される。更に、デバイス102、104、及び106は、仮想環境又はモジュラー環境(例えば、ブレードサーバシステム、仮想マシンなど)に含まれるそのようなデバイスのインスタンス化を含むことができることが理解される。
このコンテキストにおいて、用語「ビジネスサービス」は、情報技術(IT)環境内で動作するソフトウェアアプリケーション、又はコンピューティングデバイスを指す。一実施態様において、ビジネスサービスは、例えば、電子メールサーバ、ファイルサーバ、ヘルプデスクアプリケーション、顧客関係管理(customer relationship management)(CRM)アプリケーション、自動化アプリケーション、その他などのソフトウェアアプリケーションを含むことができる。別の実施態様において、ビジネスサービスは、例えば、ビジネスアプリケーションサーバ106、複数のビジネスアプリケーションを実行するブレードサーバ、ビジネスアプリケーションの1つ以上のインスタンスを実行するサーバプール(例えば、webサーバなど)、従業員又はユーザ190に支給されるコンピューティングデバイス、その他などのコンピューティングデバイスを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
このコンテキストにおいて、用語「ビジネスアプリケーション」は、ソフトウェアアプリケーション、又はより口語的には、アプリケーション(例えば、ヘルプデスクアプリケーション、セールス自動化アプリケーションなど)である、ビジネスサービスを指す。このコンテキストにおいて、用語「ビジネスサーバ」、又は「ビジネスアプリケーションサーバ」は、ビジネスアプリケーションを実行するコンピューティングデバイス(例えば、サーバプール、ブレードサーバなど)を指す。
図示された実施態様において、ユーザ190は、装置又はコンピューティングデバイス102を、動作させる、使用する、又は制御することができる。様々な実施態様において、コンピューティングデバイス102は、マシン実行可能命令のストリーム(例えば、オペレーティングシステム118、アプリケーション120など)を実行するように構成されたプロセッサ112を含むことができる。
コンピューティングデバイス102は、データ及び/又は命令を記憶するように構成されたメモリ114を含むことができる。様々な実施態様において、メモリ114は、揮発性メモリ、不揮発性メモリ、又はそれらの組合せを含むことができる。メモリ114又はその部分は、プロセッサ112による命令の実行の一部として、一時的なやり方でデータを記憶するように(例えば、ランダムアクセスメモリ(Random Access Memory)(RAM)など)構成されてよい。メモリ114又はその部分は、半永久的な、又は長期的なやり方でデータを記憶するように(例えば、ハードドライブ、ソリッドステートメモリ、フラッシュメモリ、光学記憶装置など)構成されてもよい。
様々な実施態様において、コンピューティングデバイス102は、通信ネットワークを介して他のデバイス(例えば、サーバ104など)と通信するように構成された、1つ以上のネットワークインターフェース116を含むことができる。様々な実施態様において、この通信ネットワークは、有線の(例えば、Ethernet、Fibre Channelなど)、又は無線の(例えば、Wi-Fi、セルラなど)プロトコル若しくは標準、或いはそれらの組合せを用いることができる。
一実施態様において、コンピューティングデバイス102は、プロセッサ112によって実行され得るオペレーティングシステム(operating system)(OS)118を含むことができる。そのような実施態様において、OS118は、アプリケーションプログラム(例えば、アプリケーション120など)と、コンピュータハードウェア(プロセッサ112、ネットワークインターフェース116など)との間の仲介としての役割をするように構成されてよい。しかしながら、アプリケーションは、ハードウェアによって直接実行されてもよく、OS118を頻繁に呼び出してもよく、又はOSによって割り込まれてもよい。
様々な実施態様において、コンピューティングデバイス102は、アプリケーション120を含む、又は実行することができる。様々な実施態様において、アプリケーション120は、BMCソフトウェアアプリケーションを含むことができ、OS118と連携してプロセッサ112によって実行されてよい。一実施態様において、コンピューティングデバイス102はまた、他のアプリケーション(図示せず)を含むことができる。
一実施態様において、ユーザ190は、特定のビジネスサービス(例えば、ビジネスアプリケーションサーバ106のうちの1つ、ビジネスアプリケーション180のうちの1つなど)に関する情報を閲覧したい、又は情報にアクセスしたいと望むことがある。そのような実施態様において、ユーザ190は、ビジネスサービスコンテキストユーザインターフェース要素122の表示を要求することができる。このコンテキストにおいて、用語「ビジネスサービスコンテキスト」と、「サービスコンテキスト」とは、同義である。
図2は、開示される主題に従ったユーザインターフェース(user interface)(UI)200の例示的な一実施態様の図である。図示された実施態様において、UI200は、コンピューティングデバイス上で実行されるアプリケーション(例えば、図1のアプリケーション120)のための、UIの主要部又は一部分であってよい。図示された実施態様において、アプリケーションは、IT Service Management (ITSM)アプリケーションであってよい。しかしながら、様々な実施態様において、サービスコンテキストは、任意のツール又はアプリケーション(例えば、ITSM、BMC ProactiveNet Performance Management (BPPM)など)内で、起動されてもよく、又は表示されてもよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
この例示的な実施態様において、ユーザは、特定のビジネスサービスに関する情報を見たい、又は情報にアクセスしたいと望むことがある。図示された実施態様において、ユーザは、ビジネスサービス202についてのサービスコンテキストを表示することを選択している。
一実施態様において、ユーザは、所望のビジネスサービス(例えば、Electronic Product Distribution (EPD)ビジネスサービスなど)に関連付けられたUI要素202を右クリックすることができる。これにより、ユーザがそこから選択できるコンテキストメニューを持ってきて、選択されたビジネスサービスに関連付けられたサービスコンテキストを表示することができる。別の実施態様において、アイコン、又はボタンによって、サービスコンテキストを持ってくることができる。更に別の実施態様において、ユーザの要求を指し示すために、対話の他のUI手段又はUI形態(例えば、ジェスチャ、ハイパーリンクなど)を用いて、選択されたビジネスサービスのサービスコンテキストを表示することができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
様々な実施態様において、サービスコンテキストが取得されると、以下でより詳細に説明するように、アプリケーションは、サービスコンテキストUI要素204を表示して、サービスコンテキスト、又はその一部分を表示することができる。
様々な実施態様において、ビジネスサービスコンテキストは、通常は、アプリケーション自体で備えていない、又はアクセスできないデータに、アプリケーションが到達できるようにする手段を含むことができる。これは、所与のビジネスサービスが何であるか、及びそれがどのように機能しているかという、サムネイルスケッチ、又は凝縮バージョン若しくは凝縮ビューを、ユーザに与えるためである。いくつかの実施態様において、ビジネスサービスコンテキスト、及びビジネスサービスコンテキストを表示するUI要素204は、ビジネスサービス用の(出荷用パッケージ、例えばFedExなどで使用される際の)パッキングラベルにリンクされてよい。しかしながら、開示される主題は、この類例には限定されず、類例は、説明目的のためにすぎないことが理解される。
様々な実施態様において、アプリケーションは、ビジュアルUIコンポーネント204を利用可能にすることができてよい。ビジュアルUIコンポーネント204は、起動アプリケーションのUI200において閲覧可能な所与のビジネスサービス(例えば、ビジネスサービス202、EPDなど)のために、実行している何らかのアプリケーション(例えば、IT Service Managementなど)のコンテキストの中で、ユーザが持ってくる、又は要求することができるものである。
いくつかの実施態様において、このUI要素204は、サービスコンテキストサマリビューと呼ばれてよく、図4aに関して以下でより詳しく論じる。そのような実施態様において、更なるUI要素が、やはり表示されてもよく、又は一実施態様では、UI要素204に取って代わることができる。これらの後続のUI要素は、サブビューと呼ばれてよく、様々な実施態様において、サービスに関する追加的な情報を、凝縮度の低いフォーマット、又は代替のフォーマットで表示するように構成されたリストビューを含むことができる。様々な実施態様において、様々なUI要素又はUIビューは、選択されたビジネスサービスの様々な態様に重点を置くことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
別の実施態様において、サービスコンテキストからのデータは、サービスコンテキストを消費する、又は利用するアプリケーションのユーザインターフェース200に、(例えば、UI要素204などの、別個のUI要素に表示されるのとは対照的に)統合されてよい。そのような実施態様において、そのようなアプリケーションに利用可能な一組のデータは豊富になってよく、一実施態様においては、ユーザ体験をより生産的にすることができる。そのような実施態様において、サービスコンテキストデータを起動アプリケーションのUI200に統合することは、サービスコンテキストのネイティブビューと呼ばれてよい。そのような実施態様において、様々なアプリケーションは、ビジュアルUI要素204を常に表示する必要なしに、サービスコンテキストからのデータにアクセスし、データを使用することができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
ユーザは、様々な理由でビジネスサービスコンテキストを表示したいと望むことがある。以下では、サービスコンテキストのいくつかの例示的な利用事例を説明する。以下は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
第1の例で、チケットシステム、ヘルプデスク、又はサービスデスクを含むアプリケーションにおいて、最も非効率なプロセスの1つは、正しい人員に割り当てられたインシデント、又はサポートチケットを得ることである。インシデントがシステムに入力されると、インシデントは、何度かハンドオフされた後で、正しい割り当てが行われることがある。サービスコンテキスト、及びサービスコンテキストの(少なくとも部分的な)表示は、所与のビジネスサービスに関係した、より豊富な、より適切なデータを提供することによって、インシデントの正しい譲受人の識別を支援することができる。非常に短い時間内に、(ビジネスサービスコンテキストUI要素を介して)サービスを見ている人は、どのインシデントがサービスに関連付けられているかを見分けることができる。その後の掘り下げ、又は他のUI要素若しくはUIビューが、そのようなビジネスサービスが、例えば、何らかの故障したインフラストラクチャコンポーネントを有しているかどうかを示すことができる。そのような情報を準備して、ヘルプデスク従業員は、インシデントを適正なシステム管理者に迅速に割り当てることができる。
第2の例で、管理規律にわたる情報のフローは、しばしばそうであるべきほど、流動的ではないことが多い。1つの規律において遭遇した問題は、そのビジネスグループ、又はサイロに関連付けられた人員にそのまま留まる場合がある。或いは、問題が外に向かって伝達された場合、伝達は、しばしば最適ではないやり方で行われる。サービスコンテキストでは、所与のサイロ、又はビジネスグループ内で収集された情報は、他の規律、サイロ、又はビジネスグループにおける情報と同じである。サービスコンテキストは、規律非依存型であってよい。したがって、サマリビュー、又は他のUI要素におけるデータ値、及びそれらのそれぞれのビジュアル表現を、誤理解又は誤解釈される危険性のほとんどないまま、規律、又はビジネスグループにわたって共有することができる。
第3の例で、サービスコンテキストによって、ユーザは、所与のビジネスサービスについての具合の悪い点に関する十分な情報を与えられてよい。しかしながら、ユーザがよりよい、より詳細な情報を必要とする、又は望む場合、別のビジネスアプリケーションを起動することによって、ユーザは情報を取得することができる。そのような実施態様において、サービスコンテキスト、及びそれを表示するUI要素は、ユーザが様々な(及びしばしば、より集中的な)ビジネスアプリケーションの各々を開始する、又は実行する必要なしに、ビジネスサービスに関する問題の解決を始めるのを手助けする開始ポイントを、ユーザに提供することができる。
様々な実施態様において、サービスコンテキスト及び/又はサービスコンテキストを表示するUI要素204は、1つ以上のやり方で一貫していてよい。例えば、UI要素204のルックアンドフィールドは、アプリケーションにわたって一貫していてよい。ユーザは、ヘルプデスクアプリケーションにおいて、又はITサービス管理アプリケーションにおいて、サービスコンテキストを表示することができ、そのUI要素204は、実質的に同一であってよい。様々な実施態様において、これは、ビジネスコンテキストに何を予期すべきか、及びその中に収容された情報をどのように処理するかを知ることに、様々なビジネスグループにおけるユーザ、又は様々なビジネスアプリケーションのユーザが慣れることができるので、有益であることがある。
いくつかの実施態様において、サービスコンテキストは、表示されるデータ、情報、又は属性の観点から、一貫していてよい。例えば、サービスコンテキストUI要素を表示する、又は起動するアプリケーションに関わらず、UI要素は、同じフィールド(例えば、ビジネスサービス記述、ビジネスサービスオーナー、ビジネスサービス状態など)、及びそれらのフィールドのための同じ値を含むことができる。やはり、そのような一貫性は、ユーザ効率を支援することができる。
更に別の実施態様において、サービスコンテキスト及び/又はサービスコンテキストを表示するUI要素204は、ビジネスサービスに関する情報を、単純で素早いやり方で表示するように構成されてよい。パッキングレベルとしてのサービスコンテキストの類例に戻ると、サービスコンテキストは、そこに含まれる情報がユーザに容易に理解可能であるように、(例えば、システム管理者などによって)クリティカルとみなされる情報のみを含む、又は表示することができ、(後続のビュー、又はUI要素が表示されない限り)それ以上は含まれない、又は表示されなくてよい。
図1に戻ると、単一のアプリケーション(例えば、アプリケーション120など)についてのサービスコンテキストを作成し、表示するプロセスが示されているが、所与のビジネスサービスのサービスコンテキストは、いくつかのサポートするアプリケーション内で表示され得ることが理解される。例えば、第2のユーザ、及び第2のアプリケーション(図示せず)を実行する第2のコンピューティングデバイスがまた、ユーザ190と同じビジネスサービスについてのサービスコンテキストを要求することができる。そのような実施態様において、第2のユーザ、及びユーザ190は、同一の、又は実質的に同等なサービスコンテキスト、又はサービスコンテキストを表示するUI要素122を見ることができる。そのような実施態様において、ヘルプデスクアプリケーションにおけるユーザと、アプリケーションをプロビジョニングするデバイスにおけるユーザとは、ユーザらのホストアプリケーション(例えば、アプリケーション120など)に関わらず、一貫したルークアンドフィールド、及びデータ値(例えば、ビジネスサービスステータスなど)を有する実質的に同じサービスコンテキストを見ることができる。
図示された実施態様において、ユーザ190は、所与のビジネスサービス188のサービスコンテキスト168の表示を要求することができる。様々な実施態様において、ビジネスサービス188は、ビジネスサーバ106のうちの1つ、ビジネスアプリケーション180のうちの1つ、又は別のビジネスサービスを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
そのような実施態様において、アプリケーション120は、ビジネスサービスコンテキスト要求162を連合データベース150に送信する、又は送ることができる。様々な実施態様において、ビジネスサービスコンテキスト要求162は、そのサービスコンテキスト要求が属するのはどのビジネスサービスかを指し示す、属性又はフィールドを含むことができる。好ましい実施態様において、連合DB150は、構成管理DB(configuration management DB)(CMDB)を含むことができる。しかしながら、それほど好ましくはない実施態様においては、汎用記憶コンポーネント(例えば、リレーショナルデータベースなど)が、連合DB150に含まれてもよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
図示された実施態様において、連合DB150は、DBサーバ140によって実行される、又はDBサーバ140に含まれてよい。様々な実施態様において、DBサーバ140は、上で説明したような、プロセッサ152と、メモリ154と、少なくとも1つのネットワークインターフェース156とを含むことができる。上で説明したように、様々な実施態様において、メモリ154は、揮発性記憶装置(例えば、ランダムアクセスメモリなど)、不揮発性記憶装置(例えば、ハードドライブ、ソリッドステートドライブなど)、又はそれらの組合せを含むことができる。そのような実施態様において、連合DB150は、少なくとも部分的には、メモリ154の一部分によって記憶されてよい。
様々な実施態様において、連合DB150は、仮想的な、又は少なくとも部分的に仮想的なDBを含むことができる。そのような実施態様において、連合DB150は、サービスコンテキスト168、又はサービスコンテキスト168に含まれる情報を含まないことがある。しかしながら、連合DB150は、サービスコンテキスト情報のための照会の単一ポイントを提供することができる、又は、サービスコンテキスト168に含まれる情報を含むように(アプリケーション120に)見えるデータベースを仮想化することができる。
そのような実施態様において、連合DB150は、複数の他のビジネスアプリケーション180から、情報を取り出すことができる。様々な実施態様において、連合DB150がビジネスサービス188に関する情報を求める要求を受信すると、連合DB150は次いで、ビジネスサービス188に関する1つ以上のビジネスアプリケーション180を照会することができる。
様々な実施態様において、照会されたビジネスアプリケーション180は、そのそれぞれのビジネスアプリケーションデータレポジトリ182から、ビジネスサービス188に関する情報(そのような情報が存在すれば)を取り出すことができる。この情報164は次いで、連合DB150に送信されてよい。
そのような実施態様において、連合DB150は次いで、複数のビジネスアプリケーション180から取り出されたビジネスサービス188に関する様々な情報164に少なくとも部分的に基づいて、集約データベース結果166を生成することができる。一実施態様において、連合DB150は、あたかも連合DB150が仮想ではなく、実際に所望の情報を物理的な記憶場所に含むかのように集約DB結果166が見えるようなやり方で、情報164を集約することができる。更に、そのような実施態様において、集約データベース結果166は、サービスコンテキスト168のための情報、又はサービスコンテキスト168それ自体を、単一のデータベーストランザクションにおいて、アプリケーション120に提供することができる。そのような実施態様において、アプリケーション120は、様々なビジネスアプリケーション180から新しい情報164が到着したときに、データを繰り返し求める、又は常に更新される必要がなくてもよい。
一実施態様において、アプリケーション120は、集約データベース照会結果166を受信することができる。上で説明したように、様々な実施態様において、この集約データベース照会結果166は、サービスコンテキスト168を含むことができる。様々な実施態様において、アプリケーション120は、サービスコンテキスト168に含まれる情報を、フィルタリングする、又は所定のフォーマット(例えば、表示されることになる一連の既定のフィールドなど)に凝縮することができる。サービスコンテキスト168のこの部分は次いで、サービスコンテキストUI要素122を介して、ユーザ190に表示されてよい。
そのような実施態様において、ユーザ190が、サービスコンテキスト168の他の部分を「掘り下げ」たい、又は表示したい場合、そのようなUI要素のコンテンツを詳述する既定のルールに基づいて、新しいUI要素若しくはUIビューを生成する、又は表示することができる。そのようなビューの様々な実施態様は、図4a、図4b、及び図4cを参照して以下で説明される。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図3は、開示される主題に従ったシステム300の例示的な一実施態様のブロック図である。様々な実施態様において、システム300は、図1のシステム100の部分のより詳細な実施態様であってよい。図示された実施態様において、システム300は、図1を参照して説明したようなアプリケーションであってよい、サービスコンテキストコンシューマ302を含むことができる。システム300はまた、一実施態様において、連合又は少なくとも部分的に仮想的なデータベース(DB)304を含むことができる。システム300はまた、1つ以上のプロバイダアプリケーション306を含むことができ、その各々が、現在のビジネスサービスコンテキストの焦点である特定のビジネスサービスに関する情報又はデータを提供する。
様々な実施態様において、サービスコンテキストコンシューマ、又はコンシューマアプリケーション302は、所与のビジネスサービスについてのサービスコンテキストを要求する(312)ことができる。この要求312は、連合データベース304に対して行われてよい。サービスコンテキストコンシューマ302は、返答として、要求されたサービスコンテキストを含むことができる集約データベース照会結果314を受信することを予期することができる。そのような実施態様において、サービスコンテキストコンシューマ302は、上で説明したように、単一のアトミックデータベーストランザクションにおいて、サービスコンテキスト(又はサービスコンテキストがそこから引き出され得る情報)を、要求し(312)、受信する(314)ことができる。
図示された実施態様において、連合又は部分的に仮想的なデータベース304は、連合DBインターフェース358を含むことができ、連合DBインターフェース358は、あたかもDB304が非仮想的なデータベースであるかのように、データベース要求(例えば、要求312など)を受信し、データベース照会結果(例えば、照会結果314など)を提供するように構成されている。様々な実施態様において、連合DBインターフェース358は、サービスコンテキスト抽象化レイヤ(Service Context Abstraction Layer)(SCAL)と呼ばれてよく、SCALは、このアーキテクチャによって様々なアプリケーションデータAPI394から集められた属性のすべての仮想ビューを提示する。このようにして属性を提示することによって、コンシューマアプリケーション302(例えば、サービスコンテキストビュー、又はネイティブビュー)は、1つの取り出し動作において、すべての必要とされる属性、又はサービスコンテキストを得ることができる。加えて、連合DBインターフェース358は、代替的に、このプロトコルを選好するコンシューマアプリケーション302のためのWebサービスとして公表されてもよい。
連合DB304は、1つ以上のビジネスサービスに関する様々なデータベースエントリ、又は情報を「記憶する」ように構成された連合DB記憶部分350を含むことができる。上で説明したように、様々な実施態様において、連合DB304が、記憶部分350に含まれる情報を少なくとも長期的な意味で実際には記憶しないが、代わりに、1つ以上のプロバイダアプリケーション306からデータに動的にアクセスできるという点において、この記憶は、少なくとも部分的には、事実上行われてよい。
しかしながら、いくつかの実施態様において、連合DB304は、1つ以上の非仮想フィールド又はデータベースエントリ、及びそれらのそれぞれの値352を含むことができる。これらの非仮想フィールド352は、連合DB304によって参照される様々なビジネスサービスについて、基本値又はデフォルト値を含むことができる。そのようなフィールドは、以下を含むことができる: ビジネスサービスの名前、ビジネスサービスの記述、ビジネスサービスのオーナーなど。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
加えて、連合DB304は、1つ以上の仮想フィールド又はデータベースエントリ、及びそれらのそれぞれの値354を含むことができる。これらの仮想フィールド354は、プロバイダアプリケーション306から取り出されて、もっぱら連合DB304に名目上記憶された、任意のデータベースフィールド、及び値を含むことができる。例示的な仮想フィールドは、以下を含むことができる: ビジネスサービスステータス、ビジネスサービスに関連付けられたインシデントの数又は他のパフォーマンスメトリクス、ビジネスサービス場所など。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
そのような実施態様において、連合DB350が非仮想フィールド352と仮想フィールド354の両方を含むことができるので、連合DB304は、単に部分的に仮想的であると呼ばれてよく、両方のフィールドは、連合DB304が実際に存在するよりも幅広い情報提供DBを含むというイリュージョンを提供するように、集約される。非仮想フィールド352、及び仮想フィールド354は、連合DB304が単一のモノリシックデータベースであるというイリュージョンを提供するように、集約されてよい。しかしながら、別の実施態様において、連合DB304は、完全に仮想的であってよく、仮想化されていないフィールド352を含まなくてもよい。更に別の実施態様において、連合DB304は、非仮想的であってよく、仮想フィールド354に記憶されているものとして示される情報は、実際には、仮想化されていない連合DBの非仮想フィールド352に記憶されていてもよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
様々な実施態様において、連合DB304は、プロバイダアプリケーション306から取り出された仮想フィールド354を一時的に記憶するためのキャッシュ360を含むことができる。プロバイダアプリケーション306から取り出された結果を一時的に記憶することによって、システム300は、コンシューマアプリケーション302によって要求される度に、そのようなデータを再び取り出す必要を回避することができる。
一実施態様において、連合DB304は、サービスコンテキストアダプタ356を含むことができる。そのような実施態様において、サービスコンテキストアダプタ356は、プロバイダアプリケーション306から配信されたデータにアクセスするように構成されてよい。以下で説明するように、この情報は、アクセスされる固有のプロバイダアプリケーション306に関わらず、標準化されたフォーマットを介して、プロバイダアプリケーション306によって提供されてよい。例えば、ヘルプデスクプロバイダアプリケーション、及びシステムリソースプロバイダアプリケーションは、同じフォーマットで、又は既定のプロトコルに従って、情報を生み出すことができる。様々な実施態様において、サービスコンテキストアダプタ356は、標準化されたフォーマットにおいて受信したこの情報を、連合DB304によって用いられるデータベースフィールド354に、又はフィールド352にさえ、適応させる、又は変換するように構成されてよい。
一実施態様において、プロバイダアプリケーション306は、webサービスとしてアクセスされてよく、そのそれぞれのデータを、既定のフォーマット(例えば、シンプルオブジェクトアクセスプロトコル(Simple Object Access Protocol)(SOAP)、拡張可能なマークアップ言語(Extensible Markup Language)(XML)など)で提供することができる。様々な実施態様において、このフォーマットは、Webサービス記述言語(Web Services Description Language)(WSDL)、又は他のやり方を介して記述される、又は定義されてよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
様々な実施態様において、連合DB304は、アプリケーション又はwebサービスレジストリ308を中継する、又は利用することによって、どのプロバイダアプリケーション306が存在し得るか、及びどのようにプロバイダアプリケーション306にアクセスするかを、知っている、又はそれに気づいていてよい。そのような実施態様において、各プロバイダアプリケーション306は、レジストリ308に登録する、又はレジストリ308に、プロバイダアプリケーション306の存在、コンシューマ(例えば、連合DB304)がプロバイダアプリケーション306にアクセスできる場所又は手段(例えば、ネットワークアドレス、ポート番号、プロトコルなど)、プロバイダアプリケーション306が提供することができるサービス又は情報を、知らせることができる。様々な実施態様においては、プロバイダサービス306に関する他の適切な詳細を知らせることができる。様々な実施態様において、レジストリ308は、ユニバーサルディスクリプション、ディスカバリ及びインテグレーション(Universal Description, Discovery and Integration)(UDDI)準拠のレジストリ、又は実質的に準拠するレジストリを含むことができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
一実施態様において、システム300は、1つ以上のプロバイダアプリケーション306を含むことができる。これらのプロバイダアプリケーション306の各々は、アプリケーション306が利用するあらゆるフォーマット又はやり方で記憶された、様々なデータ又は情報392を含むことができる。このデータ392は、プロバイダアプリケーション306の通常データのアプリケーションプログラマティックインターフェース(application programmatic interface) (API) 394を介して、アクセスされてよい。
しかしながら、上で説明したように、連合DB304は、プロバイダアプリケーション306によって連合DB304に提供される情報が、様々なプロバイダアプリケーション306によって使用される様々なフォーマットではなく、又は様々なアクセス方式を介することなく、標準化された、既定の、均一なフォーマットで提供されるように予期する、又は要求することができる。したがって、様々な実施態様において、各プロバイダアプリケーション306は、標準属性インターフェース(standard attribute interface)(SAI)396を含む、実装する、又は利用することができる。SAI396の各実施態様は、プロバイダアプリケーション306の外部のコンシューマ(例えば、連合DB304)が、標準化された、均一な、既定のフォーマット及びプロトコルで、アプリケーションデータ392にアクセスするのを可能にするように構成されてよい。図示された実施態様において、SAI396は、プロバイダアプリケーション306が、webサービスとして機能し、データベース照会316を介して連合DB304によってアクセスされるのを可能にすることができる。
様々な実施態様において、連合DB304は、プロバイダアプリケーション306からの所与のビジネスサービスの情報を読み込む、又は情報にアクセスするように構成されてよいが、編集する、又は新しい情報を書き込んでプロバイダアプリケーション306に戻すようには構成されなくてもよい。そのような実施態様において、サービスコンテキストは、情報提供ツールであってよく、改善ツール、又は制御ツールでなくてもよい。しかしながら、別のそれほど好ましくない実施態様においては、サービスコンテキストコンシューマ302は、取り出されたデータにおいて、編集又は改変を指定するように構成されてもよい。それに応答して、連合DB304は、情報におけるそのような変更を書き込んで、それぞれのプロバイダアプリケーション306に戻すように構成されてもよい。そのような実施態様において、コンシューマアプリケーション302と連合DB304との間での書き込みは、読み込みトランザクションと同様に、単一のデータベーストランザクションとして(例えば、要求312、及び応答314)行われてよい。更に別の実施態様において、コンシューマアプリケーション302は、直接プロバイダアプリケーション306にデータを書き込む、又はコマンドを伝達するように構成されてもよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
様々な実施態様において、サービスコンテキストの取り出しにおけるセキュリティの問題が検討されてよい。一実施態様において、ユーザ又はコンシューマアプリケーション302は、どのデータがアクセスされ得るか、及び/又は、表示され得るかを指図する、1つ以上のセキュリティ資格証明に関連付けられてよい。そのような実施態様において、連合DB304は、プロバイダアプリケーション306から受信したデータをフィルタリングするように構成されてよく、このデータは、最終的には、コンシューマアプリケーション302に関連付けられたセキュリティ資格証明に基づいて、集約データベース照会結果314を介してコンシューマアプリケーション302に提供される。一実施態様において、セキュリティ資格証明は、サービスコンテキストを求める要求312を介して提供されてよい。そのような実施態様において、セキュリティ資格証明の提示は、暗黙的(例えば、ユーザ名を介して推論可能であるなど)、又は明示的(例えば、要求312に含まれる認証証明書若しくはパスワードなど)であってよい。
別の実施態様において、コンシューマアプリケーション302のユーザは、プロバイダアプリケーション306上にセキュアに記憶されたデータにアクセスするための認証、又はセキュリティチェック(例えば、ログインプロンプト、鍵コード要求など)を提供されてよい。そのような実施態様において、認証要求及び認証応答は、連合DB304を介して、コンシューマアプリケーション302とプロバイダアプリケーション306との間で転送されてよい。別の実施態様において、コンシューマアプリケーション302とプロバイダアプリケーション306とは、直接通信する、又は別の仲介(例えば、認証サーバ(図示せず)など)を介して通信することができる。
一実施態様において、サービスコンテキストは、初めに認可されていないデータなしに表示されてよく、ユーザは次いで、認可されていないデータを表示するようアクティブに要求することが可能であってよい。そのような実施態様において、これは、上で説明したように、要求されたデータの認可のための認証UI(例えば、ログインスクリーンなど)をもたらすことができる。一実施態様において、これにより、サービスコンテキストを(少なくとも部分的に)素早く、控えめなやり方で表示するのを可能にしつつ、初めに認可されていない情報をユーザが欲する、又は望む場合には、全部の、又はほぼ完全なサービスコンテキストの表示を可能にすることができる。様々な実施態様において、新しい認可は、更新されたサービスコンテキストを求める新しい要求をもたらすことができる、或いは単に、コンシューマアプリケーション302又は連合DB304に、事前に認可されていないデータのロックを解除させる、又はデータのフィルタ除去を中止させることができる。
上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。ビジネスサービスコンテキストにおける認可されていない情報をフィルタリングする、又は取り除くための様々な方式が用いられてよい。ビジネスサービスコンテキストにおける情報のフィルタリングを元に戻し、続いて情報を認可するための更なる様々な方式が用いられてもよい。加えて、システム300がセキュリティモデルのヘテロジニアスであるように、システム300は、プロバイダアプリケーション306のための異なるセキュリティモデルを有することをサポートできることが理解される。
様々な実施態様において、プロバイダアプリケーション306の1つ以上は、マルチテナンシーアーキテクチャを含むことができる。このコンテキストにおいて、「マルチテナンシー」は、ソフトウェアの単一のインスタンス(例えば、アプリケーション306)が、複数のクライアント組織(テナント)を供給するサーバ上で動く、又は実行されるソフトウェアアーキテクチャにおける原理を指す。マルチテナンシーは、マルチインスタンスアーキテクチャと対比されてよく、マルチインスタンスアーキテクチャでは、別個のソフトウェアインスタンス(又はハードウェアシステム)が、異なるクライアント組織のためにセットアップされる。マルチテナントアーキテクチャを用いて、ソフトウェアアプリケーションは、そのデータ及び構成を事実上分割するように設計され、各クライアント組織は、カスタマイズされた仮想アプリケーションインスタンスと作業する。
そのような実施態様において、マルチテナンシーのプロバイダアプリケーション306によって提供される、又はマルチテナンシーのプロバイダアプリケーション306に利用可能な情報は、いくつかのテナントについてのデータを含むことができる。そのような実施態様において、プロバイダアプリケーション306、又は連合DB304は、テナントによって提供されたデータをフィルタリングするように構成されてよく、その結果、コンシューマアプリケーション302は、コンシューマアプリケーション302と同じテナントに関連付けられたサービスコンテキストにおける情報のみを受信する。
例えば、プロバイダアプリケーション306のテナントは、Exxon、Sunoco、Shell、Chevronを含むことができる。コンシューマアプリケーション302は、Shellテナントに関連付けられていてよい。したがって、そのような実施態様において、サービスコンテキストは、Shellテナントにアクセス可能となる、又は認可されることになる、ビジネスサービスについてのデータのみを含むようにフィルタリングされてよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
別の実施態様において、サービスコンテキストは、テナント共通データと、テナント固有データの両方を含むことができる。例えば、テナント共通データは、何のテナントがコンシューマアプリケーション302に関連付けられているか、又はどのテナントがデータにアクセスするかに関わらず、同じデータを含むことができる。そのようなテナント共通データは、例えば、以下を含むことができる: ビジネスサービスのシステムリソース負荷、コンピューティングデバイス名、ビジネスサービス稼働時間など。一方で、テナント固有データは、テナントごとに異なるデータを含むことができる。そのようなテナント固有データは、例えば、以下を含むことができる: 電子メールビジネスサービスが経験し得る失敗した電子メール送信試行の数、失敗したビジネスサービスへのログイン試行の数、ビジネスサービスについてのヘルプデスク要求、サポートチケット、又はインシデントの数など。
そのような実施態様において、システム300は、テナント共通データがサービスコンテキストに含まれるように、サービスコンテキスト要求の結果をフィルタリングしなくてもよい。しかし、システム300はまた、コンシューマアプリケーション302のテナントに関連付けられたテナント固有データのみがサービスコンテキストに含まれるように、テナント固有データをフィルタリングすることもできる。例えば、あらゆるテナントが、それらのそれぞれのサービスコンテキスト内でテナント共通データ(例えば、ビジネスサービスステータスなど)を見る、又は閲覧することが可能であってよいが、各テナントは、それら自体のテナント固有データしか見る、又は閲覧することができない(例えば、モバイルテナントは、Shellテナントについてのビジネスサービスインシデントの数のみを閲覧できてよく、他のテナントの場合も同様である、など)。
様々な実施態様において、3つ以上のレベル又は種類のテナントデータ(例えば、テナント共通、及びテナント固有)が用いられてよい。別の実施態様において、データは、複数のテナント、又は一部重なり合うテナントに関連付けられてよい、又はそのようなテナントを有することができる。そのような実施態様において、テナント共通データは、それ自体で存在することはできないが、しかしテナント共通データは、すべてのテナントが、関連付けられる、又はそのデータへのアクセスが認可されるときに、事実上存在してよい。同様に、一部重なり合う(例えば、非テナントベースの、又は検討中のテナントの)セキュリティ方式が存在してもよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図4aは、開示される主題に従ったユーザインターフェース(UI)又はUI要素401の例示的な一実施態様の図である。様々な実施態様において、UI401は、サービスコンテキストユーザインターフェース要素(例えば、図1のサービスコンテキストユーザインターフェース要素122)の一部として含まれてよく、又はサービスコンテキストユーザインターフェース要素であってよい。一実施態様において、UI401は、ポップアップウィンドウ内に、若しくはその一部として表示される、又はより大きなUIの一部分として(例えば、上で説明したようなネイティブビューにおいて)表示されてよい。
図示された実施態様において、UI401は、サービスコンテキストサマリビューの属性ビューを含むことができる。そのような実施態様において、UI401は、所与のビジネスサービスが何であるか、及びそれがどのように機能しているかという、「サムネイルスケッチ」、又は凝縮バージョン若しくは凝縮ビューを、ユーザに提供することができる。上で説明したように、UI401に表示される情報は、集約データベース照会結果において受信されていてよい。この集約データベース照会結果は、ビジネスサービスに関する情報に基づいて、連合又は少なくとも部分的に仮想的なデータベースによって生み出されている、又は生成されていてよく、このビジネスサービスに関する情報は、元々は、複数のプロデューサアプリケーションによって提供されたものである。
一実施態様において、UI401は、サービスコンテキストが属するビジネスサービスの名前410を表示するUI要素(例えば、ラベルなど)を含むことができる。様々な実施態様において、UI401はまた、ステータスインジケータ418UI要素(例えば、アイコン、特定の色など)を含むことができる。図示された実施態様において、ビジネスサービス「Sales Automation」は、クリティカルな状態、又は不完全な状態であってよい。したがって、ステータスインジケータ418は、ビジネスサービスが「警告」状態にあるというクイックインジケータをユーザに与える、オレンジ色の「X」アイコンで示されている。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
様々な実施態様において、管理者、特権を持つユーザ、又はソフトウェア開発者は、ビジネスサービスに関するどのデータベースフィールド、又はどの情報が、(所与のビジネスサービスが何であるか、及びそれがどのように機能しているかという)この「サムネイルスケッチ」、又は凝縮バージョン若しくは凝縮ビューにおいて、表示されるべきかを決定することができる。別の、それほど好ましくない実施態様において、ユーザは、表示されるどの属性、又はどの情報が見たいかを定義することができる。そのような実施態様において、UI401は、1つ以上の既定の属性又はフィールドを表示することができる。
一実施態様において、これらの既定のフィールドは、2つ以上のカテゴリに分けられてよい。例示的な一実施態様において、3つのカテゴリが使用されることになる。しかしながら、ビジネスサービスのフィールド又は属性の、様々なカテゴリ若しくはパーティションが用いられてよいこと、及び開示される主題は、いかなる1つの例示的な実施態様にも限定されないことが理解される。
第1のカテゴリは、すべてのサービスコンテキスト、及びサービスコンテキストUI要素(例えば、UI401など)において表示するように、ソフトウェア開発者によって決定されている、又は定義されていてよい、必須フィールド若しくは固定フィールドである。そのような必須若しくは固定フィールド、又は必須若しくは固定属性の例は、以下を含むことができる: ビジネスサービスのステータス、サービスコンテキストのビジネスサービスに関係した、任意の他のビジネスサービス又は構成項目、など。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
フィールド又は属性の第2のカテゴリは、サービスコンテキスト内に含まれるように、ソフトウェア開発者によって既定されたデフォルトフィールドを含むことができる。しかし、このフィールドは、管理者、特権を持つユーザ、又は実施態様によってみなされる別のユーザによって取り除かれてもよい。一実施態様において、そのようなデフォルトフィールド又はデフォルト属性の例は、以下を含むことができるが、それらに限定されない: ビジネスサービスに主に関連付けられたオーナー若しくはユーザ、ビジネスサービスの記述、ビジネスサービスのビジネスインパクトのレベルのインジケータ、ビジネスサービスが実施する、又は体験するイベント若しくはアクティビティのある数(例えば、完了した変更要求、配置された変更、インシデントなど)など。様々な実施態様において、数字(例えば、イベントのある数など)を含む様々なフィールドはまた、それらの列挙された項目の一覧、又は列挙された項目へのポインタを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
フィールド又は属性の第3のカテゴリは、デフォルトでサービスコンテキストから省かれるオプションのフィールドを含むことができる。しかし、このフィールドは、管理者、特権を持つユーザ、又は実施態様によってみなされる別のユーザによって追加されてもよい。一実施態様において、そのようなオプションのフィールドの例は、以下を含むことができるが、それらに限定されない: ビジネスサービスが受けたメンテナンス時間数、ビジネスサービスのオーナーのコンタクト情報、ビジネスサービスの場所、ビジネスサービスの優先順位レベル、ビジネスサービスの準拠ステータス(例えば、稼働時間などの標準又は契約の賛辞、など)、ビジネスサービスに関連付けられた供給停止記録のある数、ビジネスサービスに関連付けられた作業命令又はサービスチケットのある数、ビジネスサービスとの関係を検出する変更のある数、ビジネスサービスに関連付けられた予測イベントのある数、など。様々な実施態様において、数字(例えば、予測イベントのある数など)を含む様々なフィールドはまた、それらの列挙された項目の一覧、又は列挙された項目へのポインタを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図示された実施態様において、サービスコンテキストのいくつかの属性又はフィールドは、UI要素グループ412及び414によって表示されてよい。上で説明したように、これらの属性又はフィールドのうちのいくつかは、必須として表示されてもよく、又は含まれてよい。他の属性又はフィールドは、管理者、又は特権を持つユーザによって確立された、既定の方式、又は一組のルールに基づいて、含まれてもよく、又は表示されてよい。
図示された実施態様において、UI要素グループ412は、比較的静的な、又はユーザとの更なる対話を見込まない一組の属性を示す。そのようなフィールド又は属性の例は、以下を含むことができるが、それらに限定されない: ビジネスサービスの記述、ビジネスサービスのオーナー、ビジネスサービスのステータス、及びビジネスサービスのインパクト優先順位など。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図示された実施態様において、UI要素グループ414は、比較的動的な、及び/又はユーザとの更なる対話を見込んだ一組の属性を示す。様々な実施態様において、これらの属性は、単一の数値に凝縮され得る、イベント若しくはオブジェクト(例えば、サービスチケット、他のビジネスサービスなど)のある数、又はリストを含むことができる。別の実施態様において、414の属性は、各属性に関連付けられた値のいくつかのタプル(又は行)を有するリスト属性を含むことができる。そのような実施態様において、そのようなリストを(例えば、UI要素416、図4bのUI402などを介して)段階的に開示するための手段を、ユーザが可能にされる、又はUIが提供することができる。
更に、様々な実施態様において、これらの属性は、管理者、又は特権を持つユーザによって既定されている一組のルールに基づいて、管理されてもよく、又はフィルタリングされてよい。例えば、ある属性は、この1時間以内に25のインシデントが発生したことを示す。そのような実施態様において、一組のルールは、時間フレーム(例えば、1時間など)を指図することができ、それにより、不適合の、又はより古いインシデントがフィルタ除去されるのを検討することになる。
図示された実施態様において、1時間以内のインディケイトの数値は、その値が何らかの重要性を持つことをユーザに指し示すために、(例えば、赤などで)強調表示されている。例えば、一組のルールは、属性若しくはフィールドのための閾値、又は一連の閾値を指図することができる。フィールドの値、又は(項目のリストを含むフィールドでは)フィールドにおける項目の場合、インジケータがユーザに表示されてよい。図示された実施態様において、UI要素416は、(例えば、赤などで)色付けされていてよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
上で説明したように、様々な属性又はフィールドは、サービスコンテキストサマリビューUI401に直ちには表示されない、ビジネスサービスに関する追加のデータに関連付けられていてよい。そのような実施態様において、UI401は、初めは隠されているこれらの追加のデータを、ユーザが表示する、又は閲覧するのを可能にするUI要素(例えば、UI要素416など)を含むことができる。様々な実施態様において、これらのUI要素412は、ボタン、ハイパーリンク、コンテキストメニューなどを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図4bは、開示される主題に従ったユーザインターフェース402の例示的な一実施態様の図である。一実施態様において、UI402は、サービスコンテキストビューのリストビューを示すことができる。一実施態様において、サービスコンテキストの属性ビューを広げること、又は属性ビューのリストUI要素(例えば、図4aのUI要素416など)をユーザが選択すると、UI402が表示されてよい。
様々な実施態様において、UI要素420は、親属性又は親フィールドに関連付けられた、すべての項目のリストを表示することができる。図示された実施態様において、属性「Related incidents in the last 1 hour」は、親属性又は親フィールドであってよく、様々なインシデント(例えば、インシデント422「INC000000042156」)は、その関連付けられた項目であってよい。図示された実施態様において、関連付けられた項目それ自体が、様々なフィールド又は属性を含むことができる。したがって、一実施態様において、関連付けられた項目のリストは、テーブルフォーマットで表示されてよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
一実施態様において、UI402は、前のサービスコンテキストビュー(例えば、図4a のUI401など)に戻るためのUI要素422を含むことができる。様々な実施態様において、UI402は、様々なサービスコンテキストビューの間でナビゲーションを容易にするように構成されたUI要素419のグループを含むことができる。図示された実施態様において、UI要素グループ419は、ナビゲートして前のサービスコンテキストビューに戻るためのボタン又はアイコン、「Home」ビュー(例えば、図4aの属性ビューなど)に戻るためのボタン又はアイコンを含むことができる。一実施態様において、UI要素419のグループは、サービスコンテキストをリフレッシュするためのボタン又はアイコンを含むことができる。そのような実施態様において、上で説明したように、サービスコンテキストを入手するためのプロセスが繰り返されることがあり、サービスコンテキストの新しいバージョンは、現在のビュー(例えば、UI402)の中に直接表示されてよい。様々な実施態様において、UI要素419のグループは、複数のビュー、又はすべてのビューにわたって表示されてよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図4cは、開示される主題に従ったユーザインターフェース403の例示的な一実施態様の図である。一実施態様において、UI403は、サービスコンテキストのRelated Configuration Items Viewを含むことができる。そのような実施態様において、ユーザは、ビジネスサービスのリストを閲覧することができ、すなわち、図示された実施態様では、サービスコンテキストの題目であるビジネスサービスに関係した、又はそれに関連付けられた構成項目(例えば、ビジネスサービス、アプリケーション、又はコンピュータシステムなど)を閲覧することができる。
図示された実施態様において、UI要素グループ430は、図4bのUI要素グループ420によって表示されたインシデントのリストと同じような、関係構成項目432、又はビジネスサービスのリストを表示することができる。様々な実施態様において、関係構成項目などの、従属リスト又は副次的なリスト内に含まれる項目は、ユーザによって選択可能であってよい。様々な実施態様において、その選択により、項目に関する追加の情報を表示することができる。図示された実施態様において、関係構成項目の名前は、ユーザが選択することができるリンクUI要素434を含むことができる。関係構成項目又はビジネスサービスが選択されると、新しいサービスコンテキストが生成され、表示されてよい。しかしながら、この新しいサービスコンテキストは、親サービスコンテキストのビジネスサービス(例えばSales Automationなど)とは対照的に、選択された項目(例えば、CLT133)に関連付けられていてよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
図5aは、開示される主題に従ったシステム500の例示的な一実施態様のブロック図である。様々な実施態様において、システム500は、図1のシステム100と多くの点で同様であってよい。システム500は、開示される主題の様々な実施態様において、別々に、又は一緒に発生し得る2つのバリエーションを示す。
一実施態様において、装置又はコンピューティングデバイス102は、連合DB150を含むことができる。いくつかの実施態様において、連合DB150は、ビジネスサーバ106のうちの1つに含まれていてもよい。
一実施態様において、アプリケーション120は、サービスコンテキスト管理UI522を含むことができる。そのような実施態様において、管理UI522は、サービスコンテキストを構成するフィールド及び属性の作成及び定義、並びに、フィールド又は属性をフィルタリングする、又は表示するやり方を左右する、任意の組のルールの作成及び定義を容易にすることができる。例えば、管理UI522は、どのオプションの属性若しくはフィールド、又は必須でない属性若しくはフィールドが、サービスコンテキストに含まれるかを、管理者が選択するのを可能にすることができる。いくつかの実施態様において、これらのサービスコンテキストの定義は、サービスコンテキストに関連付けられたビジネスサービスに関わらず、適用することができる。別の実施態様において、各ビジネスサービス、又はビジネスサービスのクラス若しくはグループは、それらのサービスコンテキストのそのそれぞれの定義に関連付けられてよい。
上で説明したように、様々な実施態様において、管理UI522は、サービスコンテキストの属性をフィルタリングする、又は属性がどのようにユーザに表示されるのかを指図するための一組のルールを、管理者が定義する、又は作成するのを可能にすることができる。例えば、管理UI522は、(図4aに示すように)この1時間以内に発生したインシデントのみをサービスコンテキストに含むことができるように、管理者が指図するのを可能にすることができる。また、管理UI522は、閾値又は他の条件値が満たされた、又は超えたとき、サービスコンテキストUI122に、既定のインジケーション(例えば、図4aの赤いUI要素416)をユーザに表示させる閾値又は他の条件値を、管理者が定義するのを可能にすることができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
図5bは、開示される主題に従ったユーザインターフェース501の例示的な一実施態様のブロック図である。図示された実施態様において、UI501は、サービスコンテキスト管理UI522を含み、サービスコンテキスト管理UI522は、サービスコンテキスト内に含まれる属性及びフィールドを定義する、並びに、属性をフィルタリングする、又は属性がどのようにユーザに表示されるかを指図する、任意の組のルールを定義するために、管理者によって使用されてよい。
一実施態様において、UI501は、一連のUI要素550を含むことができ、一連のUI要素550は、ビジネスサービスの様々なカテゴリ又はグループ(例えば、webサービス、アプリケーション、サーバなど)のための、様々なサービスコンテキスト設定を、管理者が定義するのを可能にすることができる。様々な実施態様において、UI501は、UI要素グループ552及び554を含むことができ、UI要素グループ552及び554は、サービスコンテキストに含めるために、考え得るビジネスサービス属性又はフィールドのグループのどれを設定する、又は定義するかを、管理者に可能にするように構成されてよい。UI要素グループ552は、比較的単純な、又は単一の値を持つ属性若しくはフィールドを定義する、又は含めるのを可能にすることができる。対して、UI要素グループ554は、比較的複雑な、リスト、又は複数の値を持つ属性若しくはフィールドを定義する、又は含めるのを可能にすることができる。
様々な実施態様において、UI要素556は、どの値をサービスコンテキストに含めるか(例えば、この1時間以内に発生したインシデントなど)、それぞれの値をどのようにユーザに表示するか(例えば、閾値を上回る値を強調表示するなど)の、フィルタリングのための様々な1つ以上の組のルール、又は他のルールを、管理者が定義するのを可能にすることができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図6は、開示される主題に従った技法の例示的な一実施態様の流れ図である。様々な実施態様において、技法600は、図1、図3、又は図5aなどのシステムによって使用される、又は生み出されてよい。更に、技法600の部分は、図2、図4a、図4b、図4c、又は図5bなどのユーザインターフェースと使用されてよい、又はそれらのインターフェースを生み出すことができる。とはいえ、上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。開示される主題は、技法600によって示される措置の順序、又はその数に限定されないことが理解される。
ブロック602は、一実施態様において、上で説明したように、アプリケーションが、ユーザから要求を受信して、ビジネスサービスに関するビジネスサービスコンテキストの少なくとも一部分を表示できることを示す。いくつかの実施態様において、要求することは、上で説明したように、アプリケーション内から、ビジネスサービスに関連付けられたユーザインターフェース要素を選択することを含むことができる。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション120によって、或いは図2のユーザインターフェース200を介して、実施されてよい。
ブロック604は、一実施態様において、上で説明したように、アプリケーションが、データベースから、ビジネスサービスに関する集約データベース結果を受信できることを示す。いくつかの実施態様において、集約データベース結果は、上で説明したように、要求されたビジネスサービスコンテキストを含むことができる。そのような実施態様において、上で説明したように、次にビジネスサービスコンテキストが、複数の他のアプリケーションからの情報を含むことができる。様々な実施態様において、上で説明したように、集約データベース結果を受信することは、単一のデータベース照会トランザクションの一部として、集約データベース結果を受信することを含むことができる。そのような実施態様において、上で説明したように、集約データベース結果は、データベースフィールドを仮想化する、少なくとも部分的に仮想的なデータベースによって提供されてよく、そのフィールド値は、複数の他のアプリケーションによって提供されている。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション120若しくはデータベースサーバ104によって実施されてよい。
ブロック606は、一実施態様において、上で説明したように、アプリケーションが、ビジネスサービスコンテキストに含まれる情報の少なくとも一部分を表示するグラフィカルユーザインターフェース要素を表示できることを示す。いくつかの実施態様において、表示は、上で説明したように、集約データベース結果に含まれる情報から不要なものを除いて、ビジネスサービスのパフォーマンスに関する凝縮された一組の情報に変えること; 及び、ビジネスサービスのパフォーマンスに関する凝縮された一組の情報の少なくとも一部分を表示するサマリビューグラフィカルユーザインターフェース要素を表示することを含むことができる。
様々な実施態様において、上で説明したように、表示することは、ビジネスサービスの属性に関する情報の第1の部分を表示する第1のグラフィカルユーザインターフェース要素を表示すること、及び、ビジネスサービスの少なくとも1つの態様に関するより多くの情報を閲覧したいことを指し示すユーザに応答して、ビジネスサービスの属性に関する情報の第2の部分を表示する第2のグラフィカルユーザインターフェース要素を表示することを含むことができる。そのような実施態様において、上で説明したように、第1のグラフィカルユーザインターフェース要素は、ビジネスサービスコンテキストのサマリビューを表示するウィンドウを含むことができ、第2のグラフィカルユーザインターフェース要素は、情報の第2の部分に含まれる項目のリストビューを表示するウィンドウを含むことができる。
別の実施態様において、表示することは、ビジネスサービスに関する一組の要求された情報を表示すること、及びビジネスサービスに関する一組のオプションの情報を表示することを含むことができ、ここで、一組のオプションの情報は、上で説明したように、管理ユーザによって事前に既定されている。更に別の実施態様において、上で説明したように、表示することは、情報の値が既定の閾値を超えているかどうかを決定するために、表示された情報のうちの少なくとも1つを評価することを含むことができ、閾値を超えている場合、それぞれの情報が閾値を超えていることを、ユーザに指し示すことを含むことができる。
様々な実施態様において、上で説明したように、表示することは、選択されたときに、第2のビジネスサービスコンテキストを作成して表示させる、ビジネスサービスリンクユーザインターフェース要素を表示することを含むことができ、ここで、第2のビジネスサービスコンテキストは、ビジネスサービスリンクユーザインターフェース要素によって指し示される第2のビジネスサービスに関連付けられている。いくつかの実施態様において、上で説明したように、第2のユーザ(例えば、管理者など)は、ビジネスサービスコンテキストに含まれる情報をフィルタリングするための一組のルールを定義することができる。そのような実施態様において、上で説明したように、表示することは、既定の一組のルールに基づいて、表示されるべき情報をフィルタリングすることを含むことができる。
様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション110によって、或いは図4a、図4b、及び図4cのユーザインターフェース401、402、及び403を介して、実施されてよい。
図7は、開示される主題に従った技法の例示的な一実施態様の流れ図である。様々な実施態様において、技法700は、図1、図3、又は図5aなどのシステムによって使用される、又は生み出されてよい。更に、技法700の部分は、図2、図4a、図4b、図4c、又は図5bなどのユーザインターフェースと使用されてよい、又はそれらのインターフェースを生み出すことができる。とはいえ、上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。開示される主題は、技法700によって示される措置の順序、又はその数に限定されないことが理解される。
ブロック702は、一実施態様において、上で説明したように、アプリケーションがユーザから要求を受信して、ビジネスサービスに関するビジネスサービスコンテキストの少なくとも一部分を表示できることを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション120によって、或いは図2のユーザインターフェース200を介して、実施されてよい。
ブロック704は、一実施態様において、上で説明したように、アプリケーションが、部分的に仮想的なデータベースにアクセスして、ビジネスサービスコンテキストを含むデータベース結果を取り出すことができることを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション120若しくは連合データベース150によって、或いは図2のユーザインターフェース200を介して、実施されてよい。
ブロック706は、一実施態様において、上で説明したように、部分的に仮想的なデータベースが、ビジネスサービスに関する情報について少なくとも1つの他のアプリケーションを照会できることを示す。いくつかの実施態様において、上で説明したように、照会することは、(照会される他のアプリケーションに関わらず、単一の所定のフォーマット方式に標準化された)フォーマットされた照会結果を生み出す少なくとも1つの他のアプリケーションに、webサービスインターフェースを介してアクセスすること、及び、それぞれの他のアプリケーションからの照会結果に含まれる情報を、部分的に仮想的なデータベースの部分的に仮想的なデータベースフィールドに適応させることを含むことができる。別の実施態様において、上で説明したように、照会することは、他のアプリケーションが事前に登録されているプロバイダアプリケーションレジストリから、照会するための他のアプリケーションのリストを取り出すことを含むことができる。
様々な実施態様において、上で説明したように、部分的に仮想的なデータベースは、少なくとも1つの他のアプリケーションからのビジネスサービスに関する情報を読み込むように構成されてよいが、少なくとも1つの他のアプリケーションからのビジネスサービスに関する情報を書き込むことはできないことがある。いくつかの実施態様において、上で説明したように、部分的に仮想的なデータベースは、部分的に仮想的なデータベース内に記憶されたビジネスサービスに関連付けられた少なくとも1つの非仮想フィールド、及び少なくとも1つのアプリケーションの照会の結果として、そのフィールド値が少なくとも1つのアプリケーションによって提供されている、ビジネスサービスに関連付けられた少なくとも1つの仮想フィールドを含むことができる。
様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション180若しくは連合データベース150によって実施されてよい。
ブロック708は、一実施態様において、上で説明したように、部分的に仮想的なデータベースが、ビジネスサービスに関連付けられた集約データベース結果を生成できることを示す。様々な実施態様において、上で説明したように、集約データベース結果は、少なくとも1つの他のアプリケーションによって提供される情報を含むことができる。一実施態様において、上で説明したように、生成することは、単一のデータベース取り出し動作において、非仮想フィールドと仮想フィールドの両方のうちの少なくとも1つを含むデータベース結果を提供することを含むことができる。
様々な実施態様において、上で説明したように、ブロック702のユーザは、セキュリティ資格証明に関連付けられてよい。そのような実施態様において、上で説明したように、集約データベース結果を生成することは、ユーザのセキュリティ資格証明に基づいて、少なくとも1つの他のアプリケーションによって提供される情報をフィルタリングすることを含むことができる。別の実施態様において、上で説明したように、セキュリティ資格証明に基づいてフィルタリングすることは、コンシューマアプリケーションで行われてよく、又は、更に別の実施態様においては、他のプロバイダアプリケーションの各々で行われてもよい。
いくつかの実施態様において、上で説明したように、ユーザのセキュリティ資格証明は、テナントに関連付けられてよく、少なくとも1つの他のアプリケーションのうちの少なくとも1つが、マルチテナントビジネスサービスを提供することができる。そのような実施態様において、上で説明したように、ユーザのセキュリティ資格証明に基づいて情報をフィルタリングすることは、マルチテナントビジネスサービスのすべてのテナントに共通である、少なくとも1つの他のアプリケーションによって提供される第1の組の情報をフィルタリングしないことを含むことができ、並びに、マルチテナントビジネスサービスの個々のテナントに固有である、少なくとも1つの他のアプリケーションによって提供される第2の組の情報を、ユーザの関連付けられたテナントに基づいてフィルタリングすることを含むことができる。
様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション180若しくは連合データベース150によって実施されてよい。
ブロック710は、一実施態様において、上で説明したように、アプリケーションが、集約データベース結果に基づいて、ビジネスサービスに関するビジネスサービスコンテキストの少なくとも一部分を表示できることを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図5aの装置若しくはシステム、図1又は図5aのアプリケーション120によって、或いは図4a、図4b、及び図4cのユーザインターフェース401、402、及び403を介して、実施されてよい。
図8は、開示される主題に従ったシステム800の例示的な一実施態様のブロック図である。図示された実施態様において、システム800における装置又はコンピューティングデバイス802は、モバイルコンピューティングデバイス若しくはモバイルデバイス(例えば、スマートフォン、タブレットなど)を含む、又は、モバイルコンピューティングデバイス若しくはモバイルデバイスである。
様々な実施態様において、図1のシステム100は、何らかのアプリケーションにおけるユーザの現在のコンテキストを仮定して、サービスの一貫した、高性能なサマリを提供する「ウィジェット」を生成するように構成されてよい。更に、システム100は、サービスサマリデータを、それら独自のネイティブユーザインターフェースの中に組み込むために、複数のアプリケーションにデータアクセスメカニズムを提供するように構成されてよい。
一方で、一実施態様において、図8のシステム800は、同じデータ、又は同様のデータを提供するものの、モバイルユーザからの適切なユーザ体験を介して、データを提供するように構成されてよい。例えば、そのような一実施態様において、サービスコンテキストUIを起動することは、アプリケーションの別のUI内から行われなくてもよい。加えて、システム800は、通知及びコラボレーションを受信すること、その他などの、モバイルデバイスに適した特徴を提供するように構成されてよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
いくつかの実施態様において、システム800は、UI122がどこで、又はどのように起動されるかを問わず、それが実質的に同じに見えるという点において、不変のルックアンドフィールドをサービスコンテキストUI122に提供するように構成されてよい。一実施態様において、モバイルデバイスコンテキスト内のサービスコンテキストは、ユーザがサービスコンテキストを閲覧するためのクイック手段(例えば、1〜2秒の応答時間など)を提供するために、ユーザ190との単一の、又は限定した目的の対話を含むことができる。様々な実施態様において、アプリケーション120は、単にUI122を提供し、他の機能は提供しない、実質的に独立した、又はスタンドアローンのアプリケーションであってよい。しかしながら、別の実施態様において、例えば、十分に大きなスクリーンを備えたタブレット又はモバイルデバイス上では、UI122の生成及び表示が、上で説明したような図1のシステム100のそれと同様に行われてもよい。更に別の実施態様において、システム800は、以下で説明するように、モバイルデバイスの通信機能、及びコラボレーション機能をうまく活かすように構成されてもよい。
図1のシステム100と、図8のシステム800とをそれぞれ比較すると、一実施態様において、システム100は、アプリケーションのネイティブUIの誘導体として、又はネイティブアプリケーションの上のポップアップ要素若しくはツールチップ要素として、UI122を起動する、又は表示するように構成されてよい。一方で、一実施態様において、システム800は、上で説明したように、アプリケーションの主要な、又は唯一のUIとして、UI122を表示するように構成されてよい。別の実施態様において、システム100は、起動アプリケーションのUIコンテキストから、ビジネスサービス識別子(ID)、又は他のコンテキスト識別子、又は名前を得るように構成されてよい。一方で、モバイル実施態様において、システム800は、ユーザに提示されるビジネスサービスのリストから、ビジネスサービスのID又は名前を得るように構成されてよい。更に別の実施態様において、システム100は、提示されたサービス、又は起動アプリケーションに関連付けられたサービスのみに、ユーザを制限することができる。様々なモバイル実施態様において、以下で説明するように、ユーザ190は、ビジネスサービスの異なるリストを生成するために、又は別のやり方でビジネスサービスのリストを操作するために、照会を変えることが可能であってよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
更に、いくつかのモバイル実施態様において、ユーザは、モバイルデバイス、又は通信プロトコル(例えば、Bluetooth、電子メール、ショートメッセージサービスなど)の様々な機能を使用して、サービスコンテキストを通信する、又は送信することが可能であってよい。別のモバイル実施態様において、ユーザは、以下で説明するように、特定のサービス、又は様々なビジネスサービスの属性に対する変更について、様々なプッシュ通知に登録する、又は様々なプッシュ通知を受信することが可能であってよい。更に別のモバイル実施態様において、以下で説明するように、ユーザは、特定のビジネスサービス、又は他のシステムリソースに関心のあるユーザのコミュニティ又はグループに参加することが可能であってよい。様々な実施態様において、デスクトップ又は非モバイルのコンテキスト内でのシステム100は、これらの能力又はサービスを提供するように構成されないことがある。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
いくつかの実施態様において、モバイルデバイス802は、図1のコンピューティングデバイス102と同様であってよい、又はコンピューティングデバイス102を含むことができる。様々な実施態様において、モバイルデバイス802は、ユーザ190に情報を視覚的に表示するように構成された、少なくとも1つのディスプレイ又はモニタ817を含むことができる。いくつかの実施態様において、モニタ817は、タッチスクリーン、液晶ディスプレイ(liquid crystal display)(LCD)、又は他の形態のディスプレイ技術を含むことができる。いくつかの実施態様において、他のハードウェアコンポーネント(図示せず)は、例えば、入力デバイス、キーボード、マウス、タッチパッド、ラウドスピーカ、カメラ、センサ、その他などを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。様々な実施態様において、図1のコンピューティングデバイス102はまた、これらのハードウェアデバイスを含むことができる。
そのような実施態様において、アプリケーション120は、モバイルデバイス802上で実行されるモバイルアプリケーションを含む。いくつかの実施態様において、アプリケーション120は、サービスコンテキスト168を単に、要求し、取り出し、表示するように構成された特殊目的アプリケーション120であってよい。そのようなアプリケーション120が、図10a〜図10hに示されている。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。更に別の実施態様において、アプリケーション120は、追加のサービス、又は機能性(例えば、IT管理アプリケーションなど)を提供するように構成されてもよい。
様々な実施態様において、アプリケーション120は、上で説明したのと同様に、サービスコンテキスト168を要求し、受信し、表示するように構成されてよい。しかしながら、いくつかの実施態様において、この技法は、上の説明よりも複雑であることがある。
一実施態様において、上で説明したように、アプリケーション120がビジネスサービスへのフロントエンドと対話する、又はビジネスサービスへのフロントエンドを提供するように全体的に構成された場合のアプリケーション120があり得るため、アプリケーション120は、ビジネスサービス188に直接関連付けられていないことがある。そのような実施態様において、ユーザ190又はアプリケーション120は、複数の考え得るビジネスサービス188から、1つのビジネスサービス188を選択するように構成されてよい。そのような実施態様において、上で説明したように、所望のビジネスサービス188が選択されると、アプリケーション120は、関連付けられたビジネスサービスコンテキスト168を要求することができる。
様々な実施態様において、ユーザ190は、所望のビジネスサービス188をアプリケーション120に手動で入力するように要求されることがある。別の実施態様において、考え得るビジネスサービスのリスト814が、サービスコンテキストデータサーバ804、又は他のコンピューティングエンティティに含まれるサービスマネジャ804によって提供されてよい。そのような実施態様において、ビジネスサービスリスト814は、サービスコンテキストデータサーバ804によって維持されてよい。様々な実施態様において、サービスコンテキストデータサーバ804は、図1のDBサーバ104と同様であってよい。
サービスコンテキストデータサーバ804は、図1のDBサーバ104のハードウェアコンポーネントと同様に、プロセッサ、メモリ、インターフェース、その他などの様々なハードウェアコンポーネントを含むことができるが、この図の中では示していないことが理解される。様々な実施態様において、通知マネジャ822、サービスマネジャ824、又はグループマネジャ826などのコンポーネントの1つ又はすべては、他のコンピューティングデバイス若しくはエンティティに含まれてもよく、サービスコンテキストデータサーバ804に統合されなくても、又はサービスコンテキストデータサーバ804と同じ場所に配置されなくてもよい。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
いくつかの実施態様において、モバイルデバイス802による要求に応答して、サービスマネジャ824は、サービスリスト814をモバイルデバイス802に送信することができる。様々な実施態様において、サービスマネジャ824は、サービスリスト814をモバイルデバイス802に、周期的に、プッシュする、又は送信することができる。そのようないくつかの実施態様において、サービスリスト814に変更があった場合(例えば、ビジネスサービス188の追加、又はリスト814からのビジネスサービス188の除去、など)にのみ、サービスリスト814がモバイルデバイス802にプッシュされてもよい。別の実施態様において、既定の基準、又は一組のルールが、サービスマネジャ814がいつサービスリスト814をモバイルデバイス802に伝達するかを指図することができる。
様々な実施態様において、サービスマネジャ824は、1つ以上のサービスリスト814を、特定のユーザ190又はユーザのグループに関連付けることができる。例えば、一実施態様において、複数のサービスリスト814が維持されてよく、モバイルデバイス802がサービスリスト814を要求するとき、サービスマネジャ824は、複数のサービスリスト814のうちのどれをモバイルデバイス802に送るのかを決定することができる。そのような実施態様において、ユーザ190は、例えば、Houston、Texasに位置する管理者を含んだユーザグループに含まれていてよい。サービスマネジャ824は次いで、Houstonの管理者グループに関連付けられたサービスリスト814を選択して、他のユーザグループ(例えば、Houston、Texasに位置するセールスマン; San Francisco、Californiaに位置する管理者; など)に関連付けられた他のサービスリスト814を提供しないことができる。
一実施態様において、ユーザ190は、アプリケーション120を介して、サービスリスト814を更新することが可能であってよい。そのような実施態様において、アプリケーション120は、記憶及び後の取り出しのために、修正されたサービスリスト814(又は、その一部分)を、サービスマネジャ824に返送するように構成されてよい。別の実施態様において、アプリケーション120は、メッセージ832(例えば、書き込み要求、特定のビジネスサービスを削除するための要求など)を、サービスマネジャ824に送信することができる。そのような実施態様において、サービスマネジャ824は次いで、関連付けられたサービスリスト814を変える若しくは編集するように、及び/又は、適切な成功若しくは失敗のメッセージをモバイルデバイス802に再び提供するように構成されてよい。
一実施態様において、サービスマネジャ824は、カスケードする、又は一部重なるサービスリスト814を記憶するように構成されてよい。例えば、ユーザ190は、いくつかのユーザグループ(例えば、Houston、Texasの管理者、Houston、Texasの全従業員、雇用主Bobが管理する従業員など)に関連付けられることがある。更に別の実施態様において、ユーザ190は、ユーザ190が追加した(又は削除した、又はブラックリスト化した、など)ビジネスサービス188の個人用のリストを有することがある。そのような実施態様において、サービスマネジャ824は、各サービスリスト814を、アプリケーション120に送信するように構成されてよい。別の実施態様において、サービスマネジャ824は、ユーザ190に関連付けられた様々なサービスリスト814に基づいて、複合サービスサービスリスト814を動的に生成するように構成されてもよい。様々な実施態様において、この生成は、一組の既定の優先順位ルールに基づくことができる。例えば、「雇用主Bobが管理する従業員」に関連付けられたリスト814上のビジネスサービス188の存在により、ユーザ190の個人のサービスリスト814からのビジネスサービス188のブラックリスト化、又は除去を無効にすることができる。
いくつかの実施態様において、ユーザ190は、リスト814からビジネスサービスをアクティブに選択することができる。別の実施態様において、アプリケーション120は、直近に使用された、又は選択されたビジネスサービス188を自動的に選択することができる。そのような実施態様において、ユーザ190は、別のビジネスサービス188を手動で選択する、又はアプリケーション120の自動選択を無効にすることが可能であってよい。更に別の実施態様において、ビジネスサービス188は、サービスコンテキストデータサーバ804、又は別のユーザ/モバイルデバイス(図示せず)からのメッセージに基づいて、自動的に選択されてもよい。そのような実施態様において、メッセージは、以下で説明するように、更新メッセージ812、又はグループメッセージ816を含むことができる。
様々な実施態様において、このサービスリスト814は、テキストファイル又はバイナリファイルとして、記憶される、及び/又は送信されてよい。一実施態様において、サービスリスト814は、拡張可能なマークアップ言語(XML)フォーマット、又は同様のフォーマットでフォーマットされたデータを含むファイルを含むことができる。特定の一実施態様において、サービスリスト814は、Property List(plist)フォーマット(例えば、iOS plistフォーマット、GNUstep plistフォーマットなど)のバリエーションで記憶されたファイルを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図示された実施態様において、上で説明したように、特定のビジネスサービス188が選択されると、アプリケーションは、サービスコンテキストデータサーバ804に、ビジネスサービスコンテキスト168を要求することができる。そのような実施態様において、上で説明したように、ビジネスサービスコンテキスト168を受信すると、ビジネスサービスコンテキスト168は、サービスコンテキストUI122を介して表示されてよい。
図10eは、開示される主題に従ったユーザインターフェース(UI)1094の例示的な一実施態様の図である。一実施態様において、UI1095は、モバイルコンピューティングデバイス802内に、又はモバイルコンピューティングデバイス802上にビジネスサービスコンテキストを表示することができる。いくつかの実施態様において、このUI1095は、サービスコンテキストサマリビューと呼ばれてよい。そのような実施態様において、更なるUI要素がまた表示されてよい。
図示された実施態様において、UI1095は、UI要素1054(例えば、タイトルバー、又はヘッダ)を介して、ビジネスサービスコンテキストがどのビジネスサービス804に関連付けられているかを表示することができる。更に、UI1095は、サービスコンテキスト、又はその一部分を表示するための要素1052を含むことができる。
様々な実施態様において、モバイルデバイス802に、サービスコンテキストの他の部分を表示させる、又は他のサービスコンテキストを取り出して表示させるように、様々なUI要素1058が構成されてよい。そのような表示の例を、図10a〜図10hを参照して以下で論じる。これらのUI要素1058は、上で説明したように、モバイルデバイス802に効果的にサブビューを表示させることができ、代替のフォーマットでサービスに関する追加の情報を表示するように構成されたリストビューなどの、表示する様々な実施態様をもたらすことができる。様々な実施態様において、様々なUI要素又はUIビューは、選択されたビジネスサービスの様々な態様に重点を置くことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。別の実施態様において、上で説明したように、UI要素1058は、他のサービスコンテキストを取り出して表示させる、ビジネスサービスリンクUI要素1058を含むことができる。
図8に戻ると、いくつかの実施態様において、サービスコンテキストデータサーバ804は、通知マネジャ822を含むことができる。そのような実施態様において、通知マネジャ824は、既定のイベントが発生したとき(例えば、ビジネスサービス188がインシデントチケットなどのイベントを生成する; メッセージが別のユーザによってユーザ190に送信された; など)、更新メッセージ812を、アプリケーション120、OS118、又はモバイルデバイス802にプッシュする、又は送信するように構成されてよい。
一実施態様において、更新メッセージ812は、ビジネスサービス188(通常は、更新メッセージ812に関連付けられた、又は更新メッセージ812によって指し示されたビジネスサービス188)についてのサービスコンテキスト168を、アプリケーション120に、自動的に取り出させることができる。いくつかの実施態様において、更新メッセージ812は、通知メッセージが届いたことをユーザ190に指し示すよう、アプリケーション120又はOS118にさせることができる。様々な実施態様において、これは、アプリケーション120のアイコン(図10aに示すような)の上に重なるUI要素を介して行われてよい。別の実施態様において、これは、ポップアップウィンドウ、又は他のUI要素を介して行われてもよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
様々な実施態様において、ユーザ190又はアプリケーション120は、更新構成メッセージ834を通知マネジャ822に送信することができ、更新構成メッセージ834は、通知マネジャ822が生成する、又は後続の更新メッセージ812を送信することになるルール又は基準を指し示す。例えば、そのようなルールは、「ビジネスサービスのための情報におけるあらゆる変更は現在のサービスコンテキスト168を関連付ける」、「特定のビジネスサービス188に関連付けられた情報(例えば、インシデント、サービスチケット、セールス値など)が一定の閾値を超える、又は下回る場合」などを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
別の実施態様において、通知マネジャ822は、サービスコンテキストデータサーバにログインしている、又はサービスコンテキストデータサーバに直接若しくはリモートでアクセスできる管理者から、通知ルールを受信することができる。更に別の実施態様において、通知マネジャ822は、他のユーザ(図示せず)から送られた更新構成メッセージ834から、通知ルールを受信することができる。例えば、マネジャは、自分の従業員に関連付けられた通知ルールを更新することができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
一実施態様において、通知マネジャ822は、その通知又は更新メッセージ812の生成を、少なくとも部分的に、グループマネジャ826から受信した値又はメッセージに基づかせてよい。グループマネジャ826は、サービスコンテキストデータサーバ804に含まれている。様々な実施態様において、グループマネジャ826は、通知、メッセージング、アクセス権、又は他の処理タスクのプロセスのために、複数のユーザ190を一緒にグループ化するように構成されてよい。好ましい実施態様において、ユーザ190のグループは、何らかのシステムリソース(例えば、ビジネスサービス188など)に共通の関心を有するコミュニティを含むことができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
上で説明したように、様々な実施態様において、複数のユーザ190は、サービスリスト814へのアクセス目的のために関連付けられてよい。そのような実施態様において、サービスマネジャ824は、グループマネジャ826に尋ねることによって、どのユーザ190がその関連付けの一部であるかを判定することができる。通知マネジャ822でも同様である。
様々な実施態様において、グループマネジャ826はまた、1つ以上のユーザ190のグループに関連付けられた全メンバ若しくはユーザ190に、メッセージ816を配布する、又は送信するように構成されてよい。別の実施態様において、グループマネジャ826は、通知マネジャ822に尋ねる、又は通知マネジャ822を利用して、更新メッセージ812を介した情報の実際の送信を実施することができる。
様々な実施態様において、上で説明したように、ユーザ190は、ビジネスサービスコンテキスト168を、別のユーザ190に送りたいと思うことがある。いくつかの実施態様において、ユーザ190は、ビジネスサービスコンテキスト168を、単一の他のユーザに送りたいだけでなく、ユーザのグループ(例えば、職場におけるユーザ190のチームなど)に送りたいと思うことがある。個々のメッセージを各ユーザに送る代わりに、ユーザ190、又はアプリケーション120は、単一のグループ更新メッセージ836を、グループマネジャ826に送ることができる。
そのような実施態様において、グループマネジャ826は次いで、グループ更新メッセージ836が宛てられたユーザのグループに関連付けられた様々なユーザに、メッセージの情報を転送する、及び/又は再フォーマットして再送することができる。代替実施態様において、グループマネジャ826は、代わりに、宛てられたグループ更新メッセージ836に関連付けられたユーザについての通知イベントが発生したことを、通知マネジャ822に知らせることができる。グループマネジャ826は、グループ更新メッセージ836に含まれる情報(例えば、ビジネスサービスコンテキスト168など)を、通知マネジャ822に提供することができる。通知マネジャ822は次いで、更新メッセージ812を、様々なユーザに送出することができる。
例えば、ビジネスサービス188は、通知マネジャ822が更新メッセージ812の送信の根拠であるとみなす、通知イベント(例えば、クリティカルなハードウェア障害など)を生成することができる。通知マネジャ822は、その内部ビジネスサービスとユーザとの関連付けをチェックし、管理ユーザのグループ(例えば、雇用主Bobのために働く管理者など)が更新メッセージ812を受信すべきかを判定することができる。様々な実施態様において、更新メッセージ812は、関連付けられたビジネスサービス188のビジネスサービスコンテキスト168、又はDB照会結果166を含むことができる。
一実施態様において、通知マネジャ822は、影響されるユーザのリストを維持することができる。別の実施態様において、通知マネジャ822は、更新メッセージ812を受信すべきグループを単に知っていればよく、グループマネジャ826に、グループに含まれる特定のユーザ190について尋ねることができる。更に別の実施態様において、通知マネジャ822は、(例えば、グループ更新メッセージ836としてなどの)更新メッセージ812を、グループマネジャ826に送信することができる。グループマネジャ826は次いで、グループメッセージ816としての更新メッセージ812を、ターゲットのユーザのグループのうちの影響されるユーザ190に実質的に転送することができる。
一実施態様において、例えば、(ターゲットグループのメンバとしての)ユーザであるJane、又はJaneのモバイルデバイスが、(実施態様に応じて)更新メッセージ812、又はグループメッセージ816を受信することができる。OS118、又はアプリケーション120は、Janeが通知又はメッセージを受信していることを指し示すGUI要素を提供することができる。Janeは次いで、このメッセージをチェックし、(この例では)ハードウェアの一部が故障したことを彼女に知らせるビジネスサービスコンテキスト168を閲覧することができる。この例の目的のために、やはり更新メッセージ812を受信するグループの他のユーザは、雇用主Bob、Dick、及びSallyを含むことができる。
Janeは、このイベントの間、「オンコール(on-call)」管理者であってよい。Janeは次いで、ハードウェアの一部を交換する、又は修理して、ビジネスサービス188を復旧することができる。Janeは次いで、「Janeがすべてを修正し、すべてOKである」と伝える、(雇用主Bobのために働く管理者のグループをターゲットにした)グループ更新メッセージ836を送ることができる。
グループマネジャ826は、このグループ更新メッセージ836を受信し、メッセージ836をグループメッセージ816として転送するか、又は、(実施態様に応じて)メッセージ836が更新メッセージ812として含む情報をターゲットのグループに送るよう通知マネジャに頼むかの、どちらかを行うことができる。雇用主Bobは、上で説明したものと同様のメッセージ836を受信することができ、Janeがすべてを修正したことを知って安心することができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
様々な実施態様において、グループ更新メッセージ836、グループメッセージ816、及び/又は更新メッセージ812は、テキストメッセージ及び/又はバイナリメッセージ(例えば、写真、サービスコンテキスト168など)を含むことができる。様々な実施態様において、これらのメッセージは、既定のプロトコル(例えば、モバイルデバイスのOS118に関係した通知メッセージ、電子メールフォーマット、テキストメッセージングフォーマットなど)を遵守することができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
様々な実施態様において、グループ更新メッセージ836は、ユーザ190が、自分自身、若しくは様々なグループからの他のユーザを加える、又は除去する、及び/或いは、様々な他の管理機能(例えば、許可を設定する、ビジネスサービス関連付けを設定する、など)を実施するのを可能にすることができる。
いくつかの実施態様において、通知マネジャ822、サービスマネジャ824、及び/又はグループマネジャ826は、それらそれぞれのメッセージの配布の出版-購読型モデルを利用することができる。別の実施態様において、マネジャ822、824、及び/又は826は、それらそれぞれのメッセージをブロードキャストし、アプリケーション120又はOS118は、必要に応じて、メッセージをフィルタ除去するように構成されてもよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図9は、開示される主題に従った技法900の例示的な一実施態様の流れ図である。様々な実施態様において、技法900は、図1、図3、又は図8などのシステムによって使用されてもよく、又は生み出されてよい。とはいえ、上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。開示される主題は、技法900によって示される措置の順序、又はその数に限定されないことが理解される。
図9は、上で説明したような、ビジネスコンテキストサービスを表示するように構成されたモバイルデバイスによって実行されるアプリケーションとのユーザの対話の、1つの考え得る形態を示す。アプリケーションとの他の対話、及びアプリケーションによって実施される他の動作も可能であることが理解される。これらの動作及び対話をサポートするユーザインターフェースのいくつかを、以下でより詳細に説明する。
ブロック902は、一実施態様において、上で説明したように、ビジネスサービスコンテキストアプリケーションが、モバイルデバイス上で、又はモバイルデバイスによって実行され得ることを示す。そのような実施態様において、アプリケーションは、ビジネスサービスコンテキストを取り出して表示する、単一の目的を有するように構成されてよい。別の実施態様において、上で説明したように、アプリケーションは、ビジネスサービスコンテキストの取り出し及び表示もやはりサポートするより豊富な機能性(例えば、IT管理アプリケーション)を提供することができる。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
図10aは、開示される主題に従ったユーザインターフェース(UI)1091の例示的な一実施態様の図である。様々な実施態様において、UI要素652は、アプリケーションを起動させる(又はモバイルデバイスによって実行させる)、或いは(マルチタスキングオペレーティングシステムを含む実施態様において)アプリケーションをモバイルデバイスのUIのフォアグラウンドに持ってくることができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
ブロック904は、一実施態様において、上で説明したように、アプリケーションがビジネスサービスのリストを表示するように構成され得ることを示す。いくつかの実施態様において、上で説明したように、アプリケーションは、ビジネスサービスのリストを自動的に取り出すことができる、又は別の実施態様において、ユーザが、1つ以上のビジネスサービスを手動で入力することができる。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
図10bは、開示される主題に従ったユーザインターフェース(UI)1092の例示的な一実施態様の図である。一実施態様において、UI1092は、ビジネスサービスのリスト1022を表示することができ、ユーザは、これらについてのビジネスサービスコンテキストを要求することができる。一実施態様において、UI1092は、ユーザがそれを介して別のUI(例えば、図10dのUI1094)を開始することができるUI要素1024(例えば、ボタンなど)を含むことができ、別のUIは、ユーザが別のビジネスサービスを手動で入力する、又は追加するのを可能にする。一実施態様において、UI1092は、ユーザがそれを介して別のUI(例えば、図10cのUI1093)を開始することができるUI要素1026(例えば、ボタンなど)を含むことができ、別のUIは、ユーザがビジネスサービスのリストを編集するのを可能にする。
上で説明したように、様々な実施態様において、ユーザは、ビジネスサービスのリストを編集したい、又は操作したいと思うことがある。そのような実施態様において、ユーザは、UI要素1026を選択することができ、ユーザがビジネスサービスのリストの編集をするのを可能にするUI(例えば、図10cのUI1093)を提供されてよい。
図10cは、開示される主題に従ったユーザインターフェース(UI)1093の例示的な一実施態様の図である。そのような実施態様において、UI1093は、ビジネスサービスのリストを編集するやり方を、ユーザに提供することができる。いくつかの実施態様において、この編集することは、ビジネスサービスを追加すること、ビジネスサービスを削除すること、ビジネスサービスのリストの順序又は階層を変えること、などを含むことができる。
様々な実施態様において、UI1093は、1つ以上のUI要素1032(例えば、ボタン、タッチアンドドラッグ領域など)を含むことができ、それにより、ユーザは、リスト内のビジネスサービスを並び替えることができる。いくつかの実施態様において、ビジネスサービスのリストは、階層型編成(例えば、フォルダなど)を含むことができる。そのような実施態様において、ユーザは、そのような階層内でビジネスサービスを並び替える、又は再配置することができる。
様々な実施態様において、UI1032は、UI要素1034を含むことができ、UI要素1034は、選択されると、ユーザがビジネスサービスのリストからビジネスサービスを削除する、又は除去するのを可能にする。一実施態様において、UI1032は、UI要素1036を含むことができ、UI要素1036は、ユーザが1つ以上のビジネスサービスを追加する、又は手動で入力するのを可能にする。一実施態様において、これは、図10dのUI1094を表示させることができる。別の実施態様において、これは、ユーザが複数のリストから1つのビジネスサービスのリストを選択するのを可能にし、複数のリストは、例えば、図8のサービスコンテキストデータサーバ、別のリモートコンピューティングデバイス上で利用可能である、又はモバイルデバイス内に記憶されている。
一実施態様において、UI1093は、UI要素1034(例えば、ボタン、プルダウンメニューなど)を含むことができ、UI要素1034は、ユーザが入力したビジネスサービスを、ビジネスサービスのリストに保存したいことを指し示す。様々な実施態様において、ビジネスサービスのリストへの変更、又は改変が行われると、リスト(又はその編集)は、記憶及び/又は今後の同期のために、サービスコンテキストデータサーバ、又はリモートサーバに返送されてよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
上で説明したように、別の実施態様において、ユーザは、別のビジネスサービスを手動で入力したい、又は追加したいと思うことがある。そのような実施態様において、ユーザは、図10bのUI要素1024、又は図10cのUI要素1036を選択することができる。
図10dは、開示される主題に従ったユーザインターフェース(UI)1094の例示的な一実施態様の図である。そのような実施態様において、UI1094は、ビジネスサービスを、ビジネスサービスのリストに手動で追加するやり方を、ユーザに提供することができる。いくつかの実施態様において、ビジネスサービスのリストが存在しない、又はアプリケーションに知られていない場合、ユーザが所望のビジネスサービスを手動で入力するために、UI1094が使用されてよい。別の実施態様において、UI1094は、(例えば、別のユーザからのメッセージなどを介して)ユーザに伝達されたビジネスサービスを入力する、又は受け入れるために、或いは、ユーザが何らかの範囲外の手段によってビジネスサービスに気づいた場合に、使用されてよい。
様々な実施態様において、UI1094は、1つ以上のUI要素1042(例えば、テキストフィールド、ボタン、仮想キーボードなど)を含むことができ、それにより、ユーザは、ビジネスサービスを入力する、又は選択することができる。様々な実施態様において、入力するためのフィールドは、ビジネスサービスの名前、ビジネスサービスに関連付けられた識別子、ビジネスサービスのネットワークアドレス、ユーザに関連付けられた、又はユーザにビジネスサービスへのアクセスを与えることになる、任意の識別若しくは認証資格証明(例えば、ユーザ名、パスワードなど)、その他を含むことができるが、それらに限定されない。一実施態様において、UI1094は、UI要素1044(例えば、ボタン、プルダウンメニューなど)を含むことができ、UI要素1044は、ユーザが入力したビジネスサービスをビジネスサービスのリストに保存したいことを指し示す。様々な実施態様において、UI要素1044又は他のUI要素は、ユーザが、UI要素1042のフィールドを消去する、UI要素1042のフィールド内に既定の値(例えば、認証資格証明、ドメイン情報など)を入れる、などを可能にすることができる。様々な実施態様において、他のUI要素がUI1094に含まれてもよい。
図9に戻ると、ブロック906は、一実施態様において、上で説明したように、ユーザが、複数の考え得るビジネスサービス又は考え得るビジネスサービスのリストから、1つのビジネスサービスを、モバイルコンピューティングデバイスに選択させることができることを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
上で説明したように、様々な実施態様において、アプリケーションは、ユーザが特定のビジネスサービスをそこから選択することができる、ビジネスサービスのリストを表示することができる。上で説明したように、選択されたそのビジネスサービスを使用して、アプリケーションは次いで、データベースに対し、選択されたビジネスサービスに関連付けられたビジネスサービスコンテキストを自動的に要求することができる。
ブロック908は、一実施態様において、上で説明したように、モバイルコンピューティングデバイスが、ビジネスサービスに関するビジネスサービスコンテキストの少なくとも一部分を表示するための、ユーザからの要求を受信できることを示す。いくつかの実施態様において、これは、アプリケーションを起動することを含むことができる。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
ブロック910は、一実施態様において、上で説明したように、モバイルデバイスが、選択されたビジネスサービスのビジネスサービスコンテキストについてデータベースを照会することができ、要求されたビジネスサービスコンテキストを含むビジネスサービスに関する集約データベース結果を、応答において受信することを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
ブロック912は、一実施態様において、上で説明したように、モバイルデバイスが、ビジネスサービスコンテキストに含まれる情報の少なくとも一部分を表示するグラフィカルユーザインターフェース(graphical user interface)(GUI)を、モバイルデバイス上に表示できることを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
一実施態様において、GUIは、上で説明したような図10eのUI1095と同様であってよい。別の実施態様において、GUIは、以下で説明するような図10fのUI1096と同様であってよい。
図10eは、開示される主題に従ったユーザインターフェース(UI)1095の例示的な一実施態様の図である。そのような実施態様において、UI1095は、ビジネスサービスコンテキストのサマリビューを、ユーザに提供することができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
一実施態様において、UI1095は、現在のビジネスサービスコンテキスト(例えば、「BusinessService1」など)に関連付けられたビジネスサービスを表示するUI要素1054(例えば、ラベル、タイトルバーなど)を含むことができる。
そのような実施態様において、UI1095は、ビジネスサービスコンテキストの一部分についての詳細な情報を提供する1つ以上のUI要素1052を含むことができる。図示された実施態様において、ユーザは、ビジネスサービス「BusinessService1」が、「Incidents」と呼ばれる属性を有し、4つの「Incidents」があるのを見ることができる。一実施態様において、UI要素1058のうちの1つを選択することによって、ユーザは、図10fのUI1096を表示させることができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
一実施態様において、UI1095、及び他のUIは、UI要素1056を含むことができ、UI要素1056は、ユーザが、ビジネスサービスコンテキスト若しくはその一部分を、別のユーザ、又はユーザのグループに送る、又は送信するのを容易にする。様々な実施態様において、このUI要素1056は、ビジネスサービスコンテキスト(若しくはその部分)を自動的に添付する、又は中に入れる電子メール、又は他のメッセージングプログラムを実行することができる。別の実施態様において、UI要素1056は、別のUIを示すようにさせることができ、別のUIは、ユーザがそのメッセージを送信するための、1人以上のユーザ、又は1つ以上のデバイスを選択するのを可能にする。様々な実施態様において、上で説明したように、メッセージは、グループ更新メッセージを含むことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
上で説明したように、一実施態様において、ユーザは、図10eのUI要素1058を介して、図10eのUI1095から、10fのUI1096へと移動する、又は切り換えることが可能であってよい。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図10fは、開示される主題に従ったユーザインターフェース(UI)1096の例示的な一実施態様の図である。一実施態様において、UI1096は、モバイルコンピューティングデバイス内に、又はモバイルコンピューティングデバイス上に、ビジネスサービスコンテキストの詳細なビューを表示することができる。いくつかの実施態様において、このUI1096は、サービスコンテキストリストビューと呼ばれてよい。そのような実施態様において、更なるUI要素もまた表示されてよい。
図示された実施態様において、UI1096は、ビジネスサービスコンテキストがどのビジネスサービスに関連付けられているか(例えば、「BusinessService1」など)を、UI要素1064(例えば、タイトルバー、ヘッダなど)を介して表示することができる。更に、UI1095は、サービスコンテキスト、又はその一部分を表示するための要素1066を含むことができる。
様々な実施態様において、様々なUI要素1062が、モバイルデバイスに、サービスコンテキストの他の部分を表示させる、又は他のサービスコンテキストを取り出して表示させるように構成されてよい。これらのUI要素1062は、上で説明したように、モバイルデバイスに、効果的にサブビューを表示させ、サービスに関する追加の情報を代替のフォーマットで表示するように構成された詳細ビューなどの、表示する様々な実施態様をもたらすことができる。様々な実施態様において、様々なUI要素又はUIビューは、選択されたビジネスサービスの様々な態様に重点を置くことができる。上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。別の実施態様において、上で説明したように、UI要素1062は、他のサービスコンテキストを取り出して表示させる、ビジネスサービスリンクUI要素1062を含むことができる。
上で説明したように、様々な実施態様において、UI要素1062は、ビジネスコンテキスト情報に関する更なる詳細を提供する、又は表示する別のUIを、モバイルデバイスに表示させることができる。いくつかの実施態様において、ビジネスコンテキストに含まれる情報は、本質的に階層型であってよい。そのような一実施態様において、UI要素1062は、図10gのUI1097などのUIを表示させることができる。
図10gは、開示される主題に従ったユーザインターフェース(UI)1097の例示的な一実施態様の図である。そのような実施態様において、UI1097は、ビジネスサービスコンテキストに含まれる情報の一部分の非常に詳細なビュー(例えば、「BusinessService1」コンテキストの「Incident1」部分など)を、ユーザに提供することができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
そのような実施態様において、UI1097は、UI1076によって表示されたサービスコンテキスト又はその一部分に関する詳細な情報を表示するための、1つ以上のUI要素1072を含むことができる。UI要素1064は、表示されているビジネスサービスコンテキストの現在の部分(ここでは「Incident1」)を表示するように構成されてよい。加えて、様々な実施態様において、UI1097は、ビジネスサービスコンテキストの階層レベルの先行する部分(例えば、「BusinessService1」)に戻る、又はそれを取り出すのを可能にする、又は容易にするUI要素1076を含むことができる。そのような実施態様において、ユーザは、ビジネスサービスコンテキストの複数の部分の間をナビゲートすることができる。図示された実施態様において、ナビゲーションは、単に「上又は下へ」であってもよいが、他の実施態様においては、横方向若しくは横向き、又は、相関したビジネスサービスコンテキスト部分の間での更に一層複雑なナビゲーションが可能であってよい。
図9に戻ると、ブロック914は、一実施態様において、モバイルデバイスが、現在のビジネスサービスコンテキストに関連付けられた追加のビジネスサービスコンテキストのリストを見せるGUIを、モバイルデバイス上に表示できることを示す。上で説明したように、いくつかの実施態様において、このGUIは、図10eのUI1095、図10fの1096、又は図10gの1097と同様のGUIとして含まれていてよい。しかしながら、上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、又は図8の装置若しくはシステム、図1、図3、又は図8のアプリケーションよって実施されてよい。
上で説明したように、様々な実施態様において、通知、又はメッセージを、ユーザ又はモバイルデバイスに、プッシュする、又は送ることができる。そのような実施態様において、そのようなメッセージの受信は、ユーザに指し示されてよい。様々な実施態様において、これは、モバイルデバイスのオペレーティングシステムを介して行うことができる。
図10hは、開示される主題に従ったユーザインターフェース(UI)1098の例示的な一実施態様の図である。そのような実施態様において、上で説明したように、UI1084は、任意の新しいメッセージ若しくは通知のインジケーションを、ユーザに提供することができ、メッセージ若しくは通知は、モバイルデバイスにプッシュされている、又は送信されている。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
一実施態様において、ビジネスサービスコンテキストアプリケーションは、アイコン若しくはUI要素1012を含むことができる、又はアイコン若しくはUI要素1012に関連付けられていてよい。様々な実施態様において、UI要素1012は、アプリケーションを起動させる(又はモバイルデバイスによって実行させる)、或いは(マルチタスキングオペレーティングシステムを含む実施態様において)アプリケーションをモバイルデバイスのUIのフォアグラウンドに持ってくることができる。上記は、1つの説明のための例にすぎず、開示される主題はそれに限定されないことが理解される。
様々な実施態様において、モバイルデバイスが、通知又は更新メッセージをリモートコンピューティングデバイスから受信するとき、モバイルデバイスのアプリケーション、又はオペレーティングシステムは、UI要素1084をユーザに見せる、又はユーザに利用可能にすることができる。そのような実施態様において、UI要素1084は、更新メッセージ又は通知を受信していることを指し示すことができる。図示された実施態様において、UI要素1084は、UI要素又はアイコン1012に含まれる、又はUI要素又はアイコン1012の上に重なるグラフィック(例えば、受信したメッセージの数を指し示すある数など)を含むことができる。別の実施態様において、別の形態又はUI要素1084(例えば、ポップアップウィンドウ、一時的なパネル、音声など)が用いられてもよい。
いくつかの実施態様において、アプリケーションが1つ以上の通知に関連付けられているときに、ユーザが(例えば、UI要素1012を選択することによってなど)そのアプリケーションを選択する、又はアクティブにすると、待ち状態の通知、又は現在の通知を見せるUIが、ユーザに提示される、又は表示されてよい。一実施態様において、待ち状態の、又は未読の通知が1つのみである場合、直ちに待ち状態の通知をユーザに見せるUIが表示されてよい。一実施態様において、テキスト(又は他の)メッセージを含む通知で、UIは、メッセージを表示することができる。別の実施態様において、ビジネスサービスコンテキストを含む通知で、UIは、ビジネスサービスコンテキストを表示することができる。しかしながら、上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。
図11は、開示される主題に従った技法1100の例示的な一実施態様の流れ図である。様々な実施態様において、技法1100は、図1、図3、図5a、又は図8などのシステムによって使用される、又は生み出されてよい。とはいえ、上記は、いくつかの説明のための例にすぎず、開示される主題はそれらに限定されないことが理解される。開示される主題は、技法1100によって示される措置の順序、又はその数に限定されないことが理解される。
ブロック1102は、一実施態様において、上で説明したように、ビジネスサービスに関するビジネスサービスコンテキストの少なくとも一部分が、モバイルデバイスによって要求され得ることを示す。様々な実施態様において、要求することは、上で説明したように、ビジネスサービスのリストを取り出すこと、及び/又は表示することを含むことができる。そのような実施態様において、ユーザは、これらのビジネスサービスのうちの1つを選択することができる。選択に応答して、上で説明したように、モバイルデバイスは次いで、それぞれのビジネスサービスコンテキストを要求することができる。様々な実施態様において、上で説明したように、ユーザは、ビジネスサービスをリストに手動で追加することができる。別の実施態様において、上で説明したように、ユーザは、ビジネスサービスのリストを手動で編集することができる。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはネットワークインターフェースによって実施されてよい。
ブロック1104は、一実施態様において、上で説明したように、ビジネスサービスに関する集約データベース結果が、データベースから受信され得ることを示す。様々な実施態様において、上で示したように、集約データベース結果は、要求されたビジネスサービスコンテキストを含むことができる。いくつかの実施態様において、上で説明したように、ビジネスサービスコンテキストは、複数のアプリケーションからの情報を含むことができる。一実施態様において、上で説明したように、受信することは、単一のデータベース照会トランザクションの一部として、集約データベース結果を受信することを含むことができる。そのような実施態様において、上で説明したように、集約データベース結果は、データベースフィールドを仮想化する少なくとも部分的に仮想的なデータベースによって提供されてよく、そのフィールド値は、複数の他のアプリケーションによって提供されている。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはネットワークインターフェースによって実施されてよい。
ブロック1106は、一実施態様において、上で説明したように、ビジネスサービスコンテキストに含まれる情報の少なくとも一部分を表示するグラフィカルユーザインターフェース要素が表示され得ることを示す。様々な実施態様において、上で説明したように、表示することは、ビジネスサービスコンテキストに含まれる情報の第1の部分を表示することを含むことができる。別の実施態様において、上で説明したように、表示することは、選択されたときに、第2のビジネスサービスコンテキストを作成して表示させる、ビジネスサービスリンクユーザインターフェース要素を表示することを含むことができ、ここで、第2のビジネスサービスコンテキストは、ビジネスサービスリンクユーザインターフェース要素によって指し示される第2のビジネスサービスに関連付けられている。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはモニタ、或いは図10a〜図10hのユーザインターフェースによって実施されてよい。
ブロック1108は、一実施態様において、上で説明したように、ビジネスサービスコンテキストの少なくとも1つの態様に関するより多くの情報を閲覧したいことを指し示すユーザに応答して、ビジネスサービスコンテキストに含まれる情報の第2の部分を表示することを示す。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはモニタ、或いは図10a〜図10hのユーザインターフェースによって実施されてよい。
ブロック1122は、一実施態様において、上で説明したように、モバイルコンピューティングデバイスのユーザをビジネスサービスに関連付けさせるメッセージが、リモートコンピューティングデバイスに送信され得ることを示す。様々な実施態様において、上で説明したように、メッセージは、代わりに、ユーザをユーザのグループに関連付けさせることができる。別の実施態様において、上で説明したように、送信することは、ユーザをユーザのグループに関連付けさせるメッセージを、リモートコンピューティングデバイスに送信することを含むことができ、ここで、ユーザのグループは、少なくとも1つのビジネスサービスに関連付けられている。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはネットワークインターフェースによって実施されてよい。
ブロック1124は、一実施態様において、上で説明したように、関連付けられたビジネスサービスに関する少なくとも1つの既定のイベントが発生したとき、又は発生に応答して、リモートコンピューティングデバイスから通知が受信され得ることを示す。様々な実施態様において、受信することは、データベースから、ビジネスサービスに関する集約データベース結果を受信することを含むことができ、ここで、集約データベース結果は、上で説明したように、第2のビジネスサービスコンテキストを含む。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはネットワークインターフェースによって実施されてよい。
ブロック1142は、一実施態様において、上で説明したように、ユーザの要求に応じて、ビジネスサービスコンテキストに含まれる情報の少なくとも一部分が、モバイルコンピューティングデバイスから、第2のコンピューティングデバイスに送信され得ることを示す。様々な実施態様において、上で説明したように、第2のコンピューティングデバイスは、モバイルコンピューティングデバイスを含むことができる。いくつかの実施態様において、上で説明したように、送信することは、リモートコンピューティングデバイスに、ビジネスサービスコンテキストに含まれる情報の一部分を第2のユーザに提供するように指示することを含むことができる。いくつかの実施態様において、上で説明したように、第2のユーザは、第2のコンピューティングデバイスに関連付けられていてよい。様々な実施態様において、このブロックによって示される措置の1つ以上は、上で説明したような、図1、図3、図5a、又は図8の装置若しくはシステム、或いは図8のモバイルコンピューティングデバイス若しくはネットワークインターフェースによって実施されてよい。
本明細書で説明した様々な技法の実施態様は、デジタル電子回路において、又は、コンピュータハードウェア、ファームウェア、ソフトウェアにおいて、或いはそれらの組合せにおいて実装されてよい。実施態様は、コンピュータプログラム製品として実装されてもよい。コンピュータプログラム製品は、すなわち、プログラマブルプロセッサ、コンピュータ、若しくは複数のコンピュータなどのデータ処理装置による実行のために、又はデータ処理装置の動作を制御するために、マシン可読記憶デバイス若しくは伝搬信号などの情報担体において明白に具体化される、コンピュータプログラムである。上で説明したようなコンピュータプログラムなどのコンピュータプログラムは、コンパイル型、又はインタープリタ型の言語を含む任意の形態のプログラミング言語によって書かれてよく、スタンドアローンプログラムとして、又はモジュール、コンポーネント、サブルーチンとして、又はコンピューティング環境における使用に適した他の単位を含む、任意の形態で配置されてよい。コンピュータプログラムは、1つのコンピュータ上で、或いは、一箇所にある、又は複数の箇所にまたがって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で、実行されるように配置されてよい。
方法の工程は、入力データ上で演算し、出力を生成することによって、機能を実施するために、コンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施されてよい。方法の工程はまた、FPGA(field programmable gate array: フィールドプログラマブルゲートアレイ)、又はASIC(application-specific integrated circuit: 特定用途向け集積回路)などの特殊目的論理回路によって実施されてよく、装置は、特殊目的論理回路として実装されてよい。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用目的及び特殊目的両方のマイクロプロセッサ、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ、又はランダムアクセスメモリ、或いはその両方から、命令及びデータを受信することになる。コンピュータの要素は、命令を実行するための少なくとも1つのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスを含むことができる。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイスを含んで、又は大容量記憶デバイスに動作可能に結合されて、そこからデータを受信する、又はそこにデータを転送する、或いはその両方を行うことができる。大容量記憶デバイスは、例えば、磁気ディスク、磁気光学ディスク、又は光学ディスクである。コンピュータプログラム命令及びデータを具体化するために適した情報担体は、すべての形態の不揮発性メモリを含み、不揮発性メモリは、例として、EPROM、EEPROMなどの半導体メモリデバイス、及びフラッシュメモリデバイス; 内部ハードディスク、又はリムーバブルディスクなどの磁気ディスク; 磁気光学ディスク; 並びにCD-ROM及びDVD-ROMディスクを含む。プロセッサ、及びメモリは、特殊目的論理回路によって補われる、又は特殊目的論理回路に組み込まれてもよい。
ユーザとの対話を提供するために、実施態様は、ユーザに情報を表示するためのディスプレイデバイス(例えば、静電容量タッチスクリーン、抵抗性タッチスクリーン、又は液晶ディスプレイ(LCD)モニタ)と、ユーザがコンピュータに入力を提供することができるキーボード及び/又はポインティングデバイス(例えば、マウス、トラックボール、タッチスクリーンなど)とを有するコンピュータ上で実装されてよい。他の種類のデバイスも、ユーザとの対話を提供するために同様に使用することができる; 例えば、ユーザに提供されるフィードバックは、視覚フィードバック、音響フィードバック、又は触覚フィードバックなどの、任意の形態の感覚フィードバックであってよい。ユーザからの入力は、音響入力、スピーチ入力、又は触覚入力を含む任意の形態で受信されてよい。
実施態様は、例えば、データサーバとしてのバックエンドコンポーネントを含むコンピューティングシステム、又はアプリケーションサーバなどのミドルウェアコンポーネントを含むコンピューティングシステムにおいて実装されてよい。或いは、実施態様は、ユーザがそれを通して実施態様と対話することができる、グラフィカルユーザインターフェース、又はWebブラウザを有する、クライアントコンピュータなどのフロントエンドコンポーネントを含むコンピューティングシステムにおいて実装されてよい。或いは、実施態様は、そのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実装されてよい。コンポーネントは、任意の形態又は媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続されていてよい。通信ネットワークの例には、有線又は無線ローカルエリアネットワーク(local area network)(LAN)、インターネットなどのワイドエリアネットワーク(wide area network)(WAN)、又はセルラネットワークが含まれる。
記載された実施態様の一定の特徴が、本明細書で説明したように例証されてきたが、ここで当業者は、多くの修正、置換、変更、及び均等物を思い付くであろう。したがって、添付の特許請求の範囲は、本実施態様の範囲内に入るものとして、すべてのそのような修正及び変更を包含するように意図することが理解される。