(57)【要約】【課題】  スキャン画像データと文字列とを含む新たなデータをデータ格納サーバに容易に格納させるための技術を提供する。【解決手段】  仲介サーバ５０は、アクセストークンに対応付けてＳＰサーバ１００に格納されている複数個の記事データの中から、文字列「#scannow」を含む対象データを特定する。仲介サーバ５０は、特定済みの対象データに代えて、代替データをＳＰサーバ１００に格納させる（Ｔ４０）。代替データは、原稿のスキャンによって得られるスキャン画像データと、対象データに含まれる本文文字列ＢＳ３と、を含む。【選択図】  図４
2016181766.tif 000002
【特許請求の範囲】
【請求項１】
スキャン実行部を制御するための制御装置であって、
原稿のスキャンの実行指示を前記スキャン実行部に供給するスキャン指示供給部と、
データ格納サーバを利用するための認証情報を取得する認証情報取得部と、
前記認証情報に対応付けて前記データ格納サーバに格納されている複数個のデータの中から、前記認証情報を利用して、第１の所定文字列を含む対象データを特定する特定部と、
前記対象データに代えて第１の代替データを前記認証情報に対応付けて前記データ格納サーバに格納させる第１の格納制御部であって、前記第１の代替データは、前記原稿の前記スキャンによって得られる第１のスキャン画像データと、前記対象データに含まれる対象文字列であって、前記第１の所定文字列とは異なる前記対象文字列と、を含む、前記第１の格納制御部と、
を備える制御装置。
【請求項２】
前記制御装置は、さらに、
前記複数個のデータの中から前記対象データが特定されない場合に、前記第１のスキャン画像データを含む第１の新規データを前記認証情報に対応付けて前記データ格納サーバに格納させる第２の格納制御部を備える、請求項１に記載の制御装置。
【請求項３】
前記特定部は、前記複数個のデータの中に２個以上の前記対象データが含まれる場合に、前記２個以上の対象データのうち、前記データ格納サーバに格納された日時が最も新しい１個の対象データを特定する、請求項１又は２に記載の制御装置。
【請求項４】
前記第１の格納制御部は、前記対象データが画像処理に関係する第２の所定文字列をさらに含まない場合に、前記対象データに代えて前記第１の代替データを前記データ格納サーバに格納させ、
前記制御装置は、さらに、
前記対象データが前記第２の所定文字列をさらに含む場合に、前記第１のスキャン画像データに対する画像処理を実行して、処理済み画像データを生成する生成部と、
前記対象データが前記第２の所定文字列をさらに含む場合に、前記対象データに代えて第２の代替データを前記認証情報に対応付けて前記データ格納サーバに格納させる第３の格納制御部であって、前記第２の代替データは、前記処理済み画像データと前記対象文字列とを含む、前記第３の格納制御部と、
を備える請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記第１の格納制御部は、前記対象データの公開範囲よりも前記第１の代替データの公開範囲が広くなるように、前記対象データに代えて前記第１の代替データを前記データ格納サーバに格納させる、請求項１から４のいずれか一項に記載の制御装置。
【請求項６】
前記制御装置は、さらに、
前記第１のスキャン画像データのデータサイズを利用して、前記第１の代替データを前記データ格納サーバに格納可能であるのか否かを判断する判断部を備え、
前記第１の格納制御部は、前記第１の代替データを前記データ格納サーバに格納可能であると判断される場合に、前記対象データに代えて前記第１の代替データを前記データ格納サーバに格納させ、
前記制御装置は、さらに、
前記第１の代替データを前記データ格納サーバに格納不可能であると判断される場合に、前記対象データに代えて第３の代替データを前記認証情報に対応付けて前記データ格納サーバに格納させると共に、前記第１のスキャン画像データを含む第２の新規データを前記認証情報に対応付けて前記データ格納サーバに格納させる第４の格納制御部であって、前記第３の代替データは、前記対象文字列を含むと共に、前記第１のスキャン画像データを含まず、前記第２の新規データは、さらに、前記第３の代替データにリンクされることを示す第１のリンク情報を含む、前記第４の格納制御部を備える、請求項１から５のいずれか一項に記載の制御装置。
【請求項７】
前記制御装置は、さらに、
前記原稿の前記スキャンによって前記第１のスキャン画像データと第２のスキャン画像データとが得られる場合に、前記第２のスキャン画像データを含む第３の新規データを前記認証情報に対応付けて前記データ格納サーバに格納させる第５の格納制御部であって、前記第３の新規データは、さらに、前記第１の代替データにリンクされることを示す第２のリンク情報を含む、前記第５の格納制御部を備える、請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
前記制御装置は、ネットワークを介して、前記スキャン実行部と通信可能に接続され、
前記第１の格納制御部は、前記第１の代替データが格納されるべき前記データ格納サーバ内の位置を示す位置情報を、前記ネットワークを介して、前記スキャン実行部に供給することによって、前記対象データに代えて前記第１の代替データを前記データ格納サーバに格納するための処理を前記スキャン実行部に実行させる、請求項１から７のいずれか一項に記載の制御装置。
【請求項９】
前記第１の格納制御部は、前記データ格納サーバから前記対象データを削除して、前記第１の代替データを前記データ格納サーバに新たに格納させることによって、前記対象データに代えて前記第１の代替データを前記データ格納サーバに格納させる、請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
前記第１の格納制御部は、前記データ格納サーバ内の前記対象データを上書きすることによって、前記対象データに代えて前記第１の代替データを前記データ格納サーバに格納させる、請求項１から８のいずれか一項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、スキャン実行部を制御するための制御装置を開示する。
【背景技術】
【０００２】
特許文献１の画像読取装置は、複数個のジョブテンプレートの中からユーザによって選択されたジョブテンプレートに記述されている読取条件に基づいて原稿を読み取って読取画像を生成し、当該ジョブテンプレートに記述されている転送先に読取画像を送信する。ユーザは、選択済みのジョブテンプレートを利用して、読取画像が追加されるべきファイルを指定可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２７０１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、ユーザは、ジョブテンプレートを選択する必要があり、さらに、読取画像が追加されるべきファイルを指定する必要がある。本明細書では、スキャン画像データと文字列とを含む新たなデータをデータ格納サーバに容易に格納させるための技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書では、スキャン実行部を制御するための制御装置を開示する。制御装置は、スキャン指示供給部と、認証情報取得部と、特定部と、第１の格納制御部と、を含む。スキャン指示供給部は、原稿のスキャンの実行指示をスキャン実行部に供給する。認証情報取得部は、データ格納サーバを利用するための認証情報を取得する。特定部は、認証情報に対応付けてデータ格納サーバに格納されている複数個のデータの中から、認証情報を利用して、第１の所定文字列を含む対象データを特定する。第１の格納制御部は、対象データに代えて、第１の代替データを認証情報に対応付けてデータ格納サーバに格納させる。第１の代替データは、原稿のスキャンによって得られる第１のスキャン画像データと、対象データに含まれる対象文字列であって、第１の所定文字列とは異なる対象文字列と、を含む。
【０００６】
上記の構成によると、制御装置は、認証情報に対応付けられている複数個のデータの中から第１の所定文字列を含む対象データを特定し、特定済みの対象データに代えて、第１のスキャン画像データと対象文字列とを含む第１の代替データをデータ格納サーバに格納させる。ユーザが複数個のデータの中から対象データを指定せずに済むので、対象データに代えて、第１の代替データをデータ格納サーバに容易に格納させることができる。
【０００７】
上記の制御装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の制御装置とスキャン実行部とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】各デバイスによって実行される処理を示すシーケンス図の前半部分を示す。
【図３】仲介サーバの応答生成処理のフローチャートを示す。
【図４】代替データをＳＰサーバ（即ちサービス提供サーバ）に格納するケースＡのシーケンス図を示す。
【図５】代替データをＳＰサーバに格納するケースＢのシーケンス図を示す。
【図６】新規データをＳＰサーバに格納するケースＣのシーケンス図を示す。
【図７】第２実施例のシーケンス図を示す。
【図８】第３実施例のシーケンス図を示す。
【図９】第４実施例のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
（システムの構成）
図１に示されるように、通信システム２は、スキャナ１０と仲介サーバ５０とを備える。スキャナ１０と仲介サーバ５０とは、インターネット４を介して、相互に通信可能である。インターネット４には、端末装置７０と複数個のサービス提供サーバ（以下では「ＳＰ（Service Providerの略）サーバ」と呼ぶ）１００，１１０とが接続されている。端末装置７０は、デスクトップＰＣ（Personal Computerの略）、ノートＰＣ、スマートフォン等の公知の情報処理端末である。各ＳＰサーバ１００，１１０は、データを取得して保存するサービス、保存済みのデータを供給するサービス等を実行するサーバである。スキャナ１０と端末装置７０と仲介サーバ５０とは、インターネット４を介して、複数個のＳＰサーバ１００，１１０が提供するサービスを利用可能である。
【００１０】
（スキャナ１０の構成）
スキャナ１０は、スキャン機能を備える周辺機器（即ち、スキャナ１０と同じＬＡＮ（Local Area Networkの略）に所属している図示省略のＰＣ等の周辺機器）である。スキャナ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、スキャン実行部１８と、制御部３０と、を備える。以下では、インターフェースのことを「Ｉ／Ｆ」と呼ぶ。各部１０〜３０は、バス線（符号省略）に接続されている。
【００１１】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をスキャナ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。変形例では、操作部１２と表示部１４とは、タッチパネルとして一体に構成されていてもよい。即ち、変形例では、操作部１２と表示部１４とが一つのハードウェアとして構成されていてもよい。ネットワークＩ／Ｆ１６は、図示省略のＬＡＮを介して、インターネット４に接続されている。スキャン実行部１８は、ＣＣＤ（Charge Coupled Disarmamentの略）、ＣＩＳ（Contact Image Sensorの略）等のスキャン機構である。
【００１２】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６に従って、様々な処理を実行する。メモリ３４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ３４は、プログラム３６の他に、ユーザサービステーブル３８を格納する。
【００１３】
ユーザサービステーブル３８は、表示名とサーバ名とアクセストークンとが対応付けられた情報を記憶するためのテーブルである。表示名は、スキャナ１０のユーザの表示用の名称である。サーバ名は、ＳＰサーバ１００，１１０等の名称である。サーバ名「Server A」、「Server B」は、それぞれ、ＳＰサーバ１００、ＳＰサーバ１１０のサーバ名である。アクセストークンは、ＳＰサーバ１００，１１０を利用するための認証情報である。
【００１４】
（仲介サーバ５０の構成）
仲介サーバ５０は、ＳＰサーバ１００，１１０からスキャナ１０へのサービスの提供を仲介するためのサーバである。仲介サーバ５０は、スキャナ１０のベンダによって提供されるサーバである。仲介サーバ５０は、ネットワークＩ／Ｆ５２と、制御部６０と、を備える。ネットワークＩ／Ｆ５２は、インターネット４に接続されている。
【００１５】
制御部６０は、ＣＰＵ６２と、メモリ６４と、を備える。ＣＰＵ６２は、メモリ６４に格納されているプログラム６６に従って、様々な処理を実行する。メモリ６４は、揮発性メモリ、不揮発性メモリ等によって構成される。
【００１６】
（ＳＰサーバ１００，１１０の構成）
各ＳＰサーバ１００，１１０は、例えば、「Ｔｗｉｔｔｅｒ（登録商標）」、「ＦＡＣＥＢＯＯＫ（登録商標）」等の公知のクラウドサーバである。各ＳＰサーバ１００，１１０は、インターネット４に接続される通信機器（例えば端末装置７０等）にサービスを提供可能である。各ＳＰサーバ１００，１１０は、ユーザによって投稿される記事データを格納するための記事データ格納サービスを提供する。記事データは、文字列のみならず、画像データを含み得る。
【００１７】
なお、ＳＰサーバ１００は、第１のサービス事業者（即ち第１の会社）によって提供されるサーバであり、ＳＰサーバ１１０は、第１のサービス事業者とは異なる第２のサービス事業者（即ち第２の会社）によって提供されるサーバである。第１のサービス事業者は、ＳＰサーバ１００からサービスを受けるための第１のＡＰＩ（Application Program Interface）を公開しており、第２のサービス事業者は、ＳＰサーバ１１０からサービスを受けるための第２のＡＰＩを公開している。第１のサービス事業者と第２のサービス事業者とが異なるために、通常、第１のＡＰＩと第２のＡＰＩとは異なる。通信機器は、例えば、ＳＰサーバ１００，１１０の両方からサービスを受けるためには、第１及び第２のＡＰＩの両方に対応している必要がある（即ち、第１のＡＰＩを利用するためのプログラムと、第２のＡＰＩを利用するためのプログラムと、の両方が必要である）。
【００１８】
例えば、スキャナ１０が複数個のＳＰサーバ１００，１１０のそれぞれからサービスを受けるためには、スキャナ１０は、複数個のＡＰＩに対応している必要があり、多くのプログラムを格納する必要がある。しかしながら、端末装置７０等と比べると、スキャナ１０のメモリ３４の記憶容量は少ない。従って、本実施例では、スキャナ１０に多くのプログラムを格納させることなく、スキャナ１０が複数個のＳＰサーバ１００，１１０のそれぞれからサービスを受けることができるように、仲介サーバ５０が設けられている。即ち、仲介サーバ５０は、複数個のＳＰサーバ１００，１１０のための複数個のＡＰＩに対応している。そして、スキャナ１０が、複数個のＳＰサーバ１００，１１０のうちの特定のＳＰサーバ（例えばＳＰサーバ１００）からサービスを受けるべき状況では、仲介サーバ５０は、特定のＳＰサーバのためのＡＰＩを利用して、特定のＳＰサーバと後述の様々な通信を実行する。これにより、スキャナ１０は、特定のＳＰサーバのためのＡＰＩに対応していなくても、特定のＳＰサーバとデータの通信を実行することができる。即ち、スキャナ１０は、複数個のＡＰＩを利用するための多くのプログラムを格納していなくても、複数個のＳＰサーバ１００，１１０のそれぞれからサービスを受けることができる。
【００１９】
（スキャナ１０のユーザの事前準備）
スキャナ１０のユーザは、スキャナ１０が各ＳＰサーバ１００，１１０からサービスを受けるために、以下の事前準備を実行する必要がある。ユーザは、例えば、端末装置７０を用いて、アカウント情報（例えば、ユーザ名を含むアカウントＩＤとパスワード）をＳＰサーバ１００に登録する。次いで、ユーザは、例えば、端末装置７０を用いて、仲介サーバ５０にアクセスし、仲介サーバ５０から取得されるメニュー画面の中から「認証情報の取得」を選択し、さらに、複数個のＳＰサーバ１００，１１０の中からＳＰサーバ１００を選択する。これにより、仲介サーバ５０は、ＳＰサーバ１００にアクセスするための特定のＵＲＬを端末装置７０に送信する。ユーザは、特定のＵＲＬを用いて、端末装置７０からＳＰサーバ１００にアクセスする。次いで、ユーザは、端末装置７０を介して、アカウント情報をＳＰサーバ１００に入力して、認証手続を実行する。認証が成功すると、ＳＰサーバ１００は、ユーザのためのアクセストークン（例えば「XXXXXXXX」）を生成して、上記のアカウント情報とアクセストークンとを対応付けて格納し、さらに、アクセストークンを仲介サーバ５０に送信する。仲介サーバ５０は、ＳＰサーバ１００からアクセストークンを受信すると、テンポラリＩＤを生成して、テンポラリＩＤを端末装置７０に送信する。これにより、端末装置７０にテンポラリＩＤが表示される。ユーザは、端末装置７０に表示されたテンポラリＩＤを知ることができる。
【００２０】
次いで、ユーザは、スキャナ１０の操作部１２を操作して、ＳＰサーバ１００のサーバ名（例えば「Server A」）と、スキャナ１０上でのユーザの表示用の名称である表示名（例えば「D1」）と、をスキャナ１０に入力する。ユーザは、さらに、スキャナ１０の操作部１２を操作して、テンポラリＩＤをスキャナ１０に入力する。この場合、スキャナ１０は、仲介サーバ５０にテンポラリＩＤを送信する。これにより、仲介サーバ５０は、アクセストークン（例えば「XXXXXXXX」）をスキャナ１０に送信する。
【００２１】
上記の各処理が実行されると、スキャナ１０は、ユーザサービステーブル３８に情報を記憶させることができる。上記の例では、スキャナ１０は、ユーザによって入力された表示名（例えば「D1」）とユーザによって入力されたサーバ名（例えば「Server A」）と、仲介サーバ５０から受信されたアクセストークン（例えば「XXXXXXXX」）と、が対応付けられた情報を、ユーザサービステーブル３８に記憶させる。なお、ユーザは、上記と同様に、ＳＰサーバ１１０のサーバ名「Server B」と、表示名「D1」と、アクセストークン「ZZZZZZZZ」と、が対応付けられた情報を、ユーザサービステーブル３８に記憶させることができる。
【００２２】
（ＳＰサーバ１００，１１０に記事データを格納させる処理）
ユーザがＳＰサーバ１００に複数個の記事データを格納するための処理について説明する。ユーザは、ＳＰサーバ１００に登録済みであるアカウント情報を利用して、例えば、端末装置７０からＳＰサーバ１００にログインし、記事投稿操作を実行する。記事投稿操作は、端末装置７０に表示される記事入力画面に記事（即ち文字列）を入力する操作を含む。この場合、端末装置７０は、入力済みの記事をＳＰサーバ１００に供給（即ち投稿）する。これにより、ＳＰサーバ１００は、アカウント情報に対応付けて記事を表わす記事データを格納する。即ち、ＳＰサーバ１００は、アクセストークン（例えば「XXXXXXXX」）に対応付けて記事データを格納する。以上の処理が複数回実行されると、アクセストークン（例えば「XXXXXXXX」）に対応付けて複数個の記事データがＳＰサーバ１００に格納される。なお、ＳＰサーバ１００の場合と同様に、ＳＰサーバ１１０においても、アクセストークン（例えば「ZZZZZZZZ」）に対応付けて複数個の記事データが格納される。
【００２３】
各記事データは、さらに、当該記事データを識別するための識別情報（以下では記事ＩＤと呼ぶ）と、現在日時を示す日時情報と、公開範囲情報と、を含む。なお、本実施例では、記事ＩＤは、インクリメントされる数字（例えば「００１」、「００２」等）である。従って、ＳＰサーバ１００に格納された日時が最も新しい記事データは、最大の数字を有する。公開範囲情報は、記事データの公開範囲の属性を示す情報である。本実施例では、記事データの公開範囲の属性は、「非公開」及び「公開」の２種類である。「非公開」は、記事データへのアクセスを特定のユーザのみに許容することを意味し、「公開」は、記事データへのアクセスを特定のユーザのみならず第三者にも許容することを意味する。ここで、上記の特定のユーザは、記事データが対応付けられているアカウント情報を有するユーザである。ユーザは、記事投稿操作を実行する際に、公開範囲の属性として「非公開」を指定すれば、第三者によって閲覧不可能な記事を投稿することができる。
【００２４】
また、本実施例では、ユーザは、スキャン画像データを含む記事データがＳＰサーバ１００に格納されることを望む場合に、記事投稿操作を実行する際に、予め決められている文字列「#scannow」を含む記事を入力する。例えば、Ｔｗｉｔｔｅｒ（登録商標）のサービスでは、「#」が付された文字列は、いわゆるハッシュタグと呼ばれる。この後、スキャナ１０及び仲介サーバ５０が協働して動作することによって、仲介サーバ５０において、文字列「#scannow」を含む記事データに代えて、スキャン画像データを含む代替データが格納される。また、ユーザは、スキャン画像データに対してモノクロ変換処理を実行することによって得られる処理済みデータを含む記事データがＳＰサーバ１００に格納されることを望む場合に、記事投稿操作を実行する際に、文字列「#scannow」のみならず、予め決められている文字列「#monochrome」をさらに含む記事を入力する。この場合、仲介サーバ５０によってモノクロ変換処理が実行され、この結果、仲介サーバ５０において、文字列「#scannow」を含む記事データに代えて、処理済みデータを含む代替データが格納される。
【００２５】
文字列「#scannow」を含む記事は、スキャン画像を投稿するための準備段階の記事である。従って、ユーザは、通常、当該記事が第三者によって閲覧されることを望まない。このために、ユーザは、文字列「#scannow」を含む記事を投稿する際に、通常、公開範囲の属性として「非公開」を設定する。
【００２６】
（各デバイス１０，５０，１００によって実行される処理；図２）
図２を参照して、スキャナ１０がスキャン画像データをＳＰサーバ１００に格納するために、各デバイス１０，５０，１００によって実行される処理の内容を説明する。Ｔ１０では、ユーザは、スキャナ１０の操作部１２を操作して、サービス選択操作を実行する。具体的には、スキャナ１０のＣＰＵ３２は、ユーザサービステーブル３８を表示部１４に表示させる。そして、ユーザは、ユーザサービステーブル３８から表示名とＳＰサーバとの組合せを選択することによって、サービス選択操作を実行する。図２のケースでは、ユーザは、表示名「D1」とＳＰサーバ１００のサーバ名「Server A」との組合せを選択する（図１参照）。
【００２７】
Ｔ１２では、ＣＰＵ３２は、表示名「D1」とサーバ名「Server A」とが選択されることに応じて、スキャン設定画面要求を仲介サーバ５０に供給する。スキャン設定画面要求は、スキャン設定情報を指定するためのスキャン設定画面を取得するための要求である。
【００２８】
Ｔ１４では、仲介サーバ５０のＣＰＵ６２は、スキャナ１０からスキャン設定画面要求を取得することに応じて、スキャン設定画面をスキャナ１０に供給する。
【００２９】
スキャナ１０のＣＰＵ３２は、仲介サーバ５０からスキャン設定画面を取得することに応じて、スキャン設定画面を表示部１４に表示させる。Ｔ１６では、ユーザは、スキャナ１０の操作部１２を操作して、スキャン設定画面において、スキャン設定情報を指定するための設定操作を実行する。スキャン設定情報は、例えば、スキャン対象の原稿のサイズ、スキャン解像度、スキャン画像データのファイル形式等を含む。そして、Ｔ１８において、スキャナ１０のＣＰＵ３２は、スキャン設定情報を仲介サーバ５０に供給する。
【００３０】
Ｔ２０では、仲介サーバ５０のＣＰＵ６２は、スキャナ１０からスキャン設定情報を取得することに応じて、当該スキャン設定情報を含むスキャン指示をスキャナ１０に供給する。スキャン指示は、スキャナ１０にスキャンの実行をさせるための指示である。
【００３１】
Ｔ２２では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０からスキャン指示を取得することに応じて、スキャン指示内のスキャン設定情報に含まれる原稿のサイズとスキャン解像度とをスキャン実行部１８に指示して、原稿のカラースキャンをスキャン実行部１８に実行させる。そして、ＣＰＵ３２は、スキャン実行部１８から得られるスキャン結果を利用して、カラースキャン画像を表わすスキャン画像データを生成する。特に、ＣＰＵ３２は、スキャン設定情報に含まれるファイル形式に一致するファイル形式を有するスキャン画像データを生成する。次いで、Ｔ２３では、ＣＰＵ３２は、生成済みのスキャン画像データをメモリ３４に保存する。
【００３２】
Ｔ２４では、スキャナ１０のＣＰＵ３２は、ＵＲＬ（Uniform Resource Locatorの略）取得要求を仲介サーバ５０に供給する。ＵＲＬ取得要求は、スキャン画像データの供給先のＵＲＬを取得するための要求である。ＵＲＬ取得要求は、Ｔ１０で選択された表示名「D1」とサーバ名「Server A」とに対応付けられているアクセストークン「XXXXXXXX」を含む。以下では、ＵＲＬ取得要求内のアクセストークン「XXXXXXXX」のことを「特定のアクセストークン」と呼ぶ。図示省略しているが、ＵＲＬ取得要求は、さらに、Ｔ１０で選択されたサーバ名「Server A」を含む。
【００３３】
Ｔ２６では、仲介サーバ５０のＣＰＵ６２は、スキャナ１０からＵＲＬ取得要求を取得することに応じて、ＵＲＬ取得要求内のサーバ名「Server A」を有するＳＰサーバ１００に記事データ取得要求を供給する。記事データ取得要求は、ＵＲＬ取得要求内の特定のアクセストークンを含み、特定のアクセストークンに対応付けられている複数個の記事データを取得するための要求である。
【００３４】
ＳＰサーバ１００は、仲介サーバ５０から記事データ取得要求を取得することに応じて、記事データ取得要求内の特定のアクセストークンに対応付けられている複数個の記事データを特定する。なお、上記の複数個の記事データは、特定のアクセストークンに対応付けられている全ての記事データであってもよいし、全ての記事データのうちの一部である所定数の記事データであってもよい。後者の場合、複数個の記事データは、上記の全ての記事データのうち、ＳＰサーバ１００に格納された日時が新しい各記事データであってもよい。Ｔ２８では、ＳＰサーバ１００は、特定済みの複数個の記事データを仲介サーバ５０に供給する。
【００３５】
仲介サーバ５０のＣＰＵ６２は、ＳＰサーバ１００から複数個の記事データを取得することに応じて、応答生成処理（図３参照）を実行する。応答生成処理は、Ｔ２４のＵＲＬ取得要求に対する応答を生成するための処理である。
【００３６】
（応答生成処理；図３）
図３を参照して、応答生成処理の内容を説明する。Ｓ１０では、ＣＰＵ６２は、取得済みの複数個の記事データの中から、文字列「#scannow」を含む記事データ（以下では「対象データ」と呼ぶ）を特定可能であるのか否かを判断する。ＣＰＵ６２は、複数個の記事データの中に１個以上の対象データが存在する場合には、Ｓ１０でＹＥＳと判断して、Ｓ１２に進む。一方、ＣＰＵ６２は、複数個の記事データの中に１個の対象データも存在しない場合には、Ｓ１０でＮＯと判断して、Ｓ２２に進む。
【００３７】
Ｓ１２では、ＣＰＵ６２は、複数個の記事データの中に２個以上の対象データを特定可能であるのか否かを判断する。ＣＰＵ６２は、複数個の記事データの中に２個以上の対象データが存在する場合には、Ｓ１２でＹＥＳと判断して、Ｓ１４に進む。一方、ＣＰＵ６２は、複数個の記事データの中に１個の対象データのみが存在する場合には、Ｓ１４をスキップして、Ｓ１６に進む。この場合、１個の対象データのみが特定され、特定済みの１個の対象データに対して、Ｓ１６以降の処理が実行される。
【００３８】
Ｓ１４では、ＣＰＵ６２は、特定済みの２個以上の対象データのうち、ＳＰサーバ１００に格納された日時が最も新しい１個の対象データを特定する。具体的には、ＣＰＵ６２は、各対象データに含まれる各日時情報を参照して、ＳＰサーバ１００に格納された日時が最も新しい１個の対象データを特定する。この場合、特定済みの１個の対象データに対して、Ｓ１６以降の処理が実行される。
【００３９】
Ｓ１６では、ＣＰＵ６２は、特定済みの対象データが文字列「#monochrome」を含むのか否かを判断する。ＣＰＵ６２は、特定済みの対象データが文字列「#monochrome」を含む場合（Ｓ１６でＹＥＳ）には、Ｓ２０に進み、特定済みの対象データが文字列「#monochrome」を含まない場合（Ｓ１６でＮＯ）には、Ｓ１８に進む。
【００４０】
Ｓ１８では、ＣＰＵ６２は、本文文字列と、格納ＵＲＬと、公開設定情報と、を含む応答を生成する。本文文字列は、対象データに含まれる各文字列のうち、文字列「#scannow」とは異なる文字列である。即ち、本文文字列は、記事データが表わす記事の本文に相当する文字列である。格納ＵＲＬは、ＳＰサーバ１００のＵＲＬである。公開設定情報は、ＳＰサーバ１００に格納されるべき代替データの公開範囲の属性として「公開」を指定するための情報である。
【００４１】
また、Ｓ２０では、ＣＰＵ６２は、変換ＵＲＬを含む応答を生成する。変換ＵＲＬは、仲介サーバ５０内の所定のＵＲＬであり、より具体的には、仲介サーバ５０がモノクロ変換処理を実行するためのＵＲＬである。
【００４２】
Ｓ２２では、ＣＰＵ６２は、既定文字列と、格納ＵＲＬと、公開設定情報と、を含む応答を生成する。既定文字列は、予め決められている文字列である。格納ＵＲＬ及び公開設定情報は、Ｓ１８と同様である。Ｓ１８〜Ｓ２２のいずれかが実行されると、図３の処理が終了する。
【００４３】
（ケースＡ；図４）
続いて、図３の応答生成処理に従って生成される応答に応じて実現される具体的なケースの内容について説明する。まず、図４を参照して、図３のＳ１８の応答が生成されるケースＡを説明する。
【００４４】
Ｔ４０では、仲介サーバ５０のＣＰＵ６２は、図３のＳ１８で生成された応答をスキャナ１０に供給する。当該応答は、上述したように、本文文字列と、格納ＵＲＬと、公開設定情報と、を含む。図４の下側の（Ａ１）は、Ｔ４０の時点において、特定のアクセストークン「XXXXXXXX」に対応付けられている複数個の記事データによって表わされる複数個の記事ＡＲ１〜ＡＲ３を示す。各記事の左側に示される数字「００３」等は、記事ＩＤである。記事ＡＲ３は、「非公開」の属性を有し、ユーザ名「UN」を示す文字列と、「Fight !」を示す本文文字列ＢＳ３と、「#scannow」を示す文字列ＳＳ３と、日時「18:00」を示す文字列ＤＳ３と、を含む。記事ＡＲ３が「#scannow」を含むので、仲介サーバ５０は、記事ＡＲ３を表わす記事データを対象データとして特定する（図３のＳ１２、Ｓ１４）。そして、Ｔ４０では、仲介サーバ５０は、本文文字列である文字列ＢＳ３と、格納ＵＲＬと、公開設定情報と、を含む応答をスキャナ１０に供給する。
【００４５】
Ｔ４２では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０から応答を取得することに応じて、代替データを生成する。代替データは、取得済みの応答内の本文文字列ＢＳ３と、図２のＴ２３で保存されるスキャン画像データと、を含む。
【００４６】
Ｔ４４では、スキャナ１０のＣＰＵ３２は、取得済みの応答内の格納ＵＲＬを供給先として、代替データ格納要求をＳＰサーバ１００に供給する。代替データ格納要求は、取得済みの応答内の公開設定情報と、Ｔ４２で生成された代替データと、特定のアクセストークンと、を含む。代替データ格納要求は、特定のアクセストークンに対応付けて代替データをＳＰサーバ１００に格納させるための要求である。
【００４７】
Ｔ４６では、ＳＰサーバ１００は、スキャナ１０から代替データ格納要求を取得することに応じて、特定のアクセストークンに対応付けて代替データ（即ち新たな記事データ）を格納する。特に、ＳＰサーバ１００は、代替データに含まれるスキャン画像データを画像記憶領域内に格納し、代替データに含まれる本文文字列と、画像記憶領域内でのスキャン画像データのＵＲＬと、を対応付けて、記事記憶領域に格納する。これにより、ＳＰサーバ１００は、本文文字列とスキャン画像データとを含む代替データを格納することができる。ＳＰサーバ１００は、代替データを格納する際に、特定のアクセストークンに対応付けられている最大の記事ＩＤ（即ちＡ１の「００５」）をインクリメントして新たな記事ＩＤ「００６」を生成し、記事ＩＤ「００６」を代替データに割り当てる。図４の下側の（Ａ２）は、代替データによって表わされる記事ＡＲ４を示す。記事ＡＲ４は、本文文字列ＢＳ３と、スキャン画像データによって表わされるカラースキャン画像ＣＳＩと、現在日時「18:01」を示す文字列ＤＳ４と、を含む。特に、ＳＰサーバ１００は、代替データ格納要求内の公開設定情報に従って、代替データの公開範囲の属性として「公開」を設定する。
【００４８】
また、Ｔ４８では、仲介サーバ５０のＣＰＵ６２は、削除要求をＳＰサーバ１００に供給する。削除要求は、図３の応答生成処理で特定された対象データをＳＰサーバ１００から削除するための要求である。削除要求は、対象データに含まれる記事ＩＤ「００５」と、特定のアクセストークンと、を含む。
【００４９】
Ｔ５０では、ＳＰサーバ１００は、仲介サーバ５０から削除要求を取得することに応じて、削除要求内の特定のアクセストークンに対応付けられている複数個の記事データのうち、削除要求内の記事ＩＤ「００５」を含む対象データを削除する。この結果、（Ａ２）に示されるように、（Ａ１）の記事ＡＲ３を表わす記事データ（即ち対象データ）に代えて、記事ＡＲ４を表わす記事データ（即ち代替データ）がＳＰサーバ１００に格納される。
【００５０】
ケースＡによると、ユーザは、スキャン画像ＣＳＩを含む記事をＳＰサーバ１００に投稿することを望む場合に、まず、本文文字列ＢＳ３と、「#scannow」を示す文字列ＳＳ３と、を含む記事ＡＲ３を、ＳＰサーバ１００に投稿する。その後、ユーザは、原稿のスキャンのための操作（図２のＴ１０、Ｔ１６等）をスキャナ１０に実行する。これにより、仲介サーバ５０は、複数個の記事ＡＲ１〜ＡＲ３を表わす複数個の記事データの中から、記事ＡＲ３を表わす記事データを対象データとして特定して、Ｔ４０の応答をスキャナ１０に供給することによって、代替データをＳＰサーバ１００に格納させる処理をスキャナ１０に実行させることができる。この結果、スキャン画像ＣＳＩと文字列ＢＳ３とを含む記事ＡＲ４を表わす新たな記事データがＳＰサーバ１００に格納される。このように、ユーザは、記事ＡＲ３をＳＰサーバ１００に投稿して、スキャンのための操作（図２のＴ１０、Ｔ１６、Ｔ２２等）をスキャナ１０に実行すれば、記事ＡＲ３に代えて記事ＡＲ４をＳＰサーバ１００に容易に投稿することができる。ユーザは、記事ＡＲ３をＳＰサーバ１００に投稿した後に、複数個の記事ＡＲ１〜ＡＲ３の中から記事ＡＲ３を指定せずに済むので、記事ＡＲ４をＳＰサーバ１００に容易に投稿することができる。例えば、ユーザは、文字列を入力しやすい端末装置（例えば、ＰＣや携帯端末等）を利用して、本文文字列ＢＳ３と、文字列ＳＳ３と、を含む記事ＡＲ３を、ＳＰサーバ１００に投稿して、スキャンのための操作を実行すれば、記事ＡＲ３に代えて記事ＡＲ４をＳＰサーバ１００に容易に投稿することができる。例えば、ユーザは、テレビ番組等で募集されるメッセージをＳＰサーバ１００に投稿することを望む場合に、スキャン画像ＣＳＩと文字列ＢＳ３とを含む記事ＡＲ４をＳＰサーバ１００に容易に投稿することができる。
【００５１】
例えば、以下の比較例の構成が考えられる。即ち、ユーザは、スキャナ１０によって生成されるスキャン画像データを端末装置７０に格納し、端末装置７０を利用して、スキャン画像データを含む記事データをＳＰサーバ１００に投稿する。しかしながら、比較例の構成では、ユーザは、当該スキャン画像データを端末装置７０に格納させる必要がある。これに対し、本実施例によると、ユーザは、スキャン画像データを端末装置７０に格納させずに済む。このために、ユーザの利便性が高い。
【００５２】
また、仲介サーバ５０は、Ｔ４０において、公開設定情報を含む応答をスキャナ１０に供給する。これにより、スキャナ１０は、Ｔ４４において、公開設定情報を含む代替データ格納要求をＳＰサーバ１００に供給する。この結果、記事ＡＲ４の元である記事ＡＲ３の公開範囲が「非公開」であるにも関わらず、記事ＡＲ４の公開範囲が「公開」に設定される。ユーザは、記事ＡＲ４がＳＰサーバ１００に投稿された後に、記事ＡＲ４の公開範囲の属性を「非公開」から「公開」に変更せずに済む。このために、ユーザの利便性が高い。
【００５３】
（ケースＢ；図５）
続いて、図５を参照して、図３のＳ２０の応答が生成されるケースＢを説明する。Ｔ６０では、仲介サーバ５０のＣＰＵ６２は、図３のＳ２０で生成された応答をスキャナ１０に供給する。当該応答は、上述したように、変換ＵＲＬを含む。図５の下側の（Ｂ１）は、Ｔ６０の時点において、特定のアクセストークンに対応付けられている複数個の記事データによって表わされる複数個の記事ＡＲ１３等を示す。記事ＡＲ１３は、図４の（Ａ１）の記事ＡＲ３と比べると、「#monochrome」を示す文字列ＳＳ４をさらに含む。記事ＡＲ１３が、「#monochrome」を含むので、仲介サーバ５０は、図３のＳ１６でＹＥＳと判断し、Ｓ２０に進み、この結果、Ｔ６０の応答をスキャナ１０に供給する。
【００５４】
Ｔ６２では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０から応答を取得することに応じて、取得済みの応答内の変換ＵＲＬを供給先として、図２のＴ２３で保存されたスキャン画像データを仲介サーバ５０に供給する。本実施例では、Ｔ６２で供給されるスキャン画像データは、カラースキャン画像を表わす。
【００５５】
Ｔ６４では、仲介サーバ５０のＣＰＵ６２は、取得済みのスキャン画像データに対するモノクロ変換処理を実行して、モノクロ画像を表わす処理済み画像データを生成する。次いで、Ｔ６６では、ＣＰＵ６２は、特定済みの対象データ（即ち記事Ａ１３）に含まれる本文文字列ＢＳ３と、処理済み画像データと、を含む代替データを生成する。そして、Ｔ６８では、ＣＰＵ６２は、生成済みの代替データを含む代替データ格納要求をＳＰサーバ１００に供給する。代替データ格納要求内の他の情報は、図４のケースＡのＴ４４と同様である。
【００５６】
Ｔ７０では、ＳＰサーバ１００は、仲介サーバ５０から代替データ格納要求を取得することに応じて、特定のアクセストークンに対応付けて代替データを格納する。図５の下側の（Ｂ２）は、代替データによって表わされる記事ＡＲ１４を示す。記事ＡＲ１４は、図４の（Ａ２）の記事ＡＲ４と比べると、カラー画像を表わすスキャン画像ＣＳＩに代えて、処理済み画像データによって表わされるモノクロ画像ＭＳＩを含む。
なお、Ｔ７２、Ｔ７４は、図４のＴ４８、Ｔ５０と同様の処理である。この結果、（Ｂ２）に示されるように、（Ｂ１）の記事ＡＲ１３を表わす記事データ（即ち対象データ）に代えて、記事ＡＲ１４を表わす記事データ（即ち代替データ）がＳＰサーバ１００に格納される。
【００５７】
ケースＢによると、ユーザは、文字列「#monochrome」を含む記事ＡＲ１３をＳＰサーバ１００に投稿して、スキャンのための操作をスキャナ１０に実行すれば、記事ＡＲ１３に代えて、モノクロ変換によって得られるモノクロ画像ＭＳＩを含む記事ＡＲ１４をＳＰサーバ１００に容易に投稿することができる。
【００５８】
（ケースＣ；図６）
ユーザは、文字列「#scannow」を含む記事をＳＰサーバ１００に投稿せずに、スキャンのための操作（図２のＴ１０、Ｔ１６等）をスキャナ１０に実行することもできる。この場合、仲介サーバ５０は、文字列「#scannow」を含む対象データを特定することができず（図３のＳ１０でＮＯ）、Ｓ２２の応答を生成する。図６を参照して、図３のＳ２２の応答が生成されるケースＣを説明する。
【００５９】
Ｔ９０では、仲介サーバ５０のＣＰＵ６２は、図３のＳ２２で生成された応答をスキャナ１０に供給する。当該応答は、上述したように、既定文字列と、格納ＵＲＬと、公開設定情報と、を含む。図６の下側の（Ｃ１）は、Ｔ９０の時点において、特定のアクセストークンに対応付けられている複数個の記事データによって表わされる複数個の記事ＡＲ２３等を示す。記事ＡＲ２３は、図４の（Ａ１）の記事ＡＲ３と比べると、文字列「#scannow」を含まない。このために、仲介サーバ５０は、Ｓ１０でＮＯと判断し、Ｓ２２に進む、この結果、Ｔ９０の応答をスキャナ１０に供給する。
【００６０】
Ｔ９２では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０から応答を取得することに応じて、新規データを生成する。新規データは、取得済みに応答内の既定文字列と、図２のＴ２３で保存されるスキャン画像データと、を含む。そして、Ｔ９４では、ＣＰＵ３２は、取得済みの応答内の格納ＵＲＬを供給先として、新規データ格納要求をＳＰサーバ１００に供給する。新規データ格納要求は、取得済みの応答内の公開設定情報と、Ｔ９２で生成された新規データと、特定のアクセストークンと、を含む。新規データ格納要求は、特定のアクセストークンに対応付けて新規データをＳＰサーバ１００に格納させるための要求である。
【００６１】
Ｔ９６では、ＳＰサーバ１００は、スキャナ１０から新規データ格納要求を取得することに応じて、特定のアクセストークンに対応付けて新規データ（即ち新たな記事データ）を格納する。図６の下側の（Ｃ２）は、新規データによって表わされる記事ＡＲ２４を示す。記事ＡＲ２４は、図４の（Ａ２）の記事ＡＲ４と比べると、本文文字列ＢＳ３に代えて、「Image from Scanner」を示す既定文字列ＰＳ２４を含む。本ケースでは、仲介サーバ５０が対象データを特定しないので、対象データを削除するための処理（即ち図４のＴ４８、Ｔ５０）が実行されない。
【００６２】
ケースＣによると、ユーザは、文字列「#scannow」を含む記事をＳＰサーバ１００に投稿しなくても、スキャンのための操作をスキャナ１０に実行して、カラースキャン画像ＣＳＩを含む新たな記事ＡＲ２４をＳＰサーバ１００に容易に投稿することができる。
【００６３】
（対応関係）
仲介サーバ５０、スキャナ１０、ＳＰサーバ１００が、それぞれ、「制御装置」、「スキャン実行部」、「データ格納サーバ」の一例である。特定のアクセストークン、特定のアクセストークンに対応付けられる複数個の記事データが、それぞれ、「認証情報」、「複数個のデータ」の一例である。文字列「#scannow」、文字列「#monochrome」が、それぞれ、「第１の所定文字列」、「第２の所定文字列」の一例である。図４において、Ｔ４０の応答内の格納ＵＲＬ、Ｔ４２の代替データ、当該代替データ内のスキャン画像データ、本文文字列ＢＳ３が、それぞれ、「位置情報」、「第１の代替データ」、「第１のスキャン画像データ」、「対象文字列」の一例である。図５において、Ｔ６６の代替データが、「第２の代替データ」の一例である。図６において、Ｔ９２の新規データが、「第１の新規データ」の一例である。
【００６４】
図２のＴ２０が、「スキャン指示供給部」が実行する処理の一例である。図２のＴ２４において、特定のアクセストークンを含むＵＲＬ取得要求を取得することが、「認証情報取得部」の一例である。図２のＴ２６及び図３のＳ１０〜Ｓ１４が、「特定部」が実行する処理の一例である。図４のＴ４０が、「第１の格納制御部」が実行する処理の一例である。図６のＴ９０が、「第２の格納制御部」が実行する処理の一例である。図５のＴ６６及びＴ６８が、「第３の格納制御部」が実行する処理の一例である。図５のＴ６４が、「生成部」が実行する処理の一例である。
【００６５】
（第２実施例）
第１実施例とは異なる点を中心に説明する。ＳＰサーバ１００では、１個の記事データの上限のデータサイズが予め決められている。本実施例でも、各デバイス１０，５０，１００によって、図２のＴ１０〜Ｔ２８と同様の処理が実行される。ただし、Ｔ２４のＵＲＬ取得要求は、さらに、データサイズ情報を含む。データサイズ情報は、Ｔ２３で保存されるスキャン画像データのデータサイズを示す情報である。本実施例では、図３の応答生成処理の内容が第１実施例とは異なる。
【００６６】
（応答生成処理；図３）
仲介サーバ５０のＣＰＵ６２は、Ｓ１４の処理の後に、一点鎖線の矢印で示されるように、Ｓ４０以降の処理を実行する。
【００６７】
Ｓ４０では、仲介サーバ５０のＣＰＵ６２は、本文文字列のデータサイズとスキャン画像データのデータサイズとの合計データサイズが、所定の閾値以上であるのか否かを判断する。所定の閾値は、ＳＰサーバ１００で予め決められている上限のデータサイズに基づいて、スキャナ１０のベンダによって設定される。一致する。ＣＰＵ６２は、まず、対象データ内の本文文字列のデータサイズを算出し、次いで、算出済みの本文文字列のデータサイズと、図２のＴ２４のＵＲＬ取得要求内のデータサイズ情報が示すデータサイズ（即ちスキャン画像データのデータサイズ）と、の合計データサイズを算出する。ＣＰＵ６２は、合計データサイズが所定の閾値より小さい場合（Ｓ４０でＮＯ）、即ち、本文文字列とスキャン画像データとを含む代替データをＳＰサーバ１００に格納可能である場合には、Ｓ４８に進む。Ｓ４８は、第１実施例のＳ１８と同様である。一方、ＣＰＵ６２は、合計データサイズが所定の閾値以上である場合（Ｓ４０でＹＥＳ）、即ち、本文文字列とスキャン画像データとを含む代替データをＳＰサーバ１００に格納不可能である場合には、Ｓ４２に進む。
【００６８】
Ｓ４２では、ＣＰＵ６２は、本文文字列を含む代替データを生成する。続いて、Ｓ４４では、ＣＰＵ６２は、代替データ格納要求をＳＰサーバ１００に供給する。代替データ格納要求は、公開設定情報と、Ｓ４２で生成された代替データと、特定のアクセストークンと、を含む。これにより、ＣＰＵ６２は、代替データをＳＰサーバ１００に格納させることができ、次いで、当該代替データに割り当てられる記事ＩＤをＳＰサーバ１００から取得する。
【００６９】
Ｓ４６では、ＣＰＵ６２は、格納ＵＲＬと、公開設定情報と、取得済みの記事ＩＤと、を含む応答を生成する。
【００７０】
（具体的なケース；図７）
図７を参照して、図３のＳ４６の応答が生成されるケースを説明する。図７の下側の（Ｄ１）は、図４の（Ａ１）と同様である。本ケースでは、記事ＡＲ３内の本文文字列ＢＳ３とスキャン画像データとの合計データサイズが閾値以上である（図３のＳ４０でＹＥＳ）。このために、仲介サーバ５０のＣＰＵ６２は、代替データ格納要求をＳＰサーバ１００に供給する（図３のＳ４４参照）。
【００７１】
ＳＰサーバ１００は、仲介サーバ５０から代替データ格納要求を取得することに応じて、Ｔ１００において、代替データ格納要求に含まれる代替データを格納する。この際、ＳＰサーバ１００は、記事ＩＤ「００６」を代替データに割り当てる。図７の下側の（Ｄ２）は、Ｔ１００で格納される代替データによって表わされる記事ＡＲ３４を示す。記事ＡＲ３４は、本文文字列ＢＳ３と、現在日時「18:01」を示す文字列ＤＳ３４と、を含む。ただし、記事ＡＲ３４は、スキャン画像を含まない。本文文字列ＢＳ３とスキャン画像データとの合計データサイズが所定の閾値より大きい場合でも、記事ＡＲ３４がスキャン画像を含まないので、記事ＡＲ３４を表わす代替データのデータサイズが所定の閾値未満になる可能性が高い。この結果、記事ＡＲ３４を表わす代替データをＳＰサーバ１００に適切に格納させ得る。Ｔ１０１では、ＳＰサーバ１００は、記事ＩＤ「００６」を仲介サーバ５０に供給する。
【００７２】
Ｔ１０２では、仲介サーバ５０のＣＰＵ６２は、図３のＳ４６で生成された応答をスキャナ１０に供給する。当該応答は、上述したように、格納ＵＲＬと、公開設定情報と、記事ＩＤ「００６」と、を含む。
【００７３】
Ｔ１０４では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０から応答を取得することに応じて、新規データを生成する。新規データは、リンク情報と、図２のＴ２３で保存されるスキャン画像データと、を含む。リンク情報は、Ｔ１０１で取得済みの記事ＩＤ「００６」を含み、新規データが記事ＩＤ「００６」に対応する代替データにリンクされることを示す情報である。次いで、Ｔ１０６では、スキャナ１０のＣＰＵ３２は、取得済みの応答内の格納ＵＲＬを供給先として、新規データ格納要求をＳＰサーバ１００に供給する。新規データ格納要求は、公開設定情報と、特定のアクセストークンと、Ｔ１０４で生成された新規データと、を含む。
【００７４】
Ｔ１０８では、ＳＰサーバ１００は、スキャナ１０から新規データ格納要求を取得することに応じて、特定のアクセストークンに対応付けて新規データを格納する。また、新規データは、リンク情報に含まれる記事ＩＤ「００６」に対応するＴ１００の代替データにリンクする。なお、このように２個の記事データがリンクされると、例えば、端末装置７０から複数個の記事データにアクセスされる場合に、上記の２個の記事データによって表わされる２個の記事が連続的に表示されるように、複数個の記事データが端末装置７０に供給される。図７の下側の（Ｄ２）は、Ｔ１０８で格納される新規データによって表わされる記事ＡＲ３５を示す。記事ＡＲ３５は、スキャン画像ＣＳＩと、現在日時「18:01」を示す文字列ＤＳ３５と、を含む。ただし、記事ＡＲ３５は、本文文字列ＢＳ３を含まない。本文文字列ＢＳ３とスキャン画像データとの合計データサイズが所定の閾値より大きい場合でも、記事ＡＲ３５が本文文字列ＢＳ３を含まないので、記事ＡＲ３５を表わす新規データのデータサイズが所定の閾値未満になる可能性が高い。この結果、記事ＡＲ３５を表わす新規データをＳＰサーバ１００に適切に格納させ得る。
【００７５】
なお、記事ＡＲ３５は、さらに、「@UN」を示すリンク文字列ＬＳ３５を含む。リンク文字列ＬＳ３５は、記事ＡＲ３５が、記事ＡＲ３５の直前に投稿された記事ＡＲ３４にリンクされていることを示す文字列である。
なお、変形例では、記事ＡＲ３５は、「@UN」を示すリンク文字列ＬＳ３５に代えて、記事ＡＲ３４の記事ＩＤ「００６」を示すリンク文字列を含んでいてもよい。
【００７６】
Ｔ１１０、Ｔ１１２は、図４のＴ４８、Ｔ５０と同様の処理である。この結果、（Ｄ２）に示されるように、（Ｄ１）の記事ＡＲ３を表わす記事データ（即ち対象データ）に代えて、記事ＡＲ３４を表わす記事データ（即ち代替データ）がＳＰサーバ１００に格納される。また、記事ＡＲ３４を表わす記事データにリンクされるように、記事ＡＲ３５を表わす記事データ（即ち新規データ）がＳＰサーバ１００に格納される。
【００７７】
特に、本文文字列のデータサイズとスキャン画像データのデータサイズとの合計データサイズが、ＳＰサーバ１００の１個の記事データの上限のデータサイズより大きい場合、本文文字列とスキャン画像データとを含む代替データをＳＰサーバ１００に格納不可能となるケースが起こり得る。本実施例によると、本文文字列とスキャン画像データとを含む代替データをＳＰサーバ１００に格納不可能である場合であっても、本文文字列を含む代替データとスキャン画像データを含む新規データとの双方をＳＰサーバ１００に適切に格納させ得る。そして、新規データが代替データにリンクされるので、複数個の記事データにアクセスされても、２個の記事データ（即ち新規データ及び代替データ）によって表わされる２個の記事ＡＲ３４，ＡＲ３５が連続的に表示される。このために、複数個の記事データにアクセスした者は、２個の記事ＡＲ３４，ＡＲ３５を同時的に見ることができる。
【００７８】
（対応関係）
Ｔ１００でＳＰサーバ１００に格納される代替データが、「第３の代替データ」の一例である。Ｔ１０８でＳＰサーバ１００に格納される新規データが、「第２の新規データ」の一例である。図３のＳ４０が、「判断部」が実行する処理の一例である。図３のＳ４４と図７のＴ１０２とが、「第４の格納制御部」が実行する処理の一例である。
【００７９】
（第３実施例）
第１実施例とは異なる点を中心に説明する。ＳＰサーバ１００では、１個の記事データは、１個の画像データのみを含むことができ、２個以上の画像データを含むことができない。
本実施例でも、各デバイス１０，５０，１００によって、図２のＴ１０〜Ｔ２８と同様の処理が実行される。本実施例では、Ｔ２４のＵＲＬ取得要求は、さらに、画像個数を含む。画像個数は、Ｔ２３で保存されるスキャン画像データの個数である。即ち、スキャナ１０は、Ｔ２２で１枚の原稿のみをスキャンする場合には、Ｔ２３において、１個のスキャン画像データのみを保存し、Ｔ２４において、１個を示す画像個数を含むＵＲＬ取得要求を仲介サーバ５０に供給する。また、スキャナ１０は、Ｔ２２で２枚以上の原稿をスキャンする場合には、Ｔ２３において、２個以上のスキャン画像データを保存し、Ｔ２４において、２個以上を示す画像個数を含むＵＲＬ取得要求を仲介サーバ５０に供給する。
本実施例では、スキャン設定情報に含める原稿の枚数は、２枚であり、Ｔ２３で保存されるスキャン画像データは、２個である。以下、最初のスキャン実行により得られたスキャン画像データを「第１のスキャン画像データ」と呼び、次のスキャン実行により得られたスキャン画像データを、「第２のスキャン画像データ」と呼ぶ。なお、本実施例でも、第１実施例と同様に、スキャナ１０のユーザの事前準備が、実行されている。
【００８０】
（応答生成処理）
本実施例の応答生成処理について説明する。本実施例では、仲介サーバ５０のＣＰＵ６２は、ＵＲＬ取得要求に含まれる画像個数が１個を示す場合には、第１実施例と同様に図３の応答生成処理を実行して、Ｓ１８〜Ｓ２２のいずれかの応答をスキャナ１０に供給する。一方、ＣＰＵ６２は、ＵＲＬ取得要求に含まれる画像個数がＮ個（Ｎは２以上の整数）を示す場合には、第１実施例と同様に図３の応答生成処理を実行して、Ｓ１８〜Ｓ２２のいずれかの応答をスキャナ１０に供給し、次いで、（Ｎ−１）個の追加応答をスキャナ１０に供給する。追加応答は、格納ＵＲＬと公開設定情報とリンク指示情報とを含む。リンク指示情報は、追加応答に応じて格納される記事データが、当該記事データの直前に格納された記事データにリンクされるように、スキャナ１０に指示するための情報である。
【００８１】
（具体的なケース；図８）
図８を参照して、２個のスキャン画像データがスキャナ１０によって生成されるケースを説明する。この場合、仲介サーバ５０のＣＰＵ６２は、スキャナ１０から、２個を示す画像個数を含むＵＲＬ取得要求を取得する（図２のＴ２４参照）。図８の下側の（Ｅ１）に示される各記事ＡＲ３等は、図４の（Ａ１）と同じである。従って、Ｔ１３０では、仲介サーバ５０のＣＰＵ６２は、記事ＡＲ３を表わす記事データを対象データとして特定し（図３のＳ１２、Ｓ１４参照）、図３のＳ１８で生成された応答（以下では「第１の応答」と呼ぶ）をスキャナ１０に供給する。第１の応答は、本文文字列ＢＳ３と、格納ＵＲＬと、公開設定情報と、を含む。Ｔ１３２〜Ｔ１３６は、図４のＴ４２〜Ｔ４６と同様の処理である。Ｔ１３２の代替データは、本文文字列ＢＳ３と、２個のスキャン画像データのうちの第１のスキャン画像データと、を含む。これにより、図８の下側の（Ｅ２）に示される記事ＡＲ５４がＳＰサーバ１００に格納される。記事ＡＲ５４は、図４の記事ＡＲ４と同様である。
【００８２】
Ｔ１３８では、スキャナ１０のＣＰＵ３２は、ＳＰサーバ１００から、Ｔ１３６で格納された代替データの記事ＩＤ「００６」を取得する。
【００８３】
Ｔ１４０では、仲介サーバ５０のＣＰＵ６２は、さらに、格納ＵＲＬと公開設定情報とリンク指示情報とを含む追加応答（以下では「第２の応答」と呼ぶ）をスキャナ１０に供給する。
【００８４】
Ｔ１４２では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０から第２の応答を取得することに応じて、新規データを生成する。新規データは、２個のスキャン画像データのうちの第２のスキャン画像データと、リンク情報と、を含む。リンク情報は、新規データの直前にＳＰサーバ１００に格納されたＴ１３６の代替データに新規データがリンクされることを示す情報であり、Ｔ１３８で取得済みの代替データの記事ＩＤ「００６」を含む。Ｔ１４４では、ＣＰＵ３２は、取得済みの第２の応答内の格納ＵＲＬを供給先として、新規データ格納要求をＳＰサーバ１００に供給する。新規データ格納要求は、公開設定情報と、Ｔ１４２で生成された新規データと、特定のアクセストークンと、を含む。
【００８５】
Ｔ１４６では、ＳＰサーバ１００は、スキャナ１０から新規データ格納要求を取得することに応じて、特定のアクセストークンに対応付けて新規データを格納する。また、新規データは、リンク情報内の記事ＩＤ「００６」に対応するＴ１３６の代替データにリンクする。これにより、図８の下側の（Ｅ２）に示される記事ＡＲ５５がＳＰサーバ１００に格納される。記事ＡＲ５５は、第２のスキャン画像データによって表わされるカラースキャン画像ＣＳＩ２と、「@UN」を示すリンク文字列ＬＳ５５と、現在日時「18:01」を示す文字列ＤＳ５５を含む。
【００８６】
Ｔ１４８、Ｔ１５０は、図４のＴ４８、Ｔ５０と同様の処理である。この結果、（Ｅ２）に示されるように、（Ｅ１）の記事ＡＲ３を表わす記事データ（即ち対象データ）に代えて、記事ＡＲ５４を表わす記事データ（即ち代替データ）がＳＰサーバ１００に格納される。また、記事ＡＲ５４を表わす記事データにリンクされるように、記事ＡＲ５５を表わす記事データ（即ち新規データ）がＳＰサーバ１００に格納される。
【００８７】
本ケースによると、ＳＰサーバ１００が２個以上の画像データを含む記事データを格納不可能であり、かつ、スキャナ１０によって２個以上のスキャン画像データが生成される場合に、２個以上のスキャン画像データを含む２個以上の記事データ（即ちＴ１３６の代替データ及びＴ１４６の新規データ）をＳＰサーバ１００に適切に格納させることができる。２個以上の記事データがリンクされるので、２個以上の記事データによって表わされる２個以上の記事ＡＲ５４，ＡＲ５５が連続的に表示される。このために、複数個の記事データにアクセスした者は、２個以上の記事ＡＲ５４，ＡＲ５５を同時的に見ることができる。また、例えば、ＳＰサーバ１００では、投稿される記事に含まれる文字列と、画像記憶領域内でのスキャン画像データのＵＲＬを示す文字列と、の合計文字列の文字数により、格納可能な１個の記事データの上限が定義されている場合がある。特に、画像記憶領域内でのスキャン画像データのＵＲＬの数は、１個の記事データが含むスキャン画像データの数となる。その結果、記事データが２個以上のスキャン画像データを含む場合に、合計文字列の文字数が上限を超えて、当該記事データがＳＰサーバ１００に格納不可能となる場合がある。本ケースによれば、このような場合であっても、２個以上のスキャン画像データを含む２個以上の記事データをＳＰサーバ１００に適切に格納させることができる。
【００８８】
（対応関係）
図８のＴ１４４でＳＰサーバ１００に格納される新規データが、「第３の新規データ」の一例である。図８のＴ１４０が、「第５の格納制御部」の一例である。
【００８９】
（第４実施例）
上記の各実施例では、ＳＰサーバ１００は、記事データの上書きを許容していない。従って、例えば、図４に示されるように、Ｔ４６で代替データが新たに格納された後に、Ｔ５０で対象データが削除される。これにより、対象データに代えて、代替データが格納される。本実施例では、ＳＰサーバ１００ではなく、ＳＰサーバ１１０に記事データが格納される。そして、ＳＰサーバ１１０は、記事データの上書きを許容する。
【００９０】
本実施例では、ユーザは、「#scannow」を含む記事データを、ＳＰサーバ１００ではなくＳＰサーバ１１０に格納させる。また、各デバイス１０，５０，１００によって、図２のＴ１０〜Ｔ２８と同様の処理が実行される。ただし、ＳＰサーバ１００に代えて、ＳＰサーバ１１０が利用される。例えば、Ｔ１０では、ユーザは、ユーザサービステーブル３８内の表示名「D2」とＳＰサーバ１１０のサーバ名「Server B」との組み合わせを選択する（図１参照）。また、Ｔ２４のＵＲＬ取得要求は、表示名「D2」とサーバ名「Server B」に対応付けられているアクセストークン「ZZZZZZZZ」を含む。
【００９１】
応答生成処理（図３を参照）では、Ｓ１８において、仲介サーバ５０のＣＰＵ７２は、対象データの記事ＩＤをさらに含む応答を生成する。
【００９２】
（具体的なケース；図９）
図９を参照して、Ｓ１８の応答が生成されるケースを説明する。
図９の下側の（Ｆ１）は、ＳＰサーバ１００ではなくＳＰサーバ１１０に格納されている点を除くと、図４の（Ａ１）に示す各記事と同様である。Ｔ１６０では、仲介サーバ５０のＣＰＵ６２は、図３のＳ１８で生成された応答をスキャナ１０に供給する。当該応答は、本文文字列ＳＳ３と、ＳＰサーバ１１０のＵＲＬである格納ＵＲＬと、公開設定情報と、対象データの記事ＩＤ「００５」と、を含む。
【００９３】
Ｔ１６２では、スキャナ１０のＣＰＵ３２は、仲介サーバ５０から応答を取得することに応じて、代替データを生成する。そして、Ｔ１６４では、スキャナ１０のＣＰＵ３２は、取得済みの応答内の格納ＵＲＬを供給先として、代替データ上書要求をＳＰサーバ１１０に供給する。代替データ上書要求は、公開設定情報と、Ｔ１６２で生成された代替データと、記事ＩＤ「００５」と、アクセストークン「ZZZZZZZZ」と、を含む。代替データ上書要求は、記事ＩＤ「００５」に対応する記事データ（即ち対象データ）を代替データに上書きさせるための要求である。
【００９４】
Ｔ１６６では、ＳＰサーバ１００は、スキャナ１０から代替データ上書要求を取得することに応じて、代替データ上書要求内の記事ＩＤ「００５」に対応する記事データを代替データに上書きする。具体的には、ＳＰサーバ１００は、アクセストークン「ZZZZZZZZ」に対応付けられている複数個の記事データの中から記事ＩＤ「００５」に対応する記事データを特定する。そして、ＳＰサーバ１００は、特定済みの記事データ内の日時情報以外のデータに代えて、代替データを格納する。図８の下側の（Ｆ２）は、代替データによって表わされる記事ＡＲ６４を示す。記事ＡＲ６４は、記事ＡＲ３と同じ記事ＩＤ「００５」を有する。また、記事ＡＲ６４に含まれる現在日時を示す文字列ＤＳ３（即ち「18:00」）は、記事ＡＲ３に含まれる文字列ＤＳ３と同じである。
【００９５】
（具体的な他のケース）
第１実施例の図５のケースＢと異なる点について説明する。本実施例では、ＳＰサーバ１００の代わりに、ＳＰサーバ１１０が利用される。Ｔ６８では、仲介サーバ５０のＣＰＵ３２は、代替データ格納要求に代えて、代替データ上書要求をＳＰサーバ１１０に供給する。代替データ上書要求は、図９と同様に、対象データの記事ＩＤ「００５」を含む。そして、Ｔ７０では、ＳＰサーバ１１０は、図９に示すＴ１６６と同様に、代替データ上書要求が供給されることに応じて、対象データを代替データに上書きする。
【００９６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００９７】
（変形例１）図２のＴ２４において、仲介サーバ５０は、スキャナ１０からＵＲＬ取得要求を取得する代わりに、スキャナ１０からスキャン画像データと特定のアクセストークンとを取得してもよい。そして、図３のＳ１８において、仲介サーバ５０は、応答をスキャナ１０に供給する代わりに、スキャン画像データを含む代替データを生成して、代替データと特定のアクセストークンとを含む代替データ格納要求をＳＰサーバ（例えば１００）に供給してもよい。本変形例でも、「第１の格納制御部」は、対象データに代えて第１の代替データを認証情報に対応付けてデータ格納サーバに格納させることができる。
【００９８】
（変形例２）スキャナ１０のユーザサービステーブル３８には、アクセストークンの代わりに、アカウント情報が格納されてもよい。例えば、ユーザは、アカウント情報をスキャナ１０に入力して、アカウント情報をユーザサービステーブル３８に格納させてもよい。図２のＴ２４のＵＲＬ取得要求は、アカウント情報を含んでもよい。そして、図２のＴ２６では、仲介サーバ５０は、アカウント情報を含む記事データ取得要求をＳＰサーバ１００に供給してもよい。本変形例では、アカウント情報が「認証情報」の一例である。
【００９９】
（変形例３）仲介サーバ５０が設けられていなくてもよい。即ち、スキャナ１０は、図２のＴ２３を実行した後に、ＳＰサーバ１００から複数個の記事データを取得し、複数個の記事データの中から対象データを特定し、対象データに代えて代替データをＳＰサーバ１００に格納させてもよい。本変形例では、スキャナ１０の制御部３０が、「制御装置」の一例である。
【０１００】
（変形例４）上記の実施例では、図２のＴ２６，Ｔ２８において、仲介サーバ５０は、ＳＰサーバ１００から複数個の記事データを取得する。これに代えて、仲介サーバ５０は、文字列「#scannow」を含む対象データを供給するように、ＳＰサーバ１００に要求して、ＳＰサーバ１００から当該対象データのみを取得してもよい。本変形例では、ＳＰサーバ１００から対象データを取得することが、「特定部」が実行される処理の一例である。
【０１０１】
（変形例５）上記の実施例では、仲介サーバ５０は、対象データが文字列「#monochrome」を含む場合に、スキャン画像データに対するモノクロ変換処理を実行する（図５のＴ６４）。仲介サーバ５０は、対象データが文字列「#sepia」を含む場合に、スキャン画像データに対するセピア変換処理を実行してもよい。本変形例では、セピア変換処理が、「画像処理」の一例である。なお、「画像処理」は、他の画像処理であってもよく、例えば、スキャン画像のホワイトバランスを調整する処理、スキャン画像の明るさを調整する処理等であってもよい。
【０１０２】
（変形例６）上記の実施例では、各デバイス１０，５０，７０，１００がインターネット４に接続されている環境を想定している。これに代えて、各デバイス１０，５０，７０，１００が同じＬＡＮ内に存在してもよい。この場合、ＳＰサーバ１００は、ＬＡＮ内の機器（例えば端末装置７０）のみからアクセス可能な記事データを格納するためのサービスを提供するサーバであり、例えば、掲示板等のサービスを提供するローカルサーバであってもよい。
【０１０３】
（変形例７）図３のＳ１６、Ｓ２０、及び、Ｓ２２が省略されてもよい。即ち、Ｓ１４が終了した場合、又は、Ｓ１２でＮＯと判断される場合に、Ｓ１８に進んでもよい。また、Ｓ１０でＮＯの場合、応答がスキャナ１０に送信されなくてもよい。一般的に言うと、「第２の格納制御部」、「生成部」、及び、「第３の格納制御部」を省略可能である。
【０１０４】
（変形例８）図３のＳ１８の応答は、公開設定情報を含んでいなくてもよい。即ち、代替データの公開範囲は、対象データの公開範囲よりも広くなくてもよい。一般的に言うと、「第１の格納制御部」は、公開範囲に関わらず、対象データに代えて第１の代替データをデータ格納サーバに格納させる。
【０１０５】
（変形例９）上記の各実施例では、スキャナ１０のＣＰＵ３２、及び、仲介サーバ５０のＣＰＵ６２が、ソフトウェアに従って処理を実行することによって、図２〜図９の各処理が実行される。これに代えて、図２〜図９の各処理のうちの少なくとも一部が論理回路等のハードウェアによって実現されてもよい。
【０１０６】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１０７】
２：通信システム、４：インターネット、１０：スキャナ、１２：操作部、１４：表示部、１６：ネットワークＩ／Ｆ、１８：スキャン実行部、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、３８：ユーザサービステーブル、５０：仲介サーバ、５２：ネットワークＩ／Ｆ、６０：制御部、６２：ＣＰＵ、６４：メモリ、６６：プログラム、７０：端末装置、１００、１１０：ＳＰサーバ
【図１】
2016181766.tif 000003
【図２】
2016181766.tif 000004
【図３】
2016181766.tif 000005
【図４】
2016181766.tif 000006
【図５】
2016181766.tif 000007
【図６】
2016181766.tif 000008
【図７】
2016181766.tif 000009
【図８】
2016181766.tif 000010
【図９】
2016181766.tif 000011