ペーパーライクフォーム処理のための方法及びシステム
【課題】ユーザが何らかの特別なトレーニングを受けることを必要とせずに、紙の場合のような方法で文書処理を行うこと。
【解決手段】本システムは、ネットワークを介してペーパーライクフォームサーバに結合された複数のコンピュータ装置を有する。携帯用コンピュータ装置は、画像(例えば、複合文書/フォーム)を受信し、受信した画像にストローク注釈を加え、受信して注釈を加えた画像又はストローク注釈自体をサーバに送信する。サーバは、セントラルスケジューラ及びロギングモジュールを有する。サーバは、複合文書を紙のフォームのように処理し、サービスプロバイダへ/からの入力送信/結果受信を行い、様々なタイプのペーパーライク処理を実行する。サーバは、スケジューリング、ルーティング、ロギング、検証すること及び課金すること等を実行する。セントラルスケジューラは、後に備えてサービスプロバイダからの結果を保存する。
【解決手段】本システムは、ネットワークを介してペーパーライクフォームサーバに結合された複数のコンピュータ装置を有する。携帯用コンピュータ装置は、画像(例えば、複合文書/フォーム)を受信し、受信した画像にストローク注釈を加え、受信して注釈を加えた画像又はストローク注釈自体をサーバに送信する。サーバは、セントラルスケジューラ及びロギングモジュールを有する。サーバは、複合文書を紙のフォームのように処理し、サービスプロバイダへ/からの入力送信/結果受信を行い、様々なタイプのペーパーライク処理を実行する。サーバは、スケジューリング、ルーティング、ロギング、検証すること及び課金すること等を実行する。セントラルスケジューラは、後に備えてサービスプロバイダからの結果を保存する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散したコンピュータシステムに関連する。より具体的に言えば、本発明は、プロバイダ及びクライアント装置の間で処理を分散するシステム及び方法に関連する。さらに具体的に言えば、本発明は、ペーパーライクフォーム処理(paper like form processing)を行う分散システムに関連する。
【背景技術】
【0002】
従来、多くのデータ処理は、紙のフォームを用いて、そのようなフォームを手作業で完成させて処理することで実行されている。紙のフォームは使用するのに便利であり、何らかの訓練(トレーニング)を要しない。紙のフォームの場所自体が、完了しつつあるワークフローの進捗状況を反映している。紙は、署名のような固有の識別情報、コメント又はスケッチが付加される媒体も提供する。フォームは、ほとんどのオフィス環境の至る所で使用されており、通常の紙ベースのワークフローにおいて重要な部分となっている。しかしながら、そのような紙を用いたワークフローに関し、欠点がないわけではない。特に、長距離にわたって及び分散したオフィスにわたってフォームを配布することは、コスト高で遅いことに加えて、コピーをとらなければならに。さらに、紙のフォームの利便性は限られており、ワークフローによって処理され完了したフォームを保存するコストも高くつく。
【0003】
多種多様なフォームを使用するコンピュータ装置により、これらの欠点を克服する試みがなされている。一般的に多くのユーザに利用可能なコンピュータ装置の利用形態は、ネットワークに結合されたデスクトップコンピュータのような小規模で均一な一群のコンピュータ装置から、機能及び演算能力が著しく異なる大規模で不均一な一群のコンピュータ装置に至るまで大きく変化してきた。例えば、ネットワーク、サーバ及び周辺装置を利用できるように結合されているコンピュータ装置は幾つでも存在し、そのようなコンピュータ装置は、限定ではないが、パーソナルコンピュータ、パーソナルディジタルアシスタント、スマートフォン、ラップトップコンピュータ、ノートブックコンピュータ、イーブックリーダ(電子書籍端末)及びディジタルカメラ等である。これらの装置の多くは、有線又は無線によりネットワークを介して通信する機能を有するが、サービスプロバイダとの間や、ワークフローを実行する他の周辺装置との間のインターフェースの機能は、極めて制約されている。なぜなら、周辺装置の各々は、異なるデータ通信プロトコルに従う必要があり、自分自身のアプリケーションインターフェースを持つ必要があり、データは、その周辺装置に特有のフォーマットでなければならず、それは他の周辺装置のフォーマットとしばしば異なる。
【0004】
他の例では「タブレットPC」が使用され、これは、本質的には、主にスタイラスによる入力を受け付けるように設計されたパーソナルコンピュータである。これらの装置は、メニュー、ファイルフォルダ及び任意のアプリケーションとともに、PCの機能を提供し、スタイラスとともに、これらの機能へのアクセスを容易にしている。場合によっては、ユーザインターフェースは、例えばカルテ(medical chart)のような特定の目的に特化している。この場合、ユーザは、PCのオペレーティングシステムの使い方を学ぶ必要はないが、その特定の用途のソフトウェアについては学ぶ必要がある。そのような装置は、一般に、装置と共に使用されるように意図されているバックエンドシステムがある場合にのみ有用である。電子メールシステムも存在するが、これは一般的に文書に注釈を付ける方法を提供せず、システムのセキュリティ用にユーザがパスワードを管理しなければならないという別の問題を招いてしまう。
【0005】
紙ベースのフォーム処理の欠点を克服する従来技術によるさらに別の試みは、セントラル化されたワークフローシステムを設けることである。しかしながら、そのようなセントラル化されたワークフローシステムは、ユーザ各々がログインすることをしばしば必要とし、さらに、カスタム化された膨大な量のプログラミングを必要とする。したがって、ワークフローに対する些細な変更でさえ、速やかに実行することはできない。むしろ、些細な変更でも専門のプログラマによる専用の修正を必要とし、セントラル化したシステムが所望のワークフローに適合するまでに、かなりの待ち時間を招いてしまうのが一般的である。さらに、そのようなセントラル化したシステムのワークフローは、電子文書の修正や任意のコメントに対応できない。一般に、そのようなシステムは、ユーザがシステムに完全に接続されている場合にアクセスできるようにするだけであり、ユーザは、セントラルシステムから文書を取り出し、ワードプロセッサを使って編集し、それらをシステムに戻す。そのようなセントラル化したワークフローシステムは、特殊なワークフロー、企業の人間ではない人々である「部外者」としての特別なグループ、又は全ての文書に対してグループメンバとして同じアクセス権が付与されるべきでないグループや特定の人々を区別して作成することを困難にしている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の課題は、従来の問題の少なくとも1つを軽減又は解決することである。
【課題を解決するための手段】
【0007】
本発明の一形態による方法は、
ペーパーライク処理サーバにおけるトランザクションの情報を含むトランザクションテンプレートを含む複合文書を受信し、
トランザクションステップ及び該トランザクションステップを行うサービスプロバイダを特定し、
前記複合文書を前記サービスプロバイダに送付し、
前記ペーパーライク処理サーバが、前記トランザクションステップの実行結果を受信し、
前記トランザクションの完了を示すエントリを、前記ペーパーライク処理サーバのグローバルトランザクションログに加えるステップ
を有するペーパーライクフォーム処理のための方法である。
【図面の簡単な説明】
【0008】
【図1】本発明によるペーパーライクフォーム処理システムの一例を示すブロック図。
【図2】本発明によるペーパーライクフォームサーバ一例を示すブロック図。
【図3】本発明による携帯用コンピュータ装置の一例を示すブロック図。
【図4A】本発明による複合文書の一例を示すブロック図。
【図4B】本発明による複合文書の一例を示す図。
【図5】本発明によるペーパーライクフォーム処理方法の一例を示すフローチャート。
【図6A】サービスプロバイダを利用して本発明による処理を実行する方法例を示すフローチャート。
【図6B】サービスプロバイダを利用して本発明による処理を実行する方法例を示すフローチャート。
【図7A】本発明におけるメッセージ及びログエントリを示す図。
【図7B】本発明におけるメッセージ及びログエントリを示す図。
【図7C】本発明におけるメッセージ及びログエントリを示す図。
【図7D】本発明におけるメッセージ及びログエントリを示す図。
【図7E】本発明におけるメッセージ及びログエントリを示す図。
【図8】サービスプロバイダによる処理に備えて文書を修正する本発明による方法例を示すフローチャート。
【発明を実施するための形態】
【0009】
本発明は、ペーパーライクフォーム処理システムにより従来の問題を克服する。本システムは、フォームを処理するための固有の文書構造(ロギング機能を有する)を提供できる点で、特に有利である。一実施例において、本発明によるシステムは、ネットワークを介してペーパーライクフォームサーバに結合された複数のコンピュータ装置を有する。他の実施例におけるペーパーライクフォーム処理システムは、コンピュータと、ネットワークに結合された1つ以上のサービスプロバイダとを含む。携帯用コンピュータ装置は、ディスプレイ機能部、ストローク捕捉機能部及び無線通信機能部を含む。携帯用コンピュータ装置は、画像(例えば、複合文書(compound document)/フォーム)を受信し、受信した画像にストローク注釈を加え、受信して注釈を加えた画像又はストローク注釈自体をペーパーライクフォームサーバに送信する。ペーパーライクフォームサーバは、セントラルスケジューラ及びロギングモジュールを有する。ペーパーライクフォームサーバは、請求(課金)モジュール、サービスプロバイダ管理評価モジュール、修正モジュール、再試行モジュール及び検証モジュールも有する。サービスプロバイダの各々は、ローカルなロギング(記録)のためのロギングモジュールも有する。ペーパーライクフォームサーバは、複合文書をペーパーライクフォーム(紙のフォーム)として処理し、サービスプロバイダへの入力を送信し、サービスプロバイダからの結果を受信し、複合文書に対する様々なタイプのペーパーライク処理を実行する。ペーパーライクフォーム処理システムは、ユーザが何らかの特別なトレーニングを受けることを必要とせずに、紙の場合のような方法で文書処理を行える点で、特に有利である。携帯用コンピュータ装置及びサービスプロバイダは、ペーパーライクフォームサーバとやり取りを行うための最小限の修正しか必要としない。ペーパーライクフォームサーバは、スケジューリング(予定を立てること)、ルーティング(送付すること)、ロギング(記録すること)、検証すること及び課金すること等を、複合文書のペーパーライク処理として実行する。セントラルスケジューラは、後に引き出す場合に備えてサービスプロバイダからの結果を保存する。
【0010】
本発明は様々な新規な方法も含み、例えば、複合文書のペーパーライク処理のための方法、複合文書をルーティングする方法、サービスプロバイダの処理のために文書を修正する方法等のような本発明による方法を含む。
【0011】
本願において説明される特徴及び利点は網羅的なものではなく、以下の詳細な説明及び図面を参照することで、多くのさらなる特徴や利点が当業者にとって明らかになるであろう。さらに、本明細書で使用されている言葉は、原則として読みやすさや説明を意図して選択されており、開示される発明の範囲を限定するものではないことに、留意を要する。
【0012】
本発明は、例示により説明され、添付図面に限定されるものではなく、図中、同様な参照番号が同様な要素を示すのに使用されている。
【0013】
ペーパーライクフォーム処理システムが説明される。以下の説明において、説明の目的で様々な具体的詳細が説明され、本発明の十分な理解を促す。しかしながら、本発明はそのような具体的詳細によらず使用可能であることは、当業者にとって明らかであろう。場合によっては、装置や構造はブロック図として示され、本発明を曖昧にしてしまうことを回避する。例えば、本発明は、一実施例において、ハードウェア及びソフトウェアプラットフォーム(例えば、アマゾンキンドル(Amazon Kindle))において実現される携帯用コンピュータ装置と共に説明されている。しかしながら、本発明は、インク、データ及びコマンドを取り込み、文書を電子的に送信することが可能な如何なるタイプの携帯用コンピュータ装置にも適用できる。
【0014】
本明細書における「一実施例」又は「形態」は、その実施例に関して説明される特定の特質、構造又は特徴が、本発明の少なくとも1つの実施例に含まれることを意味する。本明細書の様々な場所で「一実施例」なる用語が使用されているが、必ずしも全てが同じ実施例であるとは限らない。特に、本発明は以下において2つの別個のアーキテクチャに関連して説明されるが、一部の装置は双方のアーキテクチャにおいて動作可能であるが、他の装置はそうではない。
【0015】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットを処理するアルゴリズム及び記号表現で与えられる。これらのアルゴリズムの説明及び表現は、データ処理技術分野の当業者が他の当業者に彼らの仕事内容を最も効率的に伝えるのに使用される手段である。ここで、アルゴリズムは一般に所望の結果に導く首尾一貫した一連のステップと考えられる。そのステップは物理量の物理的処理を必要とするものである。必須ではないが、通常それらの物理量は、格納、転送、結合、比較その他の処理を施すことの可能な電気的な又は磁気的な信号の形態をとる。原則的な一般的な用法の観点から、ビット、値、エレメント、シンボル、キャラクタ、期間、数等としてそれらの信号に言及することが折に触れて便利なことが分かる。
【0016】
しかしながら、これらの及び類似の用語の全ては、適切な物理量に関連しており且つそれらの量に付された便宜的なラベルにすぎないことに留意を要する。特に断りのない限り、以下の説明から明らかなように、本説明を通じて、「処理」、「演算」、「計算」、「決定」又は「表示」等のような用語を用いる説明は、コンピュータシステム又は同様な電子コンピュータ装置の動作や処理に関連し、そのコンピュータシステム等は、コンピュータシステムのレジスタ及びメモリの中で物理的な(電子的な)量として表現されるデータを、コンピュータシステムメモリやレジスタその他の情報ストレージ、伝送又は表示装置の中で物理量として同様に表現される他のデータに変換及び処理することが、理解されるであろう。
【0017】
本発明はここで説明される処理を実行する装置にも関連している。その装置は、必要な目的に応じて特別に構築されてもよいし、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブにされる又は再構成される汎用コンピュータで構築されてもよい。そのようなコンピュータプログラムはコンピュータ読取可能な記憶媒体に格納されてもよく、その記憶媒体は、限定ではないが、フロッピディスク、光ディスク、CD-ROM、磁気光ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光カード等の如何なるタイプのディスクを含んでもよいし、或いは電子的な命令を格納するのに指摘した如何なるタイプの媒体を含んでもよく、ディスクも媒体もそれぞれコンピュータシステムバスに結合される。
【0018】
本明細書に示されるアルゴリズム及びディスプレイは、何らかの特定のコンピュータ又は他の装置に固有に関連するものではない。様々な汎用システムが、本願による教示にしたがってプログラムとともに使用されてもよいし、あるいは、必要な方法ステップを実行するのにさらに特化した装置を構築することが有益であるかもしれない。それら様々なシステムに必要な構造は以下の説明から明らかになるであろう。さらに、本発明は何らかの特定のプログラミング言語に特化して説明されている。本願で説明される発明の教示内容を実現するために様々なプログラミング言語を使用可能であることが、理解されるであろう。
【実施例1】
【0019】
<システム概要>
図1は、ペーパーライクフォーム処理のためのシステム例100を示す。図1を参照するに、この例のシステム100は、複数の携帯用コンピュータ装置102a−102n、ネットワーク104、コンピュータ108、ペーパーライクフォームサーバ106、データストレージ110及び1つ以上のサービスプロバイダ124を有する。
【0020】
複数の携帯用コンピュータ装置102a−102nは、各自の接続112a−112nを介してネットワーク104に無線により結合される。一実施例において、携帯用コンピュータ装置102a−102nは、ディスプレイ、ストローク捕捉機能部(取込機能部、取得機能部)及び無線通信機能部を含む携帯用コンピュータ装置である。携帯用コンピュータ装置は、画像(例えば、フォーム)を受信し、受信した画像にストローク注釈(stroke annotation)を追加し、受信した注釈の付いた画像を送信するように構築される。携帯用コンピュータ装置102a−102nの具体例については、図3を参照しながら後述される。この例は、ストロークを書き込むことができる装置に関連して説明されるが、読み取りや文書転送等のような多くの便利な機能が、ストロークを受け付けることなく実行可能であることは明らかである。
【0021】
ネットワーク104は、通常の有線又は無線の形式のものであり、スターコンフィギュレーション、トークンリングコンフィギュレーションその他の当業者に既知のコンフィギュレーションのような任意の形態を有する。さらに、ネットワーク104は、ローカルエリアネットワーク(LAN)や、広域ネットワーク(WAN)(例えば、インターネット)により構築されていてもよいし、及び/又は複数の装置が通信する他の任意の相互接続データパスにより構築されていてもよい。さらに別の実施例において、ネットワーク104はピアトゥピアネットワークでもよい。ネットワーク104は、多種多様な通信プロトコルによりデータを送信する通信ネットワークの部分に結合されていてもよいし、そのような部分を含んでいてもよい。
【0022】
コンピュータ108は、パーソナルコンピュータのような通常のタイプのものである。コンピュータ108は信号線118によりネットワーク104に結合される。一実施例において、コンピュータ108は、最初にフォームを入力するペーパーライクフォームサーバ106にアクセスして通信し、ワークフローにしたがって特定のフォームに対する処理を実行する又は処理を確認する。例えば、ユーザは、コンピュータ108を使用して、以後の処理のためにPDFファイルのような文書を、ペーパーライクフォームサーバ106に入力する。同様に、コンピュータ108は、そのワークフローによる全ての処理が完了した後に、完成したフォームを受け取る。そして、コンピュータ108は、ペーパーライクフォームサーバ106の検証モジュールと通信し、特定のフォームの処理の状態又は仕上がりを確認してもよい。
【0023】
ペーパーライクフォームサーバ106は、信号線116を介してネットワーク104に結合され、携帯用コンピュータ装置102a−102n、コンピュータ108及びサービスプロバイダ124と通信する。ペーパーライクフォームサーバ106は、信号線120を介してデータストレージ110にも結合される。ペーパーライクフォームサーバ106は、セントラルスケジューラ208、ロギングモジュール212、サービスプロバイダ管理評価モジュール214、修正モジュール216、再試行モジュール218及び検証モジュール230を含む(図2参照)。ペーパーライクフォームサーバ106は、文書を送信し、携帯用コンピュータ装置102a−102n及びサービスプロバイダ124から文書を受信し、確認用の記録(ログ)を維持し、ペーパーライクワークフロー及び文書の処理を実行する。これは特に有利である。なぜなら、ペーパーライクフォームサーバ106は、トランザクションのペーパーライク処理を実行し、電子文書処理のオーバーヘッドを処理し、その処理がユーザにとって不可視であるようにできるからである。
【0024】
データストレージ110は、信号線120を介してペーパーライクフォームサーバ106に結合される。データストレージ110は、不揮発性記憶装置又は同様な永続的なストレージデバイス及び媒体である。データストレージデバイス110は、プロセッサ202用の命令及びデータを保存し、ハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は他の既存の大容量記憶装置等を含む装置の内の1つ以上を有する。データストレージ110は、ログの処理のようなワークフローの処理に関する情報を保存するために使用される。一実施例において、データストレージ110は、データ、処理結果、処理履歴及び他の情報等のペーパーライクフォームサーバ106に関する情報を有する。
【0025】
少なくとも1つのサービスプロバイダ124は、各自の信号線122によりネットワーク104に結合される。サービスプロバイダ124は、サーバ、パーソナルコンピュータ及び関連するソフトウェアのような通常のタイプのコンピュータ装置である。一実施例において、サービスプロバイダ124は、提示されるサービスを提供するために人間がやりとりすることを可能にするコンピュータシステムである。サービスプロバイダの一例は、パーソナルコンピュータ、スマートフォン又はコンピュータパッドを所有する人間のユーザである。サービスプロバイダ124は、1つ以上のサービスを提供することができる。図1には一つのサービスプロバイダ124しか示されていないが、異なるサービスをそれぞれが提供する2以上のサービスプロバイダ124が存在してもよいことを、当業者は認めるであろう。
【0026】
様々なサービスプロバイダ124により提供されるサービスの具体例は、以下のものを含むが、これらに限定されない:1)画像又はストロークを受信してメタデータを返す認識サービス。例えば、光学式マーク読み取り、機械式光学文字認識、人間による校正を利用する光学文字認識、バーコード認識/解読、顔認識、画像処理(洗浄、強調等)等を行うサービス。2)画像又はストロークを受信し、データベースにエントリを作成するアップロードサービス。例えば、サーバに文書データを記録して保存したり、CRM、買い掛け金勘定(支払勘定)又は売り掛け金勘定のデータベース及び他のサービス処理の冗長ストレージに、メタデータを保存する。3)(公的及び私的な)情報検索サービス。例えば、辞書における言葉の探索、株価の調査、顧客リストのアドレス調査等である。4)データ処理サービス。例えば、校正、言語変換、フォーマット変換、暗号化、暗号化解除、スペルチェック/訂正、文法検査/訂正、等級又は格付け検査、画像処理(清掃)、測定データの集約、データ検索、何らかのRPC手段を利用したリモートプロシジャ呼出、タイムスタンプを伴う合法性の登録等である。5)文書に広告を合わせるような広告サービス。6)銀行業務サービス。例えば、クレジットカード番号の確認、クレジットカードの有効性の確認、フォームの完備性の確認、処理概要及び入出金の確認等である。7)正当性検査サービス。例えば、冗長検査処理、類似する入力を用いる不正検出、疑義のある処理に対する処理パターン認識等である。8)電子承認サービス。例えば、署名確認、上長承認、企業承認、ディジタル署名等である。
【0027】
<ペーパーライクフォームサーバ106>
図2を参照するに、一実施例によるペーパーライクフォームサーバ106が詳細に記載されている。ペーパーライクフォームサーバ106は、プロセッサ202、メモリ204、通信装置206、セントラルスケジューラ208、ロギングモジュール210、課金モジュール212、サービスプロバイダ管理評価部214、修正部216、再試行モジュール218、バス220及び検証モジュール230を有する。代替実施例において、ペーパーライクフォームサーバ106は、ディスプレイ装置222、出力装置224、入力装置528及び他のアプリケーションをさらに有する。
【0028】
プロセッサ202は、算術演算論理装置、マイクロプロセッサ、汎用コントローラ又はその他のプロセッサアレイを有し、演算を実行し、ディスプレイ装置222に電子表示信号を提供し、本発明によるペーパーライクフォーム処理を実行する。プロセッサ202は、バス220に結合され、ペーパーライクフォームサーバ106の他の要素と通信する。プロセッサ202は、データ信号を処理し、様々なコンピュータアーキテクチャにより構築されていてもよい。そのようなコンピュータアーキテクチャは、複合命令セットコンピュータ(CISC)アーキテクチャ、冗長命令セットコンピュータ(RISC)アーキテクチャ、又はそれらの命令セットの組み合わせによるアーキテクチャである。図2には1つのプロセッサしか描かれていないが、複数のプロセッサが含まれていてもよい。他のプロセッサ、他のオペレーティングシステム、他のセンサ、他のディスプレイ及び他の物理形態が可能であることは、当業者にとって自明であろう。コンピューティングパッド202はプロセッサにより実行可能なオペレーティングシステムを含み、オペレーティングシステムは、例えば、WINDOWS(登録商標)、MacOSX又はUNIX(登録商標)等であるがこれらに限定されない。
【0029】
メモリ204は、プロセッサ202により実行される命令及び/又はデータを格納する。命令及び/又はデータは、本願で説明される技法の何れか及び/又は全てを実行するためのコードを有する。メモリ204は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセス(SRAM)装置、フラッシュメモリ又は当該技術分野で既知の他のメモリでもよい。一実施例において、メモリ204は、より永続的な方法でログ情報を保存するフラッシュ装置又はハードディスクドライブのような不揮発性メモリを含む。メモリ204は、バス220に結合され、ペーパーライクフォームサーバ106の他の要素と通信する。
【0030】
通信装置206は信号線116、120及びバス220に結合される。通信装置206は、ネットワーク104及び他の処理システムにプロセッサ202を結合する。通信装置206は、標準的なネットワークプロトコルを用いたファイル転送のために、ネットワーク104に対する通常の接続を提供し、標準的なネットワークプロトコルは、例えばTCP/IP、HTTP、HTTPS及びSMTP等のような当業者に既知のものである。代替実施例において、通信装置206は、無線接続によりネットワーク104又はデータストレージ110に結合され、通信装置206は、複合文書を送信及び受信するトランシーバを含む。そのような代替実施例の場合、通信装置206は、アクセスポイントと無線通信するWiFiトランシーバを含む。他の代替実施例において、通信装置206は、他の装置と無線通信するためのブルートゥース(登録商標)方式のトランシーバを含む。さらに別の実施例において、通信装置206は、セルラ通信ネットワークを介してデータを送信及び受信するセルラ通信トランシーバを含み、例えば、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータコネクション、WAP、電子メール等を介してデータを送受信する。さらに別の実施例において、通信装置206は、有線接続用のポートを含み、その有線接続は、USB、SD又はCAT−5等であるがこれらに限定されない。
【0031】
セントラルスケジューラ208は、複合文書を処理及びルーティングするソフトウェア及びルーチンである。セントラルスケジューラ208は、複合文書400を生成し、フォーマットされたメッセージを作成する。セントラルスケジューラ208は、ロギングモジュール210とともに協働して、グローバルトランザクションログ(ロギングモジュール210、メモリ204又はデータストレージ110に保存される)を作成し、公表する又は必要に応じてそのログを利用可能にする。セントラルスケジューラ208は、トランザクションステップ(処理ステップ)を決定し、サービスプロバイダを選択し、ペーパーライク処理のワークフローの一部として、フォーマットされたメッセージを次の場所(次の処理ステップの段階)にルーティングする。セントラルスケジューラ208は、複合文書を送信する電子メールサーバのような文書転送モジュールを含む。セントラルスケジューラ208は、課金モジュール212、サービスプロバイダ管理評価部214、修正モジュール216及び再試行モジュール218にも結合されてそれらとやり取りを行い、それらのモジュールにデータを送信し、それらのモジュールからデータを受信し、及び各自の機能に関する情報を提供する。セントラルスケジューラ208は、課金すること、複合文書に対してなされた全ての処理を記録すること、必要な任意の処理をどのサービスプロバイダが実行するかを選択する責務を有する。
【0032】
ロギングモジュール210は、ペーパーライクフォームサーバ106により行われる処理の全体的な記録(グローバルログ)を作成及び保存するソフトウェア及びルーチンである。一実施例において、このグローバルログは、ロギングモジュール210によりメモリ204内に保存され、より具体的にはメモリ204の不揮発性ストレージの部分に保存される。言い換えれば、グローバルログは、データストレージ110により直接的にコピーされる又は書き込まれる。一実施例において、ロギングモジュール210は、図5、6A、6B、7及び8における後述の機能を提供するルーチンであり、プロセッサ202により実行される。ロギングモジュール210は、トランザクションの処理及び仕上がりの検証を行う点で特に重要である。一実施例において、ロギングモジュール210は、ネットワーク104における公に利用可能な場所において、トランザクションのログを公表又は保存するルーチンを含む。ロギングモジュール210は、プロセッサ202、メモリ204及び通信装置206にバス220により結合されている。一実施例において、ロギングモジュール210は、ストレージ又はメモリを含み、ペーパーライクフォームサーバ106の処理トランザクション及び動作のログを保存する。
【0033】
課金モジュール212は、完了したトランザクションの処理の要求者に課金するプロセッサにより実行可能なソフトウェア及びルーチンである。一実施例において、課金モジュール212は、認証された要求者、識別番号、課金するアドレスのリスト及び他のセキュリティ情報を含む。課金モジュール212は、サービスプロバイダ124に対する類似タイプ情報も含む。ペーパーライク処理における各々のステップは、トランザクションと考えられる。トランザクションの各々は、ステップを実行するためのプライス(価格、価値)を有し、そのプライスの一部はサービスプロバイダ124に提供され、そのプライスの一部がサーバ106に残る。課金モジュール212は、セントラルスケジューラ208に結合され、トランザクションのステータス(状態)を判別する。トランザクションが処理されると、課金モジュール212は、要求者に関する情報、トランザクションステップを実行したサービスプロバイダ124に関する情報及び処理に関する他の情報を蓄積(累積)する。そして、課金モジュール212は、サービスプロバイダ124及び要求者に関するクレジット及びデビットの明細書をそれぞれ作成する。電子課金、資金転送、クレジットカード処理等の様々な課金の処理が課金モジュール212により実行可能であることを、当業者は認めるであろう。課金モジュールは、セントラルスケジューラ208、プロセッサ202及び通信装置206との通信に適している。他の実施例において、課金モジュール212は、トランザクションを表現する課金コードのリスト又はスケジュールを維持する。課金コードの各々は、トランザクションテンプレート410において使用され、提供される及び/又は仕上げられるサービスを特定する。一実施例において、課金コードは、サービスを実行するための付随パラメータに加えて、事前に交渉したプライス、サービスプロバイダ124及びペーパーライクフォームサーバ106間のプライスの割り振りに関する付随パラメータを有する。そのような課金コードは、一括購入割引又は特別な私的なプライス契約のようなさらなる情報を含んでよいことを、当業者は認識するであろう。さらに別の実施例において、課金モジュール212は、プロセッサ202及び通信装置206と協働することで、市場の動向や他の私的な契約に応じて課金スケジュールを更新及び編集することを可能にする。
【0034】
サービスプロバイダ管理評価部214は、プロセッサ202により実行可能なソフトウェア及びルーチンであり、サービスプロバイダ124を管理し、トランザクションの完了を監視し、それらを評価(格付け、等級付け、レーティング)し、サービス品質値を生成する、又はそれらが或るサービス品質レベルに達していることを保証する。サービスプロバイダ管理評価部214は、セントラルスケジューラ208、プロセッサ202、メモリ204及び通信装置206に結合されている。サービスプロバイダ管理評価部214は、セントラルスケジューラ208と協働し、特定のトランザクションのためのサービスプロバイダを選択する。場合によっては、複数のサービスプロバイダ124が、第1の、第2の、等々のサービスプロバイダとしてトランザクションに関連付けられ、互いにバックアップとして機能する。サービスプロバイダ管理評価部214は、トランザクションの完了を監視する。トランザクションが完了しなかった場合、サービスプロバイダ管理評価部214は、トランザクションが完了しなかった理由を検討し、そのトランザクションに関連するサービスプロバイダ124に対して、レーティング又はサービス品質の目安を与える。サービスプロバイダ管理評価部214の動作については後述する。
【0035】
修正モジュール216は、プロセッサ202により実行可能なソフトウェア及びルーチンであり、複合文書400からコンテンツを抽出したり、コンテンツを修正する。場合によっては、特定のサービスプロバイダ124に提供される情報量を制御又は制限することが有利である。例えば、非常に重要である又は秘密の情報の場合、トランザクションを実行するために必要な情報のみを、特定のサービスプロバイダに提供することが有利である。修正モジュール216は、プロセッサ202、メモリ204及びセントラルスケジューラ208に結合され、複合文書及びフィルタリング(選別)の指示を受信し、修正された又は編集された形式の複合文書400を返す。修正モジュール216の動作については後述する。
【0036】
再試行モジュール218は、プロセッサ202により実行されるソフトウェア及びルーチンであり、トランザクションの失敗を監視し、再度やり直す。再試行モジュール218は、サービスプロバイダ124又はセントラルスケジューラ208からの、トランザクションが失敗したことを示すメッセージを監視する。第1の例の場合、サービスプロバイダ124は、トランザクションを完了できなかったことを示すメッセージを送信する。第2の例の場合、セントラルスケジューラ208は、トランザクションが送付されかつサービスプロバイダ124により受け入れられた時間を監視(記憶)する。所定の期間の後、サービスプロバイダ124がそのトランザクションの結果を返していなかった場合、セントラルスケジューラ208は、時間切れによる失敗のメッセージを再試行モジュール218に送信する。第3の例の場合、サービスプロバイダ124はトランザクションを完了しているが、その結果が低品質である及び/又は受け入れることができない。再試行モジュール218は、トランザクションの処理を監視すること、失敗を示す信号を監視すること、失敗信号に応答して、トランザクションをやり直す処理を実行すること(他のサービスプロバイダ124を特定すること、そのサービスプロバイダ124と通信すること及びそのサービスプロバイダ124にトランザクションを複合文書400として送信することを含む)、及びログを更新するようにロギングモジュール210に通知すること等の責務を有する。場合によっては、処理が不完全であること又は失敗していることを、かなり後になってユーザが判断し、そのフォームをやり直す必要があることを再試行モジュール218に通知する。再試行モジュール218の動作については後述する。
【0037】
バス220は、ペーパーライクフォームサーバ106により情報及びデータを通信するための共有バスを表す。バス220は、業界標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI)バス、ユニバーサルシリアルバス(USB)、同様な機能を提供する当該技術分野において既知の他のバスを含む1つ以上のバスを表す。バス220を介してプロセッサ202に結合される要素は、メモリ204、通信装置206、セントラルスケジューラ208、ロギングモジュール210、課金モジュール212、サービスプロバイダ管理評価部214、修正モジュール216、再試行モジュール218、バス220、検証モジュール230、ディスプレイ装置222、出力装置224、入力装置528及び他のアプリケーション228を含む。
【0038】
検証モジュール230は、プロセッサ202により実行されるソフトウェア及びルーチンであり、複合文書400のトランザクションの処理を検証する。一実施例において、検証モジュール230は、プロセッサ202により実行可能なルーチンであり、ロギングについての以下の説明において言及される検証を実行する。検証モジュール230は、プロセッサ202、メモリ204及び通信装置206にバス220を介して結合される。
【0039】
ディスプレイ装置222は、本願で説明されるような電子画像及びデータを表示するように備えられた任意の装置を表す。ディスプレイ装置222は、例えば、陰極線管(CRT)又は液晶ディスプレイ(LCD)でもよいし、あるいは、他の任意の同様に備えられた表示装置、スクリーン又はモニタ等でもよい。一実施例において、ディスプレイ装置222にはタッチスクリーンが設けられ、接触感知式の透明パネルがディスプレイ装置222の画面に整合している。
【0040】
出力装置224はLEDのような通常のタイプのものである。出力装置224は、サーバ106の状態を示し、例えば、1)電力が供給されて動作可能であるか否か、2)ネットワーク接続を有するか否か、3)トランザクションを処理しているか否か等を示す。出力装置224の一部として上記に列挙されたもの以外に、様々な付加的な状態インジケータが存在することを、当業者は認めるであろう。他の実施例において、出力装置224は、スピーカも含む。
【0041】
入力装置226は、キーボード及びカーソル制御部である。キーボードは、プロセッサ202に結合された英数字入力装置であり、情報及びコマンドの選択内容を通信する。キーボードは、クワーティ(QWERTY)キーボード、キーパッド又はタッチスクリーン上にそのように形成される表現物でもよい。カーソル制御部は、データに加えてコマンドの選択結果をもプロセッサ202に通知するために備えられたユーザ入力装置を表す。カーソル制御部は、マウス、トラックボール、スタイラス、ペン、タッチスクリーン、カーソル方向指示キーその他のカーソルを動かす手段を含む。
【0042】
他のアプリケーション228は、プロセッサ202により実行される他のソフトウェア及びルーチンであり、様々な他のタイプの機能を実行する。一実施例において、1つ以上のアプリケーションは、プロセッサ202により実行され、例えば、ワードプロセッシングアプリケーション、電子メールアプリケーション、財務アプリケーション及びウェブブラウザアプリケーション等であるが、これらに限定されない。
【0043】
<携帯用コンピュータ装置102>
図3を参照しながら、一実施例における携帯用コンピュータ装置102を詳細に説明する。携帯用コンピュータ装置102は、複合文書400からの画像を表示し、ペーパーライクインターフェースを提供する画像に描かれた任意のストローク及びユーザの処理を記録する。ストローク、筆跡、一画(stroke)は、典型的には、一連の点の集まり又は一連の線分の集まりとして取り込まれる。通常、あるタイミング情報がストロークと共に取得され、場合によっては、筆圧情報も取得される。「ペンアップ(ペンを持ち上げたこと)」及び「ペンダウン(ペンを下ろしたこと)」の情報が、ストロークと共に記録されてもよい。場合によっては、スタイラスが識別子、ボタン又は異なる「末尾(different ends)」を有し、これがストロークとともに記録されてもよい。
【0044】
コンピューティングパッド102は、プロセッサ302、メモリ304、通信装置306、固有のデバイス識別子308、クロック310、メタデータモジュール312、ロギングモジュール314、文書転送モジュール316、他のアプリケーション318、バス320、ディスプレイ装置322、出力装置324及び入力装置326を有する。
【0045】
携帯用コンピュータ装置102の幾つかの要素は、ペーパーライクフォームサーバ106の要素と同一又は類似する機能を有することを、当業者は認めるであろう。したがってそれらの要素についての説明はここでは繰り返さない。例えば、プロセッサ302、メモリ304、バス320及び他のアプリケーション318は、それぞれ、プロセッサ202、メモリ204、バス220及び他のアプリケーション228と同様である。携帯用コンピュータ装置102は、典型的には、少ない電力しか消費しないように設計された、プロセッサ302、メモリ304及び他のアプリケーション318を利用し、より低いパフォーマンスを提供する。プロセッサ302は、演算を実行し、電子表示信号をディスプレイ装置306に提供し、入力されたストロークを検出及び処理するように特化されている。
【0046】
通信装置306はアンテナ及びバス320に結合される。代替実施例において、通信装置306は、ネットワーク104に対する直接的な物理接続用のポートを用意している。通信装置306は、複合文書を送受信するトランシーバを含む。一実施例において、通信装置306は、アクセスポイントと無線通信するためのWi−Fiトランシーバを含む。別の実施例において、通信装置306は、他の装置と無線通信するためのブルートゥース(登録商標)方式のトランシーバを含む。さらに別の実施例において、通信装置306は、セルラ通信ネットワークを介してデータを送信及び受信するセルラ通信トランシーバを含み、例えば、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータコネクション、WAP、電子メール等を介してデータを送受信する。さらに別の実施例において、通信装置306は、有線接続用のポートを含み、その有線接続は、USB、SD又はCAT−5等であるがこれらに限定されない。通信装置306は、複数の処理システムを含むネットワーク104にプロセッサ302を接続する。
【0047】
携帯用コンピュータ装置102は、固有のデバイス識別子308用のストレージを含む。携帯用コンピュータ装置102は、バス320に結合され、その固有の識別子を必要に応じて他の要素に提供する。一実施例において、ストレージは、固有のデバイス識別子308を格納するリードオンリメモリである。別の実施例において、固有のデバイス識別子308は、公開鍵−秘密鍵の対(ペア)を保存する不揮発性ストレージに保存される。ストロークが記録される場所を示すために使用される固有の識別子があることは、固有のデバイス識別子308にとって有利であるし、様々な通信プロトコルにとっても有利である。一実施例において、固有の識別子は、携帯用コンピュータ装置102におけるネットワークチップのハードウェアMACアドレスである。別の実施例において、固有の識別子は、携帯用コンピュータ装置102のメモリカードに関連付けられた固有のIDであり、関連付けられる特定の装置は、意図されているようにメモリカードが移された場合に、別の装置に移る。複数の固有の識別子は、様々なオペレーションに対して有用であるが、一般的には強いセキュリティをもたらさない。例えば、ハードウェアMACアドレスは、他の装置により模倣されてしまうかもしれない。したがって、RSA(登録商標)のような公開鍵暗号システムによるキーのペアにデバイス(装置)を関連付けることが、しばしば有意義である。一実施例において、携帯用コンピュータ装置102は、秘密鍵及び普及している公開鍵とともに製造され又はそれらとともに構築される。携帯用コンピュータ装置102は、ストローク、画像、ログ又はその装置から発した他のメディアに対する秘密鍵を使用することができる。あるいは、公開鍵を利用してそのようなメディアを検証してもよい。公開鍵は、その装置との秘密通信を提供するように使用されてもよい。装置の公開鍵を用いて暗号化することで、特定の携帯用コンピュータ装置102用に意図されているページ画像やメタデータに対して、他者のアクセスを制限できる。
【0048】
クロック310は、通常のタイプのものであり、携帯用コンピュータ装置102に局所的な時間(ローカルタイム)の指標を提供する。特に、クロック310は、複合文書が処理されるローカルタイムを提供するのに使用される。この時間の値は、ロギングモジュール314を利用して、ローカルログファイル内のデータとともに保存される。クロック310は、システムバス320を利用して、この情報をプロセッサ302及びロギングモジュール314に通知するよう構築される。
【0049】
メタデータモジュール312は、複合文書からメタデータを抽出し、複合文書に対するメタデータを保存するルーチンを含むソフトウェアである。一実施例において、メタデータモジュール312は、プロセッサ302により実行可能な命令であり、図6A−8を参照しながら以下において説明される機能を提供し、画像/ページメタデータだけでなく文書メタデータにもアクセスする。メタデータモジュール312は、バス320を介してプロセッサ302及びメモリ304に結合される。
【0050】
ロギングモジュール314は、ローカルなログを作成し、メモリ304内に、より具体的にはメモリ304の不揮発性ストレージ部分に保存するソフトウェア及びルーチンである。一実施例において、ロギングモジュール314は、プロセッサ302により実行可能なルーチンであり、後述の機能を提供する。ロギングモジュール314は、トランザクションが完了していることを検証する際に特に重要である。一実施例において、ロギングモジュール314は、特定の携帯用コンピュータ装置102のログを公表し又はそれをネットワークにおける公に利用可能な場所に保存するルーチンを含む。ロギングモジュール314は、プロセッサ302、メモリ304及び通信装置306にバス320により結合される。
【0051】
文書転送モジュール316は、複合文書を送信し、何らかの他のコンピュータ装置から、複合文書をフォーマットされたメッセージとして受信するソフトウェア及びルーチンであり、そのコンピュータ装置は、例えば、ペーパーライクフォームサーバ106又は他の携帯用コンピュータ装置102等であるが、これらに限定されない。文書転送モジュール316は、プロセッサ302及び通信装置306と通信するようにバス320により結合される。文書転送モジュール316は、例えば、電子メール、ファイルトランスファ、XMPP又は特定目的のアプリケーションにより、複合文書400を送信し、及び携帯用コンピュータ装置102から複合文書400を受信する。一実施例において、文書転送モジュール316は電子メールクライアントであり、添付物(アタッチメント)を有する電子メールを送受信することができる。電子メールクライアントはプロセッサ302において操作可能である。メールサーバは、通常、POP又はIMAPプロトコルを利用してメールクライアントと通信し、携帯用コンピュータ装置102は何れかを使用するように構築される。メッセージは、例えば、画像ファイルのアタッチメントのように、携帯用コンピュータ装置102が直接的に利用できるようなフォーマットでもよい。メッセージは、例えばpdf文書のように、携帯用コンピュータ装置102における変換を要するフォーマットでもよい。あるいは、特殊なサーバがメッセージの変換を実行し、携帯用コンピュータ装置102が複数のフォーマットをサポートする必要が無いようにしてもよい。上述したように、仕事の成果(work)を配布するために、例えば部署毎の受信箱においてのみ実行される必要があるペーパーライクプロセスにおいて複数の装置が使用される場合、IMAPを利用すると有利である。複数の装置102a−nは、同じIMAPサーバ及び「ユーザ名」とともにクライアントとして構築されてよい。装置102a−nのグループは、「インボックス(inbox)」内の全てのフォームを表示する。あるユーザがある装置102a−nによりそのフォームを「処理済み」としてマークすると、その装置は、そのメッセージを「インボックス」外へ、おそらくはIMAPサーバの「処理済み」ボックスへ移す。他の装置102a−nがIMAPサーバの「インボックス」を確認する際、それらは、ページがもはや存在しないこと及びもはやそれらは表示されないことを確認する。携帯用コンピュータ装置102がページ又はストローク又は複数のページやストロークを送信する必要がある場合、携帯用コンピュータ装置102は電子メールクライアントとして動作し、おそらくは、1つのファイルに圧縮及び結合されたディレクトリ構造のページとともにメールを送信する。
【0052】
第2の例において、文書転送モジュール316は、ファイル転送を実行するルーチンである。様々なファイル転送方法を利用して、携帯用コンピュータ装置102に対して文書を移動させる。携帯用コンピュータ装置102は、ftp、http、又はwebdavサーバとともに動作し、他の装置は携帯用コンピュータ装置102における文書をプッシュ(push)又はプル(pull)する。携帯用コンピュータ装置102は、再びftp、http、rsync、webdav又は他のプロトコルを利用して、新しい文書を取得する又は新しい文書を外部サーバに投稿する。
【0053】
第3の例において、文書転送モジュール316は、MMSを介した通信又は他の通信プロトコルのようなクライアント通信プログラムである。インスタントメッセージングに使用されるプロトコルであるXMPPは、文書及びストロークをパッドと通信するために使用される。メッセージンググループのどのメンバでも、たとえ他のメンバがメッセージを送信している場合でさえ、メッセージを開始することができる点で、インスタントメッセージングプロトコルは有利である。携帯用コンピュータ装置102の場合、これは、ストロークが携帯用コンピュータ装置102からペーパーライクフォームサーバ106に送信されているのと同時に、携帯用コンピュータ装置102の画像をサービスが送信できるようにする。携帯用コンピュータ装置102のグループが表示空間を共有しており、グループの全てのメンバに新たなストロークが通知される場合に、インスタントメッセージングプロトコルは有利である。
【0054】
第4の例において、文書転送モジュール316はカスタムアプリケーションである。固有のAPIを利用して、携帯用コンピュータ装置102とともに作業するように意図されている特別な用途のアプリケーションとともに、情報は携帯用コンピュータ装置102に転送される。
【0055】
ディスプレイ装置322は、E−inkにより製造販売されているような電子ペーパーディスプレイである。他の実施例において、ディスプレイ装置322は、液晶表示部(LCD)又は他の同様に備わっている任意の表示装置、スクリーン又はモニタでもよい。ディスプレイ装置322は、本願において説明される電子画像やデータを表示する任意の装置を表現する。ディスプレイ装置322は、少なくとも情報の小さな「ページ」を表示できる程度のサイズを有する。別の実施例において、ディスプレイはバイナリ(画素の2つの異なる値しか表示できない)、モノクロ(1色による多段階の濃度を有する)、又は多色及びグラデーションが許容されていてもよい。ディスプレイ装置322は、好ましくは、軽量かつ低消費電力のディスプレイである。一実施例において、ディスプレイ装置322は、発光ではなく反射光を利用し、これにより低消費電力を実現し、屋外における読みやすさを向上させる。ディスプレイ装置322は、紙に表示されている場合のように非常に高い解像度で情報を表示するが、ディスプレイ装置322は、LCDディスプレイにおいて一般的である60Hzのリフレッシュレートよりも十分に遅い更新速度に耐えることができる。
【0056】
携帯用コンピュータ装置102は、LEDが並んでいるような出力装置324を含む。出力装置324は、装置の状態を示し、例えば、1)携帯用コンピュータ装置102に電力が供給されて動作可能であるか否か、2)携帯用コンピュータ装置102がネットワーク接続を有するか否か、3)携帯用コンピュータ装置102が複合文書を送信している又は受信しているか否か等を示す。出力装置324の一部として上記に列挙されたもの以外に、様々な付加的な状態インジケータが存在することを、当業者は認めるであろう。
【0057】
入力装置326は、スタイラス、ストローク捕捉装置及び/又は入力ボタンである。ディスプレイ装置322上に又は周辺において、ディジタイズ用タブレット又はグラフィックスパッドのようなストローク捕捉装置がある。ストローク捕捉装置は、スタイラス、指又は他の手段によるストロークを受け付けることができる。ストローク捕捉装置は、スタイラスに関するセンサであり、手で書いたもの、印刷されたもの及び他の描画を認識可能に取り込める程度に充分な解像度を有する。一実施例において、ディスプレイ装置322にはたっちスクリーンが備えられ、タッチスクリーンでは、接触感知式の透明パネルがディスプレイ装置322のスクリーンをカバーしている。一実施例において、ストローク捕捉装置は、ワコム(Wacom Co.,Ltd)により製造販売されているディジタイザ(digitizer)である。別の実施例において、ストローク捕捉装置は、1つの接触点の水平位置及び垂直位置(縦横の位置)を返す簡易なセンサを含む。さらに別の実施例において、ストローク捕捉装置は、より複雑な複数のセンサであり、スタイラスにおけるボタンが押された場合や、スタイラスが反転されている場合(例えば、消去する場合)において、筆圧、場所、時間等の指標を返し、さらにはスタイラスのID番号、タイプ又は指標を返す。複数のセンサは接触している複数の点を返す。ストローク捕捉装置は、プロセッサ202の一部でもよいし、プロセッサ302と通信するように構築されていてもよい。
【0058】
入力装置326は、コマンドを入力するための複数の入力ボタンを含む。例えば、第1ボタンが選択されると、携帯用コンピュータ装置102のディスプレイ装置322に複合文書を表示し始める。第2ボタンが選択されると、注釈が終わったこと、及び複合文書が携帯用コンピュータ装置102により送信可能であることが示される。第3のボタンは、表示されているフォームの部分を、ディスプレイ装置322の表示領域の中で動かすことを可能にする。第3ボタンは、ディスプレイ装置322の表示領域の中で、ユーザが、フォームを中心にすること、フォームの他の領域に着目し、それらを中心にすることを可能にする。第4ボタンは、ユーザが、複合文書の次のページに移ることを可能にする。これらの入力ボタンは、入力装置326の単なる一例にすぎないこと、及びより多い数の又は少ない数のボタンや入力装置による他の様々な形態も、本発明の精神及び目的の範囲内にあることを、当業者は認識するであろう。より具体的には、別の実施例において、携帯用コンピュータ装置102はボタンをほとんど備えていない(又は全くない)。なぜなら、ボタンは、装置を紙のように感じることに対して障害となるかあらである。そのような例の場合、ストローク及び他のメタデータは、ネットワーク接続が存在する限り、連続的に送信される。1ページ又は複数ページのページ群ができたことは、パッドにおける「提出」(又は投稿又はサブミット)ボタン又は「拒否」ボタンを押すことで示され、あるいは表示されたページに複数の領域があり、それらの領域にストロークを追加することが、適切なデータの投稿を引き起こしてもよい。
【0059】
最後に、携帯用コンピュータ装置102は1つ以上の他のI/Oデバイス(図示せず)を含んでもよい。例えば、他のI/Oデバイス326は、音を生成するためのスピーカ、音を記録するためのマイクロフォン、文書又は画像を記録するためのスキャナ又はカメラ、その他のセンサ又はフィードバック装置(例えば、加速度計、ページャモータ(pager motor)、触覚的なフィードバック等)を含んでもよい。選択的に、他のI/Oデバイスは、1つ以上のアナログディジタル変換器、1つ以上のディジタルアナログ変換器及び/又はオーディオ処理を促す1つ以上のディジタル信号プロセッサを含んでもよい。これらの他のI/Oデバイスは、プロセッサ302及びメモリ304と通信するためにバス320により結合される。
【0060】
<複合文書400フォーマット>
本発明は、複合文書400を使用して、ペーパーライクの体感をユーザに提供する。特に、複合文書フォーマットは、携帯用コンピュータ装置102における画像の速やかな表示、コ携帯用コンピュータ装置102において作成されたストロークデータの保存、ログ情報の保存を可能にし、携帯用コンピュータ装置102において実行される処理を検証できるようにする。一実施例において、複合文書400の基本構造は、複数ファイルのディレクトリである。ディレクトリ内部は、一連のページ画像に加えて、選択的なメタデータがある。メタデータは、各ページに独立に関連付けられてもよく、及び/又はメタデータは文書全体に関連付けられてもよい。そのようなメタデータは、入れ子になったディレクトリに保存され、これは選択的なものである。
【0061】
図4Aを参照するに、複合文書400の基本構造を表現する図が示されている。上述したように、複合文書400は、1つ以上のファイルを含むディレクトリ及び複数のディレクトリである。これは図4において最も外側の枠として表現されている。この例の場合、複合文書400は、画像1(I1)...画像n(In)のように図示されている複数の画像402a−402nを含む。有利なことに、本発明は、複合文書400のページを画像として保存している。これは特に有利である。なぜなら、コンピューティングパッド(携帯用コンピュータ装置102)のツールが、広範囲に及ぶ文書フォーマットをサポートする必要性を排除できるからである。レンダリングを要する文書ではない純粋な文書を携帯用コンピュータ装置102に提供することは、矛盾のない画像を保証し、フォントや他の図形コマンドを変換できない問題を解消する。一実施例において、画像は以下のファイルフォーマットの内の何れかにおけるものである:JPEG、JPEG2000、JPM、PNG、PDF、TIFF又はシンプルPBM(ポータブルビットマップ)ファイルフォーマット。後述するように、複合文書400を作成するプロセスの一部は、画像が携帯用コンピュータ装置102により又は携帯用コンピュータ装置102において受信される前に、文書及び他のフォーマットを、これらの簡易な画像フォーマットの何れかにレンダリングすることを含む。上述したように、基礎的で簡易な画像を利用することで、携帯用コンピュータ装置102における演算負担を排除し、矛盾のない表示を保証できる。複合文書400のディレクトリは、標準的なZIPフォーマットアーカイブとして転送及び保存することができることを、当業者は認めるであろう。
【0062】
一実施例において、複合文書400のメインページが、ディレクトリの最上位レベルに保存される。(最初の「.」に至るまでの)名称セグメントは、そのページに固有である必要がある。一実施例において、ページはUTF−8を用いて命名される。UTF−8表示のバイトそのものを利用して、最初の名称セグメントを昇順に並べ替えることで、ページが並べられる。場合によっては、アプリケーションは、文書レベルのメタデータを利用して、名称を変更することなくページを並べ替えることを可能にする。
【0063】
最初の名称セグメントが同じものを共有する複数のページ画像ファイルは、同等な品質のファイルの代替表現物と考えることができ、プレゼンテーションモジュール322は、その用途に最も相応しい表現物を選択する。例えば、図4Bに示されるように、001.pgm、001.png、002.pgm、002.jpg及び5.pgmのようなコンテンツを有するディレクトリは、3ページの文書となる。第1ページは1つ又は2つのファイル、001.pgm又は001.pngにより表現される。第2のページは、002.pgm又は002.jpgにより表現され、第3のページは5.pgmにより表現される。一実施例において、名称セグメントは、任意の画像の解像度又はサイズを指定するのに使用可能であり、装置が画像を簡易に選択できるようにする。例えば、画像ページ001.600x800.pgm及びページ001.cif.pgmがあった場合、600x800又はcif(共通中間フォーマット)の部分が画像の解像度を特定する。
【0064】
複数の画像402a−402nの各々は、関連付けられたページ又は画像メタデータ404a−404nを含む。ページ又は画像メタデータ404a−404nは、ストロークデータ414、頼めたデータ416及びログデータ418を含む。さらに、複合文書400全体は、文書メタデータ406を含む。文書メタデータ406は、文書ログ408及び他の文書メタデータ410を含む。
【0065】
複合文書400のメタデータは、ディレクトリに保存されたファイルにより表現され、ディレクトリは、文書全体に又は個々のページに関連する。一実施例において、メタデータディレクトリは、ディレクトリ名における最後の文字列に添え字「.d」を有する(例えば、図4B参照)。メタデータディレクトリ内の情報はファイル又はサブディレクトリに保存され、固有の名称セグメントを有することが期待される。システム(組織)は、例えば、従来のJava(登録商標)においてドメイン名を予約する方法のように、固有の識別子を用いてそれらを命名するよう促される。メタデータディレクトリはそれ自身のサブディレクトリを含み、サブディレクトリの内容は、そのディレクトリの作成者によって並べられ規定される。一般的なポリシは、メタデータファイル又はディレクトリのコンテンツを理解しないアプリケーションは、そのコンテンツを保存すべきであり、それを警告すべきでないことである。所与のメタデータファイル又はディレクトリは自己完結型(self contained)であり、それらは同じディレクトリに含まれない限り、メタデータの要素同士の間に如何なる依存性もない。メタデータの要素(アイテム)は、文書全体に又は特定のページに対応付けられる。
【0066】
一実施例において、文書メタデータ406は、グローバルメタデータであり、「document.d」と命名された1つ以上のファイルを含むディレクトリに保存される。このディレクトリは、トップレベルのディレクトリに含まれる(例えば、図4B参照。)。文書メタデータにおける文書に関連する動作(処理又はアクション)のログを保存することは有用である。一実施例において、システム100は、「オリジナルの(元の)」文書のバージョンを文書メタデータとして保存する。例えば、複合文書がPDF、マイクロソフトワード、マイクロソフトエクセル又は他の文書から形成されていた場合、オリジナルのフォーマットの文書が、メタデータディレクトリに保存される。
【0067】
一実施例において、ページ又は画像メタデータ404は、ページ画像と同じ名称セグメントを有し、拡張子が「.d」で終わるように命名される。例えば、ページ画像が「page.001.jpg」のように命名されている場合、そのページのメタデータディレクトリは、「page.001.d」のように命名され、そのページに関連していることを示す。図4Bにはさらなる具体例が示されている。別の実施例において、ページ又は画像メタデータ404は、ページメタデータディレクトリにおけるページ各々に対する或るフォーマットでオリジナル画像を含む。複合文書400が、例えば、最上位レベルのディレクトリ及びページメタデータディレクトリの双方においてラスタフォーマット(raster format)を保存することで作成されると直ぐに、このメタデータが作成される。あるいは、オリジナルラスタフォーマットのコピーは、ページ画像が最初に変更された場合に保存されてもよい。他の実施例において、ページ又は画像メタデータ404は、以下において詳細に説明されるように、ログデータ408を含む。このログデータ418は、そのページに対するメタデータディレクトリ内のページ各々に適用された変更のログを表す。他のメタデータ416は、特定のページ又は画像に関連する任意の他のデータを保存するのに使用される。例えば、画像がページに追加された場合、これら追加された画像をページメタデータディレクトリに保存することが有用である。紙のページに「スタンプを押すこと(stamping)」と同様な理由で、ある画像がページに加えられてもよい。例えば、「受信済み(received)」や「提出済み(submitted)」は、そのページの状態に対する視覚的な指標をユーザに与える。
【0068】
ストロークデータ414は、ページのメタデータディレクトリ内のページに加えられた任意のストロークに対するストローク情報を保存する。これは、携帯用コンピュータ装置102が取り込む最も重要な情報である。最も簡易な形態の場合、ストロークはx−y座標の単なるリストであり、そのx−y座標は、スタイラス、ペン又は指のようなその他のポインティングデバイスが検出した場所である。この情報は、ストロークが描かれる場合に表示されていた背景画像と関連付けられ、ストロークが後にユーザが見るものと一致するように、ストロークのスケールや向きを変更できるようにすべきである。x−y座標に加えて、各ストローク又は各地点における時間や、スタイラスが使用された際の又はスタイラスの端部が使用された際のスタイラスの圧力(筆圧)の情報を取得することが有意義である。ペンのストロークを画素に変換するためにそのペンについて使用されたアルゴリズムの情報を保存することもさらに有用であり、例えば、どのような幅、色のペンで描画されたか、場面の地点同士の間でどのように地点が選択されたか等についての情報が、保存される。
【0069】
ストロークに関する情報は、様々な方法で保存することができる。第1の例の場合、その情報は、描画領域外の点によるストロークの終点とともに、xの値、スペース、yの値、改行によるシンプルテキストのリストとして保存される。例えば、パッドが0ないし1200までのx座標と、0ないし1600までのy座標とを許容していた場合、「−1,−1」として記録された地点は、描画可能な空間内にはなく、ストロークを終了するのに使用可能である。第2の例の場合、各地点に適切なビット数又はバイト数を割り当てるバイナリストレージ法を用いて、ストロークが保存され、例えば、x座標について2ビット及びy座標について2ビットであり、これは、よりいっそうメモリ効率がよい。第3の例の場合、ストロークデータはInkMLとして保存される。InkMLは、W3Cにより指定された、ストローク及び様々な追加データの保存を可能にするXMLフォーマットであり、これについては、2006年10月23日付のテクニカルレポート、Ink Markup Language(InkML)、W3C Working Draftに記載されている。InkMLはメモリ利用効率をさらに改善し、必要に応じて、データはテキストコンプレッサにより圧縮される。
【0070】
トランザクションテンプレート410は、複合文書400における標準的なメタデータ項目である。トランザクションテンプレート410は、サービストランザクション(サービス対象の処理)のリストを含む、あるいはサービストランザクションの説明を示すURLである。複合文書400がセントラルスケジューラ208により処理される場合、トランザクションテンプレートが、複合文書400に付いている必要がある。複合文書400の処理全体の中で、1つ以上のトランザクションテンプレート及び付随する処理が適用されることになる。最新のトランザクションテンプレートが常に処理に使用される。トランザクションテンプレートはエントリのリストを含み、エントリの各々は、1)入力タイプ、出力タイプ及び好ましいサービスプロバイダを含むステップ識別子(識別情報)として規定されてもよい。
【0071】
ステップ識別子は、特定の処理ステップを一意に指定する文字列である。例えば、それは「001」という簡易な数字列でもよいし、「手書の認識ステップ(handwriting recognition step)」のようなより記述的な文字列でもよい。ステップ識別子は、トランザクションテンプレート全体の中で固有でなければならない。情報のフォーマットを示す入力タイプ及び出力タイプは、サービスにより必要とされ、複合文書400に含められなければならない。入力タイプ及び出力タイプの双方は、タイプ仕様(type specification)のリストである。これらのタイプ仕様は、所定の役割を実行する所定のフォーマットにおけるデータの固有の識別子である。タイプ仕様各々は、情報のフォーマット及び役割を示す文字列のペアを含む。フォーマットフィールドは、ACCEPTED RFC822 MIMEタイプを含む。役割フィールド又はロール(role)フィールドは、別の文字列識別子であり、ある役割についてグローバルに固有の識別子であるべきであり、プロバイダ及び顧客により合意されているものである。完全なタイプ仕様の具体例は、「テキスト/プレイン」役割:「認識された手書き」(“Text/plain”role:“Recognized Handwriting”)のようなフォーマットである。トランザクションテンプレートのエントリ(入力)に他の多くの情報フィールドが加えられてもよいことは、当業者にとって自明であろう。例えば、特定のベンダを指定する代わりに、ステップにおいて、承認されたリストの中から最も安価なベンダが指定されてもよい。別の実施例において、顧客フィードバックランキングに基づいて、許容可能な品質レベルに合うサービスプロバイダの内で最も安価な者が、特定されてもよい。タイプ仕様のフォーマットフィールドは、1つのMIMEタイプを含んでもよいし、あるいはそのようなタイプのリストを含んでもよい。その場合、列挙されているタイプの何れかが、サービスプロバイダにより許容可能であると考えられる。入力タイプは、上記の1つ以上のタイプの仕様を含む。その場合、サービスプロバイダ124は、複合文書400に含まれている全ての列挙されたタイプを受信することを希望する。ある特別なタイプ仕様は、文書の基本ページ画像を表現する(このタイプ仕様は、その情報がメタデータにおいて表現されていない点で特別である。)。このタイプ仕様は、次のように表現される:“image/jpeg,image/jp2,image/tiff,image/gif,image/x−portable−anymap,image/x−portable−bitmap,image/x−portable−graymap,image/x−portable−pixmap”role:“edo.baseimage”。
【0072】
<ログファイル408,418>
本発明による特に有利な利点は、携帯用コンピュータ装置102又はペーパーライクフォームサーバ106106により実行された動作(アクション)を検証する能力があることである。アクションを検証することは、ログファイル408、418の生成及び維持により可能になる。本発明は、複合文書400に対してなされた変更を記述する一群のエントリとともに、ログ又はログファイル408、418を生成する。本発明は、携帯用コンピュータ装置102を操作する人間により引き起こされた如何なる動作をも記録し、その動作により、表示される文書に変更が加わる。携帯用コンピュータ装置102は、それがあたかも紙であるかのように、人間が文書に書き込みを行えるようにするので、何時どの装置でどのページにどのような書き込みがなされたか、及び分かっているならば誰によりどの場所でなされたかを記録することが有用である。本発明は以下の2つの重要な特徴とともにログファイル408、418を利用する:1)ログ408、418により十分な情報を参照し、ログ書き込みの地点における最小限の表示により、文書の状態を作成し直すこと、及び2)ログファイルは「開封明示的(tamper evident)」であること(不正防止に使用可能である)。
【0073】
本発明は、ログエントリの暗号化ハッシュのシーケンスを維持することで、開封明示的な(不正防止に使用可能な)ログ408、418を生成する。ログエントリ各々に関連する暗号化ハッシュは、以前のログエントリの暗号化ハッシュを含むデータからハッシュ値を求める。暗号化ハッシュを保存又は公表することは、ログの全ての過去のエントリに対するチェックサムをもたらす。したがって、公表されたハッシュが「信頼できる」ならば、過去の全てのログハッシュを再計算し、最終的な同じハッシュになるか否かを確認できる。ログエントリを形成するためにハッシュ値をもたらす任意のデータ又は任意のログ部分に対する変更が、検出可能である。そのようなログ及びログエントリの検証及びハッシュ計算についてのフォーマット及び詳細については、2005年12月29日付で出願された「Coordination and Tracking of Workflows」と題する米国特許出願第11/322,435号(出願公開第20070156632号)、2008年10月2日付けで出願された「Method and Apparatus for Tamper Proof Camera Logs」と題する米国特許出願第12/244,714号、及び2004年7月9日付けで出願された「Synchronizing Distributed Work Through Document Logs」と題する米国特許出願第10/887,998号において説明されており、これらの出願の内容全体は本願のリファレンスに組み入れられる。暗号化ハッシュは、検証に使用されることに加えてデータを索引付けるのにも使用可能なので、コンテンツベースの識別子(CBI:content based identifier)とも呼ばれる。最新の暗号化ハッシュを公表することは、他の信頼できるログ又は電子メールを介しており、これについては、2008年10月2日付けで出願された「Method and Apparatus For Risk Analysis of Entangled Logs」と題する米国特許第12/224,707号、及び2008年10月2日付で出願された「Method & Apparatus for Automatically Publishing Content Based Identifiers」と題する米国特許出願12/244,721号において説明されており、これらの出願の内容全体は本願のリファレンスに組み入れられる。このように、暗号化ハッシュ又はコンテンツベースの識別子(CBI)を含むログが維持される。最新のログエントリのコンテンツベースの識別子(CBI)は、他のログファイルに保存され、電子メール又は他のプロトコルにより公表される。CBIは、そのCBIが公表されて以来そのログが変更されていないことを確認するために使用可能である。
【0074】
任意の地点における文書を再生できるようにするログ408、418の維持は、文書について実行された操作(処理)のタイプと、ログファイルにおける操作を再実行するのに必要な任意のデータに対するCBIとを保存することによって行われる。このデータ自身は、ページ及び文書のメタデータディレクトリに保存される。
【0075】
ロギングモジュール314は、ページを生成すること、ページに書き込みをすること及びページに画像を付加すること等のようなページに対する変更についての情報を保存する。ロギングモジュール314は、ページがサブミットされた時点、あるいはコンピューティングパッド202から別の場所へページがコピーされた時点をも保存する。ページが生成されると、そのページに関するメタデータディレクトリ内に、画像のラスタフォームが保存される。ページログ418は、「スタートログエントリ(start log entry)」とともに初期化される。スタートログエントリは、携帯用コンピュータ装置102により測定される現在時間を含み、別のログからのCBIを含み、そのページがCBIの時点の後に生成されていることを確認する(すなわち、「フレッシュネスハッシュ(freshness hash)」)。「スタートログエントリ」に加えて、ロギングモジュール210は、開始画像のラスタフォームのハッシュを含む「ページ生成」エントリ(page created entry)を保存する。
【0076】
ページログ418のCBIが、ページの作成後に公表されていたならば、そのCBIを使って、ページログ418が不正に修正されているか否かを確認できる。ページログ418が修正されていなかった場合、ログ418における処理が続く。先ず、唯一のエントリは、「ページ生成」エントリである。ページ画像に対するCBIを検査することが可能であり、それがページメタデータディレクトリ404のラスタ画像に合致していた場合、初期ページのフォーマットは、生成以来不正に修正されていないことを示す。
【0077】
ストロークがページに追加された場合、それらはディスプレイ装置322のラスタフォーマットに表示され、それらはそのページのメタデータディレクトリ404におけるストロークファイル414に保存される。ログエントリは、ページログ418に追加され、典型的にはストロークファイル414に関するCBI及び時間を含む。こうして、後の地点において、ログ418が検証される場合、ストロークファイル414を検証することが可能であり、背景画像を検証することが可能である。これら全てのアイテムが修正されていなかった場合、ストロークファイル414は、背景画像におけるストロークを再描画するために使用可能であり、ストロークが付加された後に見えるようなページを再生する。
【0078】
画素の精度を維持するため、本発明は、既存のアルゴリズムを使用して、ストロークファイル414を画素に変換することに留意を要する。複数のアルゴリズムが使用される場合、又は例えばストローク幅のような幾つかのパラメータとともに1つのアルゴリズムが使用される場合、「ストローク付加」のエントリ(strokes added entry)は、使用される厳密なアルゴリズム及びそのアルゴリズムに対するパラメータを示す情報を含むべきである。
【0079】
ストロークがページに追加されるのと同時に、画像がページに追加されてもよい。この場合、ページに追加される画像は、ページのメタデータディレクトリ404のラスタフォーマットに保存されているべきである。例えば(500,300)のような画像に付加するのに使用するスケール(縮尺)、場所及び「画像付加」の処理は、画像のラスタフォームのCBIとともに、ログ418に保存されているべきである。
【0080】
画像を付加することで又はストロークを追加することでページを更新するだけである多くの「アプリケーション」が、携帯用コンピュータ装置102において使用可能である。追加的な変更がページになされた場合、それらの処理に対するログエントリが規定される必要があり、その処理の名称がログに保存される必要があり、データのハッシュがログに保存される必要がある。ログエントリがログ418に追加された場合、携帯用コンピュータ装置102の固有の識別子308がそのエントリに含められる。装置が秘密鍵を利用するように構築されていた場合、ストロークファイル414がそのコンピューティングパッド202において取得されたことを示すために、ストロークファイル414のディジタル署名を提供する。この署名はログ418に含まれる。
【0081】
新しいページが作成される際に、ページログ418がメタデータディレクトリ404に作成される一方、文書が形成される際に、ロギングモジュール210が文書ログ408を文書メタデータディレクトリに作成する。ページを文書に追加したこと、何時ページが閲覧されたか、何時文書全体がサブミットされたか等を含む項目(アイテム)を記録するために、文書ログ408が使用される。文書レベルメタデータ406に対する変更も、この文書ログ408に記録される。(ページ識別子とともに)文書ログ全体の中でページログ418に保存されている情報を反復することが可能である一方、ページログ418が更新された場合、ロギングモジュール210、314は最後のエントリに対するCBIをページログ418に記録する。ページログ418からのCBIを文書ログ408に保存することで、文書ログ408を使用して、全てのページログ418を検証できる。文書ログ408からのCBIは、電子メール又はその他の方法により公表され、個々のページログ418各々からの情報を公表する必要はない。
【0082】
文書ログ408におけるエントリは、ページログ418におけるものと同様である:それらは、処理を完了するのに必要な何らかのデータのCBI及び「処理」の情報を含むべきである。ページ閲覧の場合、ログエントリは、ページ画像の現在のラスタフォーマットのCBIとともに、そのページの識別子を含む。一部のログフォーマットは、テキスト(文字)及びCBIを同じログエントリの中に直接的に包含できるが、別のログフォーマットはCBIしか含められない点に、留意を要する。ログフォーマットがCBIしか許容しない場合、「処理」に関するテキスト(文字)は、文書メタデータディレクトリ406の中のファイルに保存され、そのファイルのCBIはログに含まれる。「処理」(operation)が、「ストローク追加」のようなパラメータを一切含んでいなかった場合、その処理のテキストと同じファイルが、メタデータディレクトリに保存され、CBIが複数回使用される。当然に、実際のストロークファイルのCBIは、多くの場合異なることが予想される。
【0083】
<セントラルスケジューラ208による処理>
実施形態に依存して、この機能は、ペーパーライクフォームサーバ106のセントラルスケジューラ208により、又は携帯用コンピュータ装置102のプロセッサ302により実行される。説明の簡明化を図るため、以下において、この機能はセントラルスケジューラ208により実行されているが、当業者は、同一又は類似の処理が携帯用コンピュータ装置102のプロセッサ202により代替的に実行されてもよいことを認めるであろう。
【0084】
一実施例において、携帯用コンピュータ装置102又はコンピュータ108は、特定のペーパーライクフォームサーバ106と協働するように構築され、ページ、画像又は複合文書400をペーパーライクフォームサーバ106に提示する。この提示(サブミット)により、ペーパーライクフォームサーバ106のセントラルスケジューラ208により管理されるペーパーライク処理が始まる。そして、ペーパーライクフォームサーバ106は、予めプログラムされている規則(ルール)に基づいて、次のステップを判別する。
【0085】
別の実施例において、ペーパーライク処理は、複合文書400において、又は複合文書400が送信される電子メール(フォーマットされたメッセージ)において指定される。複合文書400を電子メールにより受信する簡易な方法の場合、携帯用コンピュータ装置102は、注釈を付けた複合文書400を、複合文書400の送信元に電子メールで返す。そのような例の場合、複合文書400は、プロセスワークフローにおける全てのステップ又はトランザクションについて、ペーパーライクフォームサーバ106を介してルーティングされる。別の実施例において、複合文書400は、典型的な電子メールクライアントにおいて「返信(Reply)」が選択された場合に生じる「Reply−To」の電子メールヘッダで指定されているアドレス宛に送信される。この場合において、これがサービスプロバイダ124又は別の携帯用コンピュータ装置102であった場合、課金、記録及びトラッキング用にメッセージのコピーがペーパーライクフォームサーバ106に送付される。電子メールの場合、これは電子メールにおけるcc又は別の返信先アドレス(又は転送先アドレス)を指定することで実行可能である。ほとんどの電子メールクライアントは、送信者が、「返信(Reply−To)」のアドレスを指定できるようにしている。このことは、ある人がフォームを記入してそのフォームを「返信」ヘッダとともに別の携帯用コンピュータ装置102へ送信することを可能にし、「返信」ヘッダは、携帯用コンピュータ装置102のユーザにより承認された後に、その複合文書400を見るべき次の人物/装置/場所に設定されている。例えば、ある従業者が出張申請フォームを記入し、出張のコーディネータ宛に設定された返信先(Reply−To)とともに、そのフォームを従業者の管理者の携帯用コンピュータ装置102に電子メールで送信することができる。管理者がその出張申請を承認し、そのフォームをサブミットすると、携帯用コンピュータ装置102において次の電子メールアドレスを手入力する必要なしに、そのフォームは自動的に次のステップにルーティングされる。同様な方法により、「返信先(Reply−To)」ヘッダは、処理を行うペーパーライクフォームサーバ106のセントラルスケジューラ208にコピーを送付するように設定される。この点については後述する。
【0086】
「返信(Reply−To)」ヘッダを利用することで、ワークフローにおける1つのステップを、電子メールアドレスを手入力する必要なしに実行できるようになる。1つより多いステップのワークフローを可能にするために、追加的なメールヘッダが規定されてもよい。例えば、電子メールは、次のようなヘッダを含む:
【数1】
【0087】
この場合において、manager_pad@example.comは、従業者の上長の電子メールアドレスである。scheduler@server.comは、セントラルスケジューラ208の電子メールアドレスである。director_pad@example.comは、ディレクタの電子メールアドレスであり、そのディレクタの承認が求められている。vp_pad@example.comは、副社長の電子メールアドレスであり、その副社長の承認が求められている。そして、travel_arrangements@example.comは、出張コーディネータの電子メールアドレスである。
【0088】
このような複数ステップのワークフロー例の場合、携帯用コンピュータ装置102は、ワークフローのステップに対する電子メールヘッダを確認し、現在のステップを確認し、フォームが仕上がった場合に、全てのワークフロー電子メールヘッダとともに、そのフォームを次のステップに転送するように構築される。上記の例は、複数の携帯用コンピュータ装置102が、文書の署名を複数個集めるために使用できるようにし、署名後のフォームが出張の世話をする者に送信され、ワークフローを開始した従業者に返される。これは、従業者が、コピーを取得し、かつ出張が承認された時点を知ることを可能にする。従業者は、フォームを追跡する方法として、セントラルスケジューラ208で行われるように、全てのステップにおけるそれらのアドレスをリスト化する。
【0089】
一実施例において、複合文書400を送信するのに使用されたフォーマットされたメッセージは、携帯用コンピュータ装置102又はサービスプロバイダ124に対する電子メールヘッダのパラメータを含む。例えば、ストロークが、手書認証サービスに送信された場合、言語を特定すること、あるいは幾つかのストロークが何らかの言葉ではなく「数字」であることを示すことが有用である。以下、ワークフローを示す電子メールヘッダの一例を示し、携帯用コンピュータ装置102は、manager_pad@example.comという電子メールアドレスを有し、サービスプロバイダは、mark_recognition@example.comという電子メールアドレスを有する。
【数2】
【0090】
この例の場合、パラメータは属性値のペアであり、これは、言語が英語であり、ストロークが数字の文字を含んでいることを示す。
【0091】
代替実施例において、電子メールヘッダの代わりに又はそれに加えて、HTTPヘッダが使用されてもよい。複合文書がHTTPにより転送される場合、複数のステップをサポートするためにHTTPヘッダに同様な情報が挿入される。この場合、次のステップは、電子メールアドレスではなく、文書を送付するURLである。例えば、「X−Workflow−4:http://www.example.com/travelrequest.cgi」のようなラインが電子メールヘッダにあってもよい。この例の場合において、電子メールプロトコルを利用する代わりにステップ3が完了すると、現在の複合文書400は、httpポストコマンドにより、ワークフローにおけるステップのURLへ送信される。当然に、HTTPが文書転送に使用されていた場合、一実施例において、複合文書400を含むフォーマットされたメッセージが、次のステップに送信される前にストローク及び画像ワークフローサーバ106に返される。これにより、ストローク及び画像ワークフローサーバ106がワークフローの状態を追跡できるようになり、コンテンツ管理システムや他のビジネスアプリケーションのラインとの統合が可能になる。
【0092】
ページ画像、ストローク及びメタデータをサポートする方法で文書が転送される場合、そのメタデータは、ワークフローの命令及び状態を含むことができる。再び、簡易な例において、メタデータは、電子メールアドレス及びワークフローにおける現在のステップに関するリストを含む。上記の複合文書400の場合、このワークフロー情報は、ページメタデータディレクトリ404又は文書メタデータディレクトリ406に登場してもよい。
【0093】
<方法>
図5は、本発明によるペーパーライクフォームの処理方法500の一例を示すフローチャートである。本方法500は、ペーパーライクフォームサーバ106(以下、「サーバ106」と言及する。)が、画像又は画像群を受信した場合に始まる。サーバ106は複合文書400を作成する。複合文書400は、図4を参照しながら説明したような画像及びメタデータを含む。この工程は、携帯用コンピュータ装置102、コンピュータ108又はサービスプロバイダ124の内の任意のものにより実行可能であることを、当業者は認めるであろう。次に、本方法は、トランザクションテンプレート410を作成し(504)、それを複合文書400に加える(506)。上述したように、トランザクションテンプレート410は、複合文書の一部になる。トランザクションテンプレート410は、その複合文書400について実行されることになるペーパーライク処理のステップ又はトランザクションを指定する。一実施例において、セントラルスケジューラ208は、既存の様々なトランザクションテンプレート410を提供し、そのトランザクションテンプレートは、画像について実行される機能、サービスプロバイダ124の質(サービス品質)又は特定のサービスプロバイダ124の選択に基づいて、ユーザが選択してもよい。別の実施例において、ユーザインターフェースが生成及び表示され、トランザクション又はステップをトランザクションテンプレート410にユーザが追加できるようにする。トランザクションテンプレート410が複合文書400に追加されると(506)、複合文書400は、処理に備えてセントラルスケジューラ208に送付される(508)。セントラルスケジューラ208は、複合文書400のトランザクションテンプレート410で指定されているトランザクションの次のステップ及びサービスプロバイダ124を特定する(510)。次に、セントラルスケジューラ208は、複合文書400の全部又は一部をサービスプロバイダ124に送付する(512)。一実施例の場合、複合文書400の全体がサービスプロバイダ124に送付される。別の実施例の場合、サービスプロバイダ124がトランザクションを実行するのに必要な部分だけが、サービスプロバイダ124に送付される。特定のトランザクションのステップに不要な複合文書400の部分を除去して修正したものを送信することで、複合文書400は修正モジュール216により修正される。修正モジュール216は、複合文書のコピーを元のフォームで保持することで、サービスプロバイダ124から結果が返ってきた場合に、それらをそのコピーに追加し、サービスプロバイダ124から返ってきた結果に加えて、サービスプロバイダ124に送信していない情報も含む複合文書400を作成する。これは、サーバ106及びサービスプロバイダ124の間で伝送しなければならないデータ量を削減できる点で有利である。サービスプロバイダ124は、複合文書400を処理し、その結果をペーパーライクフォームサーバ106に返す(514)。一実施例において、本方法500は、返ってきたその結果を複合文書400に付加し(516)、及び/又は複合文書400のメタデータ406内のトランザクションステータスを更新する。他の実施例において、その結果は、トランザクションを開始した装置に送付される。図5において破線枠で示されているように、このステップ516は選択的である(必須ではない)。次に、本方法500は、複合文書400についての処理を要する別のトランザクションの有無を確認する。存在する場合、本方法はステップ510に戻り、トランザクションテンプレート410における次のトランザクションについて、ステップ510−518を繰り返す。別のトランザクションが残っていなかった場合、この複合文書400のペーパーライク処理は完了し、本方法は終了する。
【0094】
図6A、6B、7A−7Eを参照するに、サービスプロバイダ124を利用してトランザクションを実行する本発明による方法例が示されている。図6Aを参照するに、本方法は、ユーザからリクエストを受信することで始まる(602)。上記の一実施例において、これは、ペーパーライクフォームサーバ106が複合文書400を受信することである。他の実施例において、リクエストは、ペーパーライクフォームサーバ106が携帯用コンピュータ装置102から受信したメッセージであり、トランザクションを実行するのに必要な情報を含む。他の実施例において、トランザクションテンプレート410が複合文書400においてどの時点ででも起動又は使用されてよいことを、当業者は認めるであろう。動作、操作又はアクション(ページをめくること、携帯用コンピュータ装置102の電源を落とすこと、ページに書き込みをすること、所定期間の間停止すること、ユーザがボタンを押したこと又はチェックボックスを指定したこと等)は、すべて、処理を起動するために使用可能である。複合文書400は、上記の動作の任意のものが、特定のトランザクションテンプレート410のトリガとなることを指定するメタデータ406を含んでもよい。トランザクションテンプレートは順番に処理するように仮定されている。
【0095】
次に、ペーパーライクフォームサーバ106のセントラルスケジューラ208がサービスプロバイダ124を選択する(604)。セントラルスケジューラ208は、入力タイプ、出力タイプ及び/又は好みのベンダの情報に基づいて、サービスプロバイダ124を選択する。一実施例において、好ましいサービスプロバイダは、トランザクションテンプレート410の一部として単に指定されてもよい。別の実施例において、ペーパーライクフォームサーバ106は、入力タイプ及び出力タイプが指定されているトランザクションに合致する全てのサービスプロバイダのリストの中で、最も安価なサービスプロバイダ124を選択する。第3の例において、セントラルスケジューラ208は、サービス品質に関する記憶済みのレート(格付け)に基づいてサービスプロバイダ124を選択する。別の実施例において、複数のサービスプロバイダ124a−nが選択され、複数のサービスプロバイダ124a−nによる結果が、品質の観点から比較される。例えば、サービスは、基本ページ画像を工学文字認識(OCR)テキストに変換するようなものである。
【0096】
次に、本方法は、起動メッセージ(invocation message)を作成し、ステップ604において選択したサービスプロバイダ124宛に起動メッセージを送信する(606)。図7Aも参照するに、起動メッセージの一例が示されている。起動メッセージは、文書識別子(ID)702、ユーザ識別子(ID)704、プライス(価格)706及びトランザクションステップ識別子(ID)708を含む。文書ID702はファイル名又はロケーションであり、そのロケーションにおいて、サービスプロバイダ124が処理を行う文書又は画像が抽出可能である。別の実施例において、文書ID702は実際に文書自身を示す。ユーザIDは、トランザクションを必要としている装置の識別子である。一実施例において、このユーザIDは、(602)においてリクエストを開始した携帯用コンピュータ装置102に固有の識別子308である。プライス706は、そのトランザクションを実行することでサービスプロバイダ124に支払われるプライスである。トランザクションステップID708は、トランザクションのステップに固有の識別子である。多くの場合、トランザクションステップID708は、トランザクションテンプレート410に使用したものと同じ識別子である。
【0097】
起動メッセージはサービスプロバイダ124において受信される(608)。サービスプロバイダ124は、その起動メッセージから、実行すべきサービスを決定し、そのサービスを実行する。サービスプロバイダ124は、ローカルログにエントリを加える(612)。例えば、ロギングモジュール314はログエントリを追加し、サービスプロバイダ124のローカルログにおいて、サービスの完了を反映させる。サービスプロバイダ124各々は、そのサービスプロバイダ124が実行したトランザクションのローカルログを有する。図7Bを参照するに、サービストランザクションのログエントリの具体例が示されている。サービストランザクションのログエントリは、文書ID702、ユーザID704、プライス706、トランザクションステップID708、前のハッシュ値710及び結果のデータのハッシュ712を含む。文書ID702、ユーザID704、プライス706及びトランザクションステップID708は、図7Aを参照しながら上述したものと同じである。前のハッシュ値710は、サービスプロバイダ124のローカルログにおける前のログエントリのハッシュ値である。結果のデータのハッシュ712は、特定のトランザクションによる結果のハッシュ計算である。前のログエントリのハッシュ値を含めることで、この情報は、後の時点で使用可能になり、上述したように、他の関連付けられているログエントリと比較することで、検証を行うことができる。別の実施例において、サービストランザクションのログエントリは、文書のハッシュ又はおそらくは文書の一部の複数のハッシュを含む。サービスプロバイダ124は、トランザクションの結果及びログエントリをペーパーライクフォームサーバ106に送付する。
【0098】
トランザクションの結果及びログエントリは、ペーパーライクフォームサーバ106により受信される(616)。セントラルスケジューラ208は、その結果を保存し(618)、ログエントリをロギングモジュール210に送信する。ロギングモジュール210は、受信したサービストランザクションログエントリから、グローバルトランザクションログエントリを作成する。ロギングモジュール210は、図6Bに示されているように、そのグローバルトランザクションログエントリを、ペーパーライクフォームサーバ106のログに加える(620)。ペーパーライクフォームサーバ106は、全てのサービストランザクションのセントラルログを維持する。図7Cを参照するに、グローバルトランザクションログエントリの具体例が示されている。グローバルトランザクションログエントリは、文書ID702、ユーザID704、プライス706、トランザクションステップID708、前のハッシュ値710、結果のデータのハッシュ712及びサービスプロバイダ識別子(ID)714を有する。文書ID702、ユーザID704、プライス706、トランザクションステップID708及び結果のデータのハッシュ712については説明済みであり、受信したサービストランザクションログエントリと同様である。サービスプロバイダ識別子(ID)714は、結果を生成し、サービストランザクションログエントリを送付するサービスプロバイダ124に固有の文字列識別子である。前のハッシュ値710は、ペーパーライクフォームサーバ106のグローバルトランザクションログにおける前のエントリのハッシュ値である。ロギングモジュール210は、受信したサービストランザクションログエントリから呼の情報をコピーし、グローバルトランザクションログにおける前のエントリのハッシュ値を計算する。
【0099】
次に、セントラルスケジューラ208は、ページメタデータ404又は文書メタデータ406のログにエントリを加える(622)。図7Dを参照するに、文書トランザクションログエントリの具体例が示されている。文書トランザクションログエントリは、ユーザID704、プライス706、トランザクションステップID708、結果データのハッシュ712及びサービスプロバイダ識別子(ID)714を含む。ユーザID704、プライス706、トランザクションステップID708、結果データのハッシュ712及びサービスプロバイダ識別子(ID)714は、図7Cを参照しながら説明した要素と同様なフォーム及び機能を有する。しかしながら、前のハッシュ710は、ページメタデータ404又文書メタデータ406のログにおける前のエントリのハッシュ値である。そして、セントラルスケジューラ208は、あるロケーションをペーパーライクフォームサーバ106に加え(624)、そのロケーションにおいて、トランザクションサービス124からの結果が、複合文書400のメタデータ406に保存されている。例えば、サービスプロバイダ124により提供される出力各々について、セントラルスケジューラ208は、ログエントリを文書のメタデータログ406に書き込み、属性/値のペアを指定し、その属性は指定された役割(role)であり、その値は、トランザクションサービス124により返されたデータ群である。ログはハッシュ情報をやりとりするので、サービスを起動するこの方法は、様々なログの関わり合いをもたらし、様々なキーの領域における問題の解決策を与える。この方法は、トランザクションが実行されることを保証すること、複合文書400中のデータがトランザクションの結果に合っていることを保証すること、セントラルスケジューラ208が、適切なサービスプロバイダ124とともにトランザクションテンプレート410におけるステップを適切に実行していることを保証すること等をシステムができるようにする。
【0100】
本方法は、トランザクションテンプレート410に別のトランザクションステップが残っているか否かを判断するステップに続く(626)。残っていた場合、セントラルスケジューラ208は、次のトランザクションを特定し(628)、図6Aのステップ604に戻る。そして、本方法はステップ604−626を反復する。一方、別のトランザクションステップが残っていなかった場合、本方法は完了し、終了する。
【0101】
図8を参照しながら、処理用のサービスプロバイダ124に複合文書を送信する前に、複合文書400を修正又は編集する方法を説明する。場合によっては、他者に開示する情報を最小限に抑制する必要がある。文書は非常に重要な情報を含むかもしれないので、呼の情報がサービスプロバイダ124又はペーパーライクフォームサーバ106により不適切に保持されたり送信されないことを保証することは重要である。トランザクションステップの定義により要求されるタイプのみの最低限の情報とともに、修正又は編集された形式の複合文書400が作成される。この場合、文書400のログエントリ各々が、検査されるペアの属性及び値を有し、指定された入力タイプに合致するエントリのみが、サービスプロバイダ124に利用可能になる。本方法は、ペーパーライクフォームサーバ106のセントラルスケジューラ208が複合文書400を受信することから始まる(802)。セントラルスケジューラ208は、修正モジュール216とやり取りを行い、修正又は編集された形式の複合文書400
を作成する(804)。例えば、修正又編集された形式の複合文書400は、次のトランザクションステップに必要な情報を特定し、他の情報を除くことで作成される。次に、修正モジュール216は、修正された形式の複合文書400のログを更新する(806)。この場合、ページ及び文書メタデータログ404、406が、正しいログになるように書き換えられる。修正された形式の文書は、サービスプロバイダ124が要求する項目の部分を含む新規の正しいログを含む。セントラルスケジューラ208は、元の文書のログにエントリを書き込み、新たに編集された文書が作成されたこと、及び編集された文書の最終ログエントリのハッシュを含むことを示す。次に、本方法は、修正された形式の複合文書400をサービスプロバイダ124に送付する(808)。サービスプロバイダ124は、修正された形式のものを処理し、その結果を返す。結果は、ペーパーライクフォームサーバ106のセントラルスケジューラ208により受信される(810)。セントラルスケジューラ208は、受信した結果と元の文書を併合する(812)。一実施例において、サービスプロバイダ124がサービスタスクを完了した場合、編集された文書のログの内のエントリ(そのエントリのタイプは、サービスにより決定された出力に合致する)が、そのページ及びオリジナルの文書ログ404、406に付加される。ページログ404がオリジナルの対応するページログ404、406に付加され、編集された文書ログ406が、オリジナルの文書ログ406に付加される。新たなページがサービスプロバイダ124により付加された場合、それらのページ及び何らのログは、オリジナルの文書に付加される。本方法の利点は、ログの関わりが保持される一方、最小限の情報しかサービスプロバイダ124に開示しなくてよい点にある。
【0102】
本発明の実施例に関する以上の説明は、説明及び理解を促すために提示されている。それは網羅的であることを意図しておらず、説明された厳密な形式に本発明を限定することも意図されていない。上記の教示に照らせば、多くの修正及び変形が可能である。本発明の範囲は、詳細な説明によってではなく、本願の特許請求の範囲によって規定されることが、意図されている。当業者に理解されるように、本発明は、本発明の精神又は本質的特徴から逸脱することなく、他の特定の形式により実現されてもよい。同様に、モジュール、ルーチン、特徴、属性、方法、及び他の形態等の特定の名称や区分けは、必須でもなく本質的なものでもない。本発明又はその特徴を実現する仕組みは、異なる名称、異なる区分け及び/又は異なるフォーマットを備えていてもよい。さらに、当業者にとっては明らかであるように、本発明に関するモジュール、ルーチン、特徴、属性、方法及び他の形態は、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせにより実現可能である。また、本発明による要素がモジュールにより実現される場合、モジュールはソフトウェアとして実現され、その要素は、スタンドアローンプログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的に又は動的にリンクされたライブラリとして、カーネルローダブルモジュール(kernel loadable module)として、デバイスドライバとして実現可能であり、及び/又はコンピュータプログラミングの技術分野における当業者にとって現在知られている又は将来知られるようになる全ての任意の他の方法によって実現可能である。さらに、本発明は、何らかの特定のプログラミング言語で実現されることに限定されず、何らかの特定のオペレーティングシステム夜環境にも限定されない。したがって、本願による開示は、例示的なものであることを意図しており、添付の特許請求の範囲を規定する本発明の範囲を限定するようには意図されていない。
【符号の説明】
【0103】
100 システム
102a−102n コンピュータ装置
104 ネットワーク
106 ペーパーライクフォームサーバ
108 コンピュータ
110 データストレージ
112a−112n 接続
116、118、120、122 信号線
【先行技術文献】
【特許文献】
【0104】
【特許文献1】米国特許出願公開第20070156632号明細書
【技術分野】
【0001】
本発明は、分散したコンピュータシステムに関連する。より具体的に言えば、本発明は、プロバイダ及びクライアント装置の間で処理を分散するシステム及び方法に関連する。さらに具体的に言えば、本発明は、ペーパーライクフォーム処理(paper like form processing)を行う分散システムに関連する。
【背景技術】
【0002】
従来、多くのデータ処理は、紙のフォームを用いて、そのようなフォームを手作業で完成させて処理することで実行されている。紙のフォームは使用するのに便利であり、何らかの訓練(トレーニング)を要しない。紙のフォームの場所自体が、完了しつつあるワークフローの進捗状況を反映している。紙は、署名のような固有の識別情報、コメント又はスケッチが付加される媒体も提供する。フォームは、ほとんどのオフィス環境の至る所で使用されており、通常の紙ベースのワークフローにおいて重要な部分となっている。しかしながら、そのような紙を用いたワークフローに関し、欠点がないわけではない。特に、長距離にわたって及び分散したオフィスにわたってフォームを配布することは、コスト高で遅いことに加えて、コピーをとらなければならに。さらに、紙のフォームの利便性は限られており、ワークフローによって処理され完了したフォームを保存するコストも高くつく。
【0003】
多種多様なフォームを使用するコンピュータ装置により、これらの欠点を克服する試みがなされている。一般的に多くのユーザに利用可能なコンピュータ装置の利用形態は、ネットワークに結合されたデスクトップコンピュータのような小規模で均一な一群のコンピュータ装置から、機能及び演算能力が著しく異なる大規模で不均一な一群のコンピュータ装置に至るまで大きく変化してきた。例えば、ネットワーク、サーバ及び周辺装置を利用できるように結合されているコンピュータ装置は幾つでも存在し、そのようなコンピュータ装置は、限定ではないが、パーソナルコンピュータ、パーソナルディジタルアシスタント、スマートフォン、ラップトップコンピュータ、ノートブックコンピュータ、イーブックリーダ(電子書籍端末)及びディジタルカメラ等である。これらの装置の多くは、有線又は無線によりネットワークを介して通信する機能を有するが、サービスプロバイダとの間や、ワークフローを実行する他の周辺装置との間のインターフェースの機能は、極めて制約されている。なぜなら、周辺装置の各々は、異なるデータ通信プロトコルに従う必要があり、自分自身のアプリケーションインターフェースを持つ必要があり、データは、その周辺装置に特有のフォーマットでなければならず、それは他の周辺装置のフォーマットとしばしば異なる。
【0004】
他の例では「タブレットPC」が使用され、これは、本質的には、主にスタイラスによる入力を受け付けるように設計されたパーソナルコンピュータである。これらの装置は、メニュー、ファイルフォルダ及び任意のアプリケーションとともに、PCの機能を提供し、スタイラスとともに、これらの機能へのアクセスを容易にしている。場合によっては、ユーザインターフェースは、例えばカルテ(medical chart)のような特定の目的に特化している。この場合、ユーザは、PCのオペレーティングシステムの使い方を学ぶ必要はないが、その特定の用途のソフトウェアについては学ぶ必要がある。そのような装置は、一般に、装置と共に使用されるように意図されているバックエンドシステムがある場合にのみ有用である。電子メールシステムも存在するが、これは一般的に文書に注釈を付ける方法を提供せず、システムのセキュリティ用にユーザがパスワードを管理しなければならないという別の問題を招いてしまう。
【0005】
紙ベースのフォーム処理の欠点を克服する従来技術によるさらに別の試みは、セントラル化されたワークフローシステムを設けることである。しかしながら、そのようなセントラル化されたワークフローシステムは、ユーザ各々がログインすることをしばしば必要とし、さらに、カスタム化された膨大な量のプログラミングを必要とする。したがって、ワークフローに対する些細な変更でさえ、速やかに実行することはできない。むしろ、些細な変更でも専門のプログラマによる専用の修正を必要とし、セントラル化したシステムが所望のワークフローに適合するまでに、かなりの待ち時間を招いてしまうのが一般的である。さらに、そのようなセントラル化したシステムのワークフローは、電子文書の修正や任意のコメントに対応できない。一般に、そのようなシステムは、ユーザがシステムに完全に接続されている場合にアクセスできるようにするだけであり、ユーザは、セントラルシステムから文書を取り出し、ワードプロセッサを使って編集し、それらをシステムに戻す。そのようなセントラル化したワークフローシステムは、特殊なワークフロー、企業の人間ではない人々である「部外者」としての特別なグループ、又は全ての文書に対してグループメンバとして同じアクセス権が付与されるべきでないグループや特定の人々を区別して作成することを困難にしている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の課題は、従来の問題の少なくとも1つを軽減又は解決することである。
【課題を解決するための手段】
【0007】
本発明の一形態による方法は、
ペーパーライク処理サーバにおけるトランザクションの情報を含むトランザクションテンプレートを含む複合文書を受信し、
トランザクションステップ及び該トランザクションステップを行うサービスプロバイダを特定し、
前記複合文書を前記サービスプロバイダに送付し、
前記ペーパーライク処理サーバが、前記トランザクションステップの実行結果を受信し、
前記トランザクションの完了を示すエントリを、前記ペーパーライク処理サーバのグローバルトランザクションログに加えるステップ
を有するペーパーライクフォーム処理のための方法である。
【図面の簡単な説明】
【0008】
【図1】本発明によるペーパーライクフォーム処理システムの一例を示すブロック図。
【図2】本発明によるペーパーライクフォームサーバ一例を示すブロック図。
【図3】本発明による携帯用コンピュータ装置の一例を示すブロック図。
【図4A】本発明による複合文書の一例を示すブロック図。
【図4B】本発明による複合文書の一例を示す図。
【図5】本発明によるペーパーライクフォーム処理方法の一例を示すフローチャート。
【図6A】サービスプロバイダを利用して本発明による処理を実行する方法例を示すフローチャート。
【図6B】サービスプロバイダを利用して本発明による処理を実行する方法例を示すフローチャート。
【図7A】本発明におけるメッセージ及びログエントリを示す図。
【図7B】本発明におけるメッセージ及びログエントリを示す図。
【図7C】本発明におけるメッセージ及びログエントリを示す図。
【図7D】本発明におけるメッセージ及びログエントリを示す図。
【図7E】本発明におけるメッセージ及びログエントリを示す図。
【図8】サービスプロバイダによる処理に備えて文書を修正する本発明による方法例を示すフローチャート。
【発明を実施するための形態】
【0009】
本発明は、ペーパーライクフォーム処理システムにより従来の問題を克服する。本システムは、フォームを処理するための固有の文書構造(ロギング機能を有する)を提供できる点で、特に有利である。一実施例において、本発明によるシステムは、ネットワークを介してペーパーライクフォームサーバに結合された複数のコンピュータ装置を有する。他の実施例におけるペーパーライクフォーム処理システムは、コンピュータと、ネットワークに結合された1つ以上のサービスプロバイダとを含む。携帯用コンピュータ装置は、ディスプレイ機能部、ストローク捕捉機能部及び無線通信機能部を含む。携帯用コンピュータ装置は、画像(例えば、複合文書(compound document)/フォーム)を受信し、受信した画像にストローク注釈を加え、受信して注釈を加えた画像又はストローク注釈自体をペーパーライクフォームサーバに送信する。ペーパーライクフォームサーバは、セントラルスケジューラ及びロギングモジュールを有する。ペーパーライクフォームサーバは、請求(課金)モジュール、サービスプロバイダ管理評価モジュール、修正モジュール、再試行モジュール及び検証モジュールも有する。サービスプロバイダの各々は、ローカルなロギング(記録)のためのロギングモジュールも有する。ペーパーライクフォームサーバは、複合文書をペーパーライクフォーム(紙のフォーム)として処理し、サービスプロバイダへの入力を送信し、サービスプロバイダからの結果を受信し、複合文書に対する様々なタイプのペーパーライク処理を実行する。ペーパーライクフォーム処理システムは、ユーザが何らかの特別なトレーニングを受けることを必要とせずに、紙の場合のような方法で文書処理を行える点で、特に有利である。携帯用コンピュータ装置及びサービスプロバイダは、ペーパーライクフォームサーバとやり取りを行うための最小限の修正しか必要としない。ペーパーライクフォームサーバは、スケジューリング(予定を立てること)、ルーティング(送付すること)、ロギング(記録すること)、検証すること及び課金すること等を、複合文書のペーパーライク処理として実行する。セントラルスケジューラは、後に引き出す場合に備えてサービスプロバイダからの結果を保存する。
【0010】
本発明は様々な新規な方法も含み、例えば、複合文書のペーパーライク処理のための方法、複合文書をルーティングする方法、サービスプロバイダの処理のために文書を修正する方法等のような本発明による方法を含む。
【0011】
本願において説明される特徴及び利点は網羅的なものではなく、以下の詳細な説明及び図面を参照することで、多くのさらなる特徴や利点が当業者にとって明らかになるであろう。さらに、本明細書で使用されている言葉は、原則として読みやすさや説明を意図して選択されており、開示される発明の範囲を限定するものではないことに、留意を要する。
【0012】
本発明は、例示により説明され、添付図面に限定されるものではなく、図中、同様な参照番号が同様な要素を示すのに使用されている。
【0013】
ペーパーライクフォーム処理システムが説明される。以下の説明において、説明の目的で様々な具体的詳細が説明され、本発明の十分な理解を促す。しかしながら、本発明はそのような具体的詳細によらず使用可能であることは、当業者にとって明らかであろう。場合によっては、装置や構造はブロック図として示され、本発明を曖昧にしてしまうことを回避する。例えば、本発明は、一実施例において、ハードウェア及びソフトウェアプラットフォーム(例えば、アマゾンキンドル(Amazon Kindle))において実現される携帯用コンピュータ装置と共に説明されている。しかしながら、本発明は、インク、データ及びコマンドを取り込み、文書を電子的に送信することが可能な如何なるタイプの携帯用コンピュータ装置にも適用できる。
【0014】
本明細書における「一実施例」又は「形態」は、その実施例に関して説明される特定の特質、構造又は特徴が、本発明の少なくとも1つの実施例に含まれることを意味する。本明細書の様々な場所で「一実施例」なる用語が使用されているが、必ずしも全てが同じ実施例であるとは限らない。特に、本発明は以下において2つの別個のアーキテクチャに関連して説明されるが、一部の装置は双方のアーキテクチャにおいて動作可能であるが、他の装置はそうではない。
【0015】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットを処理するアルゴリズム及び記号表現で与えられる。これらのアルゴリズムの説明及び表現は、データ処理技術分野の当業者が他の当業者に彼らの仕事内容を最も効率的に伝えるのに使用される手段である。ここで、アルゴリズムは一般に所望の結果に導く首尾一貫した一連のステップと考えられる。そのステップは物理量の物理的処理を必要とするものである。必須ではないが、通常それらの物理量は、格納、転送、結合、比較その他の処理を施すことの可能な電気的な又は磁気的な信号の形態をとる。原則的な一般的な用法の観点から、ビット、値、エレメント、シンボル、キャラクタ、期間、数等としてそれらの信号に言及することが折に触れて便利なことが分かる。
【0016】
しかしながら、これらの及び類似の用語の全ては、適切な物理量に関連しており且つそれらの量に付された便宜的なラベルにすぎないことに留意を要する。特に断りのない限り、以下の説明から明らかなように、本説明を通じて、「処理」、「演算」、「計算」、「決定」又は「表示」等のような用語を用いる説明は、コンピュータシステム又は同様な電子コンピュータ装置の動作や処理に関連し、そのコンピュータシステム等は、コンピュータシステムのレジスタ及びメモリの中で物理的な(電子的な)量として表現されるデータを、コンピュータシステムメモリやレジスタその他の情報ストレージ、伝送又は表示装置の中で物理量として同様に表現される他のデータに変換及び処理することが、理解されるであろう。
【0017】
本発明はここで説明される処理を実行する装置にも関連している。その装置は、必要な目的に応じて特別に構築されてもよいし、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブにされる又は再構成される汎用コンピュータで構築されてもよい。そのようなコンピュータプログラムはコンピュータ読取可能な記憶媒体に格納されてもよく、その記憶媒体は、限定ではないが、フロッピディスク、光ディスク、CD-ROM、磁気光ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光カード等の如何なるタイプのディスクを含んでもよいし、或いは電子的な命令を格納するのに指摘した如何なるタイプの媒体を含んでもよく、ディスクも媒体もそれぞれコンピュータシステムバスに結合される。
【0018】
本明細書に示されるアルゴリズム及びディスプレイは、何らかの特定のコンピュータ又は他の装置に固有に関連するものではない。様々な汎用システムが、本願による教示にしたがってプログラムとともに使用されてもよいし、あるいは、必要な方法ステップを実行するのにさらに特化した装置を構築することが有益であるかもしれない。それら様々なシステムに必要な構造は以下の説明から明らかになるであろう。さらに、本発明は何らかの特定のプログラミング言語に特化して説明されている。本願で説明される発明の教示内容を実現するために様々なプログラミング言語を使用可能であることが、理解されるであろう。
【実施例1】
【0019】
<システム概要>
図1は、ペーパーライクフォーム処理のためのシステム例100を示す。図1を参照するに、この例のシステム100は、複数の携帯用コンピュータ装置102a−102n、ネットワーク104、コンピュータ108、ペーパーライクフォームサーバ106、データストレージ110及び1つ以上のサービスプロバイダ124を有する。
【0020】
複数の携帯用コンピュータ装置102a−102nは、各自の接続112a−112nを介してネットワーク104に無線により結合される。一実施例において、携帯用コンピュータ装置102a−102nは、ディスプレイ、ストローク捕捉機能部(取込機能部、取得機能部)及び無線通信機能部を含む携帯用コンピュータ装置である。携帯用コンピュータ装置は、画像(例えば、フォーム)を受信し、受信した画像にストローク注釈(stroke annotation)を追加し、受信した注釈の付いた画像を送信するように構築される。携帯用コンピュータ装置102a−102nの具体例については、図3を参照しながら後述される。この例は、ストロークを書き込むことができる装置に関連して説明されるが、読み取りや文書転送等のような多くの便利な機能が、ストロークを受け付けることなく実行可能であることは明らかである。
【0021】
ネットワーク104は、通常の有線又は無線の形式のものであり、スターコンフィギュレーション、トークンリングコンフィギュレーションその他の当業者に既知のコンフィギュレーションのような任意の形態を有する。さらに、ネットワーク104は、ローカルエリアネットワーク(LAN)や、広域ネットワーク(WAN)(例えば、インターネット)により構築されていてもよいし、及び/又は複数の装置が通信する他の任意の相互接続データパスにより構築されていてもよい。さらに別の実施例において、ネットワーク104はピアトゥピアネットワークでもよい。ネットワーク104は、多種多様な通信プロトコルによりデータを送信する通信ネットワークの部分に結合されていてもよいし、そのような部分を含んでいてもよい。
【0022】
コンピュータ108は、パーソナルコンピュータのような通常のタイプのものである。コンピュータ108は信号線118によりネットワーク104に結合される。一実施例において、コンピュータ108は、最初にフォームを入力するペーパーライクフォームサーバ106にアクセスして通信し、ワークフローにしたがって特定のフォームに対する処理を実行する又は処理を確認する。例えば、ユーザは、コンピュータ108を使用して、以後の処理のためにPDFファイルのような文書を、ペーパーライクフォームサーバ106に入力する。同様に、コンピュータ108は、そのワークフローによる全ての処理が完了した後に、完成したフォームを受け取る。そして、コンピュータ108は、ペーパーライクフォームサーバ106の検証モジュールと通信し、特定のフォームの処理の状態又は仕上がりを確認してもよい。
【0023】
ペーパーライクフォームサーバ106は、信号線116を介してネットワーク104に結合され、携帯用コンピュータ装置102a−102n、コンピュータ108及びサービスプロバイダ124と通信する。ペーパーライクフォームサーバ106は、信号線120を介してデータストレージ110にも結合される。ペーパーライクフォームサーバ106は、セントラルスケジューラ208、ロギングモジュール212、サービスプロバイダ管理評価モジュール214、修正モジュール216、再試行モジュール218及び検証モジュール230を含む(図2参照)。ペーパーライクフォームサーバ106は、文書を送信し、携帯用コンピュータ装置102a−102n及びサービスプロバイダ124から文書を受信し、確認用の記録(ログ)を維持し、ペーパーライクワークフロー及び文書の処理を実行する。これは特に有利である。なぜなら、ペーパーライクフォームサーバ106は、トランザクションのペーパーライク処理を実行し、電子文書処理のオーバーヘッドを処理し、その処理がユーザにとって不可視であるようにできるからである。
【0024】
データストレージ110は、信号線120を介してペーパーライクフォームサーバ106に結合される。データストレージ110は、不揮発性記憶装置又は同様な永続的なストレージデバイス及び媒体である。データストレージデバイス110は、プロセッサ202用の命令及びデータを保存し、ハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は他の既存の大容量記憶装置等を含む装置の内の1つ以上を有する。データストレージ110は、ログの処理のようなワークフローの処理に関する情報を保存するために使用される。一実施例において、データストレージ110は、データ、処理結果、処理履歴及び他の情報等のペーパーライクフォームサーバ106に関する情報を有する。
【0025】
少なくとも1つのサービスプロバイダ124は、各自の信号線122によりネットワーク104に結合される。サービスプロバイダ124は、サーバ、パーソナルコンピュータ及び関連するソフトウェアのような通常のタイプのコンピュータ装置である。一実施例において、サービスプロバイダ124は、提示されるサービスを提供するために人間がやりとりすることを可能にするコンピュータシステムである。サービスプロバイダの一例は、パーソナルコンピュータ、スマートフォン又はコンピュータパッドを所有する人間のユーザである。サービスプロバイダ124は、1つ以上のサービスを提供することができる。図1には一つのサービスプロバイダ124しか示されていないが、異なるサービスをそれぞれが提供する2以上のサービスプロバイダ124が存在してもよいことを、当業者は認めるであろう。
【0026】
様々なサービスプロバイダ124により提供されるサービスの具体例は、以下のものを含むが、これらに限定されない:1)画像又はストロークを受信してメタデータを返す認識サービス。例えば、光学式マーク読み取り、機械式光学文字認識、人間による校正を利用する光学文字認識、バーコード認識/解読、顔認識、画像処理(洗浄、強調等)等を行うサービス。2)画像又はストロークを受信し、データベースにエントリを作成するアップロードサービス。例えば、サーバに文書データを記録して保存したり、CRM、買い掛け金勘定(支払勘定)又は売り掛け金勘定のデータベース及び他のサービス処理の冗長ストレージに、メタデータを保存する。3)(公的及び私的な)情報検索サービス。例えば、辞書における言葉の探索、株価の調査、顧客リストのアドレス調査等である。4)データ処理サービス。例えば、校正、言語変換、フォーマット変換、暗号化、暗号化解除、スペルチェック/訂正、文法検査/訂正、等級又は格付け検査、画像処理(清掃)、測定データの集約、データ検索、何らかのRPC手段を利用したリモートプロシジャ呼出、タイムスタンプを伴う合法性の登録等である。5)文書に広告を合わせるような広告サービス。6)銀行業務サービス。例えば、クレジットカード番号の確認、クレジットカードの有効性の確認、フォームの完備性の確認、処理概要及び入出金の確認等である。7)正当性検査サービス。例えば、冗長検査処理、類似する入力を用いる不正検出、疑義のある処理に対する処理パターン認識等である。8)電子承認サービス。例えば、署名確認、上長承認、企業承認、ディジタル署名等である。
【0027】
<ペーパーライクフォームサーバ106>
図2を参照するに、一実施例によるペーパーライクフォームサーバ106が詳細に記載されている。ペーパーライクフォームサーバ106は、プロセッサ202、メモリ204、通信装置206、セントラルスケジューラ208、ロギングモジュール210、課金モジュール212、サービスプロバイダ管理評価部214、修正部216、再試行モジュール218、バス220及び検証モジュール230を有する。代替実施例において、ペーパーライクフォームサーバ106は、ディスプレイ装置222、出力装置224、入力装置528及び他のアプリケーションをさらに有する。
【0028】
プロセッサ202は、算術演算論理装置、マイクロプロセッサ、汎用コントローラ又はその他のプロセッサアレイを有し、演算を実行し、ディスプレイ装置222に電子表示信号を提供し、本発明によるペーパーライクフォーム処理を実行する。プロセッサ202は、バス220に結合され、ペーパーライクフォームサーバ106の他の要素と通信する。プロセッサ202は、データ信号を処理し、様々なコンピュータアーキテクチャにより構築されていてもよい。そのようなコンピュータアーキテクチャは、複合命令セットコンピュータ(CISC)アーキテクチャ、冗長命令セットコンピュータ(RISC)アーキテクチャ、又はそれらの命令セットの組み合わせによるアーキテクチャである。図2には1つのプロセッサしか描かれていないが、複数のプロセッサが含まれていてもよい。他のプロセッサ、他のオペレーティングシステム、他のセンサ、他のディスプレイ及び他の物理形態が可能であることは、当業者にとって自明であろう。コンピューティングパッド202はプロセッサにより実行可能なオペレーティングシステムを含み、オペレーティングシステムは、例えば、WINDOWS(登録商標)、MacOSX又はUNIX(登録商標)等であるがこれらに限定されない。
【0029】
メモリ204は、プロセッサ202により実行される命令及び/又はデータを格納する。命令及び/又はデータは、本願で説明される技法の何れか及び/又は全てを実行するためのコードを有する。メモリ204は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセス(SRAM)装置、フラッシュメモリ又は当該技術分野で既知の他のメモリでもよい。一実施例において、メモリ204は、より永続的な方法でログ情報を保存するフラッシュ装置又はハードディスクドライブのような不揮発性メモリを含む。メモリ204は、バス220に結合され、ペーパーライクフォームサーバ106の他の要素と通信する。
【0030】
通信装置206は信号線116、120及びバス220に結合される。通信装置206は、ネットワーク104及び他の処理システムにプロセッサ202を結合する。通信装置206は、標準的なネットワークプロトコルを用いたファイル転送のために、ネットワーク104に対する通常の接続を提供し、標準的なネットワークプロトコルは、例えばTCP/IP、HTTP、HTTPS及びSMTP等のような当業者に既知のものである。代替実施例において、通信装置206は、無線接続によりネットワーク104又はデータストレージ110に結合され、通信装置206は、複合文書を送信及び受信するトランシーバを含む。そのような代替実施例の場合、通信装置206は、アクセスポイントと無線通信するWiFiトランシーバを含む。他の代替実施例において、通信装置206は、他の装置と無線通信するためのブルートゥース(登録商標)方式のトランシーバを含む。さらに別の実施例において、通信装置206は、セルラ通信ネットワークを介してデータを送信及び受信するセルラ通信トランシーバを含み、例えば、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータコネクション、WAP、電子メール等を介してデータを送受信する。さらに別の実施例において、通信装置206は、有線接続用のポートを含み、その有線接続は、USB、SD又はCAT−5等であるがこれらに限定されない。
【0031】
セントラルスケジューラ208は、複合文書を処理及びルーティングするソフトウェア及びルーチンである。セントラルスケジューラ208は、複合文書400を生成し、フォーマットされたメッセージを作成する。セントラルスケジューラ208は、ロギングモジュール210とともに協働して、グローバルトランザクションログ(ロギングモジュール210、メモリ204又はデータストレージ110に保存される)を作成し、公表する又は必要に応じてそのログを利用可能にする。セントラルスケジューラ208は、トランザクションステップ(処理ステップ)を決定し、サービスプロバイダを選択し、ペーパーライク処理のワークフローの一部として、フォーマットされたメッセージを次の場所(次の処理ステップの段階)にルーティングする。セントラルスケジューラ208は、複合文書を送信する電子メールサーバのような文書転送モジュールを含む。セントラルスケジューラ208は、課金モジュール212、サービスプロバイダ管理評価部214、修正モジュール216及び再試行モジュール218にも結合されてそれらとやり取りを行い、それらのモジュールにデータを送信し、それらのモジュールからデータを受信し、及び各自の機能に関する情報を提供する。セントラルスケジューラ208は、課金すること、複合文書に対してなされた全ての処理を記録すること、必要な任意の処理をどのサービスプロバイダが実行するかを選択する責務を有する。
【0032】
ロギングモジュール210は、ペーパーライクフォームサーバ106により行われる処理の全体的な記録(グローバルログ)を作成及び保存するソフトウェア及びルーチンである。一実施例において、このグローバルログは、ロギングモジュール210によりメモリ204内に保存され、より具体的にはメモリ204の不揮発性ストレージの部分に保存される。言い換えれば、グローバルログは、データストレージ110により直接的にコピーされる又は書き込まれる。一実施例において、ロギングモジュール210は、図5、6A、6B、7及び8における後述の機能を提供するルーチンであり、プロセッサ202により実行される。ロギングモジュール210は、トランザクションの処理及び仕上がりの検証を行う点で特に重要である。一実施例において、ロギングモジュール210は、ネットワーク104における公に利用可能な場所において、トランザクションのログを公表又は保存するルーチンを含む。ロギングモジュール210は、プロセッサ202、メモリ204及び通信装置206にバス220により結合されている。一実施例において、ロギングモジュール210は、ストレージ又はメモリを含み、ペーパーライクフォームサーバ106の処理トランザクション及び動作のログを保存する。
【0033】
課金モジュール212は、完了したトランザクションの処理の要求者に課金するプロセッサにより実行可能なソフトウェア及びルーチンである。一実施例において、課金モジュール212は、認証された要求者、識別番号、課金するアドレスのリスト及び他のセキュリティ情報を含む。課金モジュール212は、サービスプロバイダ124に対する類似タイプ情報も含む。ペーパーライク処理における各々のステップは、トランザクションと考えられる。トランザクションの各々は、ステップを実行するためのプライス(価格、価値)を有し、そのプライスの一部はサービスプロバイダ124に提供され、そのプライスの一部がサーバ106に残る。課金モジュール212は、セントラルスケジューラ208に結合され、トランザクションのステータス(状態)を判別する。トランザクションが処理されると、課金モジュール212は、要求者に関する情報、トランザクションステップを実行したサービスプロバイダ124に関する情報及び処理に関する他の情報を蓄積(累積)する。そして、課金モジュール212は、サービスプロバイダ124及び要求者に関するクレジット及びデビットの明細書をそれぞれ作成する。電子課金、資金転送、クレジットカード処理等の様々な課金の処理が課金モジュール212により実行可能であることを、当業者は認めるであろう。課金モジュールは、セントラルスケジューラ208、プロセッサ202及び通信装置206との通信に適している。他の実施例において、課金モジュール212は、トランザクションを表現する課金コードのリスト又はスケジュールを維持する。課金コードの各々は、トランザクションテンプレート410において使用され、提供される及び/又は仕上げられるサービスを特定する。一実施例において、課金コードは、サービスを実行するための付随パラメータに加えて、事前に交渉したプライス、サービスプロバイダ124及びペーパーライクフォームサーバ106間のプライスの割り振りに関する付随パラメータを有する。そのような課金コードは、一括購入割引又は特別な私的なプライス契約のようなさらなる情報を含んでよいことを、当業者は認識するであろう。さらに別の実施例において、課金モジュール212は、プロセッサ202及び通信装置206と協働することで、市場の動向や他の私的な契約に応じて課金スケジュールを更新及び編集することを可能にする。
【0034】
サービスプロバイダ管理評価部214は、プロセッサ202により実行可能なソフトウェア及びルーチンであり、サービスプロバイダ124を管理し、トランザクションの完了を監視し、それらを評価(格付け、等級付け、レーティング)し、サービス品質値を生成する、又はそれらが或るサービス品質レベルに達していることを保証する。サービスプロバイダ管理評価部214は、セントラルスケジューラ208、プロセッサ202、メモリ204及び通信装置206に結合されている。サービスプロバイダ管理評価部214は、セントラルスケジューラ208と協働し、特定のトランザクションのためのサービスプロバイダを選択する。場合によっては、複数のサービスプロバイダ124が、第1の、第2の、等々のサービスプロバイダとしてトランザクションに関連付けられ、互いにバックアップとして機能する。サービスプロバイダ管理評価部214は、トランザクションの完了を監視する。トランザクションが完了しなかった場合、サービスプロバイダ管理評価部214は、トランザクションが完了しなかった理由を検討し、そのトランザクションに関連するサービスプロバイダ124に対して、レーティング又はサービス品質の目安を与える。サービスプロバイダ管理評価部214の動作については後述する。
【0035】
修正モジュール216は、プロセッサ202により実行可能なソフトウェア及びルーチンであり、複合文書400からコンテンツを抽出したり、コンテンツを修正する。場合によっては、特定のサービスプロバイダ124に提供される情報量を制御又は制限することが有利である。例えば、非常に重要である又は秘密の情報の場合、トランザクションを実行するために必要な情報のみを、特定のサービスプロバイダに提供することが有利である。修正モジュール216は、プロセッサ202、メモリ204及びセントラルスケジューラ208に結合され、複合文書及びフィルタリング(選別)の指示を受信し、修正された又は編集された形式の複合文書400を返す。修正モジュール216の動作については後述する。
【0036】
再試行モジュール218は、プロセッサ202により実行されるソフトウェア及びルーチンであり、トランザクションの失敗を監視し、再度やり直す。再試行モジュール218は、サービスプロバイダ124又はセントラルスケジューラ208からの、トランザクションが失敗したことを示すメッセージを監視する。第1の例の場合、サービスプロバイダ124は、トランザクションを完了できなかったことを示すメッセージを送信する。第2の例の場合、セントラルスケジューラ208は、トランザクションが送付されかつサービスプロバイダ124により受け入れられた時間を監視(記憶)する。所定の期間の後、サービスプロバイダ124がそのトランザクションの結果を返していなかった場合、セントラルスケジューラ208は、時間切れによる失敗のメッセージを再試行モジュール218に送信する。第3の例の場合、サービスプロバイダ124はトランザクションを完了しているが、その結果が低品質である及び/又は受け入れることができない。再試行モジュール218は、トランザクションの処理を監視すること、失敗を示す信号を監視すること、失敗信号に応答して、トランザクションをやり直す処理を実行すること(他のサービスプロバイダ124を特定すること、そのサービスプロバイダ124と通信すること及びそのサービスプロバイダ124にトランザクションを複合文書400として送信することを含む)、及びログを更新するようにロギングモジュール210に通知すること等の責務を有する。場合によっては、処理が不完全であること又は失敗していることを、かなり後になってユーザが判断し、そのフォームをやり直す必要があることを再試行モジュール218に通知する。再試行モジュール218の動作については後述する。
【0037】
バス220は、ペーパーライクフォームサーバ106により情報及びデータを通信するための共有バスを表す。バス220は、業界標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI)バス、ユニバーサルシリアルバス(USB)、同様な機能を提供する当該技術分野において既知の他のバスを含む1つ以上のバスを表す。バス220を介してプロセッサ202に結合される要素は、メモリ204、通信装置206、セントラルスケジューラ208、ロギングモジュール210、課金モジュール212、サービスプロバイダ管理評価部214、修正モジュール216、再試行モジュール218、バス220、検証モジュール230、ディスプレイ装置222、出力装置224、入力装置528及び他のアプリケーション228を含む。
【0038】
検証モジュール230は、プロセッサ202により実行されるソフトウェア及びルーチンであり、複合文書400のトランザクションの処理を検証する。一実施例において、検証モジュール230は、プロセッサ202により実行可能なルーチンであり、ロギングについての以下の説明において言及される検証を実行する。検証モジュール230は、プロセッサ202、メモリ204及び通信装置206にバス220を介して結合される。
【0039】
ディスプレイ装置222は、本願で説明されるような電子画像及びデータを表示するように備えられた任意の装置を表す。ディスプレイ装置222は、例えば、陰極線管(CRT)又は液晶ディスプレイ(LCD)でもよいし、あるいは、他の任意の同様に備えられた表示装置、スクリーン又はモニタ等でもよい。一実施例において、ディスプレイ装置222にはタッチスクリーンが設けられ、接触感知式の透明パネルがディスプレイ装置222の画面に整合している。
【0040】
出力装置224はLEDのような通常のタイプのものである。出力装置224は、サーバ106の状態を示し、例えば、1)電力が供給されて動作可能であるか否か、2)ネットワーク接続を有するか否か、3)トランザクションを処理しているか否か等を示す。出力装置224の一部として上記に列挙されたもの以外に、様々な付加的な状態インジケータが存在することを、当業者は認めるであろう。他の実施例において、出力装置224は、スピーカも含む。
【0041】
入力装置226は、キーボード及びカーソル制御部である。キーボードは、プロセッサ202に結合された英数字入力装置であり、情報及びコマンドの選択内容を通信する。キーボードは、クワーティ(QWERTY)キーボード、キーパッド又はタッチスクリーン上にそのように形成される表現物でもよい。カーソル制御部は、データに加えてコマンドの選択結果をもプロセッサ202に通知するために備えられたユーザ入力装置を表す。カーソル制御部は、マウス、トラックボール、スタイラス、ペン、タッチスクリーン、カーソル方向指示キーその他のカーソルを動かす手段を含む。
【0042】
他のアプリケーション228は、プロセッサ202により実行される他のソフトウェア及びルーチンであり、様々な他のタイプの機能を実行する。一実施例において、1つ以上のアプリケーションは、プロセッサ202により実行され、例えば、ワードプロセッシングアプリケーション、電子メールアプリケーション、財務アプリケーション及びウェブブラウザアプリケーション等であるが、これらに限定されない。
【0043】
<携帯用コンピュータ装置102>
図3を参照しながら、一実施例における携帯用コンピュータ装置102を詳細に説明する。携帯用コンピュータ装置102は、複合文書400からの画像を表示し、ペーパーライクインターフェースを提供する画像に描かれた任意のストローク及びユーザの処理を記録する。ストローク、筆跡、一画(stroke)は、典型的には、一連の点の集まり又は一連の線分の集まりとして取り込まれる。通常、あるタイミング情報がストロークと共に取得され、場合によっては、筆圧情報も取得される。「ペンアップ(ペンを持ち上げたこと)」及び「ペンダウン(ペンを下ろしたこと)」の情報が、ストロークと共に記録されてもよい。場合によっては、スタイラスが識別子、ボタン又は異なる「末尾(different ends)」を有し、これがストロークとともに記録されてもよい。
【0044】
コンピューティングパッド102は、プロセッサ302、メモリ304、通信装置306、固有のデバイス識別子308、クロック310、メタデータモジュール312、ロギングモジュール314、文書転送モジュール316、他のアプリケーション318、バス320、ディスプレイ装置322、出力装置324及び入力装置326を有する。
【0045】
携帯用コンピュータ装置102の幾つかの要素は、ペーパーライクフォームサーバ106の要素と同一又は類似する機能を有することを、当業者は認めるであろう。したがってそれらの要素についての説明はここでは繰り返さない。例えば、プロセッサ302、メモリ304、バス320及び他のアプリケーション318は、それぞれ、プロセッサ202、メモリ204、バス220及び他のアプリケーション228と同様である。携帯用コンピュータ装置102は、典型的には、少ない電力しか消費しないように設計された、プロセッサ302、メモリ304及び他のアプリケーション318を利用し、より低いパフォーマンスを提供する。プロセッサ302は、演算を実行し、電子表示信号をディスプレイ装置306に提供し、入力されたストロークを検出及び処理するように特化されている。
【0046】
通信装置306はアンテナ及びバス320に結合される。代替実施例において、通信装置306は、ネットワーク104に対する直接的な物理接続用のポートを用意している。通信装置306は、複合文書を送受信するトランシーバを含む。一実施例において、通信装置306は、アクセスポイントと無線通信するためのWi−Fiトランシーバを含む。別の実施例において、通信装置306は、他の装置と無線通信するためのブルートゥース(登録商標)方式のトランシーバを含む。さらに別の実施例において、通信装置306は、セルラ通信ネットワークを介してデータを送信及び受信するセルラ通信トランシーバを含み、例えば、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータコネクション、WAP、電子メール等を介してデータを送受信する。さらに別の実施例において、通信装置306は、有線接続用のポートを含み、その有線接続は、USB、SD又はCAT−5等であるがこれらに限定されない。通信装置306は、複数の処理システムを含むネットワーク104にプロセッサ302を接続する。
【0047】
携帯用コンピュータ装置102は、固有のデバイス識別子308用のストレージを含む。携帯用コンピュータ装置102は、バス320に結合され、その固有の識別子を必要に応じて他の要素に提供する。一実施例において、ストレージは、固有のデバイス識別子308を格納するリードオンリメモリである。別の実施例において、固有のデバイス識別子308は、公開鍵−秘密鍵の対(ペア)を保存する不揮発性ストレージに保存される。ストロークが記録される場所を示すために使用される固有の識別子があることは、固有のデバイス識別子308にとって有利であるし、様々な通信プロトコルにとっても有利である。一実施例において、固有の識別子は、携帯用コンピュータ装置102におけるネットワークチップのハードウェアMACアドレスである。別の実施例において、固有の識別子は、携帯用コンピュータ装置102のメモリカードに関連付けられた固有のIDであり、関連付けられる特定の装置は、意図されているようにメモリカードが移された場合に、別の装置に移る。複数の固有の識別子は、様々なオペレーションに対して有用であるが、一般的には強いセキュリティをもたらさない。例えば、ハードウェアMACアドレスは、他の装置により模倣されてしまうかもしれない。したがって、RSA(登録商標)のような公開鍵暗号システムによるキーのペアにデバイス(装置)を関連付けることが、しばしば有意義である。一実施例において、携帯用コンピュータ装置102は、秘密鍵及び普及している公開鍵とともに製造され又はそれらとともに構築される。携帯用コンピュータ装置102は、ストローク、画像、ログ又はその装置から発した他のメディアに対する秘密鍵を使用することができる。あるいは、公開鍵を利用してそのようなメディアを検証してもよい。公開鍵は、その装置との秘密通信を提供するように使用されてもよい。装置の公開鍵を用いて暗号化することで、特定の携帯用コンピュータ装置102用に意図されているページ画像やメタデータに対して、他者のアクセスを制限できる。
【0048】
クロック310は、通常のタイプのものであり、携帯用コンピュータ装置102に局所的な時間(ローカルタイム)の指標を提供する。特に、クロック310は、複合文書が処理されるローカルタイムを提供するのに使用される。この時間の値は、ロギングモジュール314を利用して、ローカルログファイル内のデータとともに保存される。クロック310は、システムバス320を利用して、この情報をプロセッサ302及びロギングモジュール314に通知するよう構築される。
【0049】
メタデータモジュール312は、複合文書からメタデータを抽出し、複合文書に対するメタデータを保存するルーチンを含むソフトウェアである。一実施例において、メタデータモジュール312は、プロセッサ302により実行可能な命令であり、図6A−8を参照しながら以下において説明される機能を提供し、画像/ページメタデータだけでなく文書メタデータにもアクセスする。メタデータモジュール312は、バス320を介してプロセッサ302及びメモリ304に結合される。
【0050】
ロギングモジュール314は、ローカルなログを作成し、メモリ304内に、より具体的にはメモリ304の不揮発性ストレージ部分に保存するソフトウェア及びルーチンである。一実施例において、ロギングモジュール314は、プロセッサ302により実行可能なルーチンであり、後述の機能を提供する。ロギングモジュール314は、トランザクションが完了していることを検証する際に特に重要である。一実施例において、ロギングモジュール314は、特定の携帯用コンピュータ装置102のログを公表し又はそれをネットワークにおける公に利用可能な場所に保存するルーチンを含む。ロギングモジュール314は、プロセッサ302、メモリ304及び通信装置306にバス320により結合される。
【0051】
文書転送モジュール316は、複合文書を送信し、何らかの他のコンピュータ装置から、複合文書をフォーマットされたメッセージとして受信するソフトウェア及びルーチンであり、そのコンピュータ装置は、例えば、ペーパーライクフォームサーバ106又は他の携帯用コンピュータ装置102等であるが、これらに限定されない。文書転送モジュール316は、プロセッサ302及び通信装置306と通信するようにバス320により結合される。文書転送モジュール316は、例えば、電子メール、ファイルトランスファ、XMPP又は特定目的のアプリケーションにより、複合文書400を送信し、及び携帯用コンピュータ装置102から複合文書400を受信する。一実施例において、文書転送モジュール316は電子メールクライアントであり、添付物(アタッチメント)を有する電子メールを送受信することができる。電子メールクライアントはプロセッサ302において操作可能である。メールサーバは、通常、POP又はIMAPプロトコルを利用してメールクライアントと通信し、携帯用コンピュータ装置102は何れかを使用するように構築される。メッセージは、例えば、画像ファイルのアタッチメントのように、携帯用コンピュータ装置102が直接的に利用できるようなフォーマットでもよい。メッセージは、例えばpdf文書のように、携帯用コンピュータ装置102における変換を要するフォーマットでもよい。あるいは、特殊なサーバがメッセージの変換を実行し、携帯用コンピュータ装置102が複数のフォーマットをサポートする必要が無いようにしてもよい。上述したように、仕事の成果(work)を配布するために、例えば部署毎の受信箱においてのみ実行される必要があるペーパーライクプロセスにおいて複数の装置が使用される場合、IMAPを利用すると有利である。複数の装置102a−nは、同じIMAPサーバ及び「ユーザ名」とともにクライアントとして構築されてよい。装置102a−nのグループは、「インボックス(inbox)」内の全てのフォームを表示する。あるユーザがある装置102a−nによりそのフォームを「処理済み」としてマークすると、その装置は、そのメッセージを「インボックス」外へ、おそらくはIMAPサーバの「処理済み」ボックスへ移す。他の装置102a−nがIMAPサーバの「インボックス」を確認する際、それらは、ページがもはや存在しないこと及びもはやそれらは表示されないことを確認する。携帯用コンピュータ装置102がページ又はストローク又は複数のページやストロークを送信する必要がある場合、携帯用コンピュータ装置102は電子メールクライアントとして動作し、おそらくは、1つのファイルに圧縮及び結合されたディレクトリ構造のページとともにメールを送信する。
【0052】
第2の例において、文書転送モジュール316は、ファイル転送を実行するルーチンである。様々なファイル転送方法を利用して、携帯用コンピュータ装置102に対して文書を移動させる。携帯用コンピュータ装置102は、ftp、http、又はwebdavサーバとともに動作し、他の装置は携帯用コンピュータ装置102における文書をプッシュ(push)又はプル(pull)する。携帯用コンピュータ装置102は、再びftp、http、rsync、webdav又は他のプロトコルを利用して、新しい文書を取得する又は新しい文書を外部サーバに投稿する。
【0053】
第3の例において、文書転送モジュール316は、MMSを介した通信又は他の通信プロトコルのようなクライアント通信プログラムである。インスタントメッセージングに使用されるプロトコルであるXMPPは、文書及びストロークをパッドと通信するために使用される。メッセージンググループのどのメンバでも、たとえ他のメンバがメッセージを送信している場合でさえ、メッセージを開始することができる点で、インスタントメッセージングプロトコルは有利である。携帯用コンピュータ装置102の場合、これは、ストロークが携帯用コンピュータ装置102からペーパーライクフォームサーバ106に送信されているのと同時に、携帯用コンピュータ装置102の画像をサービスが送信できるようにする。携帯用コンピュータ装置102のグループが表示空間を共有しており、グループの全てのメンバに新たなストロークが通知される場合に、インスタントメッセージングプロトコルは有利である。
【0054】
第4の例において、文書転送モジュール316はカスタムアプリケーションである。固有のAPIを利用して、携帯用コンピュータ装置102とともに作業するように意図されている特別な用途のアプリケーションとともに、情報は携帯用コンピュータ装置102に転送される。
【0055】
ディスプレイ装置322は、E−inkにより製造販売されているような電子ペーパーディスプレイである。他の実施例において、ディスプレイ装置322は、液晶表示部(LCD)又は他の同様に備わっている任意の表示装置、スクリーン又はモニタでもよい。ディスプレイ装置322は、本願において説明される電子画像やデータを表示する任意の装置を表現する。ディスプレイ装置322は、少なくとも情報の小さな「ページ」を表示できる程度のサイズを有する。別の実施例において、ディスプレイはバイナリ(画素の2つの異なる値しか表示できない)、モノクロ(1色による多段階の濃度を有する)、又は多色及びグラデーションが許容されていてもよい。ディスプレイ装置322は、好ましくは、軽量かつ低消費電力のディスプレイである。一実施例において、ディスプレイ装置322は、発光ではなく反射光を利用し、これにより低消費電力を実現し、屋外における読みやすさを向上させる。ディスプレイ装置322は、紙に表示されている場合のように非常に高い解像度で情報を表示するが、ディスプレイ装置322は、LCDディスプレイにおいて一般的である60Hzのリフレッシュレートよりも十分に遅い更新速度に耐えることができる。
【0056】
携帯用コンピュータ装置102は、LEDが並んでいるような出力装置324を含む。出力装置324は、装置の状態を示し、例えば、1)携帯用コンピュータ装置102に電力が供給されて動作可能であるか否か、2)携帯用コンピュータ装置102がネットワーク接続を有するか否か、3)携帯用コンピュータ装置102が複合文書を送信している又は受信しているか否か等を示す。出力装置324の一部として上記に列挙されたもの以外に、様々な付加的な状態インジケータが存在することを、当業者は認めるであろう。
【0057】
入力装置326は、スタイラス、ストローク捕捉装置及び/又は入力ボタンである。ディスプレイ装置322上に又は周辺において、ディジタイズ用タブレット又はグラフィックスパッドのようなストローク捕捉装置がある。ストローク捕捉装置は、スタイラス、指又は他の手段によるストロークを受け付けることができる。ストローク捕捉装置は、スタイラスに関するセンサであり、手で書いたもの、印刷されたもの及び他の描画を認識可能に取り込める程度に充分な解像度を有する。一実施例において、ディスプレイ装置322にはたっちスクリーンが備えられ、タッチスクリーンでは、接触感知式の透明パネルがディスプレイ装置322のスクリーンをカバーしている。一実施例において、ストローク捕捉装置は、ワコム(Wacom Co.,Ltd)により製造販売されているディジタイザ(digitizer)である。別の実施例において、ストローク捕捉装置は、1つの接触点の水平位置及び垂直位置(縦横の位置)を返す簡易なセンサを含む。さらに別の実施例において、ストローク捕捉装置は、より複雑な複数のセンサであり、スタイラスにおけるボタンが押された場合や、スタイラスが反転されている場合(例えば、消去する場合)において、筆圧、場所、時間等の指標を返し、さらにはスタイラスのID番号、タイプ又は指標を返す。複数のセンサは接触している複数の点を返す。ストローク捕捉装置は、プロセッサ202の一部でもよいし、プロセッサ302と通信するように構築されていてもよい。
【0058】
入力装置326は、コマンドを入力するための複数の入力ボタンを含む。例えば、第1ボタンが選択されると、携帯用コンピュータ装置102のディスプレイ装置322に複合文書を表示し始める。第2ボタンが選択されると、注釈が終わったこと、及び複合文書が携帯用コンピュータ装置102により送信可能であることが示される。第3のボタンは、表示されているフォームの部分を、ディスプレイ装置322の表示領域の中で動かすことを可能にする。第3ボタンは、ディスプレイ装置322の表示領域の中で、ユーザが、フォームを中心にすること、フォームの他の領域に着目し、それらを中心にすることを可能にする。第4ボタンは、ユーザが、複合文書の次のページに移ることを可能にする。これらの入力ボタンは、入力装置326の単なる一例にすぎないこと、及びより多い数の又は少ない数のボタンや入力装置による他の様々な形態も、本発明の精神及び目的の範囲内にあることを、当業者は認識するであろう。より具体的には、別の実施例において、携帯用コンピュータ装置102はボタンをほとんど備えていない(又は全くない)。なぜなら、ボタンは、装置を紙のように感じることに対して障害となるかあらである。そのような例の場合、ストローク及び他のメタデータは、ネットワーク接続が存在する限り、連続的に送信される。1ページ又は複数ページのページ群ができたことは、パッドにおける「提出」(又は投稿又はサブミット)ボタン又は「拒否」ボタンを押すことで示され、あるいは表示されたページに複数の領域があり、それらの領域にストロークを追加することが、適切なデータの投稿を引き起こしてもよい。
【0059】
最後に、携帯用コンピュータ装置102は1つ以上の他のI/Oデバイス(図示せず)を含んでもよい。例えば、他のI/Oデバイス326は、音を生成するためのスピーカ、音を記録するためのマイクロフォン、文書又は画像を記録するためのスキャナ又はカメラ、その他のセンサ又はフィードバック装置(例えば、加速度計、ページャモータ(pager motor)、触覚的なフィードバック等)を含んでもよい。選択的に、他のI/Oデバイスは、1つ以上のアナログディジタル変換器、1つ以上のディジタルアナログ変換器及び/又はオーディオ処理を促す1つ以上のディジタル信号プロセッサを含んでもよい。これらの他のI/Oデバイスは、プロセッサ302及びメモリ304と通信するためにバス320により結合される。
【0060】
<複合文書400フォーマット>
本発明は、複合文書400を使用して、ペーパーライクの体感をユーザに提供する。特に、複合文書フォーマットは、携帯用コンピュータ装置102における画像の速やかな表示、コ携帯用コンピュータ装置102において作成されたストロークデータの保存、ログ情報の保存を可能にし、携帯用コンピュータ装置102において実行される処理を検証できるようにする。一実施例において、複合文書400の基本構造は、複数ファイルのディレクトリである。ディレクトリ内部は、一連のページ画像に加えて、選択的なメタデータがある。メタデータは、各ページに独立に関連付けられてもよく、及び/又はメタデータは文書全体に関連付けられてもよい。そのようなメタデータは、入れ子になったディレクトリに保存され、これは選択的なものである。
【0061】
図4Aを参照するに、複合文書400の基本構造を表現する図が示されている。上述したように、複合文書400は、1つ以上のファイルを含むディレクトリ及び複数のディレクトリである。これは図4において最も外側の枠として表現されている。この例の場合、複合文書400は、画像1(I1)...画像n(In)のように図示されている複数の画像402a−402nを含む。有利なことに、本発明は、複合文書400のページを画像として保存している。これは特に有利である。なぜなら、コンピューティングパッド(携帯用コンピュータ装置102)のツールが、広範囲に及ぶ文書フォーマットをサポートする必要性を排除できるからである。レンダリングを要する文書ではない純粋な文書を携帯用コンピュータ装置102に提供することは、矛盾のない画像を保証し、フォントや他の図形コマンドを変換できない問題を解消する。一実施例において、画像は以下のファイルフォーマットの内の何れかにおけるものである:JPEG、JPEG2000、JPM、PNG、PDF、TIFF又はシンプルPBM(ポータブルビットマップ)ファイルフォーマット。後述するように、複合文書400を作成するプロセスの一部は、画像が携帯用コンピュータ装置102により又は携帯用コンピュータ装置102において受信される前に、文書及び他のフォーマットを、これらの簡易な画像フォーマットの何れかにレンダリングすることを含む。上述したように、基礎的で簡易な画像を利用することで、携帯用コンピュータ装置102における演算負担を排除し、矛盾のない表示を保証できる。複合文書400のディレクトリは、標準的なZIPフォーマットアーカイブとして転送及び保存することができることを、当業者は認めるであろう。
【0062】
一実施例において、複合文書400のメインページが、ディレクトリの最上位レベルに保存される。(最初の「.」に至るまでの)名称セグメントは、そのページに固有である必要がある。一実施例において、ページはUTF−8を用いて命名される。UTF−8表示のバイトそのものを利用して、最初の名称セグメントを昇順に並べ替えることで、ページが並べられる。場合によっては、アプリケーションは、文書レベルのメタデータを利用して、名称を変更することなくページを並べ替えることを可能にする。
【0063】
最初の名称セグメントが同じものを共有する複数のページ画像ファイルは、同等な品質のファイルの代替表現物と考えることができ、プレゼンテーションモジュール322は、その用途に最も相応しい表現物を選択する。例えば、図4Bに示されるように、001.pgm、001.png、002.pgm、002.jpg及び5.pgmのようなコンテンツを有するディレクトリは、3ページの文書となる。第1ページは1つ又は2つのファイル、001.pgm又は001.pngにより表現される。第2のページは、002.pgm又は002.jpgにより表現され、第3のページは5.pgmにより表現される。一実施例において、名称セグメントは、任意の画像の解像度又はサイズを指定するのに使用可能であり、装置が画像を簡易に選択できるようにする。例えば、画像ページ001.600x800.pgm及びページ001.cif.pgmがあった場合、600x800又はcif(共通中間フォーマット)の部分が画像の解像度を特定する。
【0064】
複数の画像402a−402nの各々は、関連付けられたページ又は画像メタデータ404a−404nを含む。ページ又は画像メタデータ404a−404nは、ストロークデータ414、頼めたデータ416及びログデータ418を含む。さらに、複合文書400全体は、文書メタデータ406を含む。文書メタデータ406は、文書ログ408及び他の文書メタデータ410を含む。
【0065】
複合文書400のメタデータは、ディレクトリに保存されたファイルにより表現され、ディレクトリは、文書全体に又は個々のページに関連する。一実施例において、メタデータディレクトリは、ディレクトリ名における最後の文字列に添え字「.d」を有する(例えば、図4B参照)。メタデータディレクトリ内の情報はファイル又はサブディレクトリに保存され、固有の名称セグメントを有することが期待される。システム(組織)は、例えば、従来のJava(登録商標)においてドメイン名を予約する方法のように、固有の識別子を用いてそれらを命名するよう促される。メタデータディレクトリはそれ自身のサブディレクトリを含み、サブディレクトリの内容は、そのディレクトリの作成者によって並べられ規定される。一般的なポリシは、メタデータファイル又はディレクトリのコンテンツを理解しないアプリケーションは、そのコンテンツを保存すべきであり、それを警告すべきでないことである。所与のメタデータファイル又はディレクトリは自己完結型(self contained)であり、それらは同じディレクトリに含まれない限り、メタデータの要素同士の間に如何なる依存性もない。メタデータの要素(アイテム)は、文書全体に又は特定のページに対応付けられる。
【0066】
一実施例において、文書メタデータ406は、グローバルメタデータであり、「document.d」と命名された1つ以上のファイルを含むディレクトリに保存される。このディレクトリは、トップレベルのディレクトリに含まれる(例えば、図4B参照。)。文書メタデータにおける文書に関連する動作(処理又はアクション)のログを保存することは有用である。一実施例において、システム100は、「オリジナルの(元の)」文書のバージョンを文書メタデータとして保存する。例えば、複合文書がPDF、マイクロソフトワード、マイクロソフトエクセル又は他の文書から形成されていた場合、オリジナルのフォーマットの文書が、メタデータディレクトリに保存される。
【0067】
一実施例において、ページ又は画像メタデータ404は、ページ画像と同じ名称セグメントを有し、拡張子が「.d」で終わるように命名される。例えば、ページ画像が「page.001.jpg」のように命名されている場合、そのページのメタデータディレクトリは、「page.001.d」のように命名され、そのページに関連していることを示す。図4Bにはさらなる具体例が示されている。別の実施例において、ページ又は画像メタデータ404は、ページメタデータディレクトリにおけるページ各々に対する或るフォーマットでオリジナル画像を含む。複合文書400が、例えば、最上位レベルのディレクトリ及びページメタデータディレクトリの双方においてラスタフォーマット(raster format)を保存することで作成されると直ぐに、このメタデータが作成される。あるいは、オリジナルラスタフォーマットのコピーは、ページ画像が最初に変更された場合に保存されてもよい。他の実施例において、ページ又は画像メタデータ404は、以下において詳細に説明されるように、ログデータ408を含む。このログデータ418は、そのページに対するメタデータディレクトリ内のページ各々に適用された変更のログを表す。他のメタデータ416は、特定のページ又は画像に関連する任意の他のデータを保存するのに使用される。例えば、画像がページに追加された場合、これら追加された画像をページメタデータディレクトリに保存することが有用である。紙のページに「スタンプを押すこと(stamping)」と同様な理由で、ある画像がページに加えられてもよい。例えば、「受信済み(received)」や「提出済み(submitted)」は、そのページの状態に対する視覚的な指標をユーザに与える。
【0068】
ストロークデータ414は、ページのメタデータディレクトリ内のページに加えられた任意のストロークに対するストローク情報を保存する。これは、携帯用コンピュータ装置102が取り込む最も重要な情報である。最も簡易な形態の場合、ストロークはx−y座標の単なるリストであり、そのx−y座標は、スタイラス、ペン又は指のようなその他のポインティングデバイスが検出した場所である。この情報は、ストロークが描かれる場合に表示されていた背景画像と関連付けられ、ストロークが後にユーザが見るものと一致するように、ストロークのスケールや向きを変更できるようにすべきである。x−y座標に加えて、各ストローク又は各地点における時間や、スタイラスが使用された際の又はスタイラスの端部が使用された際のスタイラスの圧力(筆圧)の情報を取得することが有意義である。ペンのストロークを画素に変換するためにそのペンについて使用されたアルゴリズムの情報を保存することもさらに有用であり、例えば、どのような幅、色のペンで描画されたか、場面の地点同士の間でどのように地点が選択されたか等についての情報が、保存される。
【0069】
ストロークに関する情報は、様々な方法で保存することができる。第1の例の場合、その情報は、描画領域外の点によるストロークの終点とともに、xの値、スペース、yの値、改行によるシンプルテキストのリストとして保存される。例えば、パッドが0ないし1200までのx座標と、0ないし1600までのy座標とを許容していた場合、「−1,−1」として記録された地点は、描画可能な空間内にはなく、ストロークを終了するのに使用可能である。第2の例の場合、各地点に適切なビット数又はバイト数を割り当てるバイナリストレージ法を用いて、ストロークが保存され、例えば、x座標について2ビット及びy座標について2ビットであり、これは、よりいっそうメモリ効率がよい。第3の例の場合、ストロークデータはInkMLとして保存される。InkMLは、W3Cにより指定された、ストローク及び様々な追加データの保存を可能にするXMLフォーマットであり、これについては、2006年10月23日付のテクニカルレポート、Ink Markup Language(InkML)、W3C Working Draftに記載されている。InkMLはメモリ利用効率をさらに改善し、必要に応じて、データはテキストコンプレッサにより圧縮される。
【0070】
トランザクションテンプレート410は、複合文書400における標準的なメタデータ項目である。トランザクションテンプレート410は、サービストランザクション(サービス対象の処理)のリストを含む、あるいはサービストランザクションの説明を示すURLである。複合文書400がセントラルスケジューラ208により処理される場合、トランザクションテンプレートが、複合文書400に付いている必要がある。複合文書400の処理全体の中で、1つ以上のトランザクションテンプレート及び付随する処理が適用されることになる。最新のトランザクションテンプレートが常に処理に使用される。トランザクションテンプレートはエントリのリストを含み、エントリの各々は、1)入力タイプ、出力タイプ及び好ましいサービスプロバイダを含むステップ識別子(識別情報)として規定されてもよい。
【0071】
ステップ識別子は、特定の処理ステップを一意に指定する文字列である。例えば、それは「001」という簡易な数字列でもよいし、「手書の認識ステップ(handwriting recognition step)」のようなより記述的な文字列でもよい。ステップ識別子は、トランザクションテンプレート全体の中で固有でなければならない。情報のフォーマットを示す入力タイプ及び出力タイプは、サービスにより必要とされ、複合文書400に含められなければならない。入力タイプ及び出力タイプの双方は、タイプ仕様(type specification)のリストである。これらのタイプ仕様は、所定の役割を実行する所定のフォーマットにおけるデータの固有の識別子である。タイプ仕様各々は、情報のフォーマット及び役割を示す文字列のペアを含む。フォーマットフィールドは、ACCEPTED RFC822 MIMEタイプを含む。役割フィールド又はロール(role)フィールドは、別の文字列識別子であり、ある役割についてグローバルに固有の識別子であるべきであり、プロバイダ及び顧客により合意されているものである。完全なタイプ仕様の具体例は、「テキスト/プレイン」役割:「認識された手書き」(“Text/plain”role:“Recognized Handwriting”)のようなフォーマットである。トランザクションテンプレートのエントリ(入力)に他の多くの情報フィールドが加えられてもよいことは、当業者にとって自明であろう。例えば、特定のベンダを指定する代わりに、ステップにおいて、承認されたリストの中から最も安価なベンダが指定されてもよい。別の実施例において、顧客フィードバックランキングに基づいて、許容可能な品質レベルに合うサービスプロバイダの内で最も安価な者が、特定されてもよい。タイプ仕様のフォーマットフィールドは、1つのMIMEタイプを含んでもよいし、あるいはそのようなタイプのリストを含んでもよい。その場合、列挙されているタイプの何れかが、サービスプロバイダにより許容可能であると考えられる。入力タイプは、上記の1つ以上のタイプの仕様を含む。その場合、サービスプロバイダ124は、複合文書400に含まれている全ての列挙されたタイプを受信することを希望する。ある特別なタイプ仕様は、文書の基本ページ画像を表現する(このタイプ仕様は、その情報がメタデータにおいて表現されていない点で特別である。)。このタイプ仕様は、次のように表現される:“image/jpeg,image/jp2,image/tiff,image/gif,image/x−portable−anymap,image/x−portable−bitmap,image/x−portable−graymap,image/x−portable−pixmap”role:“edo.baseimage”。
【0072】
<ログファイル408,418>
本発明による特に有利な利点は、携帯用コンピュータ装置102又はペーパーライクフォームサーバ106106により実行された動作(アクション)を検証する能力があることである。アクションを検証することは、ログファイル408、418の生成及び維持により可能になる。本発明は、複合文書400に対してなされた変更を記述する一群のエントリとともに、ログ又はログファイル408、418を生成する。本発明は、携帯用コンピュータ装置102を操作する人間により引き起こされた如何なる動作をも記録し、その動作により、表示される文書に変更が加わる。携帯用コンピュータ装置102は、それがあたかも紙であるかのように、人間が文書に書き込みを行えるようにするので、何時どの装置でどのページにどのような書き込みがなされたか、及び分かっているならば誰によりどの場所でなされたかを記録することが有用である。本発明は以下の2つの重要な特徴とともにログファイル408、418を利用する:1)ログ408、418により十分な情報を参照し、ログ書き込みの地点における最小限の表示により、文書の状態を作成し直すこと、及び2)ログファイルは「開封明示的(tamper evident)」であること(不正防止に使用可能である)。
【0073】
本発明は、ログエントリの暗号化ハッシュのシーケンスを維持することで、開封明示的な(不正防止に使用可能な)ログ408、418を生成する。ログエントリ各々に関連する暗号化ハッシュは、以前のログエントリの暗号化ハッシュを含むデータからハッシュ値を求める。暗号化ハッシュを保存又は公表することは、ログの全ての過去のエントリに対するチェックサムをもたらす。したがって、公表されたハッシュが「信頼できる」ならば、過去の全てのログハッシュを再計算し、最終的な同じハッシュになるか否かを確認できる。ログエントリを形成するためにハッシュ値をもたらす任意のデータ又は任意のログ部分に対する変更が、検出可能である。そのようなログ及びログエントリの検証及びハッシュ計算についてのフォーマット及び詳細については、2005年12月29日付で出願された「Coordination and Tracking of Workflows」と題する米国特許出願第11/322,435号(出願公開第20070156632号)、2008年10月2日付けで出願された「Method and Apparatus for Tamper Proof Camera Logs」と題する米国特許出願第12/244,714号、及び2004年7月9日付けで出願された「Synchronizing Distributed Work Through Document Logs」と題する米国特許出願第10/887,998号において説明されており、これらの出願の内容全体は本願のリファレンスに組み入れられる。暗号化ハッシュは、検証に使用されることに加えてデータを索引付けるのにも使用可能なので、コンテンツベースの識別子(CBI:content based identifier)とも呼ばれる。最新の暗号化ハッシュを公表することは、他の信頼できるログ又は電子メールを介しており、これについては、2008年10月2日付けで出願された「Method and Apparatus For Risk Analysis of Entangled Logs」と題する米国特許第12/224,707号、及び2008年10月2日付で出願された「Method & Apparatus for Automatically Publishing Content Based Identifiers」と題する米国特許出願12/244,721号において説明されており、これらの出願の内容全体は本願のリファレンスに組み入れられる。このように、暗号化ハッシュ又はコンテンツベースの識別子(CBI)を含むログが維持される。最新のログエントリのコンテンツベースの識別子(CBI)は、他のログファイルに保存され、電子メール又は他のプロトコルにより公表される。CBIは、そのCBIが公表されて以来そのログが変更されていないことを確認するために使用可能である。
【0074】
任意の地点における文書を再生できるようにするログ408、418の維持は、文書について実行された操作(処理)のタイプと、ログファイルにおける操作を再実行するのに必要な任意のデータに対するCBIとを保存することによって行われる。このデータ自身は、ページ及び文書のメタデータディレクトリに保存される。
【0075】
ロギングモジュール314は、ページを生成すること、ページに書き込みをすること及びページに画像を付加すること等のようなページに対する変更についての情報を保存する。ロギングモジュール314は、ページがサブミットされた時点、あるいはコンピューティングパッド202から別の場所へページがコピーされた時点をも保存する。ページが生成されると、そのページに関するメタデータディレクトリ内に、画像のラスタフォームが保存される。ページログ418は、「スタートログエントリ(start log entry)」とともに初期化される。スタートログエントリは、携帯用コンピュータ装置102により測定される現在時間を含み、別のログからのCBIを含み、そのページがCBIの時点の後に生成されていることを確認する(すなわち、「フレッシュネスハッシュ(freshness hash)」)。「スタートログエントリ」に加えて、ロギングモジュール210は、開始画像のラスタフォームのハッシュを含む「ページ生成」エントリ(page created entry)を保存する。
【0076】
ページログ418のCBIが、ページの作成後に公表されていたならば、そのCBIを使って、ページログ418が不正に修正されているか否かを確認できる。ページログ418が修正されていなかった場合、ログ418における処理が続く。先ず、唯一のエントリは、「ページ生成」エントリである。ページ画像に対するCBIを検査することが可能であり、それがページメタデータディレクトリ404のラスタ画像に合致していた場合、初期ページのフォーマットは、生成以来不正に修正されていないことを示す。
【0077】
ストロークがページに追加された場合、それらはディスプレイ装置322のラスタフォーマットに表示され、それらはそのページのメタデータディレクトリ404におけるストロークファイル414に保存される。ログエントリは、ページログ418に追加され、典型的にはストロークファイル414に関するCBI及び時間を含む。こうして、後の地点において、ログ418が検証される場合、ストロークファイル414を検証することが可能であり、背景画像を検証することが可能である。これら全てのアイテムが修正されていなかった場合、ストロークファイル414は、背景画像におけるストロークを再描画するために使用可能であり、ストロークが付加された後に見えるようなページを再生する。
【0078】
画素の精度を維持するため、本発明は、既存のアルゴリズムを使用して、ストロークファイル414を画素に変換することに留意を要する。複数のアルゴリズムが使用される場合、又は例えばストローク幅のような幾つかのパラメータとともに1つのアルゴリズムが使用される場合、「ストローク付加」のエントリ(strokes added entry)は、使用される厳密なアルゴリズム及びそのアルゴリズムに対するパラメータを示す情報を含むべきである。
【0079】
ストロークがページに追加されるのと同時に、画像がページに追加されてもよい。この場合、ページに追加される画像は、ページのメタデータディレクトリ404のラスタフォーマットに保存されているべきである。例えば(500,300)のような画像に付加するのに使用するスケール(縮尺)、場所及び「画像付加」の処理は、画像のラスタフォームのCBIとともに、ログ418に保存されているべきである。
【0080】
画像を付加することで又はストロークを追加することでページを更新するだけである多くの「アプリケーション」が、携帯用コンピュータ装置102において使用可能である。追加的な変更がページになされた場合、それらの処理に対するログエントリが規定される必要があり、その処理の名称がログに保存される必要があり、データのハッシュがログに保存される必要がある。ログエントリがログ418に追加された場合、携帯用コンピュータ装置102の固有の識別子308がそのエントリに含められる。装置が秘密鍵を利用するように構築されていた場合、ストロークファイル414がそのコンピューティングパッド202において取得されたことを示すために、ストロークファイル414のディジタル署名を提供する。この署名はログ418に含まれる。
【0081】
新しいページが作成される際に、ページログ418がメタデータディレクトリ404に作成される一方、文書が形成される際に、ロギングモジュール210が文書ログ408を文書メタデータディレクトリに作成する。ページを文書に追加したこと、何時ページが閲覧されたか、何時文書全体がサブミットされたか等を含む項目(アイテム)を記録するために、文書ログ408が使用される。文書レベルメタデータ406に対する変更も、この文書ログ408に記録される。(ページ識別子とともに)文書ログ全体の中でページログ418に保存されている情報を反復することが可能である一方、ページログ418が更新された場合、ロギングモジュール210、314は最後のエントリに対するCBIをページログ418に記録する。ページログ418からのCBIを文書ログ408に保存することで、文書ログ408を使用して、全てのページログ418を検証できる。文書ログ408からのCBIは、電子メール又はその他の方法により公表され、個々のページログ418各々からの情報を公表する必要はない。
【0082】
文書ログ408におけるエントリは、ページログ418におけるものと同様である:それらは、処理を完了するのに必要な何らかのデータのCBI及び「処理」の情報を含むべきである。ページ閲覧の場合、ログエントリは、ページ画像の現在のラスタフォーマットのCBIとともに、そのページの識別子を含む。一部のログフォーマットは、テキスト(文字)及びCBIを同じログエントリの中に直接的に包含できるが、別のログフォーマットはCBIしか含められない点に、留意を要する。ログフォーマットがCBIしか許容しない場合、「処理」に関するテキスト(文字)は、文書メタデータディレクトリ406の中のファイルに保存され、そのファイルのCBIはログに含まれる。「処理」(operation)が、「ストローク追加」のようなパラメータを一切含んでいなかった場合、その処理のテキストと同じファイルが、メタデータディレクトリに保存され、CBIが複数回使用される。当然に、実際のストロークファイルのCBIは、多くの場合異なることが予想される。
【0083】
<セントラルスケジューラ208による処理>
実施形態に依存して、この機能は、ペーパーライクフォームサーバ106のセントラルスケジューラ208により、又は携帯用コンピュータ装置102のプロセッサ302により実行される。説明の簡明化を図るため、以下において、この機能はセントラルスケジューラ208により実行されているが、当業者は、同一又は類似の処理が携帯用コンピュータ装置102のプロセッサ202により代替的に実行されてもよいことを認めるであろう。
【0084】
一実施例において、携帯用コンピュータ装置102又はコンピュータ108は、特定のペーパーライクフォームサーバ106と協働するように構築され、ページ、画像又は複合文書400をペーパーライクフォームサーバ106に提示する。この提示(サブミット)により、ペーパーライクフォームサーバ106のセントラルスケジューラ208により管理されるペーパーライク処理が始まる。そして、ペーパーライクフォームサーバ106は、予めプログラムされている規則(ルール)に基づいて、次のステップを判別する。
【0085】
別の実施例において、ペーパーライク処理は、複合文書400において、又は複合文書400が送信される電子メール(フォーマットされたメッセージ)において指定される。複合文書400を電子メールにより受信する簡易な方法の場合、携帯用コンピュータ装置102は、注釈を付けた複合文書400を、複合文書400の送信元に電子メールで返す。そのような例の場合、複合文書400は、プロセスワークフローにおける全てのステップ又はトランザクションについて、ペーパーライクフォームサーバ106を介してルーティングされる。別の実施例において、複合文書400は、典型的な電子メールクライアントにおいて「返信(Reply)」が選択された場合に生じる「Reply−To」の電子メールヘッダで指定されているアドレス宛に送信される。この場合において、これがサービスプロバイダ124又は別の携帯用コンピュータ装置102であった場合、課金、記録及びトラッキング用にメッセージのコピーがペーパーライクフォームサーバ106に送付される。電子メールの場合、これは電子メールにおけるcc又は別の返信先アドレス(又は転送先アドレス)を指定することで実行可能である。ほとんどの電子メールクライアントは、送信者が、「返信(Reply−To)」のアドレスを指定できるようにしている。このことは、ある人がフォームを記入してそのフォームを「返信」ヘッダとともに別の携帯用コンピュータ装置102へ送信することを可能にし、「返信」ヘッダは、携帯用コンピュータ装置102のユーザにより承認された後に、その複合文書400を見るべき次の人物/装置/場所に設定されている。例えば、ある従業者が出張申請フォームを記入し、出張のコーディネータ宛に設定された返信先(Reply−To)とともに、そのフォームを従業者の管理者の携帯用コンピュータ装置102に電子メールで送信することができる。管理者がその出張申請を承認し、そのフォームをサブミットすると、携帯用コンピュータ装置102において次の電子メールアドレスを手入力する必要なしに、そのフォームは自動的に次のステップにルーティングされる。同様な方法により、「返信先(Reply−To)」ヘッダは、処理を行うペーパーライクフォームサーバ106のセントラルスケジューラ208にコピーを送付するように設定される。この点については後述する。
【0086】
「返信(Reply−To)」ヘッダを利用することで、ワークフローにおける1つのステップを、電子メールアドレスを手入力する必要なしに実行できるようになる。1つより多いステップのワークフローを可能にするために、追加的なメールヘッダが規定されてもよい。例えば、電子メールは、次のようなヘッダを含む:
【数1】
【0087】
この場合において、manager_pad@example.comは、従業者の上長の電子メールアドレスである。scheduler@server.comは、セントラルスケジューラ208の電子メールアドレスである。director_pad@example.comは、ディレクタの電子メールアドレスであり、そのディレクタの承認が求められている。vp_pad@example.comは、副社長の電子メールアドレスであり、その副社長の承認が求められている。そして、travel_arrangements@example.comは、出張コーディネータの電子メールアドレスである。
【0088】
このような複数ステップのワークフロー例の場合、携帯用コンピュータ装置102は、ワークフローのステップに対する電子メールヘッダを確認し、現在のステップを確認し、フォームが仕上がった場合に、全てのワークフロー電子メールヘッダとともに、そのフォームを次のステップに転送するように構築される。上記の例は、複数の携帯用コンピュータ装置102が、文書の署名を複数個集めるために使用できるようにし、署名後のフォームが出張の世話をする者に送信され、ワークフローを開始した従業者に返される。これは、従業者が、コピーを取得し、かつ出張が承認された時点を知ることを可能にする。従業者は、フォームを追跡する方法として、セントラルスケジューラ208で行われるように、全てのステップにおけるそれらのアドレスをリスト化する。
【0089】
一実施例において、複合文書400を送信するのに使用されたフォーマットされたメッセージは、携帯用コンピュータ装置102又はサービスプロバイダ124に対する電子メールヘッダのパラメータを含む。例えば、ストロークが、手書認証サービスに送信された場合、言語を特定すること、あるいは幾つかのストロークが何らかの言葉ではなく「数字」であることを示すことが有用である。以下、ワークフローを示す電子メールヘッダの一例を示し、携帯用コンピュータ装置102は、manager_pad@example.comという電子メールアドレスを有し、サービスプロバイダは、mark_recognition@example.comという電子メールアドレスを有する。
【数2】
【0090】
この例の場合、パラメータは属性値のペアであり、これは、言語が英語であり、ストロークが数字の文字を含んでいることを示す。
【0091】
代替実施例において、電子メールヘッダの代わりに又はそれに加えて、HTTPヘッダが使用されてもよい。複合文書がHTTPにより転送される場合、複数のステップをサポートするためにHTTPヘッダに同様な情報が挿入される。この場合、次のステップは、電子メールアドレスではなく、文書を送付するURLである。例えば、「X−Workflow−4:http://www.example.com/travelrequest.cgi」のようなラインが電子メールヘッダにあってもよい。この例の場合において、電子メールプロトコルを利用する代わりにステップ3が完了すると、現在の複合文書400は、httpポストコマンドにより、ワークフローにおけるステップのURLへ送信される。当然に、HTTPが文書転送に使用されていた場合、一実施例において、複合文書400を含むフォーマットされたメッセージが、次のステップに送信される前にストローク及び画像ワークフローサーバ106に返される。これにより、ストローク及び画像ワークフローサーバ106がワークフローの状態を追跡できるようになり、コンテンツ管理システムや他のビジネスアプリケーションのラインとの統合が可能になる。
【0092】
ページ画像、ストローク及びメタデータをサポートする方法で文書が転送される場合、そのメタデータは、ワークフローの命令及び状態を含むことができる。再び、簡易な例において、メタデータは、電子メールアドレス及びワークフローにおける現在のステップに関するリストを含む。上記の複合文書400の場合、このワークフロー情報は、ページメタデータディレクトリ404又は文書メタデータディレクトリ406に登場してもよい。
【0093】
<方法>
図5は、本発明によるペーパーライクフォームの処理方法500の一例を示すフローチャートである。本方法500は、ペーパーライクフォームサーバ106(以下、「サーバ106」と言及する。)が、画像又は画像群を受信した場合に始まる。サーバ106は複合文書400を作成する。複合文書400は、図4を参照しながら説明したような画像及びメタデータを含む。この工程は、携帯用コンピュータ装置102、コンピュータ108又はサービスプロバイダ124の内の任意のものにより実行可能であることを、当業者は認めるであろう。次に、本方法は、トランザクションテンプレート410を作成し(504)、それを複合文書400に加える(506)。上述したように、トランザクションテンプレート410は、複合文書の一部になる。トランザクションテンプレート410は、その複合文書400について実行されることになるペーパーライク処理のステップ又はトランザクションを指定する。一実施例において、セントラルスケジューラ208は、既存の様々なトランザクションテンプレート410を提供し、そのトランザクションテンプレートは、画像について実行される機能、サービスプロバイダ124の質(サービス品質)又は特定のサービスプロバイダ124の選択に基づいて、ユーザが選択してもよい。別の実施例において、ユーザインターフェースが生成及び表示され、トランザクション又はステップをトランザクションテンプレート410にユーザが追加できるようにする。トランザクションテンプレート410が複合文書400に追加されると(506)、複合文書400は、処理に備えてセントラルスケジューラ208に送付される(508)。セントラルスケジューラ208は、複合文書400のトランザクションテンプレート410で指定されているトランザクションの次のステップ及びサービスプロバイダ124を特定する(510)。次に、セントラルスケジューラ208は、複合文書400の全部又は一部をサービスプロバイダ124に送付する(512)。一実施例の場合、複合文書400の全体がサービスプロバイダ124に送付される。別の実施例の場合、サービスプロバイダ124がトランザクションを実行するのに必要な部分だけが、サービスプロバイダ124に送付される。特定のトランザクションのステップに不要な複合文書400の部分を除去して修正したものを送信することで、複合文書400は修正モジュール216により修正される。修正モジュール216は、複合文書のコピーを元のフォームで保持することで、サービスプロバイダ124から結果が返ってきた場合に、それらをそのコピーに追加し、サービスプロバイダ124から返ってきた結果に加えて、サービスプロバイダ124に送信していない情報も含む複合文書400を作成する。これは、サーバ106及びサービスプロバイダ124の間で伝送しなければならないデータ量を削減できる点で有利である。サービスプロバイダ124は、複合文書400を処理し、その結果をペーパーライクフォームサーバ106に返す(514)。一実施例において、本方法500は、返ってきたその結果を複合文書400に付加し(516)、及び/又は複合文書400のメタデータ406内のトランザクションステータスを更新する。他の実施例において、その結果は、トランザクションを開始した装置に送付される。図5において破線枠で示されているように、このステップ516は選択的である(必須ではない)。次に、本方法500は、複合文書400についての処理を要する別のトランザクションの有無を確認する。存在する場合、本方法はステップ510に戻り、トランザクションテンプレート410における次のトランザクションについて、ステップ510−518を繰り返す。別のトランザクションが残っていなかった場合、この複合文書400のペーパーライク処理は完了し、本方法は終了する。
【0094】
図6A、6B、7A−7Eを参照するに、サービスプロバイダ124を利用してトランザクションを実行する本発明による方法例が示されている。図6Aを参照するに、本方法は、ユーザからリクエストを受信することで始まる(602)。上記の一実施例において、これは、ペーパーライクフォームサーバ106が複合文書400を受信することである。他の実施例において、リクエストは、ペーパーライクフォームサーバ106が携帯用コンピュータ装置102から受信したメッセージであり、トランザクションを実行するのに必要な情報を含む。他の実施例において、トランザクションテンプレート410が複合文書400においてどの時点ででも起動又は使用されてよいことを、当業者は認めるであろう。動作、操作又はアクション(ページをめくること、携帯用コンピュータ装置102の電源を落とすこと、ページに書き込みをすること、所定期間の間停止すること、ユーザがボタンを押したこと又はチェックボックスを指定したこと等)は、すべて、処理を起動するために使用可能である。複合文書400は、上記の動作の任意のものが、特定のトランザクションテンプレート410のトリガとなることを指定するメタデータ406を含んでもよい。トランザクションテンプレートは順番に処理するように仮定されている。
【0095】
次に、ペーパーライクフォームサーバ106のセントラルスケジューラ208がサービスプロバイダ124を選択する(604)。セントラルスケジューラ208は、入力タイプ、出力タイプ及び/又は好みのベンダの情報に基づいて、サービスプロバイダ124を選択する。一実施例において、好ましいサービスプロバイダは、トランザクションテンプレート410の一部として単に指定されてもよい。別の実施例において、ペーパーライクフォームサーバ106は、入力タイプ及び出力タイプが指定されているトランザクションに合致する全てのサービスプロバイダのリストの中で、最も安価なサービスプロバイダ124を選択する。第3の例において、セントラルスケジューラ208は、サービス品質に関する記憶済みのレート(格付け)に基づいてサービスプロバイダ124を選択する。別の実施例において、複数のサービスプロバイダ124a−nが選択され、複数のサービスプロバイダ124a−nによる結果が、品質の観点から比較される。例えば、サービスは、基本ページ画像を工学文字認識(OCR)テキストに変換するようなものである。
【0096】
次に、本方法は、起動メッセージ(invocation message)を作成し、ステップ604において選択したサービスプロバイダ124宛に起動メッセージを送信する(606)。図7Aも参照するに、起動メッセージの一例が示されている。起動メッセージは、文書識別子(ID)702、ユーザ識別子(ID)704、プライス(価格)706及びトランザクションステップ識別子(ID)708を含む。文書ID702はファイル名又はロケーションであり、そのロケーションにおいて、サービスプロバイダ124が処理を行う文書又は画像が抽出可能である。別の実施例において、文書ID702は実際に文書自身を示す。ユーザIDは、トランザクションを必要としている装置の識別子である。一実施例において、このユーザIDは、(602)においてリクエストを開始した携帯用コンピュータ装置102に固有の識別子308である。プライス706は、そのトランザクションを実行することでサービスプロバイダ124に支払われるプライスである。トランザクションステップID708は、トランザクションのステップに固有の識別子である。多くの場合、トランザクションステップID708は、トランザクションテンプレート410に使用したものと同じ識別子である。
【0097】
起動メッセージはサービスプロバイダ124において受信される(608)。サービスプロバイダ124は、その起動メッセージから、実行すべきサービスを決定し、そのサービスを実行する。サービスプロバイダ124は、ローカルログにエントリを加える(612)。例えば、ロギングモジュール314はログエントリを追加し、サービスプロバイダ124のローカルログにおいて、サービスの完了を反映させる。サービスプロバイダ124各々は、そのサービスプロバイダ124が実行したトランザクションのローカルログを有する。図7Bを参照するに、サービストランザクションのログエントリの具体例が示されている。サービストランザクションのログエントリは、文書ID702、ユーザID704、プライス706、トランザクションステップID708、前のハッシュ値710及び結果のデータのハッシュ712を含む。文書ID702、ユーザID704、プライス706及びトランザクションステップID708は、図7Aを参照しながら上述したものと同じである。前のハッシュ値710は、サービスプロバイダ124のローカルログにおける前のログエントリのハッシュ値である。結果のデータのハッシュ712は、特定のトランザクションによる結果のハッシュ計算である。前のログエントリのハッシュ値を含めることで、この情報は、後の時点で使用可能になり、上述したように、他の関連付けられているログエントリと比較することで、検証を行うことができる。別の実施例において、サービストランザクションのログエントリは、文書のハッシュ又はおそらくは文書の一部の複数のハッシュを含む。サービスプロバイダ124は、トランザクションの結果及びログエントリをペーパーライクフォームサーバ106に送付する。
【0098】
トランザクションの結果及びログエントリは、ペーパーライクフォームサーバ106により受信される(616)。セントラルスケジューラ208は、その結果を保存し(618)、ログエントリをロギングモジュール210に送信する。ロギングモジュール210は、受信したサービストランザクションログエントリから、グローバルトランザクションログエントリを作成する。ロギングモジュール210は、図6Bに示されているように、そのグローバルトランザクションログエントリを、ペーパーライクフォームサーバ106のログに加える(620)。ペーパーライクフォームサーバ106は、全てのサービストランザクションのセントラルログを維持する。図7Cを参照するに、グローバルトランザクションログエントリの具体例が示されている。グローバルトランザクションログエントリは、文書ID702、ユーザID704、プライス706、トランザクションステップID708、前のハッシュ値710、結果のデータのハッシュ712及びサービスプロバイダ識別子(ID)714を有する。文書ID702、ユーザID704、プライス706、トランザクションステップID708及び結果のデータのハッシュ712については説明済みであり、受信したサービストランザクションログエントリと同様である。サービスプロバイダ識別子(ID)714は、結果を生成し、サービストランザクションログエントリを送付するサービスプロバイダ124に固有の文字列識別子である。前のハッシュ値710は、ペーパーライクフォームサーバ106のグローバルトランザクションログにおける前のエントリのハッシュ値である。ロギングモジュール210は、受信したサービストランザクションログエントリから呼の情報をコピーし、グローバルトランザクションログにおける前のエントリのハッシュ値を計算する。
【0099】
次に、セントラルスケジューラ208は、ページメタデータ404又は文書メタデータ406のログにエントリを加える(622)。図7Dを参照するに、文書トランザクションログエントリの具体例が示されている。文書トランザクションログエントリは、ユーザID704、プライス706、トランザクションステップID708、結果データのハッシュ712及びサービスプロバイダ識別子(ID)714を含む。ユーザID704、プライス706、トランザクションステップID708、結果データのハッシュ712及びサービスプロバイダ識別子(ID)714は、図7Cを参照しながら説明した要素と同様なフォーム及び機能を有する。しかしながら、前のハッシュ710は、ページメタデータ404又文書メタデータ406のログにおける前のエントリのハッシュ値である。そして、セントラルスケジューラ208は、あるロケーションをペーパーライクフォームサーバ106に加え(624)、そのロケーションにおいて、トランザクションサービス124からの結果が、複合文書400のメタデータ406に保存されている。例えば、サービスプロバイダ124により提供される出力各々について、セントラルスケジューラ208は、ログエントリを文書のメタデータログ406に書き込み、属性/値のペアを指定し、その属性は指定された役割(role)であり、その値は、トランザクションサービス124により返されたデータ群である。ログはハッシュ情報をやりとりするので、サービスを起動するこの方法は、様々なログの関わり合いをもたらし、様々なキーの領域における問題の解決策を与える。この方法は、トランザクションが実行されることを保証すること、複合文書400中のデータがトランザクションの結果に合っていることを保証すること、セントラルスケジューラ208が、適切なサービスプロバイダ124とともにトランザクションテンプレート410におけるステップを適切に実行していることを保証すること等をシステムができるようにする。
【0100】
本方法は、トランザクションテンプレート410に別のトランザクションステップが残っているか否かを判断するステップに続く(626)。残っていた場合、セントラルスケジューラ208は、次のトランザクションを特定し(628)、図6Aのステップ604に戻る。そして、本方法はステップ604−626を反復する。一方、別のトランザクションステップが残っていなかった場合、本方法は完了し、終了する。
【0101】
図8を参照しながら、処理用のサービスプロバイダ124に複合文書を送信する前に、複合文書400を修正又は編集する方法を説明する。場合によっては、他者に開示する情報を最小限に抑制する必要がある。文書は非常に重要な情報を含むかもしれないので、呼の情報がサービスプロバイダ124又はペーパーライクフォームサーバ106により不適切に保持されたり送信されないことを保証することは重要である。トランザクションステップの定義により要求されるタイプのみの最低限の情報とともに、修正又は編集された形式の複合文書400が作成される。この場合、文書400のログエントリ各々が、検査されるペアの属性及び値を有し、指定された入力タイプに合致するエントリのみが、サービスプロバイダ124に利用可能になる。本方法は、ペーパーライクフォームサーバ106のセントラルスケジューラ208が複合文書400を受信することから始まる(802)。セントラルスケジューラ208は、修正モジュール216とやり取りを行い、修正又は編集された形式の複合文書400
を作成する(804)。例えば、修正又編集された形式の複合文書400は、次のトランザクションステップに必要な情報を特定し、他の情報を除くことで作成される。次に、修正モジュール216は、修正された形式の複合文書400のログを更新する(806)。この場合、ページ及び文書メタデータログ404、406が、正しいログになるように書き換えられる。修正された形式の文書は、サービスプロバイダ124が要求する項目の部分を含む新規の正しいログを含む。セントラルスケジューラ208は、元の文書のログにエントリを書き込み、新たに編集された文書が作成されたこと、及び編集された文書の最終ログエントリのハッシュを含むことを示す。次に、本方法は、修正された形式の複合文書400をサービスプロバイダ124に送付する(808)。サービスプロバイダ124は、修正された形式のものを処理し、その結果を返す。結果は、ペーパーライクフォームサーバ106のセントラルスケジューラ208により受信される(810)。セントラルスケジューラ208は、受信した結果と元の文書を併合する(812)。一実施例において、サービスプロバイダ124がサービスタスクを完了した場合、編集された文書のログの内のエントリ(そのエントリのタイプは、サービスにより決定された出力に合致する)が、そのページ及びオリジナルの文書ログ404、406に付加される。ページログ404がオリジナルの対応するページログ404、406に付加され、編集された文書ログ406が、オリジナルの文書ログ406に付加される。新たなページがサービスプロバイダ124により付加された場合、それらのページ及び何らのログは、オリジナルの文書に付加される。本方法の利点は、ログの関わりが保持される一方、最小限の情報しかサービスプロバイダ124に開示しなくてよい点にある。
【0102】
本発明の実施例に関する以上の説明は、説明及び理解を促すために提示されている。それは網羅的であることを意図しておらず、説明された厳密な形式に本発明を限定することも意図されていない。上記の教示に照らせば、多くの修正及び変形が可能である。本発明の範囲は、詳細な説明によってではなく、本願の特許請求の範囲によって規定されることが、意図されている。当業者に理解されるように、本発明は、本発明の精神又は本質的特徴から逸脱することなく、他の特定の形式により実現されてもよい。同様に、モジュール、ルーチン、特徴、属性、方法、及び他の形態等の特定の名称や区分けは、必須でもなく本質的なものでもない。本発明又はその特徴を実現する仕組みは、異なる名称、異なる区分け及び/又は異なるフォーマットを備えていてもよい。さらに、当業者にとっては明らかであるように、本発明に関するモジュール、ルーチン、特徴、属性、方法及び他の形態は、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせにより実現可能である。また、本発明による要素がモジュールにより実現される場合、モジュールはソフトウェアとして実現され、その要素は、スタンドアローンプログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的に又は動的にリンクされたライブラリとして、カーネルローダブルモジュール(kernel loadable module)として、デバイスドライバとして実現可能であり、及び/又はコンピュータプログラミングの技術分野における当業者にとって現在知られている又は将来知られるようになる全ての任意の他の方法によって実現可能である。さらに、本発明は、何らかの特定のプログラミング言語で実現されることに限定されず、何らかの特定のオペレーティングシステム夜環境にも限定されない。したがって、本願による開示は、例示的なものであることを意図しており、添付の特許請求の範囲を規定する本発明の範囲を限定するようには意図されていない。
【符号の説明】
【0103】
100 システム
102a−102n コンピュータ装置
104 ネットワーク
106 ペーパーライクフォームサーバ
108 コンピュータ
110 データストレージ
112a−112n 接続
116、118、120、122 信号線
【先行技術文献】
【特許文献】
【0104】
【特許文献1】米国特許出願公開第20070156632号明細書
【特許請求の範囲】
【請求項1】
ペーパーライク処理サーバにおけるトランザクションの情報を含むトランザクションテンプレートを含む複合文書を受信し、
トランザクションステップ及び該トランザクションステップを行うサービスプロバイダを特定し、
前記複合文書を前記サービスプロバイダに送付し、
前記ペーパーライク処理サーバが、前記トランザクションステップの実行結果を受信し、
前記トランザクションの完了を示すエントリを、前記ペーパーライク処理サーバのグローバルトランザクションログに加えるステップ
を有するペーパーライクフォーム処理のための方法。
【請求項2】
少なくとも1つの画像を受信し、受信した前記画像及びメタデータを含む前記複合文書を作成するステップをさらに有する、請求項1記載の方法。
【請求項3】
少なくとも1つの画像を受信し、受信した前記画像及びメタデータを含む前記複合文書を作成する前記ステップが、携帯用コンピュータ装置、コンピュータ及びペーパーライク処理サーバを含む群中の何れかにより実行される、請求項2記載の方法。
【請求項4】
複数のトランザクションの情報を含むトランザクションテンプレートを作成し、該トランザクションテンプレートを前記複合文書に加えるステップをさらに有する、請求項2記載の方法。
【請求項5】
前記トランザクションテンプレートが、前記複合文書中の文書メタデータとして保存される、請求項4記載の方法。
【請求項6】
前記トランザクションステップ及び該トランザクションステップを行うサービスプロバイダを特定する際に、入力タイプ、出力タイプ及び好ましいサービスプロバイダを利用してサービスプロバイダを選択する、請求項1記載の方法。
【請求項7】
前記複合文書を前記サービスプロバイダに送付する際に、前記複合文書全体を送付する、請求項1記載の方法。
【請求項8】
前記複合文書を前記サービスプロバイダに送付する際に、前記複合文書の一部分のみを前記サービスプロバイダに送付する場合において、
前記複合文書のコピーを保存し、
修正モジュールを用いて前記複合文書の一部を除去し、修正された複合文書を生成することで、前記複合文書を修正する、請求項1記載の方法。
【請求項9】
前記サービスプロバイダが前記トランザクションを実行し、
前記トランザクションの完了を示すエントリを、前記サービスプロバイダのローカルトランザクションログに加えるステップを有する、請求項1記載の方法。
【請求項10】
返送されてきた結果を前記複合文書に加え、該複合文書のメタデータにおけるトランザクションステータスを更新するステップを有する、請求項1記載の方法。
【請求項11】
前記トランザクションの完了を示すエントリを、前記複合文書の文書トランザクションログに加えるステップを有する、請求項10記載の方法。
【請求項12】
前記グローバルトランザクションログに加えるエントリが、前記グローバルトランザクションログにおける過去のログエントリのハッシュを含む、請求項1記載の方法。
【請求項13】
画像及びメタデータを有する複合文書を処理及びルーティングするセントラルスケジューラと、
前記セントラルスケジューラに結合され、前記セントラルスケジューラにより処理されるトランザクションのグローバルトランザクションログを作成及び保持するロギングモジュールと、
前記複合文書を修正する修正モジュールと
を有し、前記セントラルスケジューラは、前記複合文書を送信及び受信するよう構築され、かつサービスプロバイダに結合されており、
前記修正モジュールは、修正した複合文書を前記セントラルスケジューラに送付し、前記セントラルスケジューラから前記複合文書を受信する、ペーパーライクフォーム処理のためのシステム。
【請求項14】
前記セントラルスケジューラは、複合文書を作成するよう形成されており、前記セントラルスケジューラは、画像及び入力を受信するよう形成されており、前記セントラルスケジューラは、前記複合文書をフォーマットされたメッセージとして送受信する、請求項12記載のシステム。
【請求項15】
前記セントラルスケジューラは、トランザクションステップを決定し、サービスプロバイダを選択する、請求項12記載のシステム。
【請求項16】
前記セントラルスケジューラは、前記複合文書からトランザクションテンプレートを抽出し、該トランザクションテンプレートに列挙されている未完了の次のトランザクションを特定することで、次のトランザクションを決定する、請求項12記載のシステム。
【請求項17】
前記セントラルスケジューラは、前記複合文書中のメタデータを利用して、複数のサービスプロバイダからサービスプロバイダを決定する、請求項12記載のシステム。
【請求項18】
複合文書を送受信する電子メールサーバである文書転送モジュールを有する、請求項12記載のシステム。
【請求項19】
前記ロギングモジュールが、過去のログエントリのハッシュを含む新たなログエントリを作成する、請求項12記載のシステム。
【請求項20】
前記ロギングモジュールは、公のネットワークによりアクセス可能なロケーションにおいて、前記セントラルスケジューラが処理したトランザクションのグローバルトランザクションログを保存する、請求項12記載のシステム。
【請求項21】
ロギングモジュールを有する携帯用コンピュータ装置を有し、該携帯用コンピュータ装置により処理されたトランザクションのローカルトランザクションログを作成及び維持する、請求項12記載のシステム。
【請求項1】
ペーパーライク処理サーバにおけるトランザクションの情報を含むトランザクションテンプレートを含む複合文書を受信し、
トランザクションステップ及び該トランザクションステップを行うサービスプロバイダを特定し、
前記複合文書を前記サービスプロバイダに送付し、
前記ペーパーライク処理サーバが、前記トランザクションステップの実行結果を受信し、
前記トランザクションの完了を示すエントリを、前記ペーパーライク処理サーバのグローバルトランザクションログに加えるステップ
を有するペーパーライクフォーム処理のための方法。
【請求項2】
少なくとも1つの画像を受信し、受信した前記画像及びメタデータを含む前記複合文書を作成するステップをさらに有する、請求項1記載の方法。
【請求項3】
少なくとも1つの画像を受信し、受信した前記画像及びメタデータを含む前記複合文書を作成する前記ステップが、携帯用コンピュータ装置、コンピュータ及びペーパーライク処理サーバを含む群中の何れかにより実行される、請求項2記載の方法。
【請求項4】
複数のトランザクションの情報を含むトランザクションテンプレートを作成し、該トランザクションテンプレートを前記複合文書に加えるステップをさらに有する、請求項2記載の方法。
【請求項5】
前記トランザクションテンプレートが、前記複合文書中の文書メタデータとして保存される、請求項4記載の方法。
【請求項6】
前記トランザクションステップ及び該トランザクションステップを行うサービスプロバイダを特定する際に、入力タイプ、出力タイプ及び好ましいサービスプロバイダを利用してサービスプロバイダを選択する、請求項1記載の方法。
【請求項7】
前記複合文書を前記サービスプロバイダに送付する際に、前記複合文書全体を送付する、請求項1記載の方法。
【請求項8】
前記複合文書を前記サービスプロバイダに送付する際に、前記複合文書の一部分のみを前記サービスプロバイダに送付する場合において、
前記複合文書のコピーを保存し、
修正モジュールを用いて前記複合文書の一部を除去し、修正された複合文書を生成することで、前記複合文書を修正する、請求項1記載の方法。
【請求項9】
前記サービスプロバイダが前記トランザクションを実行し、
前記トランザクションの完了を示すエントリを、前記サービスプロバイダのローカルトランザクションログに加えるステップを有する、請求項1記載の方法。
【請求項10】
返送されてきた結果を前記複合文書に加え、該複合文書のメタデータにおけるトランザクションステータスを更新するステップを有する、請求項1記載の方法。
【請求項11】
前記トランザクションの完了を示すエントリを、前記複合文書の文書トランザクションログに加えるステップを有する、請求項10記載の方法。
【請求項12】
前記グローバルトランザクションログに加えるエントリが、前記グローバルトランザクションログにおける過去のログエントリのハッシュを含む、請求項1記載の方法。
【請求項13】
画像及びメタデータを有する複合文書を処理及びルーティングするセントラルスケジューラと、
前記セントラルスケジューラに結合され、前記セントラルスケジューラにより処理されるトランザクションのグローバルトランザクションログを作成及び保持するロギングモジュールと、
前記複合文書を修正する修正モジュールと
を有し、前記セントラルスケジューラは、前記複合文書を送信及び受信するよう構築され、かつサービスプロバイダに結合されており、
前記修正モジュールは、修正した複合文書を前記セントラルスケジューラに送付し、前記セントラルスケジューラから前記複合文書を受信する、ペーパーライクフォーム処理のためのシステム。
【請求項14】
前記セントラルスケジューラは、複合文書を作成するよう形成されており、前記セントラルスケジューラは、画像及び入力を受信するよう形成されており、前記セントラルスケジューラは、前記複合文書をフォーマットされたメッセージとして送受信する、請求項12記載のシステム。
【請求項15】
前記セントラルスケジューラは、トランザクションステップを決定し、サービスプロバイダを選択する、請求項12記載のシステム。
【請求項16】
前記セントラルスケジューラは、前記複合文書からトランザクションテンプレートを抽出し、該トランザクションテンプレートに列挙されている未完了の次のトランザクションを特定することで、次のトランザクションを決定する、請求項12記載のシステム。
【請求項17】
前記セントラルスケジューラは、前記複合文書中のメタデータを利用して、複数のサービスプロバイダからサービスプロバイダを決定する、請求項12記載のシステム。
【請求項18】
複合文書を送受信する電子メールサーバである文書転送モジュールを有する、請求項12記載のシステム。
【請求項19】
前記ロギングモジュールが、過去のログエントリのハッシュを含む新たなログエントリを作成する、請求項12記載のシステム。
【請求項20】
前記ロギングモジュールは、公のネットワークによりアクセス可能なロケーションにおいて、前記セントラルスケジューラが処理したトランザクションのグローバルトランザクションログを保存する、請求項12記載のシステム。
【請求項21】
ロギングモジュールを有する携帯用コンピュータ装置を有し、該携帯用コンピュータ装置により処理されたトランザクションのローカルトランザクションログを作成及び維持する、請求項12記載のシステム。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図7C】
【図7D】
【図7E】
【図8】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図7C】
【図7D】
【図7E】
【図8】
【公開番号】特開2011−60286(P2011−60286A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2010−199675(P2010−199675)
【出願日】平成22年9月7日(2010.9.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願日】平成22年9月7日(2010.9.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]