JP2009199281A - データ送信装置 - Google Patents
データ送信装置 Download PDFInfo
- Publication number
- JP2009199281A JP2009199281A JP2008039506A JP2008039506A JP2009199281A JP 2009199281 A JP2009199281 A JP 2009199281A JP 2008039506 A JP2008039506 A JP 2008039506A JP 2008039506 A JP2008039506 A JP 2008039506A JP 2009199281 A JP2009199281 A JP 2009199281A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- data transmission
- transmitted
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Facsimiles In General (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】 スキャンデータファイルを外部に高速で送信すること。
【解決手段】 スキャナ10は、スキャンデータファイルを記憶するスキャンデータ記憶領域26を有する。スキャナ10は、PC40に対して複数の通信セッションを確立する。スキャナ10は、上記の複数の通信セッションを利用して、スキャンデータ記憶領域26に記憶されている1つのスキャンデータファイルに含まれるスキャンデータをPC40に並行的に送信する。スキャナ10は、複数のデータ送信タスクを並行的に実行することによって、上記のスキャンデータをPC40に並行的に送信することを実現する。
【選択図】 図1
【解決手段】 スキャナ10は、スキャンデータファイルを記憶するスキャンデータ記憶領域26を有する。スキャナ10は、PC40に対して複数の通信セッションを確立する。スキャナ10は、上記の複数の通信セッションを利用して、スキャンデータ記憶領域26に記憶されている1つのスキャンデータファイルに含まれるスキャンデータをPC40に並行的に送信する。スキャナ10は、複数のデータ送信タスクを並行的に実行することによって、上記のスキャンデータをPC40に並行的に送信することを実現する。
【選択図】 図1
Description
本発明は、データを外部に送信するデータ送信装置に関する。
下記の特許文献1には、スキャン装置によって作成されたスキャンデータを外部に送信するスキャナが開示されている。
データを外部に高速で送信する技術が求められている。本明細書では、データを外部に高速で送信することができる技術を開示する。
本明細書によって開示されるデータ送信装置は、データファイル記憶手段と通信セッション確立手段と送信手段とを備える。データファイル記憶手段は、データファイルを記憶することが可能である。通信セッション確立手段は、1つの外部装置に対して複数の通信セッションを確立する。なお、通信セッション確立手段は、1つのIPアドレスを利用して1つの外部装置に対して複数の通信セッションを確立してもよいし、複数のIPアドレスを利用して1つの外部装置に対して複数の通信セッションを確立してもよい。また、上記の「外部装置」という用語は、最も広義に解釈されるべきものであり、データ送信装置と別体に構成されているあらゆるデバイスを含む概念である。「外部装置」の例として、パーソナルコンピュータ、サーバ、プリンタ、携帯端末(携帯電話、パーソナルデジタルアシスタント(PDA))等を挙げることができる。送信手段は、通信セッション確立手段によって確立された複数の通信セッションを利用して、データファイル記憶手段に記憶されている1つのデータファイルに含まれるデータを外部装置に並行的に送信する。「並行的に送信する」とは、上記のデータに含まれる第1データと第2データを外部装置に同時に送信することを必ずしも意味しているのではない。「並行的に送信する」とは、第1データを送信し、そのレスポンスを待たずに第2データを送信することも含む概念である。なお、一つのCPUを利用することによって上記のデータを並行的に送信してもよいし、複数のCPUを利用することによって上記のデータを並行的に送信してもよい。
上記のデータ送信装置によると、複数の通信セッションを利用して1つのデータファイルを並行的に送信することができるために、1つの通信セッションを利用して1つのデータファイルを送信する場合と比べて、外部装置に向けてデータファイルを高速で送信することができる。従来のデータ送信装置の中には、複数の通信セッションを並行的に確立することができるものが存在する。しかしながら、このようなデータ送信装置は、複数の通信セッションを利用して複数のデータファイルを送信することができるが、1つの通信セッションを利用して送信されるのは1つのデータファイルである。このような従来のデータ送信装置では、複数の通信セッションを利用して1つのデータファイルを送信する手法は採用されていない。本明細書によって開示されるデータ送信装置は、従来にない新規な手法を利用してデータファイルを高速で外部に送信することができる。
複数の通信セッションを利用して1つのデータファイルに含まれるデータを外部に並行的に送信するために、以下の手法を採用してもよい。即ち、上記の送信手段は、複数のデータ送信タスクを並行的に実行してもよい。複数のデータ送信タスクのそれぞれは、通信セッション確立手段によって確立された異なる1つの通信セッションを利用して上記のデータを外部装置に送信するタスクである。
上記の送信手段は、複数のデータ送信タスクを並行的に実行する間に複数のデータ送信タスクのそれぞれによって送信されるべきデータサイズを均等化してもよい。この構成によると、複数のデータ送信タスクを並行的に実行する間に各データ送信タスクが送信するデータサイズが等しくなる。複数のデータ送信タスクを並行的に実行する間に各データ送信タスクが送信するデータサイズが異なる場合と比べて、データファイルを高速で送信することができる。
送信手段は、第1データ送信タスクを開始した後に第1データ送信タスクと第2データ送信タスクを並行的に実行することが可能であってもよい。この場合、送信手段は、以下の各処理を実行してもよい。
(1)第1データ送信タスクによって送信された上記のデータの送信済データサイズを特定する。
(2)上記のデータの総データサイズ及び当該送信済データサイズに基づいて上記のデータの未送信データサイズを特定する(例えば総データサイズから送信済データサイズを減算することによって未送信データサイズを特定してもよい)。
(3)当該未送信データサイズを分割することによって個別未送信データサイズを特定する。なお、「分割」とは、必ずしも二等分を意味しているのではない。このために、未送信データサイズを分割することによって、異なる2つの個別未送信データサイズが得られることがある。この場合、下記の(4)では、どちらかの個別未送信データサイズを利用して送信開始位置を決定してもよい。
(4)当該送信済データサイズに当該個別未送信データサイズを加算することによって第2データ送信タスクによって送信されるべき上記のデータの送信開始位置を決定する。
この構成によると、第1データ送信タスクと第2データ送信タスクを並行的に実行する間に各データ送信タスクが送信するデータサイズを分割することができる。
(1)第1データ送信タスクによって送信された上記のデータの送信済データサイズを特定する。
(2)上記のデータの総データサイズ及び当該送信済データサイズに基づいて上記のデータの未送信データサイズを特定する(例えば総データサイズから送信済データサイズを減算することによって未送信データサイズを特定してもよい)。
(3)当該未送信データサイズを分割することによって個別未送信データサイズを特定する。なお、「分割」とは、必ずしも二等分を意味しているのではない。このために、未送信データサイズを分割することによって、異なる2つの個別未送信データサイズが得られることがある。この場合、下記の(4)では、どちらかの個別未送信データサイズを利用して送信開始位置を決定してもよい。
(4)当該送信済データサイズに当該個別未送信データサイズを加算することによって第2データ送信タスクによって送信されるべき上記のデータの送信開始位置を決定する。
この構成によると、第1データ送信タスクと第2データ送信タスクを並行的に実行する間に各データ送信タスクが送信するデータサイズを分割することができる。
また、上記のデータ送信装置は、データ送信装置自身に設定されている1つのIPアドレスを利用して前記外部装置が複数の通信セッションを確立することが可能であるのか否かを判断する第1判断手段をさらに備えていてもよい。この場合、通信セッション確立手段は、(1)第1判断手段によって肯定的な判断が得られたことを条件として、データ送信装置自身に設定されている1つのIPアドレスを利用して外部装置に対して複数の通信セッションを確立し、(2)第1判断手段によって否定的な判断が得られたことを条件として、データ送信装置自身に設定されている複数のIPアドレスを利用して外部装置に対して複数の通信セッションを確立してもよい。この構成によると、1つのIPアドレスを利用して複数の通信セッションを確立することが優先される。この結果、少ない数のIPアドレスを利用して複数の通信セッションを確立することができる。
通信セッション確立手段は、データ送信装置自身に設定されている1つのIPアドレスを利用して外部装置に対して複数の通信セッションを確立することが可能であってもよい。一方において、通信セッション確立手段は、データ送信装置自身に設定されている複数のIPアドレスを利用して外部装置に対して複数の通信セッションを確立することが可能であってもよい。
複数の通信セッションを利用してデータを送信する場合、データ送信装置は多くの処理を行なう必要がある。データ送信装置のアイドル時間が少ない場合に多くの処理が行なわれる状況を作り出すと、データ送信タスクが遅くなってしまう。この場合、複数の通信セッションを利用してデータを送信しているにもかかわらず、1つの通信セッションのみを利用してデータを送信する場合と比べて、データを送信するための時間が長くなる可能性がある。このような事象が生じるのを避けるために、上記のデータ送信装置は、データ送信装置のアイドル時間が所定値より大きいのか否かを判断する第2判断手段をさらに備えていてもよい。この場合、送信手段は、第2判断手段によって肯定的に判断されたことを条件として、複数の通信セッションを利用して上記のデータを外部装置に並行的に送信してもよい。
また、送信手段は、上記のデータを外部装置に送信することによって、上記のデータと同じデータを含むファイルを外部装置の共有フォルダ内に作成してもよい。一方において、本明細書によって開示される技術は、このような形態のデータ送信に限られない。
上記のデータ送信装置は、複数のデータ送信タスクを並行的に実行するために、様々な情報を記憶してもよい。以下では、データ送信装置によって記憶される情報の一例を列挙しておく。
上記のデータ送信装置は、複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによって送信されるべき上記のデータの送信開始位置を記憶する送信開始位置記憶手段をさらに備えていてもよい。この場合、送信手段は、送信開始位置記憶手段に記憶されている各送信開始位置に基づいて、複数のデータ送信タスクを実行してもよい。
上記のデータ送信装置は、複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによって送信されるべき上記のデータの送信予定サイズを記憶する送信予定サイズ記憶手段をさらに備えていてもよい。この場合、送信手段は、送信予定サイズ記憶手段に記憶されている各送信予定サイズに基づいて、複数のデータ送信タスクを実行してもよい。
上記のデータ送信装置は、複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによって送信された上記のデータの送信済データサイズを記憶する送信済データサイズ記憶手段をさらに備えていてもよい。この場合、送信手段は、送信済データサイズ記憶手段に記憶されている各送信済データサイズに基づいて、複数のデータ送信タスクを実行してもよい。
上記のデータ送信装置は、スキャン対象物をスキャンしてスキャンデータを作成するスキャンデータ作成手段をさらに備えていてもよい。この場合、データファイル記憶手段は、スキャンデータ作成手段によって作成されたスキャンデータを含むスキャンデータファイルを記憶することが可能であってもよい。送信手段は、複数の通信セッションを利用して、データファイル記憶手段に記憶されている1つのスキャンデータファイルに含まれるスキャンデータを外部装置に並行的に送信してもよい。この構成によると、スキャンデータファイルを外部装置に高速で送信することができる。
また、本明細書では、新規なコンピュータプログラムを開示する。このコンピュータプログラムは、データ送信装置に搭載されるコンピュータに、以下の各処理を実行させる。
・データファイルを記憶するデータファイル記憶処理。
・1つの外部装置に対して複数の通信セッションを確立する通信セッション確立処理。
・通信セッション確立処理で確立された複数の通信セッションを利用して、データファイル記憶処理で記憶された1つのデータファイルに含まれるデータを外部装置に並行的に送信する送信処理。
このコンピュータプログラムを利用すると、データを高速で外部に送信することができるデータ送信装置を実現することができる。
・データファイルを記憶するデータファイル記憶処理。
・1つの外部装置に対して複数の通信セッションを確立する通信セッション確立処理。
・通信セッション確立処理で確立された複数の通信セッションを利用して、データファイル記憶処理で記憶された1つのデータファイルに含まれるデータを外部装置に並行的に送信する送信処理。
このコンピュータプログラムを利用すると、データを高速で外部に送信することができるデータ送信装置を実現することができる。
ここでは、以下の実施例に記載の技術の特徴の一部をまとめておく。
(形態1)複数のデータ送信タスクのそれぞれでは、所定サイズのデータを読み出して送信する処理を繰り返してもよい。
(形態2)データ送信装置は、複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによってどの位置までデータが送信されたのかを示すデータ送信位置を記憶してもよい。なお、このデータ送信位置は、データ送信タスクによって次に送信されるべきデータ位置を示す情報に等しい情報である。
(形態3)データ送信装置は、第1データ送信タスクによって送信されるべき総データサイズから第1データ送信タスクによって送信された送信済データサイズを減算することによって未送信データサイズを特定し、当該未送信データサイズが所定値より大きいのか否かを判断してもよい。データ送信装置は、肯定的な判断結果が得られたことを条件として、第1データ送信タスクと第2データ送信タスクを並行的に実行してもよい。
(形態4)データ送信装置は、CIFS(Common Internet File System)のプロトコルを利用してデータを送信する。
(形態1)複数のデータ送信タスクのそれぞれでは、所定サイズのデータを読み出して送信する処理を繰り返してもよい。
(形態2)データ送信装置は、複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによってどの位置までデータが送信されたのかを示すデータ送信位置を記憶してもよい。なお、このデータ送信位置は、データ送信タスクによって次に送信されるべきデータ位置を示す情報に等しい情報である。
(形態3)データ送信装置は、第1データ送信タスクによって送信されるべき総データサイズから第1データ送信タスクによって送信された送信済データサイズを減算することによって未送信データサイズを特定し、当該未送信データサイズが所定値より大きいのか否かを判断してもよい。データ送信装置は、肯定的な判断結果が得られたことを条件として、第1データ送信タスクと第2データ送信タスクを並行的に実行してもよい。
(形態4)データ送信装置は、CIFS(Common Internet File System)のプロトコルを利用してデータを送信する。
図面を参照して実施例を説明する。図1は、本実施例のスキャナシステム2を示す。スキャナシステム2は、スキャナ10とPC40等を備える。図1では1つのPC40のみが示されているが、実際は複数のPCが存在している。各デバイス10,40は、LANやインターネット回線等の通信回線36を介して相互に通信可能に接続されている。
(スキャナの構成)
スキャナ10は、操作装置12と表示装置14とスキャン装置16と原稿トレイ18と制御装置20と記憶装置22とネットワークインターフェイス32等を有する。操作装置12は、複数のキーによって構成される。ユーザは、操作装置12を操作することによって、様々な情報や指示をスキャナ10に入力することができる。表示装置14は、様々な情報を表示することができる。スキャン装置16は、原稿トレイ18に載置された原稿をスキャンすることによってスキャンデータを作成する。制御装置20は、記憶装置22に記憶されているプログラム(図示省略)に従って、様々な処理を実行する。制御装置20が実行する処理の内容については、後で詳しく説明する。
スキャナ10は、操作装置12と表示装置14とスキャン装置16と原稿トレイ18と制御装置20と記憶装置22とネットワークインターフェイス32等を有する。操作装置12は、複数のキーによって構成される。ユーザは、操作装置12を操作することによって、様々な情報や指示をスキャナ10に入力することができる。表示装置14は、様々な情報を表示することができる。スキャン装置16は、原稿トレイ18に載置された原稿をスキャンすることによってスキャンデータを作成する。制御装置20は、記憶装置22に記憶されているプログラム(図示省略)に従って、様々な処理を実行する。制御装置20が実行する処理の内容については、後で詳しく説明する。
記憶装置22は、ROM、EEPROM、RAM等によって構成されている。記憶装置22は、送信先デバイスURL記憶領域24とスキャンデータ記憶領域26と送信管理データ記憶領域28とその他の記憶領域30とを有する。各記憶領域24,26,28等に記憶されるべき情報について順に説明する。
送信先デバイスURL記憶領域24は、スキャンデータが送信されるべきデバイスを特定する情報を記憶することができる。図2は、送信先デバイスURL記憶領域24の記憶内容の一例を示す。送信先デバイスURL記憶領域24は、複数の組合せデータ70,72を記憶することができる。各組合せデータ70,72は、名称60と共有フォルダURL62とが対応づけられたデータである。名称60は、デバイスのユーザを特定する名称を示す。共有フォルダURL62は、デバイスに設定されている共有フォルダのURLを示す。なお、上記の「共有フォルダ」は、外部からアクセス可能なフォルダを意味している。即ち、共有フォルダが存在する場合、その共有フォルダに格納されているファイルに外部からアクセスしたり、その共有フォルダに新たなファイルを外部から格納させたりすることができる。共有フォルダのURLは、その共有フォルダを有するデバイスのIPアドレスを含んでいる。例えば、組合せデータ70の共有フォルダURL62である「192.168.0.2/common」は、「192.168.0.2」というIPアドレスを含んでいる。なお、ここでは、URLに含まれるべきスキーム文字列(例えばfile://)を図示省略している。以下でも、スキーム文字列を省略してURLを記載することがある。
ユーザは、送信先デバイスURL記憶領域24に各組合せデータ70,72を記憶させることができる。例えば、ユーザは、操作装置12を操作することによって、各組合せデータ70,72を送信先デバイスURL記憶領域24に記憶させることができる。また、例えば、ユーザは、外部装置(スキャナ10以外のデバイス)に各組合せデータ70,72を入力し、その外部装置からスキャナ10に向けて各組合せデータ70,72を送信させることができる。この場合、スキャナ10は、上記の外部装置から送信された各組合せデータ70,72を送信先デバイスURL記憶領域24に記憶することができる。
スキャンデータ記憶領域26は、スキャン装置16によって作成されたスキャンデータを記憶することができる。図3は、スキャンデータ記憶領域26の記憶内容の一例を示す。なお、図3に示される符号26aは、スキャナ10のホスト名を示す。スキャンデータ記憶領域26は、複数のスキャンデータファイルを記憶することができる。図3の例では、スキャンデータ記憶領域26は、2つのスキャンデータファイル80,90を記憶している。スキャンデータファイル80は、ファイル名82とスキャンデータ84とが対応づけられたものである。ファイル名82は、スキャンデータファイル80が作成された日時を示す文字列「20080101−010100」を含んでいる。この文字列の場合、2008年1月1日1時1分00秒にスキャンデータファイル80が作成されたことを意味している。また、ファイル名82は、拡張子を示す文字列「.pdf」を含んでいる。この文字列の場合、PDF形式のスキャンデータであることを意味している。スキャンデータファイル80と同様に、スキャンデータファイル90は、ファイル名92とスキャンデータ94とが対応づけられたものである。
図4は、送信管理データ記憶領域28の記憶内容の一例を示す。送信管理データ記憶領域28は、複数の送信管理データ100を記憶することができる(ただし図4の例では1つの送信管理データ100のみが示されている)。送信管理データ100は、IPアドレス102と接続ID104とデータ送信開始位置106と全バイト数108と送信済バイト数110とを含んでいる。各項目102〜110がどのように設定されるのかについては、後で詳しく説明する。
記憶領域30は、上記の各記憶領域24,26,28に記憶されるべき情報以外の情報を記憶することができる。記憶領域30に記憶される情報の内容については、必要に応じて後で説明する。
ネットワークインターフェイス32は、通信回線36に接続されている。スキャナ10は、ネットワークインターフェイス32及び通信回線36を介して、PC40と通信可能である。
(PCの構成)
PC40は、操作装置42と表示装置44と制御装置46と記憶装置48とネットワークインターフェイス54等を有する。操作装置42は、キーボードやマウスによって構成される。ユーザは、操作装置42を操作することによって、様々な情報や指示をPC40に入力することができる。表示装置44は、様々な情報を表示することができる。制御装置46は、記憶装置48に記憶されているプログラム(図示省略)に従って、様々な処理を実行する。
PC40は、操作装置42と表示装置44と制御装置46と記憶装置48とネットワークインターフェイス54等を有する。操作装置42は、キーボードやマウスによって構成される。ユーザは、操作装置42を操作することによって、様々な情報や指示をPC40に入力することができる。表示装置44は、様々な情報を表示することができる。制御装置46は、記憶装置48に記憶されているプログラム(図示省略)に従って、様々な処理を実行する。
記憶装置48は、ROM、EEPROM、RAM、ハードディスク装置等によって構成されている。記憶装置48は、共有フォルダ50とその他の記憶領域52とを有する。ユーザは、操作装置42を操作することによって、PC40内に共有フォルダ50を作成することができる。共有フォルダ50は、他のデバイスからアクセス可能なフォルダである。逆に言うと、共有フォルダとして設定されていないフォルダは、他のデバイスからアクセス不能である。本実施例では、上記の図2の組合せデータ70に含まれる共有フォルダURL62(192.168.0.2/common)は、PC40の共有フォルダ50に対応する。記憶領域52は、様々な情報を記憶することができる。
ネットワークインターフェイス54は、通信回線36に接続されている。PC40は、ネットワークインターフェイス54及び通信回線36を介して、スキャナ10と通信可能である。
(スキャナが実行する処理)
続いて、スキャナ10が実行する処理の内容について説明する。以下の各処理は、スキャナ10の制御装置20によって実行される。図5〜図7は、スキャナ10のSCAN TO処理のフローチャートを示す。ユーザは、スキャナ10の操作装置12を操作することによって、送信先デバイスURL記憶領域24(図2参照)に記憶されている複数の組合せデータ70,72の中から少なくとも1つの組合せデータを指定することができる。これにより、スキャンデータの送信先が指定されることになる。制御装置20は、ユーザによって指定された組合せデータ(即ち送信先に関する情報)を記憶領域30に記憶する。なお、本実施例では、図2の組合せデータ70(192.168.0.2/common)がユーザによって指定されたものとする。即ち、PC40の共有フォルダ50がユーザによって指定されたものとする。ユーザは、スキャンデータの送信先を指定した後に操作装置12を操作することによって、スキャンをスタートすることを指示することができる。これにより、制御装置20は、スキャンデータファイルを作成する処理を実行する(S10)
続いて、スキャナ10が実行する処理の内容について説明する。以下の各処理は、スキャナ10の制御装置20によって実行される。図5〜図7は、スキャナ10のSCAN TO処理のフローチャートを示す。ユーザは、スキャナ10の操作装置12を操作することによって、送信先デバイスURL記憶領域24(図2参照)に記憶されている複数の組合せデータ70,72の中から少なくとも1つの組合せデータを指定することができる。これにより、スキャンデータの送信先が指定されることになる。制御装置20は、ユーザによって指定された組合せデータ(即ち送信先に関する情報)を記憶領域30に記憶する。なお、本実施例では、図2の組合せデータ70(192.168.0.2/common)がユーザによって指定されたものとする。即ち、PC40の共有フォルダ50がユーザによって指定されたものとする。ユーザは、スキャンデータの送信先を指定した後に操作装置12を操作することによって、スキャンをスタートすることを指示することができる。これにより、制御装置20は、スキャンデータファイルを作成する処理を実行する(S10)
S10では、制御装置20は、ファイル名を作成する。このファイル名は、スキャンデータファイルのファイル名として使用される。制御装置20は、現在の日時を示す文字列と拡張子を示す文字列とを含むファイル名(図2のファイル名82,92参照)を作成する。なお、この段階では、スキャンデータはまだ作成されていない。次いで、制御装置20は、スキャン装置16を駆動し、原稿トレイ18に載置されている原稿をスキャンさせる。これにより、スキャンデータが生成される。以上の処理を実行することによって、制御装置20は、ファイル名とスキャンデータとが対応づけられているスキャンデータファイルを作成することができる。制御装置20は、スキャンデータファイルをスキャンデータ記憶領域26に記憶させる。
次いで、制御装置20は、スキャナ10に設定されている1つのIPアドレスとユーザによって指定された送信先(本実施例ではPC40)との間で複数の通信セッションを並行的に確立することができるのか否かをチェックする(S12)。本実施例のスキャナ10は、1つのIPアドレスを利用して複数の通信セッションを並行的に確立することができる。従って、S12では、PC40がそのような機能を有しているのか否かがチェックされる。スキャナ10とPC40との間で通信セッションが確立されるまでの処理を順に説明する。
(1)制御装置20は、SYNパケットをPC40に送信する。
(2)PC40からSYN/ACKパケットが返信される。
(3)制御装置20は、ACKパケットをPC40に送信する。これにより、TCP/IPの接続が確立される。
(4)本実施例の制御装置20は、CIFS(Common Internet File System)を利用することができる。TCP/IPの接続が確立されると、制御装置20は、CIFSを利用して通信セッションを確立する。制御装置20は、CIFSのネゴシエートREQをPC40に送信する。
(5)PC40からネゴシエートRESPが返信される。
(6)制御装置20は、セッションREQをPC40に送信する。
(7)PC40からセッションRESPが返信される。これにより、スキャナ10の1つのIPアドレスとPC40との間で通信セッションが確立される。なお、CIFSは、通信セッションを確立する過程において複数の認証方式をサポートしている。本実施例の通信セッション確立手法はあくまで一例であり、他の手法を利用してもよい。
(1)制御装置20は、SYNパケットをPC40に送信する。
(2)PC40からSYN/ACKパケットが返信される。
(3)制御装置20は、ACKパケットをPC40に送信する。これにより、TCP/IPの接続が確立される。
(4)本実施例の制御装置20は、CIFS(Common Internet File System)を利用することができる。TCP/IPの接続が確立されると、制御装置20は、CIFSを利用して通信セッションを確立する。制御装置20は、CIFSのネゴシエートREQをPC40に送信する。
(5)PC40からネゴシエートRESPが返信される。
(6)制御装置20は、セッションREQをPC40に送信する。
(7)PC40からセッションRESPが返信される。これにより、スキャナ10の1つのIPアドレスとPC40との間で通信セッションが確立される。なお、CIFSは、通信セッションを確立する過程において複数の認証方式をサポートしている。本実施例の通信セッション確立手法はあくまで一例であり、他の手法を利用してもよい。
制御装置20は、上記の(1)〜(7)によって通信セッション(以下では第1通信セッションと呼ぶ)が確立されると、次の処理を実行する。即ち、制御装置20は、第1通信セッションと同じIPアドレス(自身のIPアドレス)を利用して、上記の(1)〜(7)の処理を再び実行する。これにより、別の通信セッション(以下では第2通信セッションと呼ぶ)が確立される。第1通信セッションが確立されている状態で第2通信セッションも確立された場合、制御装置20は、S12のチェック結果として「YES」を記憶領域30に記憶しておく。一方において、第2通信セッションが確立された際に第1通信セッションが切断された場合、制御装置20は、S12のチェック結果として「NO」を記憶領域30に記憶しておく。制御装置20は、S12のチェック結果が得られると、第1通信セッション及び第2通信セッションを切断する。
続いて、制御装置20は、送信管理データ100(図4参照)を作成する(S14)。制御装置20は、送信管理データ記憶領域28に所定サイズの記憶領域を確保し、確保された記憶領域に1つの送信管理データ100を作成する。S14では、送信管理データ100のIPアドレス102として、自身に設定されているいずれかのIPアドレス(データ送信に利用することができるIPアドレス)を書き込む。S14の段階では、送信管理データ100の他の項目104〜110に何も書き込まれない。次いで、制御装置20は、S14で作成された送信管理データ100の項目106〜110を書き込む(S16)。制御装置20は、データ送信開始位置106に「0」を書き込む。制御装置20は、全バイト数108に「S10で作成されたスキャンデータの全バイト数」を書き込む。また、制御装置20は、送信済バイト数110に「0」を書き込む。S16では、接続ID104に何も書き込まれない。
制御装置20は、PC40に対する接続確立処理を実行する(S18)。この接続確立処理では、S14で送信管理データ100のIPアドレス102として書き込まれたIPアドレスが利用される。制御装置20は、上記の(1)〜(7)の処理を実行することによって通信セッションを確立する。上記の(7)のセッションRESPには、接続IDが含まれている。制御装置20は、ここで得られた接続IDを送信管理データ100の接続ID104に書き込む。なお、接続ID104は、データ送信の際に付加されるとともに、データ送信に対するレスポンスにも付加される。この結果、制御装置20は、受信されたレスポンスがいずれのデータ送信に対するレスポンスであるのかを特定することができる。S18を行なうと、送信管理データ100の全ての項目102〜110に情報が書き込まれることになる。なお、S18を終えると、制御装置20は、経過時間測定タイマとアイドル時間測定タイマの両方をスタートする。これらのタイマの数値は、後の処理(図6のS40及びS42)で利用される。
次いで、制御装置20は、データ送信タスクを起動する処理を実行する(S20)。図8は、データ送信タスクのフローチャートを示す。図5のS20でデータ送信タスクが起動されると、図8の処理が実行される。これと同時に、制御装置20は、図5のS22以降の処理も実行する。即ち、制御装置20は、図5〜図7の処理と図8の処理とを並行的に実行することができる。この結果として、複数のデータ送信タスクが並行的に実行されることがある。この場合、複数のデータ送信タスクのそれぞれについて送信管理データ100が作成される。即ち、1つのデータ送信タスクに対して1つの送信管理データ100が作成される。以下では、各データ送信タスクに対応する送信管理データ100のことを「対応する送信管理データ」と呼ぶ。以下では、図8のデータ送信タスクについて詳しく説明する。
制御装置20は、データ送信位置を記憶領域30に記憶する(S90)。このデータ送信位置は、データ送信タスク毎に記憶される。即ち、複数のデータ送信タスクが並行的に実行される場合、それぞれのデータ送信タスクに対応するデータ送信位置が記憶される。なお、本実施例では、データ送信位置が記憶領域30に記憶されるが、送信管理データ100の一つの項目として記憶されてもよい。S90では、対応する送信管理データ100のデータ送信開始位置がデータ送信位置として記憶される。例えば、S14〜S18で作成された送信管理データの場合、S90では、データ送信位置として「0」が記憶される。S90を終えると、S92に進む。
S92では、制御装置20は、ユーザによって指定された送信先の共有フォルダ(本実施例ではPC40の共有フォルダ50)内に、図5のS10で作成されたファイル名と同じファイルが存在するのか否かを判断する。なお、以下では、このファイルのことを「対象ファイル」と呼ぶ。否定的に判断された場合、制御装置20は、対象ファイルを作成することを指示するコマンド(CREATE)をPC40に送信する。この結果、PC40の共有フォルダ50内に対象ファイルが作成される。この時点では、対象ファイルはスキャンデータを含んでいない。一方において、肯定的に判断された場合、制御装置20は、対象ファイルをオープンすることを指示するコマンド(OPEN)をPC40に送信する。なお、この際に、制御装置20は、対象ファイルの共有モードを「書き込み共有可能」に設定しておく。これにより、複数のデータ送信タスクが対象ファイルにスキャンデータを同時に書き込むことが可能になる。
次いで、制御装置20は、図5のS10で作成されたスキャンデータを所定バイト分だけ読み込む処理を実行する(S94)。S94では、制御装置20は、S90で記憶されたデータ送信位置に対応する位置からスキャンデータを読み込む。例えば、S90で記憶されたデータ送信位置が「0」である場合、スキャンデータの先頭から読み込む。また、例えば、S90で記憶されたデータ送信位置が「1000」である場合、スキャンデータの1000バイト目から読み込む。制御装置20は、読み込んだスキャンデータをバッファ(記憶領域30)に格納する。
続いて、制御装置20は、バッファ内のスキャンデータを対象ファイルに書き込む処理を実行する(S96)。具体的に言うと、制御装置20は、バッファ内のスキャンデータを対象ファイルに書き込むことを指示するコマンドをPC40に送信する。これにより、対象ファイルにスキャンデータが書き込まれる。
次いで、制御装置20は、データ送信位置を更新する。即ち、制御装置20は、S96で送信されたスキャンデータ(S94で読み込んだスキャンデータ)のデータサイズ分だけデータ送信位置をインクリメントする。例えば、データ送信位置として「0」が記憶されており、S96で送信されたスキャンデータのデータサイズが「1000」である場合、制御装置20は、データ送信位置を「1000」に更新する。また、制御装置20は、対応する送信管理データ100の送信済バイト数110を更新する。即ち、制御装置20は、S96で送信されたスキャンデータ(S94で読み込んだスキャンデータ)のデータサイズ分だけ送信済バイト数110をインクリメントする。例えば、送信済バイト数110として「1000」が記憶されており、S96で送信されたスキャンデータのデータサイズが「1000」である場合、制御装置20は、送信済バイト数110を「2000」に更新する。
制御装置20は、対応する送信管理データ100の送信済バイト数110が全バイト数108に一致したのか否かを判断する(S100)。ここでNOの場合、制御装置20は、S94に戻ってスキャンデータを読み出す処理を再び実行する。例えば、データ送信位置として「1000」が記憶されている場合、制御装置20は、スキャンデータの1000バイト目から読み出してバッファ(記憶領域30)に格納する。次いで、制御装置20は、バッファ内のスキャンデータを対象ファイルに書き込む処理を実行し(S96)、データ送信位置と送信済バイト数110を更新する処理を実行する(S98)。S100でYESと判断されるまで、S94〜S100の処理が繰り返される。
S100でYESの場合、制御装置20は、対象ファイルをクローズすることを指示するコマンド(CLOSE)をPC40に送信する(S102)。さらに、制御装置20は、図5〜図7のSCAN TO処理(即ち別タスクとして実行されているSCAN TOタスク)に対して送信完了を通知する(S104)。これにより、データ送信タスクが終了する。
続いて、図5のS22以降の処理について説明する。S22では、制御装置20は、S20又は後述する図7のS74で起動された全てのデータ送信タスクから送信完了が通知されたのか否かを判断する。この送信完了通知は、上記の図8のS104において通知される。ここでNOの場合、図6のS40に進む。
S40では、制御装置20は、所定時間が経過したのか否かを判断する。この処理は、図5のS18でスタートされた経過時間測定タイマの数値を参照することによって行なわれる。ここで利用される「所定時間」は、未送信のデータサイズ、及び/又は、インターフェイスの全帯域に基づいて設定(算出)されてもよい。一方において、「所定時間」は固定値であってもよい。ここでYESの場合、S42に進む。
S42では、制御装置20は、CPUのアイドル時間が所定値を超えているのか否かを判断する。この処理は、図5のS18でスタートされたアイドル時間測定タイマの数値を参照することによって行なわれる。ここで利用される「所定値」は、アイドル時間測定タイマの数値に所定の割合(例えば50%)を乗じることによって得られる値を採用する。なお、上記の「アイドル時間」という用語は、CPUが他の処理をどれだけ実行することができるのかを示す数値(即ちCPUの余剰能力を示す数値)と言い換えることもできる。S40又はS42でNOの場合、S22に戻って完了通知を監視する。
S42でYESの場合、制御装置20は、最初に作成された送信管理データ100を選択する(S44)。即ち、制御装置20は、S14〜S18で作成された送信管理データ100を選択する。なお、S44では、制御装置20は、経過時間測定タイマとアイドル時間測定タイマの両方をリスタートする。S44を終えると、S46に進む。
S46では、制御装置20は、S44で選択された送信管理データ100の全バイト数108から送信済バイト数110を減算することによって送信残りバイト数を算出する。制御装置20は、送信残りバイト数が所定値より大きいのか否かを判断する。ここで利用される「所定値」は、固定値であってもよいし、変動値であってもよい。後者の場合、例えば、スキャンデータの全バイト数に基づいて「所定値」が決定されてもよい(例えば全バイト数の10%等)。S46でNOの場合、図7のS76に進む。
一方において、S46でYESの場合、制御装置20は、スキャナ10に設定されている1つのIPアドレスとPC40との間で複数の通信セッションを並行的に確立することが可能であるのか否かを判断する(S48)。この処理は、図5のS12のチェック結果(記憶領域30に記憶されている)が「YES」であるのか否かを判断することによって行なわれる。S48でNOの場合、S50に進む。一方において、S48でYESの場合、S54に進む。
S50では、制御装置20は、自身に設定されている他のIPアドレスを使用することができるのか否かを判断する。ここでNOの場合、図7のS76に進む。一方において、S50でYESの場合、制御装置20は、新しい送信管理データを作成する(S52)。制御装置20は、送信管理データ記憶領域28に所定サイズの記憶領域を確保し、確保された記憶領域に新しい送信管理データ100を作成する。S52では、送信管理データ100のIPアドレス102として、S50でYESと判断されたIPアドレスを書き込む。S52では、送信管理データ100の他の項目104〜110に何も書き込まれない。S52を終えると、図7のS70に進む。
S54では、制御装置20は、新しい送信管理データを作成する。制御装置20は、送信管理データ記憶領域28に所定サイズの記憶領域を確保し、確保された記憶領域に新しい送信管理データ100を作成する。S54では、送信管理データ100のIPアドレス102として、S44又は後述する図7のS78で選択された送信管理データ100のIPアドレスを書き込む。S54では、送信管理データ100の他の項目104〜110に何も書き込まれない。S54を終えると、図7のS70に進む。
図7のS70では、制御装置20は、S44又は後述するS78で選択された送信管理データ100の全バイト数108を更新する。また、制御装置20は、S52又はS54で新たに作成された送信管理データ100のデータ送信開始位置106と全バイト数108と送信済バイト数110とを書き込む。まず、S70の処理の方法論を一般的な記述を利用して説明する。次いで、具体的な例を挙げてS70の処理を説明する。
制御装置20は、S44又はS78で選択された送信管理データ100の全バイト数108から送信済バイト数110を減算することによって送信残りバイト数を算出する。次いで、制御装置20は、送信残りバイト数を二等分する。制御装置20は、S44又はS78で選択された送信管理データ100の全バイト数108から送信残りバイト数の二等分を減算する。これにより、S44又はS78で選択された送信管理データ100の全バイト数108が更新される。また、制御装置20は、S52又はS54で新たに作成された送信管理データ100のデータ送信開始位置106として、S44又はS78で選択された送信管理データ100に対応するデータ送信位置に送信残りバイト数の二等分を加算した値を書き込む。制御装置20は、S52又はS54で新たに作成された送信管理データ100の全バイト数108として、送信残りバイト数の二等分の値を書き込む。さらに、制御装置20は、S52又はS54で新たに作成された送信管理データ100の送信済バイト数110として「0」を書き込む。
図9は、上記のS70の方法論を説明するための具体例を示す。図9の符号200aは、S44で選択された送信管理データを示す。送信管理データ200aは、全バイト数が「15000」であり、送信済バイト数が「3000」である。制御装置20は、「15000」から「3000」を減算することによって「12000」を算出する(送信残りバイト数を算出する)。次いで、制御装置20は、「12000」を二等分することによって「6000」を算出する。制御装置20は、送信管理データ200aの全バイト数である「15000」から「6000」を減算することによって「9000」を算出する。制御装置20は、送信管理データ200aの全バイト数として「9000」を書き込む。これにより、送信管理データ200aから更新された送信管理データ200bが生成される。
図9の符号210aは、S52又はS54で新たに作成された送信管理データを示す。制御装置20は、送信管理データ200aに対応するデータ送信位置である「3000」に送信残りバイト数の二等分である「6000」を加算することによって「9000」を算出する。制御装置20は、送信管理データ210aのデータ送信開始位置として「9000」を書き込む。制御装置20は、送信管理データ210aの全バイト数として送信残りバイト数の二等分である「6000」を書き込む。また、制御装置20は、送信管理データ210aの送信済バイト数として「0」を書き込む。
例えば、S78で選択された送信管理データが図9の符号210bで示される送信管理データである場合、制御装置20は、以下のように処理を実行する。送信管理データ210bは、全バイト数が「6000」であり、送信済バイト数が「1000」である。制御装置20は、「6000」から「1000」を減算することによって「5000」を算出する(送信残りバイト数を算出する)。次いで、制御装置20は、「5000」を二等分することによって「2500」を算出する。制御装置20は、送信管理データ210bの全バイト数である「6000」から「2500」を減算することによって「3500」を算出する。制御装置20は、送信管理データ210bの全バイト数として「3500」を書き込む。これにより、送信管理データ210bから更新された送信管理データ210cが生成される。
図9の符号220は、送信管理データ210bがS78で選択された場合に、S52又はS54で新たに作成された送信管理データを示す。制御装置20は、送信管理データ210bに対応するデータ送信位置である「10000」に送信残りバイト数の二等分である「2500」を加算することによって「12500」を算出する。制御装置20は、送信管理データ220のデータ送信開始位置として「12500」を書き込む。制御装置20は、送信管理データ220の全バイト数として送信残りバイト数の二等分である「2500」を書き込む。また、制御装置20は、送信管理データ220の送信済バイト数として「0」を書き込む。
S70を終えると、制御装置20は、PC40に対する接続確立処理を実行する(S72)。この接続確立処理では、S52又はS54において送信管理データ100のIPアドレス102として書き込まれたIPアドレスが利用される。制御装置20は、図5のS18と同様の処理を実行することによって通信セッションを確立する。また、図5のS18の場合と同様に、制御装置20は、通信セッションを確立する際に得られた接続IDを、S52又はS54で新たに作成された送信管理データ100の接続ID104に書き込む。これにより、S52又はS54で新たに作成された送信管理データ100の全ての項目102〜110に情報が書き込まれることになる。
次いで、制御装置20は、データ送信タスクを起動する処理を実行する(S74)。これにより、S52又はS54で新たに作成された送信管理データ100に基づいて新たにデータ送信タスク(図8参照)が実行されることになる。即ち、制御装置20は、図5のS20で起動されたデータ送信タスク(及び/又は過去のS74で起動されたデータ送信タスク)と、S74で起動されたデータ送信タスクとを並行的に実行することになる。これにより、図5のS10で作成された1つのスキャンデータファイルに含まれるスキャンデータが複数のデータ送信タスク(複数の通信セッション)によって並行的にPC40に送信されることになる。S74を終えると、S76に進む。
図6のS44を実行する時点で複数の送信管理データ100が存在することがある。この場合、それらの各送信管理データ100について図6のS46以降の処理が実行される。これを実現するために、S76の処理が存在する。即ち、S76では、制御装置20は、S44を実行する時点で存在する全ての送信管理データ100について図6のS46以降の処理が実行されたのか否かを判断する。ここでNOの場合、制御装置20は、次の送信管理データ100を選択する(S78)。これにより、次の送信管理データ100について、S46以降の処理が実行されることになる。一方において、S76でYESの場合、図5のS22に戻る。
全てのデータ送信タスクから送信完了が通知された場合、制御装置20は、S22でYESと判断する。この場合、制御装置20は、PC40に対する接続切断処理を実行する(S24)。これにより、スキャナ10とPC40との間の全ての接続(通信セッション)が切断される。また、制御装置20は、全ての送信管理データ100を削除する処理を実行する。これにより、SCAN TO処理が終了する。
本実施例のスキャナ10によると、複数の通信セッションを利用して1つのスキャンデータファイルを並行的に送信することができる。仮に、1つの通信セッションのみを利用して1つのスキャンデータファイルを送信する場合、所定サイズのデータを送信すること、レスポンスを受信すること、及び、次の所定サイズのデータを送信することが繰り返される。即ち、データ送信に対するレスポンスを待たなければ次のデータ送信を行なうことができない。これに対し、本実施例では、複数のデータ送信タスクのそれぞれが並列的に起動されている状態において、各データ送信タスクがスキャンデータファイルを送信する。この結果、一方のデータ送信タスクがデータを送信し、そのデータ送信に対するレスポンスを待たなくても、他方のデータ送信タスクが別のデータを送信することができる。このために、1つの通信セッションのみを利用して1つのスキャンデータファイルを送信する場合と比べて、スキャンデータファイルを高速で送信することができる。
また、本実施例のスキャナ10によると、複数のデータ送信タスクを並行的に実行する間に複数のデータ送信タスクのそれぞれによって送信されるべきデータサイズを均等化することができる(上記の図7のS70参照)。スキャンデータファイルを高速で送信することができる。
本実施例のスキャナ10は、自身に設定されている1つのIPアドレスを利用してPC40が複数の通信セッションを確立することが可能であるのか否かをチェックしておく(図5のS12参照)。スキャナ10は、肯定的なチェック結果が得られた場合には1つのIPアドレスを利用して複数の通信セッションを確立し、否定的なチェック結果が得られた場合には複数のIPアドレスを利用して複数の通信セッションを確立する。この構成によると、1つのIPアドレスを利用して複数の通信セッションを確立することが優先される。この結果、少ない数のIPアドレスを利用して複数の通信セッションを確立することができる。
また、スキャナ10は、アイドル時間が大きい場合に限って(図6のS42参照)、複数のデータ送信タスクを並行的に実行する。アイドル時間が少ないにもかかわらず複数のデータ送信タスクを並行的に実行し、その結果としてデータ送信時間が長くなってしまうという事象が発生することを抑制することができる。
スキャナ10は、データ送信タスクの送信残りバイト数が所定値より大きい場合に限って(図6のS46参照)、新たなデータ送信タスクを起動する。送信残りバイト数が少ない場合には、新たなデータ送信タスクを起動しない方がデータを高速で送信することができる場合がある。新たなデータ送信タスクを起動するための処理(S52又はS54、S70、S72等)を実行する必要があるからである。本実施例のスキャナ10は、スキャンデータを高速で送信するための様々な技術を採用している。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(1)上記の実施例では詳しく説明していないが、スキャナ10は、物理的に異なる複数のインターフェイスを有していてもよい。また、スキャナ10は、1つのインターフェイスのみを有していてもよい。いずれの形態でも、上記の実施例を実現することができる。
(2)スキャナ10は、SCAN TO処理が終了した後も、図5のS12のチェック結果を記憶しておいてもよい。この場合、その後に実行されるSCAN TO処理において、同じPC(例えばPC40)に対するチェックを行なわなくてもよい。前のチェック結果をそのまま利用できるからである。
(3)上記の実施例では、CIFSプロトコルを利用する。しかしながら、他のプロトコルが利用されてもよい。例えば、FTP(File Transfer Protocol)、WebDAV(Distributed Authoring and Versioning Protocol for the World Wide Web)等を利用してもよい。
(4)なお、図7のS70では、未送信データサイズを二等分することによってデータ送信開始位置が決定される。しかしながら、未送信データサイズは、必ずしも二等分されなくてもよい。他の比率を利用して未送信データサイズを分割することによってデータ送信開始位置が決定されてもよい。
(2)スキャナ10は、SCAN TO処理が終了した後も、図5のS12のチェック結果を記憶しておいてもよい。この場合、その後に実行されるSCAN TO処理において、同じPC(例えばPC40)に対するチェックを行なわなくてもよい。前のチェック結果をそのまま利用できるからである。
(3)上記の実施例では、CIFSプロトコルを利用する。しかしながら、他のプロトコルが利用されてもよい。例えば、FTP(File Transfer Protocol)、WebDAV(Distributed Authoring and Versioning Protocol for the World Wide Web)等を利用してもよい。
(4)なお、図7のS70では、未送信データサイズを二等分することによってデータ送信開始位置が決定される。しかしながら、未送信データサイズは、必ずしも二等分されなくてもよい。他の比率を利用して未送信データサイズを分割することによってデータ送信開始位置が決定されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:スキャナシステム
10:スキャナ
12:操作装置
14:表示装置
16:スキャン装置
18:原稿トレイ
20:制御装置
22:記憶装置
24:送信先デバイスURL記憶領域
26:スキャンデータ記憶領域
28:送信管理データ記憶領域
32:ネットワークインターフェイス
40:PC
42:操作装置
44:表示装置
46:制御装置
48:記憶装置
50:共有フォルダ
54:ネットワークインターフェイス
10:スキャナ
12:操作装置
14:表示装置
16:スキャン装置
18:原稿トレイ
20:制御装置
22:記憶装置
24:送信先デバイスURL記憶領域
26:スキャンデータ記憶領域
28:送信管理データ記憶領域
32:ネットワークインターフェイス
40:PC
42:操作装置
44:表示装置
46:制御装置
48:記憶装置
50:共有フォルダ
54:ネットワークインターフェイス
Claims (14)
- データファイルを記憶することが可能であるデータファイル記憶手段と、
1つの外部装置に対して複数の通信セッションを確立する通信セッション確立手段と、
通信セッション確立手段によって確立された前記複数の通信セッションを利用して、データファイル記憶手段に記憶されている1つのデータファイルに含まれるデータを前記外部装置に並行的に送信する送信手段と
を備えるデータ送信装置。 - 前記送信手段は、複数のデータ送信タスクを並行的に実行し、
前記複数のデータ送信タスクのそれぞれは、前記通信セッション確立手段によって確立された異なる1つの通信セッションを利用して前記データを前記外部装置に送信するタスクである
ことを特徴とする請求項1に記載のデータ送信装置。 - 前記送信手段は、前記複数のデータ送信タスクを並行的に実行する間に前記複数のデータ送信タスクのそれぞれによって送信されるべきデータサイズを均等化する
ことを特徴する請求項2に記載のデータ送信装置。 - 前記送信手段は、第1データ送信タスクを開始した後に前記第1データ送信タスクと第2データ送信タスクを並行的に実行することが可能であり、
前記送信手段は、前記第1データ送信タスクによって送信された前記データの送信済データサイズを特定し、前記データの総データサイズ及び当該送信済データサイズに基づいて前記データの未送信データサイズを特定し、当該未送信データサイズを分割することによって個別未送信データサイズを特定し、当該送信済データサイズに当該個別未送信データサイズを加算することによって前記第2データ送信タスクによって送信されるべき前記データの送信開始位置を決定する
ことを特徴とする請求項2又は3に記載のデータ送信装置。 - データ送信装置自身に設定されている1つのIPアドレスを利用して前記外部装置が複数の通信セッションを確立することが可能であるのか否かを判断する第1判断手段をさらに備え、
前記通信セッション確立手段は、
第1判断手段によって肯定的な判断が得られたことを条件として、データ送信装置自身に設定されている1つのIPアドレスを利用して前記外部装置に対して前記複数の通信セッションを確立し、
第1判断手段によって否定的な判断が得られたことを条件として、データ送信装置自身に設定されている複数のIPアドレスを利用して前記外部装置に対して前記複数の通信セッションを確立する
ことを特徴とする請求項1から4のいずれか一項に記載のデータ送信装置。 - 前記通信セッション確立手段は、データ送信装置自身に設定されている1つのIPアドレスを利用して前記外部装置に対して前記複数の通信セッションを確立することが可能である
ことを特徴とする請求項1から5のいずれか一項に記載のデータ送信装置。 - 前記通信セッション確立手段は、データ送信装置自身に設定されている複数のIPアドレスを利用して前記外部装置に対して前記複数の通信セッションを確立することが可能である
ことを特徴とする請求項1から6のいずれか一項に記載のデータ送信装置。 - データ送信装置のアイドル時間が所定値より大きいのか否かを判断する第2判断手段をさらに備え、
前記送信手段は、第2判断手段によって肯定的に判断されたことを条件として、前記複数の通信セッションを利用して前記データを前記外部装置に並行的に送信する
ことを特徴とする請求項1から7のいずれか一項に記載のデータ送信装置。 - 前記送信手段は、前記データを前記外部装置に送信することによって、前記データと同じデータを含むファイルを前記外部装置の共有フォルダ内に作成する
ことを特徴とする請求項1から8のいずれか一項に記載のデータ送信装置。 - 前記送信手段は、複数のデータ送信タスクを並行的に実行し、
前記複数のデータ送信タスクのそれぞれは、前記通信セッション確立手段によって確立された異なる1つの通信セッションを利用して前記データを前記外部装置に送信するタスクであり、
前記複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによって送信されるべき前記データの送信開始位置を記憶する送信開始位置記憶手段をさらに備え、
前記送信手段は、送信開始位置記憶手段に記憶されている各送信開始位置に基づいて、前記複数のデータ送信タスクを実行する
ことを特徴とする請求項1から9のいずれか一項に記載のデータ送信装置。 - 前記送信手段は、複数のデータ送信タスクを並行的に実行し、
前記複数のデータ送信タスクのそれぞれは、前記通信セッション確立手段によって確立された異なる1つの通信セッションを利用して前記データを前記外部装置に送信するタスクであり、
前記複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによって送信されるべき前記データの送信予定サイズを記憶する送信予定サイズ記憶手段をさらに備え、
前記送信手段は、送信予定サイズ記憶手段に記憶されている各送信予定サイズに基づいて、前記複数のデータ送信タスクを実行する
ことを特徴とする請求項1から10のいずれか一項に記載のデータ送信装置。 - 前記送信手段は、複数のデータ送信タスクを並行的に実行し、
前記複数のデータ送信タスクのそれぞれは、前記通信セッション確立手段によって確立された異なる1つの通信セッションを利用して前記データを前記外部装置に送信するタスクであり、
前記複数のデータ送信タスクのそれぞれについて、当該データ送信タスクによって送信された前記データの送信済データサイズを記憶する送信済データサイズ記憶手段をさらに備え、
前記送信手段は、送信済データサイズ記憶手段に記憶されている各送信済データサイズに基づいて、前記複数のデータ送信タスクを実行する
ことを特徴とする請求項1から11のいずれか一項に記載のデータ送信装置。 - スキャン対象物をスキャンしてスキャンデータを作成するスキャンデータ作成手段をさらに備え、
前記データファイル記憶手段は、スキャンデータ作成手段によって作成されたスキャンデータを含むスキャンデータファイルを記憶することが可能であり、
前記送信手段は、前記複数の通信セッションを利用して、前記データファイル記憶手段に記憶されている1つのスキャンデータファイルに含まれるスキャンデータを前記外部装置に並行的に送信する
ことを特徴とする請求項1から12のいずれか一項に記載のデータ送信装置。 - データ送信装置に搭載されるコンピュータに、以下の各処理、即ち、
データファイルを記憶するデータファイル記憶処理と、
1つの外部装置に対して複数の通信セッションを確立する通信セッション確立処理と、
通信セッション確立処理で確立された前記複数の通信セッションを利用して、データファイル記憶処理で記憶された1つのデータファイルに含まれるデータを前記外部装置に並行的に送信する送信処理と
を実行させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039506A JP2009199281A (ja) | 2008-02-21 | 2008-02-21 | データ送信装置 |
US12/389,797 US8112533B2 (en) | 2008-02-21 | 2009-02-20 | Data transmission device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039506A JP2009199281A (ja) | 2008-02-21 | 2008-02-21 | データ送信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009199281A true JP2009199281A (ja) | 2009-09-03 |
Family
ID=40999404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008039506A Pending JP2009199281A (ja) | 2008-02-21 | 2008-02-21 | データ送信装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8112533B2 (ja) |
JP (1) | JP2009199281A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014116801A (ja) * | 2012-12-10 | 2014-06-26 | Canon Inc | 画像形成装置及びその制御方法とプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6444125B2 (ja) * | 2014-10-07 | 2018-12-26 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP7067026B2 (ja) * | 2017-11-17 | 2022-05-16 | 富士フイルムビジネスイノベーション株式会社 | 画像処理装置、画像処理システム及びプログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3332443B2 (ja) * | 1993-01-18 | 2002-10-07 | キヤノン株式会社 | 情報処理装置および情報処理方法 |
JP3711156B2 (ja) | 1995-05-11 | 2005-10-26 | Kddi株式会社 | ファイル転送方法 |
JP3890173B2 (ja) * | 1998-12-24 | 2007-03-07 | キヤノン株式会社 | 画像処理装置および画像処理方法、並びに画像処理プログラムを記憶した記憶媒体 |
US7103357B2 (en) * | 1999-11-05 | 2006-09-05 | Lightsurf Technologies, Inc. | Media spooler system and methodology providing efficient transmission of media content from wireless devices |
US6922725B2 (en) * | 2001-09-07 | 2005-07-26 | Xerox Corporation | Method and apparatus for processing document service requests originating from a mobile computing device |
JP2004246876A (ja) * | 2003-01-24 | 2004-09-02 | Fuji Photo Film Co Ltd | ブラウジングシステム |
US7231404B2 (en) * | 2003-01-31 | 2007-06-12 | Nokia Corporation | Datacast file transmission with meta-data retention |
JP2005057600A (ja) * | 2003-08-06 | 2005-03-03 | Minolta Co Ltd | 画像送信装置およびその制御方法ならびにコンピュータプログラム |
JP2006060499A (ja) | 2004-08-19 | 2006-03-02 | Konica Minolta Business Technologies Inc | 画像配信装置 |
KR100666694B1 (ko) * | 2005-01-17 | 2007-01-11 | 삼성전자주식회사 | OSGi 기반의 홈 게이트웨이 장치 및 그의 기기등록방법 |
WO2006078953A2 (en) * | 2005-01-21 | 2006-07-27 | Internap Network Services Corporation | System and method for application acceleration on a distributed computer network |
US7486673B2 (en) * | 2005-08-29 | 2009-02-03 | Connect Technologies Corporation | Method and system for reassembling packets prior to searching |
JP4781125B2 (ja) * | 2006-02-17 | 2011-09-28 | キヤノン株式会社 | 情報処理システム、情報処理装置、及び周辺装置 |
CN101438256B (zh) * | 2006-03-07 | 2011-12-21 | 索尼株式会社 | 信息处理设备、信息通信系统、信息处理方法 |
KR100827156B1 (ko) * | 2006-12-26 | 2008-05-02 | 삼성전자주식회사 | 방송 화면 구성 정보를 제공하는 방법 및 이를 위한dvb―h 시스템 |
US8788529B2 (en) * | 2007-02-26 | 2014-07-22 | Microsoft Corp. | Information sharing between images |
US20080281697A1 (en) * | 2007-05-11 | 2008-11-13 | Verizon Services Organization Inc. | Systems and methods for using video services records to provide targeted marketing services |
-
2008
- 2008-02-21 JP JP2008039506A patent/JP2009199281A/ja active Pending
-
2009
- 2009-02-20 US US12/389,797 patent/US8112533B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014116801A (ja) * | 2012-12-10 | 2014-06-26 | Canon Inc | 画像形成装置及びその制御方法とプログラム |
Also Published As
Publication number | Publication date |
---|---|
US8112533B2 (en) | 2012-02-07 |
US20090216888A1 (en) | 2009-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5049834B2 (ja) | データ受信装置、データ受信方法およびデータ処理プログラム | |
JP4758362B2 (ja) | 中継装置、プログラム及び中継方法 | |
KR20150013860A (ko) | 클라이언트 없는 클라우드 컴퓨팅 | |
JP2008005315A (ja) | データ通信プログラム | |
KR20110036404A (ko) | 유선 및 무선의 네트워크 인터페이스 각각을 지원하는 화상 형성 장치 및 그 장치의 네트워크 연결 방법 | |
JP2005174048A (ja) | データセット更新装置、端末装置、データセット更新方法、およびプログラム | |
US10154079B2 (en) | Pre-boot file transfer system | |
JP2007108953A (ja) | チャットプログラム | |
JP2009199281A (ja) | データ送信装置 | |
JP4850394B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP6287335B2 (ja) | 端末装置、情報処理システム、情報送信方法及びプログラム | |
JP2007108952A (ja) | コンテンツ移動システム及びコンテンツ移動プログラム | |
US8532136B1 (en) | Communication with a handset via a private network | |
JP2012060571A (ja) | 画像処理装置、ジョブ処理方法及びプログラム | |
JP2003157190A (ja) | 同期メッセージ処理方法 | |
JP2014143647A (ja) | 情報処理プログラムおよび画像形成装置 | |
JP5853791B2 (ja) | データ同期方法及びサーバ装置 | |
JP4461677B2 (ja) | 通信端末及び通信プログラム | |
US8547985B2 (en) | Network interface controller capable of sharing buffers and buffer sharing method | |
JP2008282428A (ja) | コンテンツデータ提供装置およびネットワークシステム | |
JP2002149465A (ja) | 情報共有システム | |
JP2020025230A (ja) | 通知装置および通知方法 | |
JP2010009147A (ja) | 情報処理装置および情報処理方法、プログラム | |
JP2006005719A (ja) | アドレス変換プログラム、プログラム利用方法、情報処理装置及びコンピュータ可読媒体 | |
JP2023184312A (ja) | 情報処理装置、情報処理システム、及び情報処理プログラム |