(57)【要約】【課題】画像解析に基づくワークフローを実施するサービスを提供する。【解決手段】画像（例えば写真）が通信デバイスから受信される。画像は、画像が撮られる間に捕捉された関連のメタデータを有する。例えば、メタデータは、写真の位置、日付及び時刻となり得る。画像における被写体の特徴とともに１以上の被写体（例えば車）が識別される。例えば、特徴は、人が走っているなどの被写体に関連する動作となり得る。メタデータとともに１以上の特徴について１以上の被写体を解析することに応じて、１以上の潜在的なワークフロー（例えば警察を呼ぶワークフロー）が特定される。１以上の潜在的なワークフローを識別するリストが、通信デバイスに送信される。１以上のワークフローのうちの１つを選択する入力が受信され、それは選択されたワークフローを開始する。【選択図】図５
2018198060.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
マイクロプロセッサ、及び
前記マイクロプロセッサに結合され、該マイクロプロセッサに、
関連するメタデータを有する画像を受信させ、
前記画像における１以上の被写体を識別させ、
前記メタデータとともに１以上の特徴について前記１以上の被写体を解析させ、
前記メタデータとともに前記１以上の特徴について前記１以上の被写体を解析させることに応じて、１以上の潜在的なワークフローを特定させ、
前記１以上の潜在的なワークフローを識別するリストを送信させ、
前記１以上の潜在的なワークフローの１つを選択する入力を受信させ、
前記１以上の潜在的なワークフローの前記選択された１つを開始する情報を送信させるマイクロプロセッサ可読及び実行可能な命令を備えるコンピュータ可読媒体
を備えるシステム。
【請求項２】
前記メタデータとともに前記１以上の特徴について前記１以上の被写体を解析することが、前記画像における複数の個々の被写体を識別することを備え、前記１以上の潜在的なワークフローを特定することが、前記画像における前記複数の個々の被写体に基づいて複数の個別のワークフローを特定することを備える、請求項１に記載のシステム。
【請求項３】
前記１以上の潜在的なワークフローを特定することが、前記受信された画像のみに基づいて、又は前記受信された画像及び前記メタデータのみに基づいて、前記１以上のワークフローの少なくとも１つを動的に作成することを備える、請求項１に記載のシステム。
【請求項４】
前記１以上の被写体が複数の被写体を備え、前記メタデータとともに前記１以上の特徴について前記１以上の被写体を解析することが、前記画像における前記複数の被写体のうちの少なくとも２つの間の関係を特定することを備える、請求項１に記載のシステム。
【請求項５】
前記実行可能な命令がさらに、前記マイクロプロセッサに、第１のコンピュータフォーマットにおいてソフトウェアオブジェクトを作成させ、該ソフトウェアオブジェクトを第２のコンピュータフォーマットにフォーマットするアプリケーションプログラミングインタフェース（ＡＰＩ）に前記ソフトウェアオブジェクトを送信させ、該ソフトウェアオブジェクトは特定のワークフローサーバにおける特定のワークフローサービスを識別する、請求項１に記載のシステム。
【請求項６】
前記１以上のワークフローの前記１つを選択する前記入力が複数のワークフローの選択であり、前記送信された情報が、コンピュータネットワーク上の複数の異なるワークフローサーバにおける前記複数の個別のワークフローを開始する、請求項１に記載のシステム。
【請求項７】
前記メタデータが、前記画像の位置及び前記画像を撮る人の名前を備え、前記特定された１以上の潜在的なワークフローが、前記画像の前記位置及び前記画像を撮る人の前記名前に基づく、請求項１に記載のシステム。
【請求項８】
前記メタデータとともに前記１以上の特徴について前記１以上の被写体を解析することが、前記画像の角度又は前記画像からの距離に基づいて前記画像を解析することを備える、請求項１に記載のシステム。
【請求項９】
前記メタデータが、前記画像を撮る前記通信デバイスの速度を備え、前記特定された１以上の潜在的なワークフローが、前記画像を撮る前記通信デバイスの前記速度に基づく、請求項１に記載のシステム。
【請求項１０】
方法であって、
マイクロプロセッサによって、関連するメタデータを有する画像を受信するステップ、
前記マイクロプロセッサによって、前記画像における１以上の被写体を識別するステップ、
前記マイクロプロセッサによって、前記メタデータとともに１以上の特徴について前記１以上の被写体を解析するステップ、
前記マイクロプロセッサによって、前記メタデータとともに前記１以上の特徴について前記１以上の被写体を解析することに応じて、１以上の潜在的なワークフローを特定するステップ、
前記マイクロプロセッサによって、前記１以上の潜在的なワークフローを識別するリストを送信するステップ、
前記マイクロプロセッサによって、前記１以上の潜在的なワークフローの１つを選択する入力を受信するステップ、及び
前記マイクロプロセッサによって、前記１以上の潜在的なワークフローの前記選択された１つを開始する情報を送信するステップ
を備える方法。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイル通信デバイス及びインターネットの普及により、ユーザは写真／映像を容易に撮影及び送信することができる。写真／映像は、他のユーザとの会話を補完するのに使用され得る。例えば、ユーザは、写真を撮り、進行中のソーシャルメディアの話題の一部としてその写真をウェブサイトに投稿することができる。
【０００２】
他のシステムでは、写真は、コンタクトセンタにおいて通信セッションをルーティングするために使用され得る。例えば、米国特許出願公開第２００９／０１９０７４１号は、コンタクトセンタにおいて通信セッションをルーティングするために使用される写真を撮るのにクライアントアプリケーションが使用され得ることを開示する。この場合、ユーザは、特殊なクライアントアプリケーションを必要とし、ユーザはコンタクトセンタにアクセスするための特殊なバックエンドサービスを知る必要がある。
【発明の概要】
【０００３】
これら及び他の必要性が、本開示の種々の実施形態及び構成によって対処される。画像は、通信デバイスから受信される。例えば、ユーザは、通信デバイスにおけるカメラで人の写真を撮る。画像は、撮影中に取得される関連のメタデータを有する。例えば、メタデータは、位置、日付及び／又は時間などとなり得る。画像における被写体の特徴とともに１以上の被写体（例えば、車又は人）が識別される。例えば、特徴は、人が走っているなど、被写体に関連付けられた動作であってもよい。潜在的に、特徴は、水漏れしている蛇口又は割れた窓などの被写体に関連付けられた状況となることもある。場合によっては、関心の対象は、通行人が着ているセーター又はラップトップを覆うカバーなど被写体の一部分となることもある。画像は、付近の一群の球場におけるソフトボール大会のようなイベント（被写体）のものとなることもあり得る。メタデータとの関連で１以上の特徴に対する１以上の被写体を解析することに応じて、１以上の潜在的なワークフローが決定される（例えば、警察を呼ぶワークフロー）。解析エンジンは画像を撮っている人の意図を特定しようとするので、ワークフローの潜在的なリストの作成は、撮影者が望むインタフェースについて非常に面倒なものとなり得る撮影者へのオープンな記述インタフェースを必要とすることなく解析エンジンが絞込みをすることを助ける。１以上の潜在的なワークフローを識別するリストが、通信デバイスに送信される。１以上のワークフローのうちの１つを選択する入力が受信され、それは選択されたワークフローを開始させる。
【０００４】
文言「少なくとも１つ」、「１以上」、「又は」及び「及び／又は」は、運用において接続語でも離接語でもあるオープンエンドな表現である。例えば、「Ａ、Ｂ及びＣの少なくとも１つ」、「Ａ、Ｂ又はＣの少なくとも１つ」、「Ａ、Ｂ及びＣの１以上」、「Ａ、Ｂ又はＣの１以上」、「Ａ、Ｂ及び／又はＣ」、及び「Ａ、Ｂ又はＣ」の表現の各々は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢとも、Ａ及びＣとも、Ｂ及びＣとも、又はＡ、Ｂ及びＣともを意味する。
【０００５】
文言「ａ」又は「ａｎ」エンティティは、その全体の１以上のことをいう。このように、文言「ａ」（又は「ａｎ」）、「１以上」及び「少なくとも１つ」は、ここでは互換可能に使用され得る。また、文言「備える（ｃｏｍｐｒｉｓｅ）」、「含む（ｉｎｃｌｕｄｅ）」及び「有する（ｈａｖｅ）」は、互換可能に使用され得ることを注記しておく。
【０００６】
ここで使用される文言「自動」及びその派生語は、処理又は動作が実行されると実質的な人間による入力なしに行われる、通常は連続的又は準連続的な任意の処理又は動作をいう。一方、入力が処理又は動作の実行前に受信される場合、処理又は動作の実行が実質的又は実質的でない人間による入力を用いたとしても、処理又は動作は自動的となり得る。人間による入力は、どのようにして処理又は動作が実行されるかにそのような入力が影響を与える場合に実質的なものとみなされる。処理又は動作の実行に同意する人間による入力は、「実質的」なものとしてみなされない。
【０００７】
本開示の態様は、ここでは全て一般に「回路」、「モジュール」又は「システム」といわれる全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）又はソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとり得る。任意の組合せの１以上のコンピュータ可読媒体が、利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体となり得る。
【０００８】
コンピュータ可読記憶媒体は、例えば、ただし限定されることなく、電子、磁気、光、電磁、赤外又は半導体のシステム、装置若しくはデバイス又は上記の任意の適切な組合せとなり得る。コンピュータ可読記憶媒体のより具体的な例（非網羅的な列挙）は、以下の：１本以上の配線を有する電気接続、可搬コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、可搬コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組合せを含むことになる。この書類の背景において、コンピュータ可読記憶媒体は、命令実行システム、装置又はデバイスによって、又はこれとの接続において使用されるプログラムを含み、又は記憶する任意の有形媒体であればよい。
【０００９】
コンピュータ可読信号媒体は、例えば、搬送波のベースバンド又は一部に具現化されたコンピュータ可読プログラムコードを有する伝搬されたデータ信号を含み得る。そのような伝搬信号は、電磁気、光学、又はそれらの任意の適切な組み合わせを含むが、これらに限定されない種々の形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置若しくはデバイスによって、又はこれとの接続において使用されるプログラムを通信、伝搬又は搬送することができる任意のコンピュータ可読媒体であってもよい。コンピュータ可読媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、ＲＦなど、又はこれらの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して送信され得る。
【００１０】
用語「特定する／判定する（ｄｅｔｅｒｍｉｎｅ）」、「計算する（ｃａｌｃｕｌａｔｅ）」及び「計算する（ｃｏｍｐｕｔｅ）」並びにそれらの変形は、交換可能に使用され、任意のタイプの方法、処理、数学的演算又は技法を含む。
【００１１】
ここで使用する「手段」という用語は、米国特許法第１１２条（ｆ）及び／又は第１１２条パラグラフ６に従って可能な限り広範な解釈を与えられるものとする。したがって、用語「手段」を含む請求項は、ここに記載された全ての構造、材料又は動作及びそれらの均等物の全てを網羅するものである。さらに、構造、材料又は動作及びそれらの均等物は、概要、図面の簡単な説明、詳細な説明、要約及び請求項自体に記載されたもの全てを含むものである。
【００１２】
上記は、本開示のある態様の理解を提供するための簡略化した概要である。この要約は、本開示及びその種々の実施形態の広範かつ網羅的な概要ではない。本開示の要訣又は重要な要素を特定することも、及び開示の範囲を説明することも意図していないが、以下に提示するより詳細な説明の序文として、本開示の選択された概念を簡略化した形で提示することを意図している。理解されるように、本開示のその他の実施形態は、単独又は組合せにおいて、上記に記載された又は以下に詳細に説明される１以上の特徴を利用し得る。また、本開示は例示的な実施形態について示されるが、本開示の個々の様態を別個に請求できることが理解されるべきである。
【図面の簡単な説明】
【００１３】
【図１】図１は、画像を解析してワークフローを識別するための第１の例示のシステムのブロック図である。
【図２】図２は、ワークフローシステムの例示的実施形態のブロック図である。
【図３】図３は、例示的画像の図である。
【図４】図４は、潜在的なワークフローのリストの例示的表示の図である。
【図５】図５は、画像を解析してワークフローを識別するための処理のフロー図である。
【図６】図６は、ワークフローサーバにおいてワークフローを開始するのに使用されるソフトウェアオブジェクトの作成のための処理のフロー図である。
【図７】図７は、画像を解析してワークフローを識別するための処理のフロー図である。
【図８】図８は、コンピュータネットワーク上での異なるワークフローサーバにおけるワークフローの登録のための処理のフロー図である。
【発明を実施するための形態】
【００１４】
図１は、画像を解析してワークフローを識別するための第１の例示のシステム１００のブロック図である。第１の例示のシステム１００は、通信デバイス１０１Ａ〜１０１Ｎ、ネットワーク１１０、ワークフローシステム１２０及びワークフローサーバ１３０Ａ〜１３０Ｎを備える。なお、各通信デバイス１０１Ａ〜１０１Ｎは、専用のワークフローサーバ１３０を必要としない。ワークフローサーバの符号付けは、便宜的なものである。
【００１５】
通信デバイス１０１は、パーソナルコンピュータ（ＰＣ）、電話機、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、タブレットデバイス、ノートブックデバイス、スマートフォン及び／又はスマートテレビなど、ネットワーク１１０上で通信可能な任意のユーザ通信デバイスであってもよいし、それを含んでいてもよい。図１に示すように、任意数の通信デバイス１０１Ａ〜１０１Ｎが、１つの通信デバイス１０１のみを含んでネットワーク１１０に接続され得る。
【００１６】
通信デバイス１０１Ａは、プロセッサ１０２Ａ、カメラ１０３Ａ、加速度計１０４Ａ、磁力計１０５Ａ、グローバル測位衛星（ＧＰＳ）システム１０６Ａ、クロック１０７Ａ、ブラウザ１０８Ａ及びマイクロフォン１０９Ａを備える。プロセッサ１０２Ａは、同様のデバイスを用いて人を含む他者へのメッセージベースの通信及び／又はそのようなメッセージを用いて自動的に相互作用するサービスなどのためのソフトウェアとともに、マイクロプロセッサ、デジタルシグナリングプロセッサ（ＤＰＳ）、マイクロコントローラ、マルチコアプロセッサ、特定用途向けプロセッサ、ネットワーク通信のためのインタフェースなど、情報を処理することができる任意のハードウェアプロセッサであればよい。
【００１７】
カメラ１０３Ａは、画像を撮影することができる任意のハードウェアカメラ１０３であってもよいし、それを含んでいてもよい。カメラ１０３Ａは、写真及び／又は動画などの画像を撮影することができる。
【００１８】
加速度計１０４Ａは、微小機械加速度計、圧電加速度計、ピエゾ抵抗加速度計及び／又は容量加速度計などのような加速度を特定することができる任意のハードウェア素子であればよい。加速度計１０４Ａは、通信デバイス１０１Ａの速度／移動を特定するのに使用され得る。加速度計１０４Ａは、画像が撮影される時の通信デバイス１０１Ａの速度を特定するのにカメラ１０３Ａとともに使用され得る。例えば、通信デバイス１０１Ａは、写真が撮られる時に移動している自動車にあってもよい。カメラ１０３Ａが画像を撮影する時に、通信デバイス１０１Ａの速度は画像に関連付けられるメタデータとして記憶され得る。画像が動画の場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００１９】
磁力計１０５Ａは、地球磁場を用いて方向を特定することができる任意のハードウェア素子であってもよいし、それを含んでいてもよい。磁力計１０５Ａは、画像が撮影される時にカメラ１０３Ａの方向（例えば、北）を特定するのにカメラ１０３Ａとともに使用され得る。カメラ１０３Ａが画像を撮影する時にカメラ１０３Ａが向く方向は、画像に関連付けられてメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２０】
ＧＰＳシステム１０６Ａは、ＧＰＳ信号を検出して通信デバイス１０１Ａの位置を特定可能な任意のハードウェアであってもよいし、それを含んでいてもよい。さらに、セルラ又はＷｉＦｉ信号の三角測量及び／又はネットワーク１１０への接続に基づいて特定され得る。カメラ１０３Ａが画像を撮影するとき、通信デバイス１０１Ａの位置は、画像に関連付けられたメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２１】
クロック１０７Ａは、画像が撮られる時の時刻及び日付を特定するのに使用され得る任意のクロック１０７であってもよいし、それを含んでいてもよい。カメラ１０３Ａが画像を撮影する時の時刻及び日付は、画像に関連付けられたメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２２】
ブラウザ１０８Ａは、ウェブサーバ１２４とともに作用することができる任意のブラウザ１０８であってもよいし、それを含んでいてもよい。例えば、ブラウザ１０８Ａは、Ｆｉｒｅｆｏｘ（登録商標）、ＭｉｃｒｏｓｏｆｔＥｘｐｌｏｒｅｒ（登録商標）、Ｓａｆａｒｉ及び／又はＧｏｏｇｌｅＣｈｒｏｍｅ（登録商標）などであればよい。
【００２３】
マイクロフォン１０９Ａは、画像が撮られる時に音情報を捕捉するのに使用され得る任意のマイクロフォンであってもよいし、それを含んでいてもよい。画像が撮られる時の音情報は、映像中など、時間にわたるものであってもよい。音情報は、画像に関連付けられたメタデータとして記憶され得る。例えば、画像／映像が撮られる時に、発砲の音がメタデータとして（例えば、ＭＰ３ファイルとして）捕捉及び記憶され得る。音情報は、静止画に関連付けられる期間に対するものであってもよいし、時系列の一例の画像に対するものであってもよい。例えば、静止画が撮られる場合、画像が撮られる前及び／又は後の期間の音がメタデータとして記憶され得る。
【００２４】
不図示であるが、通信デバイス１０１Ａは、カメラ１０３Ａから画像までの距離を検出することができる他の要素（例えば、レーダー）を備え得る。カメラ１０３Ａが画像を撮影する時に、通信デバイス１０１Ａからの距離は画像に関連付けられたメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２５】
代替的に、画像に関連してカメラ１０３Ａの角度を特定するのに他のシステムが採用されてもよい。角度検出は、種々のタイプの画像処理を用いて実現され得る。カメラ１０３Ａが画像を撮影する時の角度は、画像に関連付けられたメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２６】
高度計が、画像が撮られる時の通信デバイス１０１の高度を特定するのに使用され得る。画像が撮られる時の高度は、画像に関連付けられたメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２７】
温度計が、画像が撮られる時の温度（例えば、４０度）を特定するのに使用され得る。画像が撮られる時の温度は、画像に関連付けられたメタデータとして記憶され得る。画像が動画である場合、メタデータは動画の時間にわたるサンプルとなり得る。
【００２８】
図１において、通信デバイス１０１Ｂ〜１０１Ｎには、要素１０２〜１０８を示していない。ただし、通信デバイス１０１Ｂ〜１０１Ｎは、要素１０２〜１０８及び／又は上記の追加的な要素の一部又は全部を備え得る。
【００２９】
ネットワーク１１０は、インターネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ボイスオーバーＩＰネットワーク（ＶｏＩＰ）、公衆交換電話網（ＰＳＴＮ）、パケット交換ネットワーク、回路交換ネットワーク、セルラネットワーク、これらの組合せなどのような電子通信を送信及び受信することができる通信機器の任意の集合であってもよいし、それを含んでいてもよい。ネットワーク１１０は、イーサネット、インターネットプロトコル（ＩＰ）、セッション開始プロトコル（ＳＩＰ）、総合通信デジタル網（ＩＳＤＮ）などのような様々な電子プロトコルを用いることができる。したがって、ネットワーク１１０は、パケット及び／又は回路交換通信を介してメッセージを搬送するように構成された電子通信ネットワークである。
【００３０】
ワークフローシステム１２０は、サーバ、サーバのクラスタ及び／又は通信システムなどのような任意のハードウェアシステムであってもよいし、それを含んでいてもよい。ワークフローシステム１２０は、画像解析に基づいてワークフローを識別するのに使用される。
【００３１】
ワークフローシステム１２０は、プロセッサ１２１、画像プロセッサ１２２、ワークフローインタフェース１２３及びウェブサーバ１２４をさらに備える。プロセッサ１２１は、プロセッサ１０２と同じであっても異なっていてもよい。プロセッサ１２１は、複数の通信デバイス１０１との複数の通信セッションをサポートすることができるものであればよい。
【００３２】
画像プロセッサ１２２は、ニューラルネットワークなど、画像を処理して異なる被写体及び被写体に関連付けられた特徴、被写体に関連付けられた動作、又は被写体（特徴）に関連付けられたイベントを特定することができるハードウェア及び／又はソフトウェアプロセッサであってもよいし、それを含んでいてもよい。被写体は、車、人、標識、デバイス（例えば、テレビ、プリンタ、コンピュータなど）、衣類、家、日用品、建物、ドア、道、山及び／又は乗り物など、画像における任意の種類の対象物であればよい。被写体に関連付けられた特徴は、その色、そのメーカ（製造者）、型式（タイプ）若しくは状態（新品／損傷／破壊）又は他の任意の視認可能な区別マークであればよい。動作は、人が走っている若しくは人が見つめている、蛇口が水漏れしている、又は家が燃えている、のような被写体が行っている何かであればよい。動作は、画像から被写体に対応付けられ得る視認可能な状態である。イベントは画像から推測され得る仮想の被写体であり、例えば、野球場に配置された野球選手の集合は野球の試合のイベントにかかわるものである。さらに、演壇の話者を見る観客の集合は、講演イベントにいるものである。これらは全て、画像解析から抽出され得る情報の例にすぎず、全ての被写体、特徴、動作又はイベントの包括的なものを意味するものではない。画像プロセッサ１２２は、種々の画像処理技術を用いて画像を処理して被写体を識別し得る。例えば、画像プロセッサ１２２は、画像ベースの分離、エッジベースの分離、領域ベースの分離、種領域成長アルゴリズム及び／又はウォーターシェドアルゴリズムなどを用いて画像における個別の被写体を識別し得る。
【００３３】
画像プロセッサ１２２は、識別された被写体、特徴、及び画像に関連付けられたメタデータを採用して画像に基づいて可能なワークフローを特定する。ワークフローは、通信デバイス１０１のユーザを補助するのに使用される処理である。例えば、ワークフローは、配管工が水漏れするシャワーヘッドを修理すること、写真を緊急９１１サービスに送信すること、工場に在庫品を注文すること、牽引トラックを呼ぶこと、タイヤを修理するマニュアルを取得すること、レストランのメニューを取得すること及び／又は商品を購入することなどとなり得る。
【００３４】
ワークフローインタフェース１２３は、ワークフローサーバ１３０でワークフローを実行する情報を送信するのに使用されるアプリケーションプログラミングインタフェース（ＡＰＩ）である。ワークフローインタフェース１２３は、あるコンピュータフォーマットにおける情報をそれぞれのワークフローサーバ１３０によって使用可能なフォーマットに変換することができる。
【００３５】
ウェブサーバ１２４は、Ａｐａｃｈｅウェブサーバ、ＭｉｃｒｏｓｏｆｔのＩＩＳウェブサーバ、ｎｇｉｎｘ及び／又はＧＷＳなどのようなブラウザ１０８と作用することができる任意のウェブサーバ１２４であればよい。ウェブサーバ１２４は、通信デバイス１０１によって使用されるアプリケーションをホストしてワークフローを識別することができる。
【００３６】
ワークフローサーバ１３０Ａ〜１３０Ｎは、コンタクトセンタ、プロジェクト管理システム、作業追跡システム、検索エンジン、在庫注文システム、工場制御システム、緊急９１１サービス、消防監視サービス、警察／消防警報システム、自動車修理システム、牽引サービスシステム及び／又はガーデニングサービスアプリケーションなどのような、ワークフローを処理することができる任意のハードウェアサーバであってもよいし、それを含んでいてもよい。ワークフローサーバ１３０Ａ〜１３０Ｎは、ワークフローサーバ１３０でワークフローを開始するのに使用され得るソフトウェアオブジェクトをワークフローシステム１２０に送信させることを可能とするアプリケーションプログラミングインタフェース（ＡＰＩ）を備え得る。
【００３７】
図２は、ワークフローシステム１２０の例示的実施形態のブロック図である。要素１２１〜１２４に加えて、ワークフローシステム１２０は、ワークフロー登録サービス２２６、ワークフロービルダ２２７及びワークフローエグゼキュータ２２８をさらに備え得る。ワークフロー登録サービス２２６は、（例えば、ワークフローサーバ１３０上で）ワークフローサービスがワークフローシステム１２０に登録することを可能とする任意のソフトウェア／ファームウェアであってもよいし、それを含んでいてもよい。ワークフローサービスが登録されると、画像プロセッサ１２２はワークフローサービスにアクセスしてワークフローＡＰＩ２２４を介してワークフローを実行することができる。
【００３８】
ワークフロービルダ２２７は、画像における被写体の識別に基づいて新たなワークフローを自動的に構築することができる任意のソフトウェア／ファームウェアであってもよいし、それを含んでいてもよい。ワークフロービルダ２２７は、画像における同様の被写体の識別に基づいて他のユーザによる後のアクセスについて記憶され得るワークフローを構築し得る。
【００３９】
ワークフローエグゼキュータ２２８は、ワークフロービルダ２２７によって作成される新たに作成されたワークフローを実行するのに使用される。ワークフローエグゼキュータ２２８は、ウェブ検索及び／又はデータベース検索などのような特定のタイプのワークフローを実行するアプリケーションであればよい。
【００４０】
画像プロセッサ１２２はまた、オブジェクトビルダ２２３を備えていてもよい。オブジェクトビルダ２２３は、ソフトウェアオブジェクトを構築することができる任意のソフトウェア／ファームウェアであってもよいし、それを含んでいてもよい。ソフトウェアオブジェクトは、ワークフローサーバ１３０に送信され得るデータを供給してワークフローを実行するのに使用され得る。
【００４１】
ワークフローインタフェース１２３はまた、ワークフローＡＰＩ２２４を備えていてもよい。ワークフローＡＰＩ２２４によって、異なるプロトコル／コンピュータフォーマットを使用し得る異なるワークフローサーバ１３０Ａ〜１３０Ｎにワークフローシステム１２０がアクセスできるようになる。例えば、画像プロセッサ１２２は、ワークフローサーバ１３０の特定のフォーマットに変換される１つのフォーマットにおいてソフトウェアオブジェクトを供給し得る。
【００４２】
図３は、例示的画像３００の図である。画像３００は、静止画、完全な映像及びその間のいずれかであればよい。例えば、カメラ１０３は、ショットの１秒前及び１秒後を撮影することができる。あるいは、カメラは、時系列の一連の画像又は完全な動画映像を撮影することができる。このように、画像３００は、上述のいずれかを備え得る。
【００４３】
図３において、画像３００は、通信デバイス１０１におけるカメラ１０３によって撮影された店舗の写真（静止画）である。画像３００は、被写体３１０Ａ〜３１０Ｎを備える。被写体３１０Ａは、ＡＢＣ家電製品会社についての店舗の被写体である。被写体３１０Ｂは、ドアの被写体である。被写体３１０Ｃは、ブランドＸＹＺテレビのＴＶセールを示す標識の被写体である。被写体３１０Ｄは、ＸＹＺモデル４テレビ受像機のテレビの被写体である。被写体３０１Ｅは、人の被写体である。被写体３１０Ｎは、歩道の被写体である。ひび３３０が、歩道の被写体３１０Ｎにある。
【００４４】
図４は、潜在的なワークフロー４２０Ａ〜４２０Ｎのリスト４１０の例示的表示の図である。潜在的なワークフロー４２０Ａ〜４２０Ｎのリスト４１０は、図３の画像３００に基づく。潜在的なワークフロー４２０Ａは、２２番街にＡＢＣ家電製品会社についてのウェブサイトを表示するものである。潜在的なワークフロー４２０Ｂは、ＸＹＺモデル４テレビ受像機の情報を表示することである。潜在的なワークフロー４２０Ｃは、ＸＹＺモデル４テレビ受像機を販売する他の店舗のリストを表示することである。潜在的なワークフロー４２０Ｄは、強盗発生中メッセージを９１１サービスに送信するものである。潜在的なワークフロー４２０Ｎは、モデル４の２枚ガラスドアの情報を表示することである。
【００４５】
ユーザはまた、他の選択肢４３０〜４３１も提供される。選択肢４３０は、追加のワークフロー４２０を表示することである。選択肢４３１は、処理を取り消すことである。
【００４６】
画像３００がカメラ１０３によって撮影されると、メタデータが画像３００に関連付けられる。例えば、日付（２０１７年４月２７日金曜日）、時刻午後９時３０分、位置（例えば、ＧＰＳ座標）、カメラ１０３が向いている方向及び／又はカメラ１０３の速度などである。画像プロセッサ１２２は、画像３００を解析して被写体３１０Ａ〜３１０Ｎを識別する。画像プロセッサ１２２はまた、被写体３１０Ａ〜３１０Ｎに関連付けられた特徴を識別して潜在的なワークフロー４２０Ａ〜４２０Ｎを識別する。識別された被写体３１０Ａ〜３１０Ｎ／特徴は、潜在的なワークフロー４２０Ａ〜４２０Ｎを特定するようにメタデータとともに解析される。
【００４７】
例えば、画像プロセッサ１２２は、ＡＢＣ家電製品会社について店舗の被写体３１０Ａを識別する。画像３００が撮影された時の位置及びカメラ１０３が向く方向に基づいて、画像プロセッサ１２２はＡＢＣ家電製品会社の店舗の位置がニューヨークシティの東２２番街３０６であることを特定する。この情報に基づいて、画像プロセッサ１２２は、ニューヨークシティの東２２番街３０６のＡＢＣ家電製品会社についてウェブページを表示する潜在的なワークフロー４２０Ａを特定する。
【００４８】
同様に、画像プロセッサ１２２は、ＸＹＺモデル４テレビ受像機（３１０Ｄ）のテレビ受像機の被写体に基づいて、ＸＹＺモデル４テレビ受像機の情報を提供する潜在的なワークフロー４２０Ｂを特定する。例えば、時刻午後９時３０分に基づいて、画像プロセッサ１２２は、閉店していることを（例えばウェブ検索を行うことによって）特定することができる。同様に、潜在的なワークフロー４２０Ｃが、時刻及びその潜在的なワークフロー４２０Ｂとの関係に基づいて特定される。
【００４９】
画像プロセッサ１２２は、人の被写体３１０Ｅを識別する。画像プロセッサ１２２は、人の被写体３１０Ｅについての特徴（人がしゃがんでいること）を特定する。メタデータに基づいて、画像プロセッサ１２２は、メタデータを用いてＡＢＣ家電製品店が閉店していること（金曜日の午後７時に閉店する）を特定する。人がしゃがんでいること（隠れようとしていること）及び閉店していることに基づいて、画像プロセッサ１２２は、潜在的なワークフロー４２０Ｄを特定する。
【００５０】
画像プロセッサ１２２は、ドアの被写体３１０Ｂに基づいて、ドアの被写体がモデル４Ｂの２枚ガラスドアであることを特定する。例えば、同様の外観のドアを見つけるウェブ検索を行うことによる。画像プロセッサ１２２は、潜在的なワークフロー４２０Ｎがモデル４Ｂの２枚パンドアについての情報を表示することであることを特定する。
【００５１】
同様の処理が、歩道の被写体３１０Ｎについても完了する。例えば、（クラック３３０に基づくと）ワークフロー４２０は、歩道を補修することである。一方、図４において、歩道の被写体３１０Ｎについての潜在的なワークフローの信頼スコアはより低い（すなわち、これがユーザの求めているものである可能性は低い）ため、歩道の被写体３１０Ｎについてのいずれの潜在的なワークフロー４２０も示されない。ユーザは、選択肢をクリックして、歩道の被写体３１０Ｎについてのワークフロー４２０を得るように追加のワークフロー４３０を表示することができる。
【００５２】
図５は、画像３００を解析してワークフロー４２０を識別するための処理のフロー図である。例示として、通信デバイス１０１、ブラウザ１０８、ワークフローシステム１２０、画像プロセッサ１２２、ワークフローインタフェース１２３、ウェブサーバ１２４、オブジェクトビルダ２２３、ワークフローＡＰＩ２２４、ワークフロー登録サービス２２６、ワークフロービルダ２２７及びワークフローエグゼキュータ２２８は、メモリ又はディスクのようなコンピュータ可読記憶媒体に記憶されたプログラム命令を実行することによって図５〜８の方法及びここに記載される処理を実行するコンピュータ又はマイクロプロセッサなどの記憶プログラム制御によるエンティティである。図５〜８に記載される方法は特定の順序で図示されるが、当業者であれば、図５〜８におけるステップは異なる順序で実施され、及び／又はマルチスレッド環境で実施され得ることを認識するはずである。またさらに、種々のステップが、実施に基づいて省略又は追加され得る。
【００５３】
処理は、ステップ５００で開始する。ユーザは、ステップ５０２において、通信デバイス１０１上のカメラ１０３を用いて画像３００を撮影する。ただし、画像３００は、通信デバイス１０１においてカメラ１０３によって撮影されなくてもよい。例えば、ユーザは、ウェブページからの表示画像を採用してもよい。画像３００が撮られると、メタデータが画像３００に関連付けられる。例えば、メタデータは、画像が撮られる日付／時刻、角度、位置、速度、距離、方向、高度及び／又は温度などを備え得る。上記のタイプのメタデータに加えて、画像３００に関連付けられる他のタイプのメタデータは、画像３００を撮る人の名前、画像３００が撮られる時に人が着ている服装のタイプ（例えば、寒いであろうことを示す厚着）及び／又は通信デバイス１０１の電話番号などを含み得る。
【００５４】
画像３００／メタデータは、ステップ５０４において、ワークフローシステム１２０に送信される。画像３００／メタデータは、種々の態様で送信され得る。例えば、ユーザは、ワークフローシステム１２０の公知のアドレスに写真を送信する通信デバイス１０１Ａ上に表示されたボタンをクリックし得る。画像３００は、マルチメディアサービス（ＭＭＳ）及び／又はリッチクライアントサービス（ＲＣＳ）などを用いてワークフローシステム１２０に送信され得る。
【００５５】
ワークフローシステム１２０は、ステップ５０６において、画像３００／メタデータを受信する。画像プロセッサ１２２は、ステップ５０８において、メタデータとともに（例えば、上述したような）被写体３１０／特徴／動作／イベントについての画像３００を解析する。画像プロセッサ１２２は、ステップ５１０において、潜在的なワークフロー４２０（例えば、ワークフロー４２０Ａ〜４２０Ｎ）を特定する。画像プロセッサ１２２は、ステップ５１２において、ワークフローインタフェース１２３を介して潜在的なワークフロー４２０のリスト４１０を送信する。例えば、潜在的なワークフロー４２０のリスト４１０は、ウェブサーバ１２４を介してブラウザ１０８に、又はテキスト／ＲＣＳメッセージとして通信デバイス１０１に送信され得る。潜在的なワークフロー４２０のリスト４１０は、画像３００の受信のみに基づいて、又は画像３００及びメタデータに基づいて特定され得る。
【００５６】
通信デバイス１０１は、ステップ５１４において、潜在的なワークフロー４２０のリスト４１０を受信する。通信デバイス１０１は、ステップ５１６において、潜在的なワークフロー４２０のリスト４１０を表示する。ユーザは、ワークフロー４２０の１つを選択する。通信デバイス１０１は、ステップ５１８において、ワークフロー４２０の選択を受信する。一実施形態では、ユーザは、複数のワークフロー４２０を選択し得る（例えば、ワークフロー４２０Ａ及び４２０Ｂ）。通信デバイス１０１は、ステップ５２０において、選択されたワークフロー４２０をワークフローシステム１２０に送信する。ワークフローシステム１２０は、ステップ５２２において、選択されたワークフロー４２０を受信する。画像プロセッサ１２２は、ステップ５２４において、ワークフロー４２０に関連付けられたデータを（ワークフローサーバ１３０についてのワークフローＡＰＩ２２４を用いて）ワークフローインタフェース１２３を介してワークフローサーバ１３０に送信する。
【００５７】
選択されたワークフロー４２０を開始するデータは、ワークフロー４２０のタイプに基づいて変わり得る。例えば、ユーザがワークフロー４２０Ｄを選択した場合、ワークフローサーバ１３０はニューヨークシティにおける警察署に対する９１１サービスとなり得る。データは、画像３００、日付／時刻、位置、画像３００を撮る人の名前、通信デバイス１０１の電話番号、及び東２２番街３０６の住所で潜在的な強盗があり得ることを示すメッセージを含み得る。
【００５８】
ワークフローサーバ１３０は、ステップ５２６において、ワークフローデータを受信する。ワークフローサーバ１３０はステップ５２８においてワークフロー４２０を開始し、処理はステップ５３０で終了する。例えば、ユーザがワークフロー４２０Ｄを選択した場合、ワークフロー４２０Ｄの開始はニューヨーク警察署に作業項目を送信するものであってもよい。これによって、ニューヨーク警察署は東２２番街３０６のＡＢＣ家電製品店に警官を派遣することができる。
【００５９】
図５の処理には、特定のタイプのワークフロー４２０又はそのワークフロー４２０をどのように利用するかをユーザが知る必要がないという効果がある。ワークフロー４２０を特定することは、画像３００を送信することの他に任意のユーザ入力を必要としない。例えば、ユーザは、誰がドア３１０Ｂを作ったか、ドア３１０Ｂがモデル４Ｂの２枚ガラスドアであること、製造者は誰か、及び／又はどのようにしてドア３１０Ｂについての情報を得るかなどを知らなくてもよい。ワークフローシステム１２０は、ワークフローシステム１２０への画像３００の単なる送信によってこの能力を作り出す。
【００６０】
ユーザが、ステップ５１８において追加のワークフロー４３０を選択したいと思う（例えば、ユーザが求めているものがワークフローのリスト４１０にない）場合、選択されたワークフローをステップ５２０において送信するのではなく、通信デバイス１０１はメッセージをワークフローシステム１２０（不図示）に送信して潜在的なワークフローの次のリスト４１０を取得する。ワークフローシステム１２０は、ステップ５１０において、ワークフローの次のリスト４１０（当初に信頼スコアの下位であったもの（図７のステップ７２０及び７２２参照））を特定する。ワークフローシステム１２０は、ステップ５１２において、ワークフローの次のリスト４１０を送信し、図６に示すように、処理は継続する。
【００６１】
図６は、ワークフローサーバ１３０においてワークフロー４２０を開始するのに使用されるソフトウェアオブジェクトの作成のための処理のフロー図である。図６の処理は、ステップ５２４、５２６及び５２８の例示的実施形態である。選択されたワークフロー４２０をステップ５２２において受信した後、オブジェクトビルダ２２３は、ステップ６００において、ワークフローＡＰＩ２２４／ワークフローインタフェース１２３によって使用され得るソフトウェアオブジェクトを構築する。例えば、ワークフローＡＰＩ２２４は、以下に示すようなオブジェクトビルダ２２３によって作成されたＪａｖａソフトウェアオブジェクトを用いることができる。
public static int send_workflow(string sparam 1, string sparam 2, int workflow_type)
【００６２】
オブジェクトビルダ２２３は、ｓｐａｒａｍ１において文字列「ＡＢＣ家電製品会社」を、ｓｐａｒａｍ２において文字列「ニューヨークシティ東２２番街３０６」を、ｗｏｒｋｆｌｏｗ＿ｔｙｐｅについて１を提供する（１は、ウェブ検索ワークフロー４２０を示す）。オブジェクトビルダ２２３は、ステップ６０２において、ソフトウェアオブジェクトをワークフローＡＰＩ２２４に渡す。ワークフローＡＰＩ２２４は、ステップ６０４において、必要であればソフトウェアオブジェクトのフォーマットを変更する。例えば、ワークフローサーバ１３０がＸＭＬを用いる場合、フォーマットされたＸＭＬタグは、以下のようになり得る。
search parameter 1 = “ABC Appliance Company”
search parameter 2 = “306 East 22nd Street, New York City”
【００６３】
ワークフローインタフェース１２３は、ステップ６０６において、フォーマットされたデータをワークフローサーバ１３０に送信する。ｗｏｒｋｆｌｏｗ＿ｔｙｐｅパラメータは、ワークフロー４２０の実行を扱うことができる特定のワークフローサーバ１３０を識別するのに使用される。例えば、ｗｏｒｋｆｌｏｗ＿ｔｙｐｅパラメータが１である場合、ワークフローサーバ１３０Ａが選択され得る。ｗｏｒｋｆｌｏｗ＿ｔｙｐｅパラメータが２である場合、ワークフローサーバ１３０Ｎが選択され得る。ワークフローサーバ１３０は、ステップ６０８において、フォーマットされたデータを受信する。そして、ワークフローサーバ１３０は、ステップ６１０においてワークフロー４２０を開始する。
【００６４】
ワークフローサーバ１３０は、ステップ６１２において（必要であれば）ワークフロー４２０についてのステータスアップデートを送信する。ステータスアップデートは、ワークフローの進行を示すことができる。例えば、ワークフローがホテルにおける水漏れするシャワーヘッドを修理することである場合、ステータスアップデートメッセージは、配管工が通知を受けたこと及び／又はシャワーヘッドが修理されたことなどとなり得る。ワークフローサーバ１３０は、ステップ６１４において、ワークフロー４２０が完了したかを判定する。ステップ６１４においてワークフロー４２０が完了している場合、ステップ６１６においてワークフローサーバ１３０における処理は終了する。あるいは、ステップ６１４においてワークフロー４２０が完了していない場合、処理は、必要であれば追加のステータスアップデートメッセージが送信され得るステップ６１２に戻る。
【００６５】
ステップ６１２においてステータスアップデートが送信された場合、ステップ６１８においてワークフローシステム１２０はステータスアップデートを受信する。あるいは、ステータスアップデートは、通信デバイス１０１に直接送信されてもよい。ワークフローシステム１２０（ワークフローエグゼキュータ２２８）は、ステップ６２０においてワークフロー４２０についてのステータスアップデートを送信する。通信デバイス１０１は、ステップ６２２において、ステータスアップデートを受信する。ステップ６２４において通信デバイス１０１はステータスアップデートを表示し、ステップ６２６において処理は終了する。
【００６６】
図７は、画像３００を解析してワークフロー４２０を識別するための処理のフロー図である。図７の処理は、図５におけるステップ５０８／５１０の例示的実施形態である。ステップ５０６において画像３００／メタデータを受信した後、ステップ７００において画像プロセッサ１２２は画像３００（もしあれば）に関連付けられたメタデータを取得する。画像プロセッサ１２２は、ステップ７０２において、画像３００における１以上の被写体３１０を識別する。識別された各被写体３１０について、処理は、ステップ７０４〜７１８を実施する。一実施形態では、ユーザが求めているものに対して一致しそうにない被写体を削除する１以上の規則に基づいて被写体がスクリーニングされてもよい。
【００６７】
各被写体について、画像プロセッサ１２２は、ステップ７０４において、何らかの特徴（すなわち、動作又はイベント）について被写体３１０を解析する。例えば、ワークフロー４２０Ｄについて、画像プロセッサ１２２は、人３１０Ｅが隠れようとしていること（動作）又は歩道の被写体３１０Ｎがひび３３０を有すること（特徴）を特定し得る。画像プロセッサ１２２は、被写体３１０が複数の特徴（動作）を有し得ることを特定し得る。例えば、映像において、人が走って躓くこともあり得る。
【００６８】
画像プロセッサ１２２は、ステップ７０６において、被写体３１０間に関係があるかを判定する。例えば、図３において、画像プロセッサ１２２は、店舗の被写体３１０Ａ、標識の被写体３１０Ｃ及びテレビ受像機の被写体３１０Ｄの間に関係があると判定し得る。画像プロセッサ１２２は、歩道の被写体３１０Ｎは被写体３１０Ａ〜３１０Ｅとは顕著な関係を有さないと判定し得る。
【００６９】
各被写体について、画像プロセッサ１２２は、ステップ７０８において、画像３００における被写体３１０の位置を特定する。通常、画像３００が撮られる場合、ユーザは最も重要な被写体３１０を画像３００の中心に配置する。一実施形態では、より高い信頼スコア（ステップ７１０参照）が、画像３００の中心に配置される被写体３１０に与えられる。したがって、被写体３１０が画像３００の中心に配置されずに画像３００の縁付近にある場合には、画像３００の縁付近の被写体３１０には、より低い信頼スコアが与えられ得る。
【００７０】
各被写体３１０について、画像プロセッサ１２２は、ステップ７１０において信頼スコアを計算する。信頼スコアは、画像３００における被写体並びにメタデータ、被写体３１０の特徴（すなわち、被写体の特徴、動作、イベント）、関係及び／又は位置の一部又は全部を用いて計算される。一実施形態では、信頼スコアは、メタデータ、被写体３１０の特徴、関係及び／又は位置の１以上を用いない。信頼スコアは、１以上の規則に基づいていてもよい。例えば、画像３００における異なるタイプのメタデータ、特徴、位置及び関係には、各タイプのワークフロー４２０についての規則に基づく異なる重み付けが与えられてもよい。
【００７１】
画像プロセッサ１２２は、ステップ７１２において、被写体３１０についてのワークフロー４２０があるかを判定する。例えば、被写体が位置（例えば、ユタ州ソルトレイクシティ４番街１２３のホリデイイン（登録商標））において水漏れしているシャワーヘッドである場合、画像プロセッサ１２２は、ステップ７１２において、ユタ州ソルトレイクシティ４番街１２３のホリデイイン（登録商標）において水漏れしているシャワーヘッドを扱うことができるワークフローサーバ１３０におけるワークフロー４２０があるか（例えば、ホリデイイン（登録商標）は（図８に記載するような）配管工サービスを扱うサービスを登録しているか）を判定する。ステップ７１２において一致がある場合、ワークフロー４２０はステップ７１８においてワークフローのリスト４１０に入れられ、処理はステップ７２０に進む。
【００７２】
あるいは、ステップ７１２において一致がない場合、画像プロセッサ１２２は、ステップ７１４においてワークフロー４２０が作成され得るかを判定する。例えば、画像プロセッサ１２２は、特定の被写体３１０についての必要な情報を取得する固有のウェブ検索ワークフロー４２０を構築可能であってもよい。ステップ７１４においてワークフロー４２０が作成可能でない場合、処理はステップ７２０に進む。あるいは、ステップ７１４においてワークフロー４２０が作成可能である場合、ステップ７１６において画像プロセッサ１２２は動的にワークフロー４２０を作成する。ステップ７１６のワークフロー４２０は、画像３００（被写体及び／又は特徴）のみに基づいて、又は画像及びメタデータに基づいて作成され得る。そして、ステップ７１８においてワークフロー４２０はワークフローリスト４１０に入れられ、その後ステップ７２０に進む。
【００７３】
そして、ワークフローリスト４１０は、ステップ７２０において、各被写体３１０についての信頼スコアに基づいて整理される。そして、ステップ７２２において、規定の信頼スコア閾値以下に入るワークフロー４２０は除去される。例えば、閾値は（０〜１．０の範囲における）０．５である場合、信頼度閾値０．５以下の信頼スコアを有するいずれのワークフロー４２０も初期リストから外される。一方、ユーザは、（例えば、追加のワークフロー４２０を見る選択肢４３０を選択することによって）追加のワークフロー４２０を参照することを選ぶことができる。そして、処理はステップ５１２に進む。あるいは、規定数のワークフロー４２０（例えば、上位５つのワークフロー）が選択され得る。
【００７４】
図８は、コンピュータネットワーク１１０上の異なるワークフローサーバ１３０でのワークフロー４２０の登録のための処理のフロー図である。処理は、ステップ８００で開始する。ワークフローサーバ１３０Ａは、ステップ８０２において、ワークフローサービスを登録する登録要求をワークフロー登録サービス２２６に送信する。登録要求は、画像プロセッサ１２２がワークフロー４２０をワークフローサーバ１３０Ａに送信することを可能とする情報を備え得る。ステップ８０２の登録要求は、画像プロセッサ１２２がステップ５２４／６０６のワークフロー４２０についてのデータを送信することを可能とする情報（例えば、どのようにデータをフォーマットするか）を含んでいてもよい。例えば、登録情報は、ワークフローサーバ１３０ＡのＵＲＬ及び他の情報についてのフォーマットを備え得る。登録サービス２２６は、ステップ８０４において、登録要求を受信する。登録サービス２２６は、ステップ８０６において登録情報を記憶する。
【００７５】
ワークフローサーバ１３０Ｎは、ステップ８０８において、ワークフロー４２０の登録要求を登録サービス２２６に送信する。登録サービス２２６は、ステップ８１０において、ステップ８０８の登録要求を受信する。登録サービス２２６は、ステップ８１２において、登録情報を記憶する。処理は、ステップ８１４で終了する。
【００７６】
図８の処理は、２つのワークフロー４２０の登録を記載するだけである。ただし、任意数のワークフロー４２０が登録され得る。例えば、ステップ８０２／８０８の登録メッセージは、同じメッセージにおける複数のワークフロー４２０を登録し得る。あるいは、追加のワークフローサーバ１３０が、ワークフロー４２０を登録し得る。
【００７７】
登録され得るワークフロー４２０のタイプは、任意数の異なるタイプのワークフロー４２０を備え得る。例えば、図８の登録ワークフロー４２０は、配管工サービス、工場のための在庫注文サービス、緊急サービス（例えば、警察、消防など）、牽引トラックサービス、修理マニュアルサービス、レストラン位置サービス、道路補修サービス、信号機修理サービス及び／又はウェブ検索サービスなどを備え得る。
【００７８】
ここに記載するプロセッサの例は、これに限定されることなく、クアルコム（登録商標）スナップドラゴン（登録商標）８００及び８０１、４Ｇ  ＬＴＥインテグレーション及び６４ビットコンピューティングを有するクアルコム（登録商標）スナップドラゴン（登録商標）６１０及び６１５、６４ビットアーキテクチャを有するアップル（登録商標）Ａ７プロセッサ、アップル（登録商標）Ｍ７モーションコプロセッサ、サムスン（登録商標）エクシノス（登録商標）シリーズ、インテル（登録商標）コア（商品商標）ファミリのプロセッサ、インテル（登録商標）ジーオン（登録商標）ファミリのプロセッサ、インテル（登録商標）アトム（商品商標）ファミリのプロセッサ、インテルアイテニアム（登録商標）ファミリのプロセッサ、インテル（登録商標）コア（登録商標）ｉ５−４６７０Ｋ及びｉ７−４７７０Ｋ  ２２ｎｍハズウェル、インテル（登録商標）コア（登録商標）ｉ５−３５７０Ｋ  ２２ｎｍアイビーブリッジ、ＡＭＤ（登録商標）ＦＸ（商品商標）ファミリのプロセッサ、ＡＭＤ（登録商標）ＦＸ−４３００、ＦＸ−６３００及びＦＸ−８３５０  ３２ｎｍヴィシェラ、ＡＭＤ（登録商標）カヴェリプロセッサ、テキサス・インスツルメンツ（登録商標）Ｊａｃｉｎｔｏ  Ｃ６０００（商品商標）車載用インフォテインメントプロセッサ、テキサス・インスツルメンツ（登録商標）ＯＭＡＰ（商品商標）車載用グレードモバイルプロセッサ、ＡＲＭ（登録商標）コルテックス（商品商標）Ｍプロセッサ、ＡＲＭ（登録商標）コルテックスＡ及びＡＲＭ９２６ＥＪ−Ｓ（商品商標）プロセッサ、他の工業的に同等なプロセッサのうちの少なくとも１つ含み、任意の公知の又は将来開発され得る標準、命令セット、ライブラリ及び／又はアーキテクチャを用いて計算機能を実行することができる。
【００７９】
ここに記載されるステップ、機能及び動作のいずれも、連続的に及び自動的に実行され得る。
【００８０】
一方、本開示を不要に不明瞭にすることを避けるため、前記載は、多数の周知の構造物及びデバイスを省略している。この省略は、請求項に記載される開示の範囲の限定と解釈されてはならない。具体的な詳細が、本開示の理解を与えるように上述された。ただし、本開示はここに上述した具体的詳細を超える様々な態様において実施され得ることが理解されるべきである。
【００８１】
またさらに、ここに示される例示の実施形態は共存するシステムの種々の構成要素を示すが、システムの所定の構成要素は、遠隔に、ＬＡＮ及び／若しくはインターネットなどの分散ネットワークの遠隔部分に、又は専用システム内に配置され得る。したがって、システムの構成要素は、１以上のデバイスに結合されてもよいし、アナログ及び／又はデジタル電気通信ネットワーク、パケット交換ネットワーク又は回路交換ネットワークなどの分散ネットワークの特定のノードに共存されてもよいことが理解されるべきである。システムの構成要素は、システムの動作に影響を与えることなく構成要素の分散ネットワーク内の任意の位置に配置され得ることが、前述から及び計算効率の理由から理解されるはずである。例えば、種々の構成要素は、ＰＢＸ及びメディアサーバなどのスイッチ、ゲートウェイ、１以上の通信デバイス、１以上のユーザ施設、又はその組合せにおいて配置され得る。同様に、システムの１以上の機能部分は、電気通信デバイスと関連するコンピューティングデバイスとの間に分散され得る。
【００８２】
またさらに、要素を接続する種々のリンクは有線若しくは無線リンク又はその任意の組合せ、又は接続された要素との間でデータを供給及び／若しくは通信することができる他の任意の公知又は後に開発される要素となり得ることが理解されるべきである。これらの有線又は無線リンクはまた、安全なリンクであってもよく、暗号化情報を通信できるものであってもよい。リンクとして用いられる送信媒体は、例えば、同軸ケーブル、銅配線及びファイバ光学系を含む電気信号のための任意の適切なキャリアであればよく、無線波及び赤外線データ通信中に生成されるような音響波又は光波の形態をとり得る。
【００８３】
また、特定のシーケンスのイベントとの関係においてフローチャートが検討及び説明されたが、このシーケンスに対する変更、追加及び省略が本開示の動作に実質的に影響を与えることなく行われ得ることが理解されるべきである。
【００８４】
本開示の多数の変形例及び変更例が使用され得る。他を与えずに本開示のいくつかの構成に備えることが可能となる。
【００８５】
さらに他の実施形態では、本開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサ若しくはマイクロコントローラ及び周辺集積回路素子、ＡＳＩＣ若しくは他の集積回路、デジタル信号プロセッサ、ディスクリート素子回路などのハード有線電子若しくはロジック回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬなどのプログラム可能なロジックデバイス若しくはゲートアレイ、専用コンピュータ、任意の同等な手段などとともに実現され得る。概略として、本開示の種々の態様を実施するのに、ここに例示される方法を実施することができる任意のデバイス又は手段が使用され得る。本開示に使用することが可能な例示的なハードウェアは、コンピュータ、ハンドヘルドデバイス、電話機（例えば、携帯電話、インターネット対応、デジタル、アナログ、ハイブリッド及びその他）並びに当技術分野で公知の他のハードウェアを含む。これらのデバイスの一部は、プロセッサ（例えば、単一又は複数のマイクロプロセッサ）、メモリ、不揮発性記憶装置、入力デバイス及び出力デバイスを含む。またさらに、これに限定されることなく、分散処理若しくはコンポーネント／オブジェクト分散処理、並列処理又は仮想マシン処理を含む代替的なソフトウェアの実施も、ここに記載する方法を実施するように構築可能である。
【００８６】
さらに他の実施形態では、開示された方法は、様々なコンピュータ又はワークステーション・プラットフォーム上で使用可能なポータブルソースコードを提供するオブジェクト又はオブジェクト指向ソフトウェア開発環境を用いるソフトウェアととともに容易に実現され得る。あるいは、開示のシステムは、標準論理回路又はＶＬＳＩ設計を用いるハードウェア内で部分的又は完全に実現されてもよい。本開示によるシステムを実施するのにソフトウェアが使用されるのか又はハードウェアが使用されるかは、使用されるシステム、特定の機能及び特定のソフトウェア若しくはハードウェアシステム又はマイクロプロセッサ若しくはマイクロコンピュータシステムの速度及び／又は効率要件による。
【００８７】
さらに他の実施形態では、開示された方法は、記憶媒体に格納され、コントローラ及びメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサなどで実行されるソフトウェアにおいて部分的に実施されてもよい。これらの例では、本開示のシステム及び方法は、アプレット、ＪＡＶＡ（登録商標）若しくはＣＧＩスクリプトなどのパーソナルコンピュータに組み込まれたプログラムとして、サーバ若しくはコンピュータワークステーション上に常駐するリソースとして、又は専用の測定システム若しくはシステム構成要素などに組み込まれたルーチンとして実施可能である。システムは、システム及び／又は方法をソフトウェア及び／又はハードウェアシステムに物理的に組み込むことによっても実施可能である。
【００８８】
本開示は、特定の標準及びプロトコルを参照して実施形態に実現される構成要素及び機能を説明するが、本開示はそのような標準及びプロトコルに限定されない。ここに言及されていない他の同様の標準及びプロトコルも存在し、本開示に含まれることが考慮される。さらに、ここに言及される標準及びプロトコル並びにここに言及されていない他の同様の標準及びプロトコルは、本質的に同じ機能を有するより速い又はより有効な均等物によって定期的に置き換えられる。同じ機能を有するこのような標準及びプロトコルの置換は、本開示に含まれる均等物とみなされる。
【００８９】
種々の実施形態、構成及び態様における本開示は、実質的にここに図示及び記載されてその種々の実施形態、サブコンビネーション及びサブセットを含む構成要素、方法、処理、システム及び／又は装置を含む。当業者であれば、本開示を理解すれば、ここに開示されるシステム及び方法をどのように作製及び使用するかを理解するはずである。種々の実施形態、構成及び態様における本開示は、例えば、性能を向上し、実施を容易化し及び／又は実施のコストを低減するために、ここに図示及び／又は記載されていない項目がない場合又はその種々の実施形態、構成若しくは態様において、デバイス及び処理を提供することを含み、直前のデバイス又は処理において使用されていたであろうそのような項目がない場合を含む。
【００９０】
本開示の以上の記載が、例示及び説明の目的のために提示された。上記は、本開示をここに開示される単数又は複数の形態に限定することを意図するものではない。例えば上記の詳細な説明では、本開示の種々の特徴が、開示の合理化の目的のために１以上の実施形態、構成又は態様においてともにグループ化されている。本開示の実施形態、構成又は態様の特徴は、上述されたもの以外の代替の実施形態、構成又は態様において組み合わせられてもよい。この開示の方法は、請求項に記載される開示が各請求項に明記されるよりも多くの特徴を要件とする意図を反映するものと解釈されてはならない。そうではなく、以降の特許請求の範囲が反映するように、進歩的態様は、単一の上記開示の実施形態、構成又は態様全ての特徴よりも少ないものである。したがって、以降の特許請求の範囲は、各請求項がそれ自体で本開示の独立した好適な実施形態として成立するものとして、この詳細な説明にここで取り込まれる。
【００９１】
さらに、本開示の説明は１以上の実施形態、構成又は態様並びに所定の変形例及び変更例の説明を含んできたが、他の変形例、組合せ及び変形例は、例えば本開示を理解すれば当業者の技術及び知識内のものとなるので、本開示の範囲内にある。請求項に記載される代替の、互換可能な及び／又は均等の構造、機能、範囲若しくはステップを含む代替の実施形態、構成又は態様を含む権利を、そのような代替の、互換可能な及び／又は均等の構造、機能、範囲若しくはステップがここに開示されるか否かにかかわらず、かつ任意の特許可能な主題を公に専有することを意図することなく、許可される程度に取得することが意図されている。
【図１】
2018198060.tif 000003
【図２】
2018198060.tif 000004
【図３】
2018198060.tif 000005
【図４】
2018198060.tif 000006
【図５】
2018198060.tif 000007
【図６】
2018198060.tif 000008
【図７】
2018198060.tif 000009
【図８】
2018198060.tif 000010
【外国語明細書】
2018198060.tif 000011
2018198060.tif 000012
2018198060.tif 000013
2018198060.tif 000014
2018198060.tif 000015
2018198060.tif 000016
2018198060.tif 000017
2018198060.tif 000018
2018198060.tif 000019
2018198060.tif 000020
2018198060.tif 000021
2018198060.tif 000022
2018198060.tif 000023
2018198060.tif 000024
2018198060.tif 000025
2018198060.tif 000026
2018198060.tif 000027
2018198060.tif 000028
2018198060.tif 000029
2018198060.tif 000030
2018198060.tif 000031
2018198060.tif 000032
2018198060.tif 000033
2018198060.tif 000034
2018198060.tif 000035
2018198060.tif 000036
2018198060.tif 000037
2018198060.tif 000038
2018198060.tif 000039
2018198060.tif 000040
2018198060.tif 000041