(57)【要約】  サービス又は処理プロバイダの自動選択、又は半自動選択のためのシステム及び方法を開示する。本発明の一実施例は、ユ―ザが選好の組を入力し、その入力から、入力された選好から導き出されたような、ユーザにとって重要な属性に一致するサービス又は処理プロバイダを自動選択することを可能にする。別の実施例では、処理は、ユーザが選好の組を提供するという点で半自動であり、本発明はサービス又は処理プロバイダをフィルタリングし、ユーザの選好に一致し、特定のタスクの処理のためにユーザが１つを選択することが可能な限定数のものを提示する。
2013543604.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービス・プロバイダ・コンピュータからのジョブの実行のための、サービス・プロバイダ・コンピュータの選択のためのコンピュータによって実現される方法であって、  
ユーザ選好を受け取る工程と、  
前記複数のサービス・プロバイダ・コンピュータの属性を収集する工程と、  
ジョブ及び関連付けられたユーザの前記実行に対するサービス要求を識別する工程と、  
前記ユーザ選好を、前記収集された属性と比較することにより、前記ジョブを実行するために少なくとも１つのサービス・プロバイダをサービス・プロバイダ選択モジュールによって判定する工程と、  
前記ジョブの実行のために前記判定された少なくとも１つのサービス・プロバイダに前記ジョブを送出する工程と
を含む方法。
【請求項２】
請求項１記載の方法であって、現在、ネットワークに接続されており、前記サービス要求の実行に利用可能な前記複数のサービス・プロバイダ・コンピュータから、サービス・プロバイダ・コンピュータのリストを求める工程を更に含み、前記ジョブを実行するために少なくとも１つのサービス・プロバイダをサービス・プロバイダ選択モジュールによって判定する工程は、前記サービス・プロバイダ・コンピュータのリストを使用する方法。
【請求項３】
請求項１記載の方法であって、前記判定する工程は、自動であり、前記ジョブを実行するためにサービス・プロバイダ・コンピュータを判定し、前記判定されたサービス・プロバイダ・コンピュータは、前記ユーザ選好に近い属性を有し、前記送出する工程は、前記ジョブを前記判定されたサービス・プロバイダ・コンピュータに送出する方法。
【請求項４】
請求項１記載の方法であって、前記判定する工程は半自動であり、前記ジョブを実行するために、規定された数のサービス・プロバイダ・コンピュータを有するリストを生成し、前記サービス・プロバイダ・コンピュータのリストは前記ユーザ選好に近い属性を有し、前記方法は、前記リストからのサービス・プロバイダ・コンピュータの選択をユーザから受け取る工程を含み、前記送出する工程は、前記選択されたサービス・プロバイダ・コンピュータに前記ジョブを送出する方法。
【請求項５】
請求項１記載の方法であって、前記少なくとも１つのサービス・プロバイダは、サービス・プロバイダ・コンピュータそれぞれについて加重和を算出することによって判定される方法。
【請求項６】
コンピュータ読み取り可能なプログラムを含む、コンピュータが利用可能な媒体を含むコンピュータ・プログラム・プロダクトであって、前記コンピュータ読み取り可能なプログラムは、コンピュータ上で実行されると、
ユーザ選好を受け取る機能と、  
前記複数のサービス・プロバイダ・コンピュータの属性を収集する機能と、  
ジョブ及び関連付けられたユーザの前記実行に対するサービス要求を識別する機能と、  
前記ユーザ選好を、前記収集された属性と比較することにより、前記ジョブを実行するために少なくとも１つのサービス・プロバイダをサービス・プロバイダ選択モジュールによって判定する機能と、  
前記ジョブの実行のために前記判定された少なくとも１つのサービス・プロバイダに前記ジョブを送出する機能と
を前記コンピュータに行わせるコンピュータ・プログラム・プロダクト。
【請求項７】
請求項６記載のコンピュータ・プログラム・プロダクトであって、前記コンピュータ読み取り可能なプログラムは、コンピュータ上で実行されると、更に、前記コンピュータに、  
現在、ネットワークに接続されており、前記サービス要求の実行に利用可能な前記複数のサービス・プロバイダ・コンピュータから、サービス・プロバイダ・コンピュータのリストを求める機能と
を前記コンピュータに行わせ、  
前記コンピュータは、前記サービス・プロバイダ・コンピュータのリストを使用して前記ジョブを実行するために前記少なくとも１つのサービス・プロバイダを判定するコンピュータ・プログラム・プロダクト。  
【請求項８】
請求項６記載のコンピュータ・プログラム・プロダクトであって、前記判定する機能は、自動であり、前記ジョブを実行するためにサービス・プロバイダ・コンピュータを判定し、前記判定されたサービス・プロバイダ・コンピュータは、前記ユーザ選好に近い属性を有し、前記送出する機能は、前記ジョブを前記判定されたサービス・プロバイダ・コンピュータに送出するコンピュータ・プログラム・プロダクト。
【請求項９】
請求項６記載のコンピュータ・プログラム・プロダクトであって、  
前記判定する機能は半自動であり、前記ジョブを実行するために、規定数のサービス・プロバイダ・コンピュータを有するリストを生成し、前記サービス・プロバイダ・コンピュータのリストは前記ユーザ選好に近い属性を有し、  
前記コンピュータは、前記リストからのサービス・プロバイダ・コンピュータの選択をユーザから受け取り、前記コンピュータは前記選択されたサービス・プロバイダ・コンピュータに前記ジョブを送出するコンピュータ・プログラム・プロダクト。
【請求項１０】
請求項６記載のコンピュータ・プログラム・プロダクトであって、前記コンピュータは、サービス・プロバイダ・コンピュータ毎に加重和を算出することにより、前記ジョブを実行するために前記少なくとも１つのサービス・プロバイダを判定するコンピュータ・プログラム・プロダクト。  
【請求項１１】
複数のサービス・プロバイダ・コンピュータからのジョブの実行のための、サービス・プロバイダ・コンピュータの選択のためのシステムであって、  
前記サービス・プロバイダ・コンピュータの自動選択のための、ユーザの選好についての情報を受け取るためのユーザ選好収集器であって、前記ユーザ選好収集器はユーザからの情報を受け取るよう結合されるユーザ選好収集器と、  
ジョブを完了するうえで前記複数のサービス・プロバイダ・コンピュータの実行を監視するためのサービス・プロバイダ属性収集器であって、前記サービス・プロバイダ属性収集器は、前記複数のサービス・プロバイダ・コンピュータに結合されるサービス・プロバイダ属性収集器と、  
ワークフローのジョブを行うよう前記サービス・プロバイダを選択するためのサービス・プロバイダ選択エンジンと
を備え、前記サービス・プロバイダ選択エンジンは、前記ユーザの選好、及び前記サービス・プロバイダの属性を比較して、前記属性が前記ユーザの選好に近い少なくとも１つのサービス・プロバイダ・コンピュータを判定し、前記サービス・プロバイダ選択エンジンは、前記サービス・プロバイダ属性収集器及び前記ユーザ選好収集器との通信のために結合されたシステム。
【請求項１２】
請求項１１記載のシステムであって、ワークフローのジョブを実行するためにどのサービス・プロバイダ・コンピュータがアクセス可能であり、利用可能であるかを判定するようネットワークを監視するためのサービス・プロバイダ利用可能性検出器を更に備え、前記サービス・プロバイダ利用可能性検出器は、前記複数のサービス・プロバイダ・コンピュータ、及び前記サービス・プロバイダ選択モジュールに結合され、前記サービス・プロバイダ選択エンジンは、前記サービス・プロバイダ利用可能性検出器からの入力を使用して、前記ユーザの選好に近い属性を有する前記少なくとも１つのサービス・プロバイダ・コンピュータを判定するシステム。
【請求項１３】
請求項１１記載のシステムであって、前記ユーザ選好収集器は、携帯用計算装置の前記提示モジュールと協働して、前記サービス・プロバイダ選択エンジンの自動、半自動、又は手動の動作のための選好を前記ユーザが入力することを可能にするグラフィック・ユーザ・インタフェースを生成するシステム。
【請求項１４】
請求項１１記載のシステムであって、前記ユーザ選好収集器は、携帯用計算装置の前記提示モジュールと協働して、属性、及び前記属性の重要度の対応するレベルを前記ユーザが入力することを可能にするグラフィック・ユーザ・インタフェースを生成するシステム。
【請求項１５】
請求項１１記載のシステムであって、  
前記ユーザの選好、及び他の情報を記憶するためのユーザ選好記憶装置であって、前記ユーザ選好記憶装置は、情報を受け取り、記憶するよう前記ユーザ選好収集器に結合され、前記サービス・プロバイダ選択エンジンに情報を提供するよう結合されたユーザ選好記憶装置と、  
ジョブの実行及び前記複数のサービス・プロバイダ・コンピュータの完了についての属性を記憶するためのサービス・プロバイダ属性記憶装置と
を更に備え、前記サービス・プロバイダ属性記憶装置は、サービス・プロバイダ属性情報を受け取り、記憶するよう前記サービス・プロバイダ属性収集器に結合され、サービス・プロバイダ属性情報を前記サービス・プロバイダ選択エンジンに提供するよう結合され、  
前記サービス・プロバイダ選択エンジンは、ユーザの選好及び他の情報を取り出すよう前記ユーザ選好記憶装置に結合され、属性、及び前記ユーザに対するその重要度についての情報を取り出すよう前記サービス・プロバイダ属性記憶装置に結合されたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯用計算装置、及び電子文書のワークフロー処理に関し、特に、本発明は、処理プロバイダの自動選択又は半自動選択のシステム及び方法に関する。
【背景技術】
【０００２】
携帯用計算装置の使用は、多くのユーザにとって珍しくなくなっている。従来のデスクトップ型コンピュータを保有することに加え、多くのユーザは、特定のタイプの携帯用計算装置も保有している。現代の計算装置の例には、ソニー社のリーダー（Ｒｅａｄｅｒ）、アマゾン（Ａｍａｚｏｎ）社のキンドル（Ｋｉｎｄｌｅ）、及びバーンズ・アンド・ノーブル（Ｂａｒｎｅｓ  ＆  Ｎｏｂｌｅ）社のヌック（Ｎｏｏｋ）が含まれる。より小型の携帯用計算装置には、アップル・コンピュータ（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ）社のアイフォン（ｉＰｈｏｎｅ）、リサーチ・イン・モーション（Ｒｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ）社のブラックベリー（Ｂｌａｃｋｂｅｒｒｙ）、パーム（Ｐａｌｍ）社のプレ（Ｐｒｅ）などを含む多くのスマートフォンが含まれる。各種のレベルの処理機能及びサイズを提供するノートブック型ラップトップ及びタブレット型コンピュータの売上の増加もみられる。  
前述の従来技術の装置の特定の問題点の１つは、多くの場合、携帯用計算装置の計算機能が限定的であるという点である。複雑かつ高度ないくつかのタスクを行うことができるために、従来技術により、携帯用計算装置を「クラウド」（相互接続されたサービス又は処理プロバイダのネットワーク）に結合する方法が開発されている。携帯用計算装置のクラウドへの結合により、多くの複雑な計算、及び計算量上集約的な他の動作を携帯用計算装置及びクラウドの両方を使用するワークフローにおいて分けることが可能になる。例えば、多くの場合、ワークフローは、携帯用計算装置の使用が、データの提示のためと、入力及び命令の受信のためとの間で分けられる一方、システム／クラウドの他の部分は、電子文書を操作し、他の複雑な計算を行うために使用される。
【０００３】
携帯用計算装置をサービス又は処理プロバイダと関連付ける前述の処理は、携帯用計算装置のユーザにとって、複雑であり、わずらわしく、困難であり得る。上記処理は、種々のサービス・プロバイダ又は処理プロバイダが、携帯用計算装置のユーザに対してそれらのサービス（多くの場合、同じサービス）を通知するか、又は提供するエコシステムの作成によって複雑になる。例えば、個々のユーザは、テキストをサーチ可能にするために、電子文書に対して光学式文字認識（ＯＣＲ）を行いたいことがあり得る。前述のサービスを提供するサービス・プロバイダ又は処理プロバイダは数多く存在する。しかし、種々のプライズ、種々の品質レベル、種々の応答性のレベル、及び種々の他の要因を有する。携帯用計算装置の個々のユーザにとって、特定の機能を行うことができる、考えられる、さまざまのサービス・プロバイダ又は処理プロバイダから選択することは多くの場合、難しい。  
サービス又は処理プロバイダを選択する処理は、種々のサービス又は処理プロバイダを評価するために使用されるさまざまな属性又は要因によって更に複雑にされる。サービス又は処理プロバイダの選択において別々のユーザに重要であり得る別々の数十の要因が存在し得る。更に、別々のユーザにとって別々の要因が重要である。多くの場合、従来技術は、サービス又は処理プロバイダの属性を評価するためのやり方が非常に限られているか、又はない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施例は、サービス又は処理プロバイダの自動選択又は半自動選択のためのシステム及び方法を提供することにより、従来技術の欠点及び制限を解消する。特に、本発明の一実施例は、ユーザが選好の組を入力することを可能にし、その入力から、入力された選好から導き出されるようにユーザにとって重要な属性に一致するサービス又は処理プロバイダを自動選択する。本発明の別の実施例では、処理は、ユーザが選好の組を提供するという点で半自動的であり、本発明はサービス又は処理プロバイダをフィルタリングし、ユーザの選好に一致し、特定のタスクの処理のためにユーザが１つを選択することが可能ないくつかのものを提示する。
【課題を解決するための手段】
【０００５】
システムの一実施例は、サービス・プロバイダ選択モジュールを備え、前記サービス・プロバイダ選択モジュールは、ユーザ選好収集器及びグラフィカル・ユーザ・インタフェース（ＧＵＩ）、ユーザ選好記憶装置、サービス・プロバイダ利用可能性検出器、サービス・プロバイダ属性収集器、サービス・プロバイダ選択エンジン、及びサービス・プロバイダ属性記憶装置を含む。ユーザ選好収集器及びＧＵＩは、サービス・プロバイダに関するユーザの選好についての情報を収集するために使用される。ユーザ選好収集器は、ユ―ザからの情報を捕捉し、これをユーザ選好記憶装置に記憶する。サービス・プロバイダ利用可能性検出器は、サービス・プロバイダがネットワーク上で現在利用可能か否か、及びどのサービス・プロバイダがネットワーク上で現在利用可能かを判定するために使用される。サービス・プロバイダ属性収集器は、種々のサービス・プロバイダの特性に関する情報を収集する。この情報の収集は、ａ）ネットワークから捕捉された統計及び他のデータに基づいて部分的に自動であり、ｂ）部分的に、サービス・プロバイダの特性に基づいてユーザから求められるか、又は部分的に手動であり、ｃ）種々の証明などの、サービス・プロバイダが有し得る特定の基準に関してサービス・プロバイダから自ら提供される。サービス・プロバイダ属性記憶装置は、サービス・プロバイダ属性収集器によって獲得されたデータを記憶するために使用される。サービス・プロバイダ選択エンジンは、サービス・プロバイダ属性記憶装置、ユーザ選好記憶装置、及びサービス・プロバイダ利用可能性検出器に結合される。ユーザの選好、プロバイダの利用可能性、及びプロバイダ属性に基づいて、サービス・プロバイダ選択エンジンは、ユーザによって入力されている基準に基づいてサービスを提供するための１つの最善の一致、又は最善の一致のリストを求める。一実施例では、これは自動的に行われ、タスクは、処理するために、識別された最善のサービス・プロバイダに渡される。別の実施例では、これは半自動的に行われ、ユーザの要件の最も一致するサービス・プロバイダのリストがサ―ビス・プロバイダ選択エンジンによって提示され、タスクは、ユーザによって選択されたプロバイダに渡される。  
本発明は更に、サービス・プロバイダの自動選択及び半自動選択のための新規な方法、ユーザ選好を入力する方法、及びサービス・プロバイダについての属性を収集する方法も含む。  
本明細書及び特許請求の範囲記載の構成及び効果は網羅的でなく、図及び明細書に鑑みて、更なる多くの構成及び効果が当業者に明らかになるであろう。更に、本明細書において使用する文言は、本発明の主題の範囲を制限するためでなく、主に読みやすさ及び教育の目的で選択している。
【図面の簡単な説明】
【０００６】
【図１】本発明によるサービス又は処理プロバイダの自動的な選択又は半自動的な選択のためのシステムの実施例のブロック図である。
【図２Ａ】本発明による携帯用計算装置の実施例を示す前面平面図である。
【図２Ｂ】本発明による、図２Ａの携帯用計算装置の実施例を示す背面平面図である。
【図３】本発明による携帯用計算装置の実施例を示すブロック図である。
【図４】本発明によるストローク及び画像ワークフロー・サーバの実施例を示すブロック図である。
【図５】本発明による自動文書処理を示す概略フロー図である。
【図６】本発明によるサービス・プロバイダ選択モジュールの実施例を示すブロック図である。
【図７】本発明による、グラフィカル・ユーザ・インタフェース（ＧＵＩ）を表示し、ユーザ選好を収集する方法の実施例を示すフローチャートである。
【図８Ａ】本発明による、自動的な選択及びプロバイダ属性選択のレベルのユーザ・インタフェースの一実施例のグラフィック表現である。
【図８Ｂ】本発明による、自動的な選択及びプロバイダ属性選択のレベルのユーザ・インタフェースの一実施例のグラフィック表現である。
【図９】本発明による、サービス・プロバイダの属性を収集し、記憶する方法の実施例を示すフローチャートである。
【図１０】本発明による、サービス・プロバイダの自動選択の方法の実施例を示すフローチャートである。
【図１１】本発明による、サービス・プロバイダの半自動選択の方法の実施例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
本発明は、添付図面の図における制限でなく、例示によって示し、同じ参照符号は、同様な構成要素を表すために使用される。  
【実施例】
【０００８】
（参照符号の説明）
１００  システム  
１０２  携帯用計算装置  
１０４  ネットワーク  
１０６  ストローク及び画像ワークフロー・サーバ  
１０８  コンピュータ  
１１０  データ記憶装置  
１１２  結合  
１１６  信号ライン  
１１８  信号ライン  
１２０  信号ライン  
１２２ａ−１２２ｎ  コンピュータ  
１２４ａ−１２４ｎ  信号ライン  
２０２  携帯用計算装置  
２０４  スタイラス  
２０６  ディスプレイ装置  
２０８  ストローク捕捉装置（モジュール）
２１０  入力装置
２１２  入力装置  
２１４  入力装置  
２１６  入力装置  
２１８  カメラ  
２２０  出力装置  
３０２  プロセッサ  
３０４  メモリ  
３０６  通信装置  
３０８  一意の装置識別子の記憶装置
３１０  クロック  
３１２  メタデータ・モジュール  
３１４  ロギング・モジュール  
３１６  文書転送モジュール  
３１８  文書作成モジュール  
３２０  バス  
３２２  提示モジュール  
３２４  他のアプリケーション  
３２６  他のＩ／Ｏ装置  
３２８  位置バー及びブックマーク・モジュール
４０２  プロセッサ  
４０４  メモリ  
４０６  通信装置  
４０８  文書転送モジュール  
４１０  クロック  
４１２  ワークフロー・モジュール  
４１６  ロギング・モジュール  
４１８  他のアプリケーション  
４２０  バス  
４２２  ディスプレイ装置  
４２４  出力装置  
４２６  一意装置ＩＤ  
４２８  入力装置  
４３２  サービス・プロバイダ選択モジュール
５０２  インボックス  
５０４  文書  
５１０  クロック  
５１２  バックアップ・サーバ  
６０２  ユーザ選好収集器及びＧＵＩ
６０４  ユーザ選好記憶装置  
６０６  サービス・プロバイダ利用可能性検出器
６０８  サービス・プロバイダ属性収集器
６１０  サービス・プロバイダ選択エンジン
６１２  サービス・プロバイダ属性記憶装置
８００  ユーザ・インタフェース  
８０２  ラベル  
８０４  ラベル  
８０６  ラベル  
８０８  ラベル  
８１０  ボタン  
８１２  ラベル  
８５０  ユーザ・インタフェース  
８５２  属性  
８５４  スライダ・バー  
８５６  位置表示子  
８５８  位置表示子  
８６０  位置表示子  
８６２  ボタン  
８６４  ボタン  
８６６  位置表示子
サービス又は処理プロバイダの自動選択又は半自動選択のためのシステムを以下に説明する。以下の説明では、説明の目的で、本発明の詳細な理解を得るために数多くの具体的な詳細を記載している。しかし、前述の具体的な詳細なしで本発明を実施することが可能であることは当業者に明らかとなるであろう。他の場合には、本発明を不必要に分かりにくくすることを避けるために構造及び装置をブロック図で示す。例えば、本発明は、携帯用計算装置を参照して以下に一実施例において説明する。上記携帯用計算装置は、電子ペーパー、ｅペーパー、又は電子インク・ディスプレイを利用する、アマゾン（Ａｍａｚｏｎ）社のキンドル（Ｋｉｎｄｌｅ）のようなハードウェア及びソフトウェア・プラットフォームにおいて例示される。しかし、本発明は、インク、データ、及びコマンドを捕捉し、電子的に文書を送出することが可能な何れかのタイプの携帯用計算装置に適用される。  
本明細書において、「一実施例」又は「実施例」に言及されていることは、実施例に関して説明した特定の構成、構造、又は特性が、本発明の少なくとも１つの実施例に含まれているということを意味する。本明細書の随所に「一実施例において」の句が存在していることは、必ずしも、全て、同じ実施例を参照している訳でない。特に、本発明は別個の２つのアーキテクチャの内容において以下に説明し、構成部分の一部は、両方のアーキテクチャで動作可能である一方、他の構成部分はそうでない。  
以下に続く詳細な説明の特定の部分は、コンピュータ・メモリ内のデータ・ビットに対する動作の記号表現及びアルゴリズムによって示す。前述のアルゴリズム記述及び表現は、当業者に向けてその作品の本質を最も効果的に伝えるために当業者によって使用される手段である。アルゴリズムは本明細書及び特許請求の範囲では、かつ、一般には、所望の結果につながる首尾一貫した一連の工程であると理解される。工程は、物理的数量の物理的操作を必要とするものである。必ずしもそうでないが通常は、前述の数量は、記憶し、転送し、合成し、比較し、その他のやり方で操作することが可能な電気信号又は磁気信号の形態をとる。主に慣用の理由で前述の信号をビット、値、要素、記号、文字、項、数字等として表すことが時には便利であることが明らかになっている。  
しかし、前述及び同様な項は全て、適切な物理的数量と関連付けられるものであり、前述の数量に付される便利なラベルに過ぎないということを念頭におくべきである。以下の記載から明らかであるように、別途明記していない限り、「処理」、「計算」、「算出」、「判定」、「表示」等などの用語を利用する記載は、コンピュータ・システム、又は同様な電子計算装置の動作及び処理を表す。上記コンピュータ・システム、又は同様な電子計算装置の動作及び処理は、コンピュータ・システムのレジスタ内及びメモリ内の物理的（電子的）数量として表されるデータを他のデータに操作し、変換する。上記他のデータは、コンピュータ・システムのレジスタ内若しくはメモリ内、又は、他の当該情報記憶装置内、送信装置内、又は表示装置内の物理的数量として同様に表される。
【０００９】
本発明は更に、本明細書及び特許請求の範囲記載の動作を行う装置に関する。前述の装置は、所要の目的のために特別に構成し得るか、又は、コンピュータに記憶されたコンピュータ・プログラムによって選択的に起動又は再構成された汎用コンピュータを含み得る。前述のコンピュータ・プログラムは、何れかのタイプのディスク、又は、電子的命令を記憶するのに適した何れかのタイプの媒体であって、それぞれがコンピュータ・システム・バスに結合されたものなどのコンピュータ読み取り可能な記憶媒体に記憶し得る。上記媒体は、限定列挙でないが、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、光磁気ディスク、ＣＤ−ＲＯＭ、光ディスク、フロッピー（登録商標）・ディスクを含む。
【００１０】
本発明は、全面的にハードウェアの実施例の形態、全面的にソフトウェアの実施例の形態、又はハードウェア構成要素及びソフトウェア構成要素を含む実施例の形態をとり得る。好ましい実施例では、本発明は、限定列挙でないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアで実現される。  
更に、本発明は、プログラム・コードを提供するコンピュータ使用可能な媒体又はコンピュータ読み取り可能な媒体によってアクセス可能なコンピュータ・プログラム・プロダクトの形態をとり得る。上記プログラム・コードは、コンピュータ又は何れかの命令実行システムによる、若しくは、コンピュータ又は何れかの命令実行システムに関する使用のためである。本明細書の目的では、コンピュータ使用可能な媒体又はコンピュータ読み取り可能な媒体は、プログラムを含め、記憶し、通信し、伝搬させ、若しくは伝送することがあり得る何れかの装置であり得る。上記プログラムを含め、記憶し、通信し、伝搬させ、若しくは伝送することは、命令実行システム、装置、又はデバイスによる、又は命令実行システム、装置、又はデバイスに関する使用のためである。
【００１１】
媒体は、電子的、磁気的、光学的、電磁的、赤外、若しくは半導体システム（若しくは装置若しくはデバイス）又は伝搬媒体であり得る。コンピュータ読み取り可能な媒体の例には、半導体又はソリッドステートメモリ、磁気テープ、着脱可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクを含む。光ディスクの現在の例には、コンパクト・ディスク  リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク  リード／ライト（ＣＤ−Ｒ／Ｗ）、及びＤＶＤが含まれる。
【００１２】
プログラム・コードを記憶し、かつ／又は実行するのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接又は間接に結合された少なくとも１つのプロセッサを含む。メモリ要素は、キャッシュ・メモリ、大容量記憶装置、プログラム・コードの実際の実行中に使用される局所メモリを含み得る。キャッシュ・メモリは、実行中にコードを大容量記憶装置から取り出さなければならない回数を削減するために少なくとも一部のプログラム・コードの一時記憶装置を提供する。
【００１３】
入出力又はＩ／Ｏデバイス（限定列挙でないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む）は、直接、又は介在するＩ／Ｏコントローラを介してシステムと結合し得る。  
ネットワーク・アダプタは、データ処理システムが、介在するプライベート・ネットワーク又はパブリック・ネットワークを介して他のデータ処理システムあるいは遠隔プリンタあるいは記憶デバイスに結合されることを可能にし得る。モデム、ケーブル・モデム、及びイーサネット（登録商標）カードは、現在入手可能なタイプのネットワーク・アダプタのうちのわずか少しに過ぎない。  
最後に、本明細書及び特許請求の範囲に示すアルゴリズム及びディスプレイは、何れかの特定のコンピュータ又は他の装置に固有に関連しているものでない。本明細書及び特許請求の範囲記載の教示に応じて種々の汎用システムをプログラムとともに使用し得るか、又は、所要の方法工程を行うよう更に専門化された装置を構成することが便利でありことが明らかになり得る。前述の種々のシステムに必要な構造は、以下の説明から分かるであろう。更に、本発明は、特定のプログラミング言語を参照して説明する。本明細書及び特許請求の範囲記載の本発明の教示を実現するために、種々のプログラミング言語を使用し得るということが分かる。  
システム概要  
図１は、自動ストローク及び画像ベースのワークフロー用のシステム１００の実施例を示す。次に図１を参照するに、システム１００のこの実施例は、複数の携帯用計算装置１０２ａ乃至１０２ｎと、ネットワーク１０４と、コンピュータ１０８と、ストローク及び画像ワークフロー・サーバ１０６と、データ記憶装置１１０と、１つ又は複数のサービス・プロバイダのコンピュータ１２２ａ乃至１２２ｎとを含む。複数の携帯用計算装置１０２ａ乃至１０２ｎは、それぞれの結合１１２ａ乃至１１２ｎを介してネットワーク１０４に無線結合される。一実施例では、携帯用計算装置１０２ａ乃至１０２ｎは、ディスプレイ、ストローク捕捉機能、及び無線通信機能を含む携帯用計算装置である。携帯用計算装置１０２ａ乃至１０２ｎは、画像（例えば、フォーム又は文書）を受け取り、受け取られた画像にストローク注釈を付し、注釈を付した受け取られた画像を送出するよう適合される。携帯用計算装置１０２ａ乃至１０２ｎの実施例は、図２及び図３を参照して以下に更に詳細に説明する。  
ネットワーク１０４は、有線又は無線の通常のタイプのものであり、スター構成、トークン・リング構成、又は当業者に知られている他の構成などの何れかの数の構成を有し得る。更に、ネットワーク１０４は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）（例えば、インターネット）、及び／又は、複数の装置が通信し得る何れかの他の相互接続されたデータ経路を含み得る。更に別の実施例では、ネットワーク１０４はピアツーピア・ネットワークであり得る。ネットワーク１０４は更に、各種通信プロトコルでデータを送出するために、電気通信ネットワークの部分に結合し得るか、又は上記部分を含む。更に別の実施例では、ネットワーク１０４は、ショート・メッセージング・サービス（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ変換、ＷＡＰ、電子メール等経由などでデータを送出し、受け取るために、ブルートゥース（登録商標）通信ネットワーク又はセルラー通信ネットワークを含む。  
コンピュータ１０８は、パソコンやハードウェア・サーバなどの通常のタイプのものである。コンピュータ１０８は、信号ライン１１８により、ネットワーク１０４に結合される。一実施例では、コンピュータは、ストローク及び画像ワークフロー・サーバ１０６にアクセスし、ストローク及び画像ワークフロー・サーバ１０６と通信することが可能である。ワークフローに応じて、特定のフォームの処理を検証し、又は特定のフォームを処理するためにフォームを当初、入力するためである。例えば、ユーザは、コンピュータ１０８を使用して、更なる処理のためにＰＤＦファイルなどの文書をストローク及び画像ワークフロー・サーバ１０６に入力することができる。同様に、コンピュータ１０８は、そのワークフローによる処理全てが完了した後の完了フォームの受け手であり得る。コンピュータ１０８は、ストローク及び画像ワークフロー・サーバ１０６の検証モジュール４３０（図４参照）と通信して、特定のフォームの処理の完了又はステータスを検証し得る。最後に、コンピュータ１０８は、ワークフローの中間段階として電子文書に対して処理し、又は、更に、ストローク及び画像ワークフロー・サーバ１０６の機能の一部を含み、携帯用計算装置１０２ａ乃至１０２ｎと直接通信し得る。  
ストローク及び画像ワークフロー・サーバ１０６は、携帯用計算装置１０２ａ乃至１０２ｎと通信するために信号ライン１１６を介してネットワーク１０４に結合される。ストローク及び画像ワークフロー・サーバ１０６は、文書伝送モジュール４０８、ワークフロー・モジュール４１２、ロギング・モジュール４１６、及び検証モジュール４３０を含む（図４参照）。ストローク及び画像ワークフロー・サーバ１０６は、携帯用計算装置１０２ａ乃至１０２ｎとの間で文書を送出し、受け取り、検証のために、ログを維持し、ペーパーのようなワークフローを実現し、文書を処理する。これは特に効果的である。ストローク及び画像ワークフロー・サーバ１０６が、携帯用装置のユーザのためにペーパーに似たワークフローを実現し、ユーザに処理が見えないように電子文書の処理のオーバヘッドを扱う。  
データ記憶装置１１０は、信号ライン１２０を介してストローク及び画像ワークフロー・サーバ１０６に結合される。別の実施例では、データ記憶装置１１０は、ネットワーク１０４により、ストローク及び画像ワークフロー・サーバ１０６に結合される。例えば、前述の別の実施例では、データ記憶装置１１０は、アマゾンＳ３などのオンライン・ストレージ・ウェブ・サービスである。データ記憶装置１１０は、不揮発性メモリ装置又は同様な永久的な記憶装置及び媒体である。データ記憶装置１１０は、プロセッサ３０２用のデータ及び命令を記憶し、フラッシュ・メモリ装置、ＤＶＤ−ＲＷ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＯＭ装置、ＣＤ−ＲＯＭ装置、フロッピー（登録商標）・ディスク・ドライブ、ハード・ディスク・ドライブを含む１つ又は複数の装置を含む。データ記憶装置１１０は、処理ログなどのワークフロー処理についての情報を記憶するために使用される。  
サービス・プロバイダのコンピュータ１２２ａ乃至１２２ｎは、パソコンやハードウェア・サーバなどの一般的なタイプのものである。サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、それぞれ、信号ライン１２４ａ乃至１２４ｎにより、ネットワーク１０４に結合される。一実施例では、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、ストローク及び画像ワークフロー・サーバ１０６にアクセスし、ストローク及び画像ワークフロー・サーバ１０６と通信して、より大きなワークフローの一部である部分又はタスクを行う。一実施例では、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎはワークフローの一部分又はタスクを行うのに必要な文書及び他の情報を受け取るようストローク及び画像ワークフロー・サーバ１０６と対話するクライアント・アプリケーションを含む。クライアント・アプリケーションは更に、ストローク及び画像ワークフロー・サーバ１０６に、処理済文書、他の処理済情報、又は結果を返信する役割も果たす。クライアント・アプリケーションは更に、制御、エラー処理、及び他の機能のために、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎと、ストローク及び画像ワークフロー・サーバ１０６との間の通信を制御し、処理する。例えば、クライアント・アプリケーションは、特定のジョブの実行に関する統計を処理するためにサービス・プロバイダ属性収集器６０８（図６）と通信し得る。あるいは、クライアント・アプリケーションは、特定の形態の処理のステータス又は完了を検証するために、ストローク及び画像ワークフロー・サーバ１０６の検証モジュール４３０（図４参照）と通信し得る。  
サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、種々の機能の何れかを行うよう構成される。上記種々の機能は、限定列挙でないが、テキスト対音声変換、言語変換、フォーマット変換、スペルチェック、フォーマッティング、ＯＣＲ、プルーフリーディング、サード・パーティー・システムへの入力、画像抽出、文書記憶及び保存等などである。サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、ワークフローの中間段階として電子文書を処理するよう構成される。一実施例では、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎそれぞれは別個のエンティティによって所有され、操作され、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎそれぞれは各種機能を提供する。種々の属性で、同じサービス又は機能を提供する複数のサービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎが存在し得るということを当業者は認識するであろう。その結果、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、ストローク及び画像ワークフロー・サーバ１０６によって割り当てられたタスク又はジョブをプロバイダが争う市場を提供する。最後に、他の実施例では、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、ストローク及び画像ワークフロー・サーバ１０６の機能の一部を含み、携帯用計算装置１０２ａ乃至１０２ｎと直接、通信する。以下の多くの場合では、「サービス・プロバイダ」の語は、前述のサービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎを表すよう同義に使用される。  
図１のシステムは、１つのストローク画像ワークフロー・サーバ１０６のみを示すが、例えば、他の機能、企業、機関、組織構造に特化した何れかの数の更なるワークフロー・サーバが存在し得るということを理解すべきである。計算パッド２０２（図２）は、２つ以上のストローク及び画像ワークフロー・サーバ１０６と通信し得る。特定のページ、又は文書のうちの部分は、別々のワークフロー・サーバに関連付け得る。更に、複合文書の一部を、複合文書全部を送出するのでなく、転送することが可能である。
【００１４】
携帯用計算装置  １０２  
次に図２Ａ、図２Ｂ、及び図３を参照すれば、携帯用計算装置１０２の実施例を更に詳細に説明する。携帯用計算装置１０２は計算パッド２０２及びスタイラス２０４を備える。計算パッド２０２は、画像を表示し、画像上に書き込まれた何れかのストロークを記録する。ストロークは、通常、紙上にペンで書かれたかのように画像上に直ちに表示される。ストロークは更に、通常、一連の点又はセグメントとして捕捉される。通常、特定のタイミング情報がストロークによって捕捉され、時には、圧力情報が捕捉される。パッドとの至近性に対する、パッドとの接触を示す「ペン・アップ」及び「ペン・ダウン」も、ストロークによって記録し得る。一部の場合には、スタイラス２０４は、識別子あるいはボタンあるいは別々の「端部」を有し得、これも、ストロークにより、記録することが可能である。  
計算パッド２０２は、ディスプレイ装置２０６と、ストローク捕捉装置及びモジュール２０８と、複数の入力装置２１０乃至２１６と、カメラ２１８と、出力装置２２０と、プロセッサ３０２と、メモリ３０４と、通信装置３０６と、一意の装置識別子の記憶装置３０８とを備える。計算パッド２０２は、更に、クロック３１０と、メタデータ・モジュール３１２と、ロギング・モジュール３１４と、文書転送モジュール３１６と、文書作成モジュール３１８と、バス３２０と、提示モジュール３２２と、他のアプリケーション３２４と、位置バー及びブックマーク・モジュール３２８とを備える。  
次に図２Ａ及び図２Ｂを参照するに、計算パッド２０２の一実施例を示す。本実施例では、ディスプレイ装置２０６は、イーインク（Ｅ−ｉｎｋ）社によって製造・販売されるものなどの電子ペーパー・ディスプレイである。他の実施例では、ディスプレイ装置２０６は、液晶ディスプレイ（ＬＣＤ）又は何れかの他の同様に装備されたディスプレイ装置、画面、又はモニタである。ディスプレイ装置２０６は、本明細書及び特許請求の範囲記載の電子画像及びデータを表示するよう装備された何れかの装置を表す。ディスプレイ装置２０６は、少なくとも小さな情報「ページ」を示すために十分なサイズに設定される。別々の実施例では、ディスプレイは２値であり（画素の場合、別々の２つの値のみ）であるか、モノクロ（一色の複数の色合い）であるか、又は複数の色及び色合いを可能にする。ディスプレイ装置２０６は好ましくは、軽量の低電力ディスプレイである。一実施例では、ディスプレイ装置２０６は、屋外での使用のための発光でなく反射光を使用し、使用する電力は少ない。ディスプレイ装置２０６は、更に、上記ディスプレイ装置がない場合には紙上に表示され得る情報を表示するために高解像度を有する。しかし、ディスプレイ装置２０６は、ＬＣＤディスプレイに共通の６０Ｈｚのリフレッシュ・レートよりもずっと低い更新速度を許容する。
【００１５】
ディスプレイ装置２０６に合わせて、ディジタル化タブレット又はグラフィクス・パッドなどのストローク捕捉装置２０８が存在している。ストローク捕捉装置２０８は、ディスプレイの上方、下方又は周辺にあり得る受信器を備えた電磁検出装置、若しくは光検出装置、又は接触検出装置である。ストローク捕捉装置２０８は、スタイラス２０４、又は指又は他の手段からのストロークを受け付けることができる。ストローク捕捉装置２０８は、スタイラス２０４のセンサであり、認識可能な手書き、印刷、及び他の図を捕捉するのに十分な解像度を有する。一実施例では、ディスプレイ装置２０６には、透明のタッチ感応パネルがディスプレイ装置２０６の画面を覆うタッチ画面が装備される。一実施例では、ストローク捕捉装置２０８は、ワコム（Ｗａｃｏｍ）社によって製造し、販売されるディジタイザである。別の実施例では、ストローク捕捉装置２０８は、単一の接触点の水平位置及び垂直位置を返す単純なセンサである。更に別の実施例では、圧力、位置、時間の示度を返し、（例えば、消去するために）スタイラスが反転しているか、又は、ボタンがスタイラス上で押されているかのスタイラス２０４のＩＤ番号若しくはタイプも返す複雑な複数のセンサである。一部のセンサは複数の接触点を返し得る。ストローク捕捉装置２０８は、ストローク捕捉装置２０８の一部であるか、又は、ストローク捕捉モジュール２０８と通信するよう適合される。  
スタイラス２０４に加えて、計算パッド２０２は、コマンドを入力するために複数の入力装置２１０乃至２１６を提供する。図２Ａに示すように、計算パッド２０２の上端上の第１の入力装置２１０（ボタン）は、選択されると、計算パッド２０２をオン／オフにする。一実施例では、第１の入力装置２１０（ボタン）は、計算パッド２０をスリープ・モードに入れるよう、短い持続時間の間、選択し、計算パッド２０２をオフにするよう、長い持続時間の間、押し下げることが可能である。第２の入力装置２１２（ボタン）は、カメラ２１８の動作を制御し、選択されると、カメラ２１８に画像を捕捉させる。第３の入力装置２１４（ボタン）は、選択されると、文書の注釈が完了しており、文書は計算パッド２０２によって送出される。第４の入力装置２１６（ボタン）の対は、ユーザが文書の次のページ又は先行ページに移行することを可能にする。当業者は、ボタンとしての前述の入力装置が複数の入力装置２１０乃至２１６の一実施例に過ぎないことを認識するであろう。又、当業者は、本発明の本実施例の範囲内に、より少ない数のボタン若しくは入力装置、又はより多い数のボタン若しくは入力装置の種々の他の構成が存在しているということを認識するであろう。特に、別の実施例では、計算パッド２０２は非常に少ない数のボタンを有する（か、又はボタンを有しない）。ボタンが、紙に似ていると認識されている装置を妨げ得るからである。  
前述の実施例では、ネットワーク接続性が存在している限り、ストローク及び他のメタデータが連続して送信される。ページ、又はページの組の完了は、パッド上の「送出」ボタン又は「リジェクト」ボタンを押すことによって示し得るか、又は、表示されたページ上に領域が存在し得、上記領域にストロークを加えることにより、適切なデータの送出をもたらし得る。複数の入力装置２１０乃至２１６について各種の数及び構成が存在しているということを当業者は認識するであろう。例えば、別の構成は、電源用に１つのボタンを含み、送出用に１つのボタンを含む。第２の例では、１つ又は複数のボタン、及び指の位置に応じて多数のページのうちのページを選ぶためのスライダを有する。  
次に図２Ｂを参照すれば、計算パッド２０２の裏側を示す。計算パッド２０２は、裏面側にカメラ２１８を含み、表面側に出力装置２２０を含む。図２Ｂに示すように、カメラ２１８は、上部の左隅部の、計算パッド２０２の裏面側でそのレンズが外側を向いて配置される。カメラ２１８は、携帯電話機上、又はノートブック型コンピュータ上で利用可能なものなどの通常のタイプのものである。出力装置２２０は、図２Ａに示し、計算パッド２０２の表面側にある。出力装置２２０は、小さな画像を表示する装置であり、カメラのビューファインダーとして使用される。一実施例では、出力装置２２０は、有機発光ダイオード（ＯＬＥＤ）であり、カメラが動作状態にある場合にのみ、動作状態にある。別の実施例では、出力装置２２０は、装置のステータスを示すために使用される。装置のステータスは、１）計算パッド２０２に電源があって、動作状態にあるか否か、２）計算パッド２０２にネットワーク接続性があるか否か、３）計算パッド２０２が、複合文書を送受信するか否か等などである。出力装置２２０の一部であり得る、上記のものを越える更なる各種のステータス表示子が存在し得るか、又はそのステータスがディスプレイ装置２０６（主ディスプレイ）を介して供給され得るということを当業者は認識するであろう。  
次に更に図３を参照すれば、計算パッド２０２の残りの構成部分を説明する。
【００１６】
プロセッサ３０２は、計算を行い、電子表示信号をディスプレイ装置２０６に供給し、ストローク入力を検出し、処理するために算術論理装置、マイクロプロセッサ、汎用コントローラ、又は特定の他のプロセッサ・アレイを含む。プロセッサ３０２は、計算パッド２０２の他の構成部分と通信するためにバス３２０に結合される。プロセッサ３０２は、データ信号を処理し、高度命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、又は命令セットの組み合わせを実現するアーキテクチャを含む種々の計算アーキテクチャを含み得る。単一のプロセッサのみを図３に示しているが、複数のプロセッサを含み得る。計算パッド２０２の処理機能は、ストロークの伝送、記録ストローク、及び画像の表示のサポートに制限され得る。処理機能は、各種画像処理、ストローク処理、又は認識タスクを含む高度なタスクを行うのに十分であり得る。他のプロセッサ、オペレーティング・システム、センサ、ディスプレイ、及び物理的な構成が考えられるということが当業者に明らかになるであろう。計算パッド２０２は、限定列挙でないが、ウィンドウズ（登録商標）、ＭａｃＯＳ  Ｘ、アンドロイド、又はＵＮＩＸ（登録商標）ベースのオペレーティング・システムなどの、プロセッサによって実行可能なオペレーティング・システムも含む。  
メモリ３０４は、プロセッサ３０２によって実行され得るデータ及び／又は命令を記憶する。命令及び／又はデータは、本明細書及び特許請求の範囲記載の手法の何れか、及び／又は全てを行うためのコードを含み得る。メモリ３０４は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）装置、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）装置、フラッシュ・メモリ、又は当技術分野において知られている特定の他のメモリ装置であり得る。一実施例では、メモリ３０４は、より恒久的にログ情報を記憶するためのフラッシュ・ドライブ又はハード・ディスク・ドライブなどの不揮発性メモリも含む。メモリ３０４は、計算パッド２０２の他の構成部分と通信するためにバス３２０によって結合される。  
通信装置３０６はアンテナ及びバス３２０に結合される。別の実施例では、通信装置３０６は、ネットワーク１０４に対する直接の物理的接続のためのポートを提供し得る。通信装置３０６は、複合文書を送受信するためのトランシーバを含む。一実施例では、通信装置３０６は、アクセス・ポイントとの無線通信のためのワイファイ（Ｗｉ−Ｆｉ）トランシーバを含む。別の実施例では、通信装置３０６は、他の装置と無線通信するためにブルートゥース（登録商標）トランシーバを含む。更に別の実施例では、通信装置３０６は、セルラー通信ネットワークを介してデータを送受信するセルラー通信トランシーバを含む。上記データは、ショート・メッセージング・サービス（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール等などである。更に別の実施例では、通信装置３０６は、限定列挙でないが、ＵＳＢ、ＳＤ、ＣＡＴ−５等などの、有線の接続性のためのポートを含む。通信装置３０６は、複数の処理システムを含み得るネットワーク１０４にプロセッサ３０２をつなぐ。処理システムのネットワークは、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）（例えば、インターネット）、及び／又は複数の装置が通信し得る相互接続された何れかの他のデータ経路を含み得る。通信装置３０６は更に、当業者が分かるように、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、及びＳＭＴＰなどの標準ネットワーク・プロトコルを使用してファイル（メディア・オブジェクト）を配信するためにネットワーク１０４との他の通常の接続も提供する。  
計算パッド２０２は、一意の装置識別子の記憶装置３０８を含む。計算パッド２０２は、必要に応じて他の構成部分に、上記一意の識別子を供給するためにバス３２０に結合される。一実施例では、記憶装置は、一意の装置識別子を記憶するためのリード・オンリ・メモリである。別の実施例では、一意の装置識別子の記憶装置３０８は、公開鍵・秘密鍵の対を記憶する不揮発性の記憶装置である。種々の通信プロトコルのために、又はストロークが記録された場所を示すために使用される一意の識別子を計算パッド２０２が有することは有用である。一実施例では、一意の識別子は、計算パッド２０２内のネットワーク・チップのハードウェアＭＡＣアドレスである。一意の識別子は、メモリ３０４内の不揮発性記憶装置内にあるか、又は通信装置３０６などの別の機能ブロックの内部部分であり得る。別の実施例では、計算パッド２０２上のメモリ・カードに関連付けられた一意のＩＤであり、それにより、特定の装置との関連付けは、メモリ・カードが移動した場合に、別の装置に移動することになる。これは、予期される挙動であり得る。一意の識別子は、種々の動作に有用であるが、通常、提供されるセキュリティはあまりない。ハードウェアＭＡＣアドレスは例えば、他の装置によって模倣することが可能である。よって、ＲＳＡ（登録商標）などの公開鍵暗号システムからの鍵の対と装置を関連付けることが時には有意義である。一実施例では、計算パッド２０２は、配布される公開鍵及び秘密鍵によって製造されるか、又は構成される。次いで、計算パッド２０２は、装置上で生じるストローク、画像、ログ、又は他の媒体のディジタル署名のためにその秘密鍵を使用することが可能である。前述の媒体を検証するために公開鍵が使用される場合もある。更に、公開鍵は、装置との秘密通信を提供するために使用することができる。暗号化のために装置の公開鍵を使用することにより、単に特定の計算パッド２０２を目的とするページ画像又はメタデータへの他者のアクセスが制限される。  
クロック３１０は、通常タイプのものであり、計算パッド２０２の局所時間の示度を提供する。特に、クロック３１０は、複合文書が処理される局所時間を提供するために使用される。この時間値は、ロギング・モジュール３１４を使用して局所ログ・ファイル内のデータとともに記憶される。クロック３１０は、バス３２０（システム・バス）を使用してロギング・モジュール３１４及びプロセッサにこの情報を通信するよう適合される。
【００１７】
メタデータ・モジュール３１２は、文書からメタデータを抽出し、文書の一部としてメタデータを記憶するためのルーチンを含むソフトウェアである。一実施例では、メタデータ・モジュール３１２は、画像／ページ・メタデータ及び文書メタデータにアクセスするために、下記の機能を提供する旨の、プロセッサ３０２によって実行可能な命令である。別の実施例では、メタデータ・モジュール３１２は、ユーザ・インタフェースを提示し、ストローク情報を捕捉し、ワークフローに応じて文書をルーティングする（携帯用計算装置１０２との間で文書を送受信する）ためのソフト・ルーチンである。一実施例では、メタデータ・モジュール３１２は、メモリ３０４に記憶され、プロセッサ３０２によってアクセス可能であり、実行可能である。いずれにせよ、メタデータ・モジュール３１２は、プロセッサ３０２、及び計算パッド２０２の他の構成部分と協調し、通信するよう適合される。  
ロギング・モジュール３１４は、メモリ３０４内に（特に、メモリ３０４の不揮発性記憶部分内に）局所ログを作成し、記憶するためのルーチンを含むソフトウェアである。一実施例では、ロギング・モジュール３１４は、ストローク及び画像ワークフロー・サーバ１０６及び計算パッド２０２において、もつれたハッシュ連鎖ログにメタデータを記憶するために、プロセッサ３０２によって実行可能なルーチンの組である。ロギング・モジュール３１４は、トランザクションにおけるワーフフロー完了の検証を提供するうえで特に重要である。一実施例では、ロギング・モジュール３１４は、その特定の計算パッド２０２のログをネットワーク上の公に利用可能な場所で公表又は記憶するためのルーチンも含む。ロギング・モジュール３１４は、プロセッサ３０２、メモリ３０４、及び通信装置３０６にバス３２０によって結合される。  
文書転送モジュール３１６は、ストローク及び画像ワークフロー・サーバ１０６との間で文書を送受信するためのソフトウェア及びルーチンである。他の実施例では、限定列挙でないが、コンピュータ１０８、ストローク及び画像ワークフロー・サーバ１０６、又は他の携帯用計算装置１０２などの何れかの他の計算装置との間で、フォーマッティングされたメッセージなどの文書を送受信する。文書転送モジュール３１６は、プロセッサ３０２及び通信装置３０６との通信のためにバス３２０に結合される。文書転送モジュール３１６は、電子メール、ファイル転送、ＸＭＰＰ、又は専用アプリケーションなどにより、計算パッド２０２との間で文書、又はフォーマッティングされたメッセージを送受信する役割を果たす。  
第１の実施例では、文書転送モジュール３１６は、インデクスとしての役目を担うディレクトリ構造を維持する、計算パッド２０２上で動作するクライアント・ソフトウェアである。文書転送モジュール３１６は、文書を、ストローク及び画像ワークフロー・サーバ１０６上の対応するインボックスからこのディレクトリに移動させる。計算パッド２０２のインボックス内の文書に注釈が付され、ユーザが送出命令を入力すると、文書転送モジュール３１６は、ディレクトリ構造から文書を除去し、更に処理するためにストローク及び画像ワークフロー・サーバ１０６に転送する。  
第２の実施例では、文書転送モジュール３１６は、添付ファイルがある電子メールを受け取り、送出することができる電子メール・クライアントである。電子メール・クライアントは、プロセッサ３０２上で動作可能である。メール・サーバは通常、メール・クライアントにデータを伝送するためにＰＯＰプロトコル又はＩＭＡＰプロトコルを使用し、計算パッド２０２は、何れかを使用するよう構成される。メッセージは、計算パッド２０２が直接使用可能なフォーマット（例えば、画像ファイルのアタッチメント）を有する。メッセージは、計算パッド２０２上の変換を必要とするフォーマット（例えば、ｐｄｆ文書）を有する。あるいは、特別なメール・サーバは、パッドが複数のフォーマットをサポートする必要がないようにメッセージの変換を提供することが可能である。例えば、上述の部門内のインボックスなど、一度しか行ってはならないワークを配分するためにワークフローにおいて複数の装置が使用される場合、ＩＭＡＰの使用が効果的である。複数の装置１０２ａ乃至ｎは、同じＩＭＡＰサーバ及び「ユーザ名」を有するクライアントとして構成し得る。装置１０２ａ乃至ｎの群は、形態全てを「インボックス」に表示し得る。何れかの装置１０２ａ乃至ｎ上の何れかのユーザが、「処理済」としてフォームにマーキングすると、装置はそのメッセージをインボックスから出し、場合によっては、ＩＭＡＰサーバ上の「処理済」ボックスに入れる。他の装置１０２ａ乃至ｎは、ＩＭＡＰサーバ上の「インボックス」を検査すると、ページがもう存在しておらず、それをもう表示しないと判定する。パッドがページ若しくはストローク又は複数のページ及びストロークを送出する必要があると、パッドは、電子メール・クライアントとしてふるまい得る。パッドは、圧縮され、場合によっては、単一のファイルに合成されたディレクトリ構造のページを伴ってメールを送出し得る。
【００１８】
第３の実施例では、文書転送モジュール３１６は、ファイル転送を行うためのルーチンである。計算パッド２０２との間で文書を移動させるために種々のファイル転送方法を使用することが可能である。計算パッド２０２は、ｆｔｐ、ｈｔｔｐ、又はｗｅｂｄａｖサーバを実行させることが可能であり、他の装置は計算パッド２０２上の文書をプッシュし、又はプルすることが可能である。計算パッド２０２は更に、やはり、ｆｔｐ、ｈｔｔｐ、ｒｓｙｎｃ、ｗｅｂｄａｖ、又は別のプロトコルを介して新たな文書を得るか、又は外部サーバに新たな文書を送るよう構成することが可能である。  
第４の実施例では、文書転送モジュール３１６は、ＭＭＳ、又は他の通信プロトコルを介した通信用などのクライアント通信プログラムである。インスタント・メッセージングにおいて使用されるプロトコルであるＸＭＰＰは、パッドとの間の文書及びストロークの通信を提供するために使用される。インスタント・メッセージング・プロトコルは有用である。別のメンバーがメッセージを送信している間にも、メッセージング・グループの何れかのメンバーがメッセージを開始することが可能であるからである。計算パッド２０２にとって、これは、パッドからサーバにストロークが送信されるのと同時にサービスがパッド用の画像を送信することを可能にする。計算パッド２０２の群がディスプレイ空間を共有しており、よって、上記群のメンバー全てが、新たなストロークについて通知され得る場合に、インスタント・メッセージング・プロトコルは更に有用であり得る。  
第５の実施例では、文書転送モジュール３１６は、カスタム・アプリケーションである。当然、情報は、パッドに特有のＡＰＩを使用してパッドと協働するよう企図された特定用途のアプリケーションにより、計算パッド２０２に転送し得る。インストラクタは、ファイルを移動させるために使用される特定の方法を知ることなく、パッドの図表表現上にワークシートを「ドラッグ・アンド・ドロップ」したいことがあり得る。  
文書作成モジュール３１８は、新たな文書を作成するためのソフトウェア又はルーチンである。文書作成モジュール３１８はプロセッサ３０２上で動作可能であり、計算パッド２０２の他の構成部分と通信するためにバス３２０に結合される。文書作成モジュール３１８は、入力装置２１０乃至２１６、又はストローク捕捉装置２０８からの信号に応答する。文書作成モジュール３１８は、文書のテンプレート・フォームをメモリ３０４に記憶する。ユーザ入力に応じて、文書作成モジュール３１８は、記憶されたテンプレート・フォームにアクセスし、選択されたものを複製して、テンプレート・フォームから、新たな文書を作成する。作成されると、メモリ３０４に記憶された文書は、提示モジュール３２２によって維持されるインボックス・リストに加えられ、何れかの他の文書と同様に、他の方法で、編集可能であり、操作可能であり、送信可能である。  
バス３２０は、計算パッド２０２にわたり、情報及びデータを通信するための共有バスを表す。バス３２０は、業界標準アーキテクチャ（ＩＳＡ）バス、周辺装置相互接続（ＰＣＩ）バス、ユニバーサル・シリアル・バス（ＵＳＢ）、又は同様な機能を提供するために当技術分野において知られている特定の他のバスを含む１つ又は複数のバスを表し得る。バス３２０を介してプロセッサ３０２に結合された更なる構成部分には、ディスプレイ装置２０６、ストローク捕捉装置２０８（及びモジュール）、複数の入力装置２１０乃至２１６、出力装置２２０、プロセッサ３０２が含まれる。更に、メモリ３０４、通信装置３０６、一意の装置識別子の記憶装置３０８、クロック３１０、メタデータ・モジュール３１２、ロギング・モジュール３１４、文書転送モジュール３１６、提示モジュール３２２、及び他のアプリケーション３２４が含まれる。更に、機能要素間の最も効率的な通信を提供するよう企図された複数のバスが計算システムにおいて存在し得る。  
提示モジュール３２２は、ディスプレイ装置２０６上に文書及びインボックスを表示し、入力装置２１０乃至２１６からの入力に応じて画像の表示を調節するためのソフトウェア及びルーチンである。提示モジュール３２２は、図２、図８Ａ、及び図８Ｂに示すデュアル・モード・ユーザ・インタフェースを生成するルーチンを実行する。提示モジュール３２２は更に、位置バー及びブックマーク・モジュール３２８と協調して、新たなグラフィカル・ユーザ・インタフェースを生成する。一実施例では、提示モジュール３２２は、ディスプレイ装置２０６上に画像を表示させるためにプロセッサ３０２によって実行可能なシン・クライアント・ルーチンである。提示モジュール３２２は、ディスプレイ装置２０６、プロセッサ３０２、メモリ３０４、並びに、位置バー及びブックマーク・モジュール３２８にバス３２０によって結合される。  
他のアプリケーション３２４は、他の各種機能のためにプロセッサ３０２によって実行可能な他のソフトウェア及びルーチンを含む。一実施例では、１つ又は複数のアプリケーション・プログラムがプロセッサ３０２によって実行される。上記１つ又は複数のアプリケーション・プログラムは、限定列挙でないが、ワード・プロセッシング・アプリケーション、電子メール・アプリケーション、金融アプリケーション、及びウェブ・ブラウザ・アプリケーションを含む。
【００１９】
位置バー及びブックマーク・モジュール３２８は、文書のページ間をたどり、ブックマーク機能を提供するために位置バーを提供する新たなグラフィカル・ユーザ・インタフェースを生成するためのソフトウェア及びルーチンである。位置バー及びブックマーク・モジュール３２８は、文書内のページ間で移動するために、操作可能なページ・ボックスを有する位置バーを提供するグラフィカル・ユーザ・インタフェースを生成する役割を果たす。位置バー及びブックマーク・モジュール３２８は、ストローク捕捉装置２０８（モジュール）からペン入力を受け取るよう適合され、ペン入力を命令又はコマンドとして解釈する。位置バーに沿ったページ・ボックスの位置を操作することにより、ユーザは、表示されているページを切り替えることが可能である。一実施例では、位置バー及びブックマーク・モジュール３２８は更に、ブックマーク又は参照機能を提供する。位置バー及びブックマーク・モジュール３２８は、ペン入力に応答して、位置バーに沿って参照マークを追加し、移動させ、又は削除する。参照マークがセットされると、位置バー及びブックマーク・モジュール３２８は、マーキングされた位置に移動させる旨のコマンドとして、参照マーク又はブックマークの近くの入力を解釈する。  
最後に、計算パッド２０２は１つ又は複数の他のＩ／Ｏ装置３２６を含み得る。例えば、他のＩ／Ｏ装置３２６には、音を生成するためのスピーカ、音を記録するためのマイクロフォン、文書又は画像を記録するためのスキャナ又はカメラを含み得る。更に、他のＩ／Ｏ装置３２６には、加速度計、ページャ・モーター、又は触覚フィードバックのような他のセンサ若しくはフィードバック装置を含み得る。任意的には、他のＩ／Ｏ装置３２６は、オーディオ処理を容易にするために、１つ又は複数のアナログ・ディジタル変換器、若しくはディジタル・アナログ変換器、及び／又は１つ又は複数のディジタル信号プロセッサを含み得る。前述の他のＩ／Ｏ装置３２６は、プロセッサ３０２及びメモリ３０４と通信するためにバス３２０によって結合される。任意的には、マイクロコントローラは、電源システム制御を容易にし、低速の重要でないタスクからプロセッサ３０２（主プロセッサ）をオフロードするために、他のＩ／Ｏ装置３２６の一部として追加し得る。
【００２０】
ストローク及び画像ワークフロー・サーバ１０６  
次に図４を参照して、ストローク及び画像ワークフロー・サーバ１０６の実施例を更に詳細に説明する。ストローク及び画像ワークフロー・サーバ１０６は、プロセッサ４０２と、メモリ４０４と、通信装置４０６と、文書転送モジュール４０８と、クロック４１０と、ワークフロー・モジュール４１２とを備える。ストローク及び画像ワークフロー・サーバ１０６は、更に、ロギング・モジュール４１６と、他のアプリケーション４１８と、バス４２０と、検証モジュール４３０と、サービス・プロバイダ選択モジュール４３２とを備える。別の実施例では、ストローク及び画像ワークフロー・サーバ１０６は更に、ディスプレイ装置４２２、出力装置４２４、一意の装置識別子の記憶装置４２６、及び入力装置４２８を備える。  
ストローク及び画像ワークフロー・サーバ１０６の構成部分の一部が計算パッド２０２の構成部分と同一又は同様の機能を有するということを当業者は認識するであろう。よって、前述の構成部分の説明はここでは繰り返さないものとする。例えば、プロセッサ４０２、メモリ４０４、通信装置４０６、文書転送モジュール４０８、ロギング・モジュール４１６、クロック４１０は、図３の対応する構成と同様の機能を有する。又、他のアプリケーション４１８、ディスプレイ装置４２２、出力装置４２４、一意の装置識別子の記憶装置４２６、及び入力装置４２８は、図３の対応する構成と同様の機能を有する。図３の対応する構成は、プロセッサ３０２、メモリ３０４、通信装置３０６、文書転送モジュール３１６、ロギング・モジュール３１４、クロック３１０である。図３の対応する構成は、又、他のアプリケーション３２４、ディスプレイ装置２０６、出力装置２２０、一意の装置識別子の記憶装置３０８、入力装置２１０乃至２１６である。ストローク及び画像ワークフロー・サーバ１０６の構成部分と、計算パッド２０２の構成部分との間の差を一部、以下に記す。例えば、通信装置４０６は、無線でなく有線でストローク及び画像ワークフロー・サーバ１０６をネットワーク１０４に結合し得る。ワークフロー・サーバ１０６は、数多くの携帯用計算装置１０２をサービスする可能性が高いので、プロセッサ４０２は、プロセッサ３０２よりも計算量的に強力である。文書転送モジュール４０８は、電子メール・クライアントでなく、電子メール・サーバである。ディスプレイ装置４２２はＣＲＴであり得、出力装置４２４はスピーカである。入力装置４２８は、キーボード、及びマウス型コントローラを含む。ストローク及び画像ワークフロー・サーバ１０６の構成部分は、遠隔クライアントでなく、ハードウェア・サーバとしてふるまうので、種々の他の差が存在し得るということを当業者は認識するであろう。  
ストローク及び画像ワークフロー・サーバ１０６の検証モジュール４３０は、文書の処理を検証するためのソフトウェア及びルーチンである。一実施例では、検証モジュール４３０は、後述する文書処理の検証を行うためにプロセッサ４０２によって実行可能なルーチンである。検証モジュール４３０は、プロセッサ４０２、メモリ４０４、及び通信装置４０６にバス４２０によって結合される。検証モジュール４３０は、ストローク及び画像ワークフロー・サーバ１０６と独立して使用し得る。実際に、特定のサーバのトラストの必要なしで文書の独立した検証のためにコンピュータ１０８上で実行し得る。  
ストローク及び画像ワークフロー・サーバ１０６のワークフロー・モジュール４１２は、文書、又はフォーマッティングされたメッセージを処理し、ルーティングするためのソフトウェア及びルーチンである。ワークフロー・モジュール４１２は、文書を作成するか、又はフォーマッティングされたメッセージを作成する。ワークフロー・モジュール４１２は更に、ロギング・モジュール４１６と協働して、（ロギング・モジュール４１６、メモリ４０４、又はデータ記憶装置１１０に記憶される）システム・ログを作成し、上記ログを、必要に応じて、公表し、又は利用可能にする。ワークフロー・モジュール４１２は更に、処理ワークフローの一部として、次の場所に文書、又はフォーマッティングされたメッセージをルーティングする役割も果たす。一実施例では、計算パッド２０２は、文書を送出することにより、返すか、又は、アタッチメントを含む返信電子メールをストローク及び画像ワークフロー・サーバ１０６に送出する。ワークフロー・モジュール４１２は、ルーティング及び次のワークフロー工程を判定する。ワークフロー・モジュール４１２による、システム・ログを作成する処理により、もつれたログが作成され得る。文書の別個のページをサービスする複数のワークフロー・モジュール４１２が存在していることは、検知されずに文書をタンパリングすることの困難性を大きく増大させる。  
理解を容易にするために、かつ、便宜のために、ワークフロー内の文書の処理及び文書の転送は、以下で、ストローク及び画像ワークフロー・サーバ１０６のワークフロー・モジュール４１２によって行われるものとして後述する。しかし、代替的に、同じ動作を計算パッド２０２によって行い得るということを当業者は認識するであろう。  
計算パッド２０２から受け取られると（計算パッド２０２によって送出されると）、ストローク及び画像ワークフロー・サーバ１０６のワークフロー・モジュール４１２が文書をどうするかを判定する種々のやり方が存在している。一実施例では、計算パッド２０２は、特定のストローク及び画像ワークフロー・サーバ１０６と協働し、ストローク及び画像ワークフロー・サーバ１０６にページを送出するよう構成される。そのページについて、ストローク及び画像ワークフロー・サーバ１０６は次いで、予めプログラムされたルールに基づいて次の工程を判定する。  
別の実施例では、ワークフローは、文書が送出された電子メール（フォーマッティングされたメッセージ）内で、又は文書内で規定される。電子メールにより、文書を受信する単純なケースでは、計算パッド２０２は、完成した文書をストローク及び画像ワークフロー・サーバ１０６に返す。ストローク及び画像ワークフロー・サーバ１０６は次いで、メタデータを、完成したパッドから抽出し、ワークフロー内の次の工程を判定し、次いで、完了した文書を、識別された装置（例えば、コンピュータ１０８）に送出して、ワークフロー内の次の工程を行う。別の実施例では、計算パッド２０２は、完成した文書を電子メールにより、ストローク及び画像ワークフロー・サーバ１０６に戻し、電子メールはワークフローを含む。ストローク及び画像ワークフロー・サーバ１０６は、完成した文書を含む電子メールから、完成した文書を送出する次の電子メール・アドレスを求める。別の実施例では、ＨＴＴＰヘッダは、電子メールのヘッダの代わりに、又は電子メールのヘッダに加えて使用することが可能である。ページの画像、ストローク、及びメタデータをサポートするやり方で文書が伝送される場合、メタデータは、ワークフロー命令及びステータスを含み得る。やはり、単純なケースでは、メタデータは電子メール・アドレスのリスト、及びワークフローの現在の工程を含む。  
一実施例では、ワークフローは、規定性が高く、ワークフロー内の特定のジョブ、ステップ、又はタスクそれぞれを行うためにどのサービス・プロバイダ（どのサービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎ）を使用すべきかを規定する。  
しかし、別の実施例では、ワークフロー・モジュール４１２は、サービス・プロバイダ選択モジュール４３２と協調して、ワークフロー内のジョブ、ステップ、又はタスクを行うためにどのサービス・プロバイダを使用すべきかを自動的に、又は半自動的に判定する。サービス・プロバイダ選択モジュール４３２は、ストローク及び画像ワークフロー・サ―バ１０６の他の構成部分と通信するためにバス４２０に結合される。サービス・プロバイダ選択モジュール４３２は更に、バス４２０により、ネットワーク１０４に結合され、よって、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎ及び携帯用計算装置１０２ａ乃至１０２ｎに結合される。サービス・プロバイダ選択モジュール４３２は、ポータル計算装置１０２ａ乃至１０２ｎを介してユーザとインタフェースする。そして、サービス・プロバイダ選択モジュール４３２は、自動選択のレベル（例えば、自動、半自動、又は手動）、及び上記ユーザに最も重要なサービス・プロバイダの属性などのユーザ選好を収集する。サービス・プロバイダ選択モジュール４３２はこの情報を収集し、記憶し、これを使用して、そのユーザに関連付けられたワークフローのタスク、ジョブ又は一部分を行うためにどのサービス・プロバイダを使用すべきかを判定する。サービス・プロバイダ選択モジュール４３２は更に、どれが利用可能であり、サービスを提供する準備ができているかを判定するために、ネットワーク１０４上でサービス・プロバイダを監視する。サービス・プロバイダ選択モジュール４３２、及びその構成部分は、図６を参照して以下に更に詳細に説明する。
【００２１】
文書フォーマット  
一実施例では、文書の基本フォーマット又は構造は、１つ又は複数のファイル及びディレクトリを含むディレクトリである。ディレクトリ中には、一連のページ画像、及び任意のメタデータがある。メタデータは各ページと別個に関連付け得、かつ／又は、メタデータは、全体としての文書と関連付け得る。前述のメタデータは、更にネスティングされたディレクトリに記憶されており、任意のものである。一実施例では、文書の各ページは画像として記憶される。これは特に効果的である。広範囲にわたる文書フォーマットを計算パッド２０２がサポートすることを必要とすることが避けられるからである。純粋な画像（すなわち、レンダリングを必要としないファイル）を計算パッド２０２に供給することにより、一貫したビューが確実にされ、フォントや他のグラフィカル・コマンドをレンダリングすることができないことを伴う問題点がなくなる。一実施例では、画像は、ＪＰＥＧ、ＪＰＥＧ２０００、ＪＰＭ、ＰＮＧ、ＰＤＦ、ＴＩＦＦ、及び、単純なＰＢＭ（ポータブル・ビット・マップ）ファイル・フォーマットのうちの１つである。文書ディレクトリを標準ＺＩＰフォーマット・アーカイブとして転送し、記憶することが可能であるということを当業者は認識するであろう。  
同じ当初ネーム・セグメントを共有する複数のページ画像ファイルは、同等の品質のファイルの別の表現とみなされ、提示モジュール３２２はその用途に最も便利な表現を選ぶ。よって、例えば、００１．ｐｇｍ、００１．ｐｎｇ、００２．ｐｇｍ、００２．ｊｐｇ、及び５．ｐｇｍのコンテンツを有するディレクトリは、３ページの文書をもたらす。１番目のページは、２つのファイル（００１．ｐｇｍ、及び、００１．ｐｎｇ）のうちの１つによって表される。２番目のページは、００２．ｊｐｇ、及び、００２．ｐｇｍのうちの１つによって表され、３番目のページは、５．ｐｇｍによって表される。一実施例では、ネームのセグメントは、装置が画像を簡単に選ぶことを可能にするために何れかの画像の解像度又はサイズを規定するために使用することが可能である。例えば、画像ｐａｇｅ００１．６００×８００．Ｐｇｍ及び画像ｐａｇｅ００１．ｃｉｆ．ｐｇｍが存在し得、６００ｘ８００又はｃｉｆ（共通中間フォーマット）は画像の解像度を識別する。
【００２２】
複数の画像はそれぞれ、関連付けられたページ又は画像メタデータを含み得る。ページ又は画像メタデータは、ストローク・データ、他のメタデータ、及びログ・データを含む。例えば、ページ又は画像メタデータは、捕捉画像を埋め込むか、又は配置し得る、画像内の領域を識別するピクチャ矩形も含み得る。更に、文書全体は文書メタデータを含む。文書メタデータは、文書ログ及び他の文書メタデータを含む。  
文書のメタデータは、全体としての文書、又は個々のページと関連付けられる、ディレクトリに記憶されたファイルによって表される。一実施例では、メタデータ・ディレクトリは、ディレクトリ・ネームにおける最後の文字対としてサフィックス「.ｄ」を有する。メタデータ・ディレクトリ内の情報は、一意のネーム・セグメントを有することになっているファイル又はサブディレクトリに記憶される。一意の識別子（例えば、伝統的なジャバ（Ｊａｖａ(登録商標)）リバース・ドメイン名手法）を使用して組織を命名することが奨励される。メタデータ・ディレクトリ自体は、サブディレクトリを含み得、サブディレクトリの内容は、そのディレクトリの作成者によって順序付けられ、定義される。一般的な方針は、メタデータ・ファイル又はディレクトリの内容が分からないアプリケーションが内容を保存すべきであり、変えるべきでないというものである。特定のメタデータ・ファイル又はディレクトリは自己内蔵型であるので、同じディレクトリに含まれていない限り、メタデータのアイテム間の依存関係は何らないものであるべきである。メタデータのアイテムは、全体としての文書、又は特定のページに関係がある。  
一実施例では、文書メタデータはグローバル・メタデータであり、「ｄｏｃｕｍｅｎｔ．ｄ」と命名された１つ又は複数のファイルを含むディレクトリに記憶される。このディレクトリは、トップ・レベル・ディレクトリにおいて含まれる。文書メタデータに、文書に関連付けられた動作のログを記憶することが有用である。一実施例では、システム１００は更に、文書メタデータとして「元の」文書のバージョンを記憶する。  例えば、文書がＰＤＦ、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）社ワード（Ｗｏｒｄ）、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）社エクセル（Ｅｘｃｅｌ）、又は他の文書から形成された場合、元のフォーマットの文書はメタデータ・ディレクトリに保存し得る。  
一実施例では、ページ又は画像メタデータは、ページ画像と同じネーム・セグメントによって命名され、拡張子「．ｄ」で終わる。例えば、ページ画像が「ｐａｇｅ．００１．ｊｐｇ」と命名された場合、そのページに関連付けられている旨を示すよう「ｐａｇｅ．００１．  ｄ」と命名すべきである。別の実施例では、ページ又は画像メタデータは、ページ・メタデータ・ディレクトリにおけるページ毎の特定のフォーマットにおける元の画像を含む。このメタデータは、例えば、最上位ディレクトリに、かつ、ページ・メタデータ・ディレクトリにラスタ・フォーマットを記憶することによって文書が作成されると直ちに作成される。又は、元のラスタ・フォーマットの複製をページ画像が最初に変更されると、記憶し得る。他の実施例では、ページ又は画像メタデータはログ・データを含む。このログ・データは、当該ページについて、メタデータ・ディレクトリ内の各ページに施される変更のためのログを表す。他のメタデータは、特定のページ又は画像に関する何れかの他のデータを記憶するために使用される。例えば、画像がページに追加された場合、ページ・メタデータ・ディレクトリに、前述の追加された画像を記憶することが有用である。紙のページに「スタンプ」することと同様な理由で、画像（例えば、「受け取り」又は「送出」）をページに加え、何れかの読み取り装置にページのステータスの視覚的な表示を提供し得る。
【００２３】
自動文書処理  
図５は、本発明による自動文書処理方法の一実施例を示す。処理は、ストローク及び画像ワークフロー・サーバ１０６が、携帯用計算装置１０２ａに関連付けられたインボックス５０２を作成し、確立することから始まる。ストローク及び画像ワークフロー・サーバ１０６は次いで、携帯用計算装置１０２ａへの配信がスケジューリングされた１つ又は複数の文書５０４を作成し、インボックス５０２に入れる。例えば、文書は、携帯用計算装置１０２ａのユーザが記入し、返す必要がある、医療情報フォームなどのフォームであり得る。ストローク及び画像ワークフロー・サーバ１０６は、インボックス５０２から、携帯用計算装置１０２ａ上の対応するインボックス（図示せず）に文書５０４を自動転送する（５０６）。実施例に応じて、文書の転送は、別々のいくつかの時点で行われ得る。別々のいくつかの時点には、１）文書５０４がインボックス５０２に入れられ次第、２）携帯用計算装置１０２ａがストローク及び画像ワークフロー・サーバ１０６と通信するために結合され次第がある。更に、３）１５分間隔など周期的に、４）上記の種々の組み合わせがある。文書５０４が、携帯用計算装置１０２ａに転送される（５０６）と、携帯用計算装置１０２ａは、文書５０４に注釈を付し、ストローク及び他の情報を加えるために使用される。注釈が文書５０４に追加され、文書５０４がもう一度、線５０８で表すように携帯用計算装置１０２ａ上に記憶される。一実施例では、文書５０４に追加された注釈及び情報が、携帯用計算装置１０２ａからバックアップ・サーバ５１２にバックアップされる（５１０）。上記文書の転送は、上記時点と同様な時点で行われ得る。携帯用計算装置１０２ａによって行われた注釈をバックアップする前述の工程は、携帯用計算装置１０２ａの電源を維持するために１０分以上毎などの等間隔で行い得る。更に別の実施例では、バックアップ間隔はユーザによって設定することが可能である。ユーザが、特定の文書５０４への注釈の追加を完了し、文書５０４が送出できる状態になり次第、ユーザは送出命令を入力し、注釈を付した文書５０４は、携帯用計算装置１０２ａからストローク及び画像ワークフロー・サーバ１０６に転送される（５１４）。注釈を付けた文書５０４は、ストローク及び画像ワークフロー・サーバ１０６において受け取られ次第、記憶され、記録され、ワークフロー処理における次の工程が判定される。文書５０４を次にどこに送出すべきかの判定に基づいて、ストローク及び画像ワークフロー・サーバ１０６は文書を、判定された装置（例えば、サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎ）に送信する（５１６）。図５は、複数のコンピュータをサービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎとして示している。サービス・プロバイダ・コンピュータ１２２ａ乃至１２２ｎは、文書５０４に対する更なる処理又は注釈を行うことができる各種ベンダを表す。  
本発明は、フォーム又は文書を自動的に処理し、ワークフローにおいて進めるレベルが理由で特に効果的である。上述の図５は、フォーム又は文書がワークフローにおいて自動的に進められ、ストローク及び画像ワークフロー・サーバ１０６から携帯用計算装置１０２ａ乃至ｎに送出されるという点で、本発明がどのようにして自動的であるかを示す。フォーム又は文書は、ユーザによって注釈が付けられ次第、もう一度、ストローク及び画像ワークフロー・サーバ１０６に送出され、ユーザは、単一の「送出」コマンド又は命令を入力するだけでよい。フォーム又は文書のこの自動レベルの処理は、日常の文書処理に携帯用計算装置１０２ａを使用することが十分に簡単かつ単純になるので特に効果的である。更に、本発明では、鉛筆及び紙の使用を非常に厳密に模倣する体験又は相互作用をユーザに提供することに適しており、学習曲線の必要性はほとんどないか、又は全くない。  
特に、本発明は、計算パッド２０２との２つの相互作用モードを提供するユーザ・インタフェースを含む。第１のモード（インボックス・モード）では、ユーザ・インタフェースは、ユ―ザにより、修正可能であるか、編集可能である文書全てを列挙したインボックスを提示する。この第１のモードでは、ユーザは、１）文書が列挙された順序を再ソートする動作、２）編集するための文書を選択する動作、及び、３）編集するために新たな文書を作成する動作の、３つの動作に制限される。第２のモード（文書注釈モード）では、文書の画像を表示するユーザ・インタフェースが提示される。この場合も、ユーザは、１）ストローク及び注釈を文書に追加する動作、２）ピクチャを文書に追加する動作、３）画像の別のページの表示への遷移、又はインボックス・モードに戻る遷移を行う動作の、３つの動作に制限される。本発明は、ユーザが必要とする決定数を制限するので、特に効果的である。文書と相互作用するインタフェースを２つだけ提供し、各モードにおいて行われる動作の数を制限することにより、ユーザ・インタフェースに、洗練された単純さ及び効率性がもたらされる。これにより、ユーザ・インタフェースが、小さな学習曲線を伴って、又は学習曲線なしで簡単に適合することを可能にし、紙との相互作用を模倣するユーザ体験がもたらされ、ワークフロー内の自動処理と、情報収集体の収集体が一体化される。更に、本発明は、単一のコマンド・ワークフロー・ルーティングを提供する。
【００２４】
サービス・プロバイダ選択モジュール４３２  
次に図６を参照するに、サービス・プロバイダ選択モジュール４３２の一実施例を説明する。サービス・プロバイダ選択モジュール４３２のこの実施例は、ユーザ選好収集器及びグラフィカル・ユーザ・インタフェース（ＧＵＩ）６０２と、ユーザ選好記憶装置６０４とを備える。更に、サービス・プロバイダ利用可能性検出器６０６と、サービス・プロバイダ属性収集器６０８と、サービス・プロバイダ選択エンジン６１０と、サービス・プロバイダ属性記憶装置６１２とを備える。前述の構成部分は、以下に更に規定するように、互いの通信、並びに、ストローク及び画像ワークフロー・サーバ１０６及び携帯用計算装置１０２ａ乃至１０２ｎとの通信のためにバス４２０に結合される。他の実施例では、前述の構成部分６０２、６０４、６０６、６０８、６１０、及び６１２は、前述の構成部分それぞれ、及びそれに続くその通信ニーズの機能的な記述によって要求されるように他の構成部分に直接、結合され得る。  
ユーザ選好収集器及びグラフィック・ユーザ・インタフェース（ＧＵＩ）６０２は、ユーザに向けてＧＵＩを提示し、ユーザ選好情報を収集するためのソフトウェア及びルーチンである。例えば、ＧＵＩ６０２におけるユーザ選好収集器は、プロセッサ（例えば、プロセッサ４０２）によって実行可能なルーチンである。別の実施例では、ユーザ選好収集器及びＧＵＩ６０２は、本明細書及び特許請求の範囲記載の動作を行うよう特に構成されたハードウェア・モジュールである。ユーザ選好収集器及びＧＵＩ６０２は、自動サービス・プロバイダ選択についてのユーザの選好に関する情報、及びサービス・プロバイダのどの属性がユーザに最も重要であるかに関する情報を収集する。ユーザ選好収集器及びＧＵＩ６０２は更に、ユーザが単純かつ容易なやり方で携帯用計算装置１０２ａを使用してこの情報を入力することを可能にする新しいグラフィック・ユーザ・インタフェースを生成する。例示的なユーザ・インタフェースは図８Ａ及び図８Ｂに示し、以下に更に詳細に説明する。一実施例では、ユーザ選好収集器及びＧＵＩ６０２は、新たなＧＵＩを生成するのに必要な情報を送出し、計算パッド２０２上でユーザによって入力される情報を受け取るために、計算パッド２０２の提示モジュール３２２と通信するよう構成される。ユーザ選好収集器及びＧＵＩ６０２は更に、ユーザ選好記憶装置６０４において計算パッド２０２からユーザの選好について受け取られた情報を記憶するために、ユーザ選好記憶装置６０４と通信するよう構成される。ユーザ選好収集器及びＧＵＩ６０２の機能、動作、及び構造は、図７に関して説明した方法を参照して以下に更に詳細に説明する。  
ユーザ選好記憶装置６０４は、ユーザの選好及び他の情報を記憶するための通常のタイプのメモリである。一実施例では、ユーザ選好記憶装置６０４は揮発性メモリであり、別の実施例では、ユーザ選好記憶装置６０４は、フラッシュ・メモリやハード・ディスクなどの不揮発性メモリである。更に別の実施例では、ユーザ選好記憶装置６０４は、他のユーザにとってのアクセスの容易性及び冗長度のために別のハードウェア・サ―バ又はネットワーク記憶装置にユーザ情報をバックアップするための通信及び機能的な能力を含む。一実施例では、ユーザ選好記憶装置６０４は、容易にすばやく情報にアクセスすることが可能であるように順番に複数のユーザ、及びそれらの選好についての情報を記憶するためのデータベースを含む。ユーザ選好記憶装置６０４は、選好について、ユーザから新たな、又は修正された情報を受け取るためにユーザ選好収集器及びＧＵＩ６０２に結合される。ユーザ選好記憶装置６０４は更に、サービス・プロバイダ選択エンジン６１０に結合される。上記結合は、ワークフローの特定のタスク又はジョブのためにどのサービス・プロバイダを推奨又は使用するかの判定を行ううえでユーザの情報をサービス・プロバイダ選択エンジン６１０がアクセスすることが可能であるように行われる。
【００２５】
サービス・プロバイダ利用可能性検出器６０６は、ネットワーク１０４を監視するためのソフトウェア及びルーチンである。上記監視は、ワークフローのタスク又はジョブを行うためにどのサービス・プロバイダ・コンピュータ１２２がアクセス可能であり、利用可能であるかを判定する。例えば、サービス・プロバイダ利用可能性検出器６０６は、プロセッサ（例えば、プロセッサ４０２）によって実行可能なルーチンである。別の実施例では、サービス・プロバイダ利用可能性検出器６０６は、本明細書及び特許請求の範囲記載の動作を行うよう特に構成されたハードウェア・モジュールである。サービス・プロバイダ利用可能性検出器６０６は、バス４２０により、ネットワーク１０４に結合される。ネットワーク１０４を介して、サービス・プロバイダ利用可能性検出器６０６は、ワークフローのタスク又はジョブを行うためにどのサービス・プロバイダが利用可能であり、アクセス可能であり、動作状態にあるかを判定することができる。一実施例では、サービス・プロバイダ利用可能性検出器６０６は、タスク又はサービスを行うためにどのサービス・プロバイダがネットワーク１０４を介してアクセス可能であり、動作状態にあるかのリアルタイム分析を提供する。サービス・プロバイダ利用可能性検出器６０６は、ネットワーク１０４を介してサービス・プロバイダ・コンピュータ１２２ａ乃至ｎ、どのサービス・プロバイダが現在利用可能であるかを示すサービス・プロバイダ選択エンジン６１０と通信するよう構成される。又、サービス・プロバイダ利用可能性検出器６０６は、ストローク及び画像ワークフロー・サーバの他の構成部分と通信するよう構成される。
【００２６】
一実施例では、サービス・プロバイダ利用可能性検出器６０６は、サービス・プロバイダを識別するためにネットワーク１０４をアクティブにサーチするか、又はクロールする。新たな、又は先行して利用可能でなかったサービス・プロバイダが識別されると、サービス・プロバイダ利用可能性検出器６０６は、そのステータスを判定する旨の利用可能性クエリを何れかのサービス・プロバイダ・コンピュータ１２２に送出する。別の実施例では、サービス・プロバイダ利用可能性検出器６０６は、ネットワーク１０４上で利用可能なサービス・プロバイダ全てのリストを維持し、サービス・プロバイダが現在、利用可能であり、動作状態にあることを確認するための信号を周期的に送出する。サービス・プロバイダ利用可能性検出器６０６は、送出する利用可能性クエリに対して受け取られる応答に基づいて利用可能なサービス・プロバイダ・コンピュータ１２２のリストを維持する。一実施例では、利用可能なサービス・プロバイダのリストがリアルタイムで維持される。他の実施例では、利用可能なサービス・プロバイダのリストは、５乃至１０分のレーテンシを有する。  
別の実施例では、サービス・プロバイダ利用可能性検出器６０６は、登録リストを維持する。ストローク及び画像ワークフロー・サーバ１０６からのジョブの受け取りに関心がある何れかのサービス・プロバイダは、サービス・プロバイダ利用可能性検出器６０６に登録する必要がある。サービス・プロバイダ利用可能性検出器６０６に登録したいサービス・プロバイダは何れも、サービス・プロバイダ利用可能性検出器６０６に登録要求を送出する。サービス・プロバイダ利用可能性検出器６０６は、特定の応答を生成するメッセージを送出することなどにより、ネットワーク１０４を使用してサービス・プロバイダがアクセス可能である旨を確認する。サービス・プロバイダ利用可能性検出器６０６は次いで、確認されたサービス・プロバイダを、登録されたサービス・プロバイダのリストに追加する。どのサービス・プロバイダがアクセス可能であり、動作状態にあるかをサービス・プロバイダ利用可能性検出器６０６が判定する他の方法が存在しているということを当業者は認識するであろう。例えば、ポーリング手法を用いてサービス・プロバイダの現在のステータスを判定し得る。あるいは、サービス・プロバイダは、そのステータスが動作状態にあることを維持するために所定の時点でサービス・プロバイダ利用可能性検出器６０６に心拍信号を発出することが必要であり得る。更に、上記方法は、サービス・プロバイダ利用可能性検出器６０６により、種々のやり方で組み合せ得る。  
サービス・プロバイダ属性収集器６０８は、ワークフローのタスク又はジョブを完了するうえでサービス・プロバイダ・コンピュータ１２２ａ乃至１２０ｎの性能を監視するためのソフトウェア及びルーチンである。例えば、サービス・プロバイダ属性収集器６０８は、プロセッサ（例えば、プロセッサ４０２）によって実行可能なルーチンである。別の実施例では、サービス・プロバイダ属性収集器６０８は、本明細書及び特許請求の範囲記載の動作を行うよう特に構成されたハードウェア・モジュールである。サービス・プロバイダ属性収集器６０８の動作は図９の方法を参照して以下に更に詳細に説明する。サービス・プロバイダ属性収集器６０８は、各種ソースからサービス・プロバイダに関する種々の情報を収集する。例えば、サービス・プロバイダ属性収集器６０８は、種々のサービス・プロバイダの性能に関する情報を収集する。この情報の収集は、ａ）ネットワーク１０４から捕捉された統計及び他のデータに基づいて部分的に自動であり、ｂ）部分的に、サービス・プロバイダの特性に基づいてユーザから求められる。あるいは、この情報の収集は、手動であり、ｃ）種々の証明などの、サービス・プロバイダが有し得る特定の基準に関してサービス・プロバイダから自ら提供される。サービス・プロバイダ属性収集器６０８によって収集される属性の例示的なリストは表１において以下に示す。  
【表１】
2013543604.tif 000003
【００２７】
一実施例では、サービス・プロバイダ属性収集器６０８は、システム１００にわたって分散しており、ストローク及び画像ワークフロー・サーバ１０６のサービス・プロバイダ選択モジュール４３２において動作可能な集約及び記憶部を含む。この実施例では、サービス・プロバイダ属性収集器６０８は更に、サービス・プロバイダ・コンピュータ１２２により、文書の処理についての情報を収集し、その情報を、サービス・プロバイダ選択モジュール４３２における集約及び記憶部分に送出する。そのために、携帯用計算装置１０２、サービス・プロバイダ・コンピュータ１２２、又はバックアップ・サーバ５１２などの、システムにおける種々の場所において動作可能なシン・クライアント収集器アプリケーションを含む。サービス・プロバイダ属性収集器６０８は、サービス・プロバイダ・コンピュータ１２２、携帯用計算装置１０２、及びサービス・プロバイダ属性記憶装置６１２に結合される。サービス・プロバイダ属性収集器６０８は、サービス・プロバイダ・コンピュータ１２２、携帯用計算装置１０２から、かつ、任意的には、バックアップ・サーバ５１２からサービス・プロバイダの性能についての情報を受け取る。サービス・プロバイダ属性収集器６０８は、サービス・プロバイダ選択エンジン６１０によって使用するためにサービス・プロバイダ属性記憶装置６１２にこの情報を記憶する。  
一実施例では、サービス・プロバイダ属性収集器６０８は更に、一貫性のために、携帯用計算装置１０２及びサービス・プロバイダ・コンピュータ１２２から受け取られた情報を検査する。例えば、情報に一貫性がある場合、サービス・プロバイダ属性記憶装置６１２に情報が送出され、記憶される。しかし、情報に一貫性がない場合、サービス・プロバイダ属性収集器は、どのデータが正確かを判定するために種々の解析工程のうちの１つを行う。例えば、サービス・プロバイダ属性収集器６０８は、１）データを廃棄し、２）どのデータ源が正確であるかをサービス・プロバイダ属性収集器６０８が判定しようとするアービトレーション処理を開始することを行うことが可能である。更に、３）デフォルトで、サービス・プロバイダからのデータに対して、携帯用計算装置１０２からのデータを受け入れ、４）検証モジュール４３０にアクセスして、どのデータ源が正確であるかを判定すること等を行うことが可能である。別の実施例では、サービス・プロバイダ属性収集器６０８は、クライアント収集器アプリケーションを必要しない。その代わりに、携帯用計算装置１０２、ストローク及び画像ワークフロー・サーバ１０６及びサービス・プロバイダ・コンピュータ１２２のログにアクセスする。ログに記憶された情報を使用して、サービス・プロバイダ属性収集器６０８は、サービス・プロバイダの性能についてのいくつかの統計を収集することが可能である。  
サービス・プロバイダ属性収集器６０８が更に、携帯用計算装置１０２を介してユーザ・フィードバックを収集し、調査をユーザに向けて提示するためのソフトウェア及びルーチンを含んでいるということを当業者は理解するであろう。同様に、サービス・プロバイダ属性収集器６０８は更に、サービス・プロバイダによって記入するためにサービス・プロバイダ・コンピュータ１２２に調査、テーブル、及び他のフォームを提示するためのソフトウェア及びルーチンを含む。よって、サービス・プロバイダ属性収集器６０８は、３つのソースからの情報を収集し、集約することができる。上記情報は、１）行われた活動により、別個に収集され、検証された情報、及びネットワーク１０４上で送受信された文書、２）携帯用計算装置１０２により、ユーザによって提供された情報である。上記情報は、更に、３）サービス・プロバイダ・コンピュータ１２２によって提供された情報である。
【００２８】
サービス・プロバイダ属性記憶装置６１２は、サービス・プロバイダ属性及び他の情報を記憶するための通常のタイプのメモリである。一実施例では、サービス・プロバイダ属性記憶装置６１２は揮発性メモリであり、別の実施例では、サービス・プロバイダ属性記憶装置６１２は、フラッシュ・メモリやハード・ディスクなどの不揮発性メモリである。更に別の実施例では、サービス・プロバイダ属性記憶装置６１２は、通信及び機能的な能力を含む。上記通信及び機能的な能力は、他のユーザにとってのアクセスの容易性及び冗長度のために別のハードウェア・サーバ又はネットワーク記憶装置にサービス・プロバイダ属性情報をバックアップするためのものである。一実施例では、サービス・プロバイダ属性記憶装置６１２は、容易にすばやく情報にアクセスすることが可能であるように順番に別々のサービス・プロバイダについての情報を記憶するためのデータベースを含む。サービス・プロバイダ属性記憶装置６１２は、新たな、又は修正された属性情報を受け取るためにサービス・プロバイダ属性収集器６０８に結合される。サービス・プロバイダ属性記憶装置６１２は更に、サービス・プロバイダ選択エンジン６１０に結合される。上記結合は、ワークフローの特定のタスク又はジョブのためにどのサービス・プロバイダを推奨又は使用するかの判定を行ううえでサービス・プロバイダ選択エンジン６１０がサービス・プロバイダ属性情報にアクセスすることが可能であるように行われる。
【００２９】
サービス・プロバイダ選択エンジン６１０は、ワークフローのジョブ又はタスクを行うためにサービス・プロバイダを選択するためのソフトウェア及びルーチンである。例えば、サービス・プロバイダ選択エンジン６１０は、プロセッサ（例えば、プロセッサ４０２）によって実行可能なルーチンである。別の実施例では、サービス・プロバイダ選択エンジン６１０は、本明細書及び特許請求の範囲記載の動作を行うよう特に構成されたハードウェア・モジュールである。種々の実施例では、サービス・プロバイダ選択エンジン６１０は、加重和アルゴリズム、ファジー・ロジック、又は確率モデリングを使用して、ユーザによって提供された属性選好に最も一致するサービス・プロバイダを選択する。サービス・プロバイダ選択エンジン６１０の動作は、図１０乃至図１１を参照して以下に更に詳細に説明する。  
一実施例では、サービス・プロバイダ選択エンジン６１０は、ユーザ選好の入力に応じて、４つのモードのうちの１つにおいて動作する。第１のモード（手動モード）では、サービス・プロバイダ選択エンジン６１０は単に、ネットワークを介して利用可能なサービス・プロバイダを識別し、ユーザのリストにおいてそれを提示する。これは、何れかのタスクを行うために利用可能なサービス・プロバイダ全てのリストであり、サービス・プロバイダ選択エンジン６１０は、何れのタイプのフィルタリングも提供するものでない。第２のモード（半自動モード）では、サービス・プロバイダ選択エンジン６１０は、ネットワーク１０４上で利用可能なサービス・プロバイダを識別する。サービス・プロバイダ選択エンジン６１０は、次いで、どの属性がユーザにとって最も重要であるかについてのユーザ選好により、利用可能なサービス・プロバイダをフィルタリングする。第２のモードでは、ユーザの選好を満たす限定数の（例えば、３乃至５の）サービス・プロバイダのリストが提示され、ユーザは、サービス・プロバイダのうちの１つを選択してジョブ又はタスクを行う。第３の動作モード（自動モード）では、サービス・プロバイダ選択エンジン６１０は、ネットワーク１０４上で利用可能なサービス・プロバイダを識別する。サービス・プロバイダ選択エンジン６１０は、次いで、サービス・プロバイダ属性についてのユーザ入力選好に最もよく一致するサービス・プロバイダを選択し、次いで、完了するために、タスク又はジョブを、選択されたサービス・プロバイダに送出する。この処理は、ユーザが、自分の選好を当初、入力した後に如何なる動作も行う必要がない点で完全に自動であり、サービス・プロバイダ選択モジュール４３２はワークフロー内の各工程を自動的に処理する。第４の動作モード（阻止を伴う自動モード）では、サービス・プロバイダ選択エンジン６１０は、前述した第３のモードと同様に動作する。しかし、何れかの後の時点で、ユーザは、サービス・プロバイダがリスト上に現れることを阻止する旨を決定することが可能である。例えば、他の考慮点を無視して自分のサービスを相当安く販売していたＯＣＲサービス・プロバイダは、劣悪なサービスについて顧客により、又は、サービスを使用し、返された結果を好まなかった顧客によって阻止され得る。同様に、顧客は、悪い経験の後、サービス又は製品の売り手との協働を拒否し、このシステムのユーザは、悪い経験があったプロバイダを除外するよう自動処理を修正することが可能である。  
方法  
次に図７乃至図１１を参照して、本発明の方法を更に詳細に説明する。
【００３０】
次に図７、図８Ａ、及び図８Ｂを参照するに、本発明による、グラフィカル・ユーザ・インタフェース（ＧＵＩ）を表示し、ユーザ選好を収集する方法７００の一実施例を説明する。図７に示すように、方法は、ユーザ選好の入力を開始する旨の入力信号をサービス・プロバイダ選択モジュール４３２が受け取る（７０２）ことで始まる。これに応じて、ユーザ選好収集器及びＧＵＩ６０２は計算パッド２０２の提示モジュール３２２と通信して、自動処理のレベルを選択するために、ユーザ・インタフェース８００（図８Ａを参照されたい）を表示する（７０４）。  
図８Ａ及び図８Ｂは、本発明による、自動選択及びプロバイダ属性選択のレベルのユーザ・インタフェース８００、８５０の実施例のグラフィック表現を示す。図８Ａ及び図８Ｂは、自動選択のレベルのためのユーザ・インタフェース８００が、サービス・プロバイダ属性選択のためのユーザ・インタフェース８５０と別個であることを示している。一方、他の実施例では、ユーザにとって最も重要なサービス・プロバイダの属性及び自動選択のレベルの選択のための選択肢を同時に提示する単一のユーザ・インタフェースに前述の２つのユーザ・インタフェース８００、８５０を組み合わせることが可能である。  
次に図８Ａを参照するに、自動的なプロバイダ選択のレベルを選択するためのユーザ・インタフェース８００を更に詳細に説明する。サービス・プロバイダ選択エンジン６１０の説明において上述したように、本発明は４つの動作モードを提供する。前述の動作モードは、サービス・プロバイダの自動選択の別々のレベルに対応する。ユーザは、サービス・プロバイダの自動選択、阻止を伴う自動選択、半自動選択、又は手動選択から選択することが可能である。完全自動モードでは、サービス・プロバイダ選択エンジン６１０及びサービス・プロバイダ選択モジュール４３２は、どの属性が最も重要であるかについてのユーザの選好に基づいてタスク又はジョブを行うためにサービス・プロバイダを自動的に選択する。阻止を伴う自動モードでは、サービス・プロバイダ選択エンジン６１０及びサービス・プロバイダ選択モジュール４３２は、どの属性が最も重要であるかについてのユーザの選好に基づいてタスク又はジョブを行うためにサービス・プロバイダを自動選択する。自動選択が行われる前に、ユーザによって規定された何れかの阻止されたプロバイダを除外するようプロバイダのリストがフィルタリングされる。半自動モードでは、サービス・プロバイダ選択エンジン６１０及びサービス・プロバイダ選択モジュール４３２は、ユーザ選好に基づいてタスク又はジョブを行うために限定数のサービス・プロバイダのリストを作成する。ユーザは次いで、ユーザ選好を満たすフィルタリングされたサービス・プロバイダの限定されたリストからサービス・プロバイダを選択する。手動モードでは、サービス・プロバイダ選択エンジン６１０はサービス・プロバイダ利用可能性検出器６０６と協調して、タスク又はジョブを行うために現在利用可能なサービス・プロバイダを判定する。利用可能なサービス・プロバイダのフィルタリングされていないリストがユーザに提示され、ユーザはタスク又はジョブを行うためにサービス・プロバイダを選択しなければならない。図８Ａに示すように、ユーザ・インタフェース８００は、ユーザが自分の動作モードを選択することを可能にするウィンドウを表示する。ユーザ・インタフェース８００は、４つの動作モードのうちの１つの選択のための対応するラジオ・ボタン及び自動選択の別々のレベルに対応する一連のラベル８０２、８１２、８０４、８０８を含む。一実施例では、ユーザ・インタフェース８００は、１つの動作モード又はその対応するラジオ・ボタンのみをユーザが選択することを可能にする。ユーザ・インタフェース８００は、半自動動作及び対応するラベル８０６のリストにサービス・プロバイダ選択エンジン６１０が含むべき最大数の結果を入力するための入力ボックスも含む。ユーザは、自動的なサービス・プロバイダ選択のレベルを選択すると、ユーザ選好収集器及びＧＵＩ６０２にその選択を送出するために送出ボタン８１０を選択する。  
もう一度、図７を参照するに、方法は、サービス・プロバイダ選択モジュール４３２が行うべき自動選択のレベルについてのユーザ入力を受け取る（７０６）ことによって続く。上述のように、この入力は、ユーザが送出ボタン８１０を選択することに応じてユーザ選好収集器及びＧＵＩ６０２に提供される。方法は、ユーザ選好記憶装置６０４に、工程７０６で受け取られた入力を記憶する（７０８）によって続く。次いで、方法は、属性の選択及びランク付けのためにユーザ・インタフェース８５０を表示する（７１０）ことによって続く。  
属性の選択及びランク付けのためのユーザ・インタフェース８５０の一実施例の例を図８Ｂに示す。次に、更に図８Ｂを参照するに、プロバイダ属性の選択のためのユーザ・インタフェース８５０を更に詳細に説明する。ユーザ・インタフェース８５０は、複数の列を有するウィンドウを含み、第１の列はプロバイダ属性を列挙し、第２の列は、（対応する行上の）その属性の重要度をユーザが示すための入力機構を提供する。例えば、図８Ｂに示すように、左側の列は属性のリスト（属性Ａ８５２乃至属性Ｎ８５２）を含む。一実施例では、第１の列の行はユーザによって選択することが可能であり、ユーザには、プロバイダ全ての属性全てを列挙したドロップダウン・メニューが提示される。このようにして、ユーザは、ユーザが懸念を持っているか、又はユーザにとって重要な属性のその自らのリストを作成し得る。属性リストは、１つ乃至全ての属性からの何れかの数の属性を含む。更に、別の実施例では、最も重要な属性は、最も重要なものから最も重要でないものまで順番に列挙している。更に別の実施例では、属性は第１の列にアルファベット順に列挙される。図８Ｂに示すように、第２の列又は右側の列は、対応する行に列挙された属性の重要度をユーザが示すための入力機構を含む。この例では、各属性は、属性の重要度のレベルを示す位置表示子８５６、８５８、８６０，８６６、及び対応するスライダ・バー８５４を含み、左側の位置は、より低い重要度を示し、右側の位置は、より大きな、又はより高い重要度を示す。例えば、属性Ａ及び属性Ｎ８５２はマーク８５６、８６６の位置によって示されるような低レベル重要度を有する一方、属性Ｂ８５２は、位置マーク８５８によって示されるような最高レベルの重要度を有し、属性Ｃ８５２は、位置マーク８６０によって示されるような属性Ｂ８５２の重要度レベルに近い高いレベルの重要度を有する。スライダ・バー及び位置マークの入力機構は、単に、属性の重要度を示す一方法である。別の実施例では、入力機構は、１乃至５などのスケール上の重要度を表す数字を入力する。属性の重要度を示すために使用することが可能な種々の他の実現形態が存在しており、上記は、いくつかの例のリストに過ぎないということを当業者は認識するであろう。第１の列の一番下近くに、ユーザ・インタフェース８５０は、属性の追加又は削除のためのボタン８６２、８６４を備える。ユーザは、第１の列から属性８５２を選択し、次いで、ボタン８６４（削除用）を選択することが可能であり、属性はそのリストから削除される。同様に、ユーザは行を選択し、次いで、ボタン８６２（追加用）を選択することが可能であり、メニュー又はウィンドウが、利用可能な属性のリストとともにユーザに提示される。ユーザは、列挙された属性のうちの１つを選択し、リストに追加される。  
もう一度、図７を参照すれば、方法は、特定の属性、及びその重要度についての入力を受け取る（７１２）ことによって続く。方法は次いで、ユーザ選好記憶装置６０４に、工程７１２（属性及びその重要度）からの、受け取られた入力を記憶する（７１４）。次いで、方法は、タイムアウト条件が生じたか否か、又は属性がもう修正されないか否かを判定する（７１６）。何れかの条件が真の場合、方法は完了し、終了する。しかし、ユーザが属性を追加又は除去するか、又はその重要度を修正する場合、方法は、ユーザ・インタフェース８５０を更新（７１８）し、属性の選択のための更新されたユーザ・インタフェースを表示するために工程７１０に戻ることにより、続く。方法は次いで、工程７１２、７１４、及び７１６を繰り返す。  
次に図９を参照すれば、サービス・プロバイダ属性を収集し、記憶する方法９００の一実施例を説明する。方法は、サービス・プロバイダ属性収集器６０８が、サービス・プロバイダに情報を要求し（９０２）、サービス・プロバイダ属性記憶装置６１２に応答を記憶することで始まる。次いで、サービス・プロバイダ属性収集器６０８は、サービス・プロバイダに対する要求を求めて、ストローク及び画像ワークフロー・サーバ１０６を監視する（９０４）。ストローク及び画像ワークフロー・サーバ１０６によって生成されたサービス・プロバイダに対する要求毎に、サービス属性収集器６０８は、レコードを生成し、そのレコードをサービス・プロバイダ属性記憶装置６１２に記憶する。ストローク及び画像ワークフロー・サーバ１０６による要求の送出は、統計のレコードを完了することにおける第１の工程である。上記統計は、要求にどのようにして応答され、要求がどのようにして満たされたかについての情報を収集し、要求にどのようにして応答され、要求がどのようにして満たされたかについてである。次に、方法は、ストローク及び画像ワークフロー・サーバ１０６からのサービス・プロバイダに対する要求を受け付けるサービス・プロバイダを識別する（９０６）。一実施例では、サービス・プロバイダ属性収集器６０８は、サービス・プロバイダ毎に一意の識別番号を提供する。一意のサービス・プロバイダ識別番号はサービス・プロバイダ属性記憶装置６１２に記憶される。次いで、方法は、サービス・プロバイダに対する要求の完了に関する統計を捕捉する（９０８）。例えば、要求が受け付られた時間、文書がサービス・プロバイダに配信された時間、応答がサービス・プロバイダによって提供される時間、処理前及び処理後の文書のサイズが捕捉される。更に、応答若しくは結果のサイズ、又はジョブ若しくはタスクの成果に関する応答又は結果、及び他の統計のサイズが捕捉される。
【００３１】
例えば、前述の情報を捕捉するための方法は、「Ｐａｐｅｒ−Ｌｉｋｅ  Ｆｏｒｍｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ  ＆  Ｍｅｔｈｏｄ」と題する西暦２００９年９月８日付の米国特許出願第１２／５５５，６６３号に開示されている。又、上記方法は、「Ｄｅｖｉｃｅ  Ｅｎａｂｌｅｄ  Ｖｅｒｉｆｉａｂｌｅ  Ｓｔｒｏｋｅ  Ａｎｄ  Ｉｍａｇｅ  Ｂａｓｅｄ  Ｗｏｒｋｆｌｏｗｓ」と題する西暦２００９年９月８日付の米国特許出願第１２／５５５，６６９号に開示されている。又、上記方法は、「Ｓｔｒｏｋｅ  Ａｎｄ  Ｉｍａｇｅ  Ａｇｇｒｅｇａｔｉｏｎ  Ａｎｄ  Ａｎａｌｙｔｉｃｓ」と題する西暦２００９年９月８日付の米国特許出願第１２／５５５，６７５号に開示されている。更に、上記方法は、「Ｍｕｌｔｉ−ｐｒｏｖｉｄｅｒ  Ｆｏｒｍｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ  ｗｉｔｈ  Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ」と題する西暦２００９年９月８日付の米国特許出願第１２／５５５，６８３号に開示されている。本明細書及び特許請求の範囲にこれらの内容全体を、参照によって援用する。次に、方法は、サービス・プロバイダ属性記憶装置６１２における統計に、識別されたサービス・プロバイダを記憶する（９１０）ことにより、続く。次いで、方法は、ストローク及び画像ワークフロー・サーバ１０６によって送出されている、サービス・プロバイダに対する更なる要求が存在しているか否かを判定する（９１２）。肯定の場合、方法は、工程９０４に戻り、次の要求について工程９０６乃至９１２を繰り返す。否定の場合、方法は工程９１４まで続けて、ユーザからの成果のフィードバックを要求し、ユーザ・フィードバックをサービス・プロバイダ属性記憶装置６１２に記憶する。工程番号４の後、方法は完了し、終了する。図９を参照して説明した上記処理は３つのタイプのデータを収集する。３つのタイプのデータは、サービス・プロバイダからのデータと、ユーザからのデータと、画像ワークフロー・サーバ１０６、携帯用計算装置１０２、及びサービス・プロバイダ・コンピュータ１２２の動作から自動的に接続されるデータである。前述の各種データの収集は、何れの順序でも行うことが可能である。例えば、工程９０２、工程９０４乃至９１２、及び工程９１４は、上述の順序と異なる順序で通知され得る。更に、システム１００の別々の構成部分から自動的に収集された統計は、システムの他の構成部分による、サービス・プロバイダ属性収集器６０８への自動報告などの他のやり方で行うことが可能であるということを当業者は認識するであろう。  
次に図１０及び図１１を参照すれば、サービス・プロバイダ選択エンジン６１０及びサービス・プロバイダ選択モジュール４３２の２つの動作モードを説明する。サービス・プロバイダ選択エンジン６１０は、ワークフロー・タスクを有する特定のユーザにとってのサービス・プロバイダの選択にどの動作モードが使用されるかを判定するためにユーザ選好記憶装置６０４にアクセスする。上記ワークフロー・タスクは、ストローク及び画像ワークフロー・サーバ１０６によって割り当てられ、行われる対象である。サービス・プロバイダ選択エンジン６１０は、ユーザ選好記憶装置６０４からの自動選択のレベルについてユーザ選好を読み取り、ユーザの設定に応じ、このユーザの動作モードを設定する。これにより、サービス・プロバイダ選択エンジン６１０が、手動モード、半自動モード、又は自動モードで動作することがもたらされる。手動モードにおけるサービス・プロバイダ選択エンジン６１０の動作は上述しており、ここではその記載は繰り返さない。自動モードでのサービス・プロバイダ選択エンジン６１０の動作は図１０を参照して以下に説明し、半自動モードにおけるサービス・プロバイダ選択エンジンの動作は図１１を参照して以下に説明する。  
次に図１０を参照すれば、本発明によるサービス・プロバイダの方法自動選択の一実施例を説明する。方法は、サービス・プロバイダの自動選択に対するユーザ選好、ユーザにとっての重要度の属性、及び各属性の重要度ランキングを収集し、記憶する（１００２）ことによって始まる。この工程を行う一方法を、図７を説明して上述している。次いで、方法は、サービス・プロバイダの属性を収集し、記憶する（１００４）。この工程を行う一方法は図９を参照して上述している。次に、方法は、ユーザ又は要求者のために行う対象のサービス要求を識別する（１００６）。次いで、サービス・プロバイダ利用可能性検出器６０６は、ネットワーク１０４に現在接続されており、サービス要求の実行に利用可能なサービス・プロバイダのリストを生成する。次に、サービス・プロバイダ選択エンジン６１０は、ユーザ選好記憶装置６０４から取り出されたユーザ選好、及びサービス・プロバイダ属性記憶装置６１２から取り出されたサービス・プロバイダ属性を比較する。それにより、要求されたサービスの実行に最善のサービス・プロバイダを動的に判定する。サービス・プロバイダの選択が完全自動であるこの方法では、サービス・プロバイダ選択エンジン６１０は、利用可能なサービス・プロバイダの属性と、ユーザの属性選好との間の最善の一致のみを判定すればよい。この判定は、いくつかのやり方で行い得る。  
一実施例では、サービス・プロバイダ選択エンジン６１０は、サービス・プロバイダ毎の加重和を算出し、最高の加重和を有するサービス・プロバイダを選択することにより、要求されたサービスを行うために最善のサービス・プロバイダを判定する。一実施例では、サービス・プロバイダは、要求のタスク又はジョブに一致するサービスを提供するサービス・プロバイダのみの加重和が算出されるような第１のフィルタである。例えば、考えられる別のサービス・プロバイダ毎に、選択された測定済のパラメータ又は属性Ｐの組に、その相対的な重要度を示す加重因子Ｗが割り当てられる。観察値に加重因子が乗算され、和Ｓが計算される。
【数１】
2013543604.tif 000004
【００３２】
最高の和Ｓを有するサービス・プロバイダが、最善のサービス・プロバイダとして選ばれる。  
別の実施例では、サービス・プロバイダ選択エンジン６１０は、ファジー・ロジックを使用して、要求されたサービスを行うために最善のサービス・プロバイダを判定する。この実施例では、（例えば、Ｚａｄｅｈ，  Ｌ．Ａ（１９６５）、「Ｆｕｚｚｙ  ｓｅｔｓ」、Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ  ８（３）：３３８−３５３に記載されたような）ファジー・ロジックが、代替案の中から選ぶために使用される。パラメータ又は属性Ｐそれぞれには、特定のファジー状態を表す一定の範囲の値が割り当てられる。例えば、スループットと呼ばれるパラメータは、そのタスクを達成する前にアプリケーションが平均的に実行する秒数で測定し得る。品質と呼ばれる第２のパラメータは、行われた千タスク毎の、顧客による却下の数を測定し得る。更なるルールは、前述のファジー状態の点での望ましさを規定し得る。前述のルールは、ＦＣＬ（国際電子技術委員会（ＩＥＣ）によって作成されたファジー・ロジック表現を表すための言語）で表現し得る。例えば、以下のＦＣＬ擬似コードは、速度に基づいてサービスを選ぶが、劣悪な品質のサービスを却下するための単純なファジー・ロジック・ルールの組を規定し得る。
【００３３】
【表２】
2013543604.tif 000005
この制御構文があれば、（これが一実施例に過ぎない）提供されたパラメータに基づいていくつかのファジー・ロジック・システムの何れかを策定し得る。  
更に別の実施例では、サービス・プロバイダ選択エンジン６１０は、確率論モデリングを使用して要求されたサービスを行うために最善のサービス・プロバイダを判定する。この実施例では、考えられるサービス・プロバイダのうちから選ぶためにエキスパート・システムが使用される。この実施例では、パラメータ又は属性Ｐ毎の範囲は、アプリケーションを推奨すべき確率を割り当てるために使用される。推論のベイズ・ルールは、前述の確率を、アプリケーションを推奨すべき最終的な確率に組み合わせるために使用される。前述のルールを策定するための手法がいくつか存在しており、最も一般的なものは、「前方連鎖の」エキスパート・システムのルール、又は「後方連鎖の」エキスパート・システムのルールである。前述のルールは、「速度が＜０．１の場合、望ましさは高い」という文などのｉｆ−ｔｈｅｎ文のようにみえる。更に、確率理論、及びデンプスター・シェファーの決定理論、古典的決定理論などの種々の他の数学的手法を、種々の複雑な代替案の中から決定するために使用することが可能である。上記種々の他の数学的手法が、この場合に適用し得る代替的なアルゴリズムを提供する。  
もう一度、図１０を参照すれば、方法１０００は、完了するために、動的に判定された最善のサービス・プロバイダに対する要求を送出する（１０１２）ことによって完了する。  
次に図１１を参照すれば、本発明によるサービス・プロバイダの半自動選択の方法１１００の一実施例を説明する。方法は、ユーザ選好を収集し、記憶し（１００２）、サービス・プロバイダの属性を収集し、記憶し（１００４）、サービス要求を識別し（１００６）、サービス・プロバイダのリストを求める（１００８）ことによって始まる。工程１００２、１００４、１００６、及び１００８は図を参照して上述した工程と同じであり、よって、説明はここでは繰り返さない。次に、方法は、現在、ネットワークに接続されており、サービス要求の実行に利用可能なサービス・プロバイダのリストをフィルタリングする（１１０２）。例えば、方法は、ユ―ザの選好、及びサービス・プロバイダの属性を比較することにより、利用可能なサービス・プロバイダのリストを動的にフィルタリングする。一実施例では、この動的フィルタリング工程は、最善のサービス・プロバイダを判定するために図１０を参照して上述したものと同様に行われる。すなわち、サービス・プロバイダのリストは、加重和アルゴリズム、ファジー・ロジック、又は確率論モデリングを使用して動的にフィルタリングすることが可能である。例えば、最高の加重和を有するサービス・プロバイダを選ぶ代わりに、加重和アルゴリズムが使用された場合、工程１１０２の方法は、最高の加重和値を有するサービス・プロバイダのリストを生成することになる。この実施例は、和Ｓが最高の最上位のｋ個のアイテムのリストを提供し、ｋは、ユーザによって要求されたアイテムの数である。例えば、ユーザが、最善の３つの一致を生成し、列挙する旨の選好として設定した場合、方法は、最高の３つの加重和値を備えたサービス・プロバイダのリストを生成することになる。同様に、モデリング時に公表されたファジー・ロジックは、ユーザの属性の選好に最もよく一致するサービス・プロバイダのリストを生成するために使用することが可能である。前述の手法の何れかは更に、ユーザの選好に応じて、変動する長さのリストを生成することも可能である。方法は、サービス・プロバイダのショート・リストを要求側に提示する（１１０４）ことによって続く。これは、提示モジュール３２２により、ユーザに向けて提示するためのリストをサービス・プロバイダ選択エンジン６１０が提供することによって行うことが可能である。携帯用計算装置１０２は、サービス・プロバイダのショート・リストからのサービス・プロバイダについて、ユーザからの入力選択を受け取る。携帯用計算装置１０２は、入力をサービス・プロバイダ選択エンジン６１０に送出する。サービス・プロバイダ選択エンジン６１０は、サービス・プロバイダの選択を受け取り（１１０６）、完了するために、選択的なサービス・プロバイダにサービス要求を送出し（１１０８）、方法が終了する。  
本発明の実施例の上記説明は、例証及び説明の目的で提示している。これは、網羅的であることを意図するものでなく、本発明を、開示された厳密な形態に制限することを意図しているものでない。上記教示に照らして多くの修正及び変更が考えられる。本発明の範囲が、この詳細な説明によって制限されず、本願の請求項によって制限される。当業者によって理解されるように、本発明は、その趣旨又は本質的な特性から逸脱しない限り、他の特定の形態で実施することができる。同様に、モジュール、ルーチン、構成、属性、方法論、及び他の局面の特定の命名及び区分は必須でも重要でもなく、本発明又はその構成を実現する機構は、異なるネーム、区分、及び／又はフォーマットを有し得る。更に、当業者に明らかになるように、本発明のモジュール、ルーチン、構成、属性、方法論、及び他の局面は、ソフトウェア、ハードウェア、ファームウェア、又はこれら３つの何れかの組み合わせとして実現することが可能である。更に、本発明の構成部分（この一例は、モジュールである）がソフトウェアとして実現される場合には、上記構成部分は、スタンドアロン・プログラムとして実現され得、より大きなプログラムの一部として実現され得る。上記構成部分は、別個の複数のプログラムとして実現され得、静的又は動的にリンクされたライブラリとして実現され得る。上記構成部分は、カーネル・ロード可能なモジュールとして実現され得、デバイス・ドライバとして実現され得る。あるいは、現在若しくは将来にコンピュータ・プログラミングの技術分野において知られている他のやり方全てで実現される。更に、本発明は、何れかの特定のプログラミング言語における実現形態、又は、何れかの特定のオペレーティング・システム若しくは環境のための実現形態に決して制限されるものでない。よって、本発明の開示は、以下の特許請求の範囲に記載された本発明の範囲を例証することを意図しており、上記本発明の範囲を限定することを意図するものでない。  
本出願は、２０１０年９月１０日付け出願の米国特許出願を基礎とし、米国特許出願第１２／８７９，１４８号の優先権の利益を主張する。
【図１】
2013543604.tif 000006
【図２Ａ】
2013543604.tif 000007
【図２Ｂ】
2013543604.tif 000008
【図３】
2013543604.tif 000009
【図４】
2013543604.tif 000010
【図５】
2013543604.tif 000011
【図６】
2013543604.tif 000012
【図７】
2013543604.tif 000013
【図８Ａ】
2013543604.tif 000014
【図８Ｂ】
2013543604.tif 000015
【図９】
2013543604.tif 000016
【図１０】
2013543604.tif 000017
【図１１】
2013543604.tif 000018
【国際調査報告】
2013543604.tif 000019