説明

データ通信システム

【課題】WINSサーバを使用せずに、データの宛先となる情報処理装置がデータの送信元である周辺装置と同一セグメント状態にない場合であっても当該情報処理装置へデータを送信できるようにする。
【解決手段】周辺装置は、ファイルの送信先となる情報処理装置のネットワークセグメントが、周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定する。同一のネットワークセグメントであれば、周辺装置で稼働しているファイル共有サービスがファイルを情報処理装置に直接的に送信する。一方、異なるネットワークセグメントであれば、周辺装置は、ファイルを転送装置のファイル転送アプリケーションに送信することで情報処理装置に間接的に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークスキャナなどからのデータを転送するデータ通信システムに関する。
【背景技術】
【0002】
近年、ネットワークの普及に伴い、複数のパーソナルコンピュータ(以下、PC)と、1つのファイルサーバ、プリンタ、スキャナ等を社内LANで接続して、これらのリソースを共有して使用するデータ通信システムが構築されている。特にスキャナに関してはその用途も拡大して、スキャンした画像データをファイルに保存して、ネットワーク上のPCの共有フォルダに、そのファイルを直接送信することのできるネットワークスキャナについて市場でのニーズがある。一方で、特許文献1によれば、LANに接続されたスキャナ装置から当該LANに接続されたパーソナルコンピュータ(PC)のフォルダのうちネットワークワーックにより共有化されていないフォルダに画像ファイルを格納する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−077177号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ネットワークスキャナには、高性能CPUやハードディスクドライブ(HDD)を装備した高価で大型なものから、低性能CPUながらHDDを必要としない安価で小型なものまである。高価で大型なネットワークスキャナに組み込まれているオペレーティングシステム(以下、OS)は、たとえば、Windows XP(登録商標)など、高機能なOSを使用することが多い。一方、安価で小型なネットワークスキャナに組み込まれているOSは、たとえば、Windows CE(登録商標)など、それ自体のプログラムサイズが小さなOSを使用することが多い。いずれにせよ、OSにWindows(登録商標)を用いたネットワークスキャナは、Windows(登録商標)ファイル共有サービスを利用して、ネットワーク上のPCの共有フォルダにアクセスしている。ファイル共有サービスは、「SMB(Server Message Block)」や、「CIFS(Common Internet File System)」といったプロトコルで実現されている。SMBプロトコルは、NBT(NetBIOS over TCP/IP)プロトコルを使用している。CIFSプロトコルは、TCP/IPプロトコルをそれぞれ使用している。SMB、CIFSのどちらのプロトコルでも、最終的にはアクセス先PCのIPアドレスを必要とする。
【0005】
PCには、他のPCと重複しないように「NetBIOS名」と「フルコンピュータ名」の2つの名前が付けられている。「フルコンピュータ名」は「NetBIOS名」も含んだ名前になるのが一般的である。たとえば、Windows(登録商標)は、これら2つの名前からIPアドレスを導き出して名前解決を行っている。名前解決は、WINS(Windows(登録商標) Internet Name Service)サーバに問い合わせたり、DNS(Domain Name System)サーバに問い合わせたり、LMHOST/HOSTファイルを使用したり、「NetBIOS名」でブロードキャストしたりして行われる。通常、Windows(登録商標)のファイル共有サービスのうち、SMBプロトコルではWINSサーバに対してアクセス先PCの「NetBIOS名」を送ることで名前解決を行っている。CIFSプロトコルではDNSサーバに対してアクセス先PCの「フルコンピュータ名」を送り名前解決を行っている。ただし、Windows CE(登録商標)のファイル共有サービスは、SMBプロトコルだけしかサポートしていない。つまり、Windows CE(登録商標)を使用したネットワークスキャナは、ネットワーク上のPCの共有フォルダにアクセスするのに、「NetBIOS名」で名前解決しなければならない。
【0006】
「NetBIOS名」で名前解決するには、先述したようにWINSサーバに問い合わせるか、LMHOSTファイルを参照するか、あるいは「NetBIOS名」でブロードキャストする必要がある。特にルータ等を超えて自身と異なるネットワークセグメント上のPCに対する名前解決は、WINSサーバに問い合わせるか、あるいはLMHOSTファイルを参照することになる。
【0007】
ところが、WINSサーバは、同一ネットワークセグメント上のPCから定期的に「NetBIOS名」を受信するという仕様であるため、ネットワークトラフィックの原因になりやすい。このため最近では、WINSサーバを使用しないネットワーク環境が増えてきている。さらに、Windows CE(登録商標)は、LMHOSTファイルをサポートしていない。
【0008】
このようにOSにWindows CE(登録商標)を使用したネットワークスキャナは、WINSサーバのないネットワーク環境において、自身と異なるネットワークセグメント上のPCの共有フォルダにアクセスすることができず、ファイル送信等ができないといった問題を抱えている。「NetBIOS名」でブロードキャストする方法は、同一セグメントにおいてしか機能しない。ネットワークのセグメントが異なれば、ブロードキャストが到達しないからである。
【0009】
そこで、本発明は、このような課題および他の課題のうち、少なくとも1つを解決することを目的とする。たとえば、本発明は、データの宛先となる情報処理装置がデータの送信元である周辺装置と同一セグメント状態にない場合であっても当該情報処理装置へデータを送信できるようにすることを目的とする。より具体的には、本発明は、WINSサーバを使用せずに、周辺装置と異なるネットワークセグメント上のPCの共有フォルダに対してファイルの送信を可能とすることを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0010】
本発明のデータ通信システムは、TCP/IPプロトコルによる通信ネットワークに接続される第1の情報処理装置に対してデータ通信を行う周辺装置と、周辺装置から第1の情報処理装置へのデータ通信を中継する第2の情報処理装置とを備える。周辺装置は、第1の情報処理装置との間でデータ通信を行うデータ通信部と、第1の情報処理装置が通信ネットワークにおいて同一セグメント接続状態にあるか別セグメント接続状態にあるかを判断するセグメント判断部と、セグメント判断部での判断結果が同一セグメント接続状態であるときにデータ通信部から第1の情報処理装置にデータ通信を行うよう制御するとともに、別セグメント接続状態であるときにデータ通信部から第2の情報処理装置を中継地点として第1の情報処理装置にデータ通信を行うよう制御する通信制御部とを備える。
【発明の効果】
【0011】
本発明によれば、周辺装置はWINSサーバを使用せずに、異なるネットワークセグメント上のPCの共有フォルダに対してファイルを送信することが可能となる。とりわけ、ネットワークセグメントが同一か否かに応じて、転送装置を経由してファイルを送信するか、直接的に情報処理装置にファイルを送信するかを切り替える。これにより、ユーザは、経由地点にすぎないPCを意識しないで済むようになるため、ユーザの使い勝手が向上する。
【図面の簡単な説明】
【0012】
【図1】TCP/IPプロトコルを用いて通信するデータ通信システムの一例を示す図。
【図2】実施形態に係るネットワークスキャナと各PCを示すブロック図。
【図3】実施形態に係るネットワークスキャナシステムの構成を示す図。
【図4】実施形態に係るネットワークスキャナシステムの構成を示す図。
【図5】ネットワークスキャナの通信方法を示すシーケンス図。
【図6】制御コマンドの例を示す図。
【図7】ファイル送信処理を示したフローチャート図。
【図8】ネットワークセグメントの判別方法を示すフローチャート図。
【発明を実施するための形態】
【0013】
はじめに、本発明の基本的な技術思想について説明する。ファイル共有サービスは、一般に、SMBプロトコルやCIFSプロトコルを利用してファイル共有を実現している。しかし、Windows CE(登録商標)などのコンパクトなOSのファイル共有サービスは、SMBプロトコルだけしかサポートしていない。よって、このようなOSでは、ネットワーク上のPCの共有フォルダにアクセスするのに、「NetBIOS名」で名前解決しなければならない。そのために、WINSサーバまたは「NetBIOS名」でのブロードキャストのいずれかに頼らなければならないが、前者はネットワークでのインストールが回避される傾向にあり、後者は同一セグメントにおいてしか機能しない。
【0014】
この課題を解決する手法について、図1を用いて説明する。図1は、TCP/IPプロトコルを用いて通信するデータ通信システムの一例を示す図である。
【0015】
ここでは、ルーター105の左側(図1左側)のネットワークを第1のネットワークと呼ぶことにし、ルーター105の右側(図1右側)のネットワークを第2のネットワークと呼ぶことにする。図1に示したネットワーク環境は、ネットワークスキャナ100と同一のネットワークセグメント上にPC−Near110が接続されている。
【0016】
PC−Near110は、第1のネットワークに接続された第1の情報処理装置の一例である。ネットワークスキャナ100は、原稿の画像を読み取る画像読取部と、周辺装置の動作を制御するためのユーザインタフェースとを備え、ユーザインタフェースでの操作に基づいて画像読取部を制御して得られる原稿画像データをデータ通信部によって第1の情報処理装置にデータ送信する周辺装置の一例である。
【0017】
ネットワークスキャナ100は、さらに、ルーター105を介在させて、別のネットワークセグメント上にPC−Far120とPC−Far130に接続されている。
【0018】
PC−Far120とPC−Far130は、第1のネットワークとはネットワークセグメントが異なる第2のネットワークに接続された第1の情報処理装置の一例である。
【0019】
ネットワークスキャナ100は、OSとしてWindows CE(登録商標)を採用している。また、PC−Near110、PC−Far120およびPC−Far130は、Windows XP(登録商標)をOSとして採用している。なお、ネットワークスキャナ100とPC−Near110が接続されているローカルのネットワークではWINSサーバは稼働していない。
【0020】
よって、ネットワークスキャナ100は、「NetBIOS名」でのブロードキャストを使用して、PC−Near110とファイルを共有できるが、異なるネットワークセグメントに位置しているPC−Far120およびPC−Far130とはファイルを共有できない。
【0021】
一方で、PC−Near110は、Windows XP(登録商標)を採用しているため、異なるネットワークセグメントにあるPCともファイルを共有できる。そこで、本実施形態では、ネットワークスキャナ100がPC−Near110を中継装置として利用することで、PC−Far120およびPC−Far130とファイルを共有する。
【0022】
ネットワークスキャナ100は、ユーザからの指示を受け付けるためのユーザ入力部102を備えている。ユーザ入力部102には、スキャン動作を開始するためのスタートボタン103と、スキャンした画像をファイルにして、そのファイルを送信する送信先を指定するためのアドレス設定部104が設けられている。送信先は、アドレス設定部104を介してあらかじめ指定される。たとえば、アドレス設定部104にはPC−Near110の共有フォルダ114が指定される。ユーザ入力部102の一例としては、タッチパネル等を採用することができる。
【0023】
ユーザがスタートボタン103を押下したら、ネットワークスキャナ100はスキャンを開始して、作成したファイルをアドレス設定部104で指定されたPC−Near110の共有フォルダ114に送信する。PC−Near110には、ファイル転送アプリケーション111が常駐している。
【0024】
このファイル転送アプリケーション111は、いくつかの設定データを使用して、周辺装置から送信されたファイルを、異なるセグメントとなる第2のネットワークに接続された第1の情報処理装置に転送する。
【0025】
ファイル転送アプリケーション111は、監視の対象となるフォルダを指定するための監視元フォルダ設定112と、ファイルの転送先となるフォルダを示す転送先フォルダ設定113を管理している。
【0026】
また、ファイル転送アプリケーション111は、監視元フォルダ設定112に設定されているフォルダを常時監視し、当該フォルダにファイルが書き込まれているかどうかを判定する。そして、当該フォルダにファイルが書き込まれると、ファイル転送アプリケーション111は、転送先フォルダ設定113に設定されたフォルダにそのファイルを転送する。
【0027】
ここでは、監視元フォルダ設定112に、PC−Near110の共有フォルダ114、115の2つが指定されている。また、転送先フォルダ設定113に、PC−Far120の共有フォルダ121、PC−Far130の共有フォルダ131がそれぞれ指定されている。
【0028】
さらに、共有フォルダ114とPC−Far120の共有フォルダ121とが関連付けられており、共有フォルダ115とPC−Far130の共有フォルダ131とが関連付けられている。ファイル転送アプリケーション111は、ネットワークスキャナ100からPC−Near110の共有フォルダ114に書き込まれたファイルをPC−Far120の共有フォルダ121に転送する。
【0029】
そして、ファイル転送アプリケーション111は、PC−Near110の共有フォルダ115に書き込まれたファイルをPC−Far130の共有フォルダ131に転送する。なお、ファイル転送アプリケーション111は、共有フォルダ114や共有フォルダ115から転送済みのファイルを削除する。
【0030】
このように、ネットワークスキャナ100がアクセス可能な同一ネットワークセグメント上のPC−Near110を一旦経由することで、別ネットワークセグメント上のPC−Far120、130にファイルを送信できるようになる。
【0031】
ところで、図1に示した発明では、最終的にファイルを送信したいPC−Far120の共有フォルダ121以外に、経由地点にすぎないPC−Near110の共有フォルダ114をユーザがわざわざ登録する必要がある。これは、使い勝手の観点から改善の余地があるといえよう。もちろん、Windows CE(登録商標)を使用したネットワークスキャナ100は、WINSサーバが稼働していないと、異なるネットワークセグメント上のPC−Far120、PC−Far130にアクセスできない。
【0032】
よって、ネットワークスキャナ100は、PC−Far120、PC−Far130の共有フォルダ内を直接参照できない。つまり、ネットワークスキャナ100は、自己が作成したファイルにもかかわらずアクセスできなくなってしまう。
【0033】
そこで、WINSサーバを使用しないネットワーク環境において、ネットワークスキャナと異なるネットワークセグメント上のPCの共有フォルダに対してファイル送信をするときに、経由地点にすぎないPCをユーザが意識せずに済むような発明を提案する。さらに、ネットワークスキャナから異なるネットワークセグメント上の共有フォルダ内を参照できるようにする。
【0034】
図2は、本発明の実施形態に係るネットワークスキャナ100と各PCを示すブロック図である。図3は、本発明の実施形態に係るネットワークスキャナ送信システムの構成を示す図である。ここでは、ルーター105の左側のネットワークを第1のネットワークと呼ぶことにし、ルーター105の右側のネットワークを第2のネットワークと呼ぶことにする。第1のネットワークではWINSサーバが稼働していないとものとする。なお、WINSサーバが稼働していても良いが、図3に示したファイル転送アプリケーション111はWINSサーバを利用しない。
【0035】
なお、図1で説明済みの部分やその一部を改良した部分には同一の参照符号を付与することにする。たとえば、図1に示したファイル転送アプリケーション111と図3に示したファイル転送アプリケーション111は同一ではない。
【0036】
すなわち、図1に示したファイル転送アプリケーション111では、PC−Near110の共有フォルダに書き込まれたファイルをPC−Farの共有フォルダへと転送していた。つまり、ユーザは、最終的に意図するPC−Far120および130の共有フォルダ121および131とは異なるPC−Near110の共有フォルダにファイルを書き込むことを意識して行う必要があった。
【0037】
一方、図3に示したファイル転送アプリケーション111ではこのような意識は不要となる。以下で説明するように、ネットワークスキャナ100は、異なるネットワークセグメントのフォルダにファイルを書き込む場合にのみ図3に示したファイル転送アプリケーション111へこのファイルを渡す。
【0038】
図3に示したファイル転送アプリケーション111は、共有フォルダ114や115を使用せずに、直接、PC−Far120および130の共有フォルダ121および131へとファイルを転送するからである。同一ネットワークセグメントにおいてあれば、ネットワークスキャナ100は、ファイル共有サービスを使用して直接的に所望のフォルダにファイルを書き込む。
【0039】
ネットワークスキャナ100のCPU201はROM202に格納されたプログラムに従って、ネットワークスキャナ100の全体を統括的に制御する。ROM202は、プログラム(ファームウエア、OS、アプリケーション)や固定データを格納する。RAM203は、CPU201の作業領域やデータの一時記憶領域として使用される。
【0040】
入力データ記憶部204は、ユーザ入力部102で入力される、経由地点になるPC名や、ファイルを送信するアドレス等を記憶する記憶装置である。また、入力データ記憶部204は、複数の送信先のアドレスを記憶できる。さらに、入力データ記憶部204は、ネットワークスキャナ100に割り当てられたIPアドレスやネットマスク等のネットワーク情報も記憶している。
【0041】
ユーザ入力部102は、表示部とタッチパネルを備えている。ROM202に格納されている図示しないアプリケーションにより、ユーザ入力部102は、各種の情報を表示したり、入力したりする。たとえば、図3が示すように、スタートボタン103、IPアドレス設定部301、ネットマスク設定部302、経由PC情報設定部303、送信先設定部304がユーザインタフェースとして表示され、各種の情報を入力できる。
【0042】
IPアドレス設定部301は、ネットワークスキャナ100のIPアドレスを入力するためのボックスである。ネットマスク設定部302は、ネットマスクを入力するためのボックスである。経由PC情報設定部303は、画像ファイルの経由地点となるPCの情報を入力するためのボックスである。
【0043】
送信先設定部304は、画像ファイルの送信先となるPCのアドレス情報を入力するためのボックスである。特に、経由PC情報設定部303、IPアドレス設定部301、ネットマスク設定部302は、ネットワーク管理者が一度だけ設定すればよい。よって、これらのボックスは、一般のユーザが入力できないように、制限をかけることが望ましい。
【0044】
このようにして、ROM202は、転送装置または中継点として機能する第2の情報処理装置のIPアドレスを記憶する記憶部として機能する。ROM202は、EEPROMやフラッシュメモリなどにより構成できる。CPU201は、データ通信部から第2の情報処理装置を中継地点として第1の情報処理装置とデータ通信を行うに際して記憶部からIPアドレスを参照することになる。
【0045】
画像読取部206は、たとえば、白色光の光源と図示しないレンズアレイと図示しないラインセンサで構成され、光源の白色光を原稿に照射して、その反射光を一旦レンズアレイで結像したのち、ラインセンサで受光して、それを電圧に変換出力することで、原稿を画像データとして読み取っている。
【0046】
データ送受信部207は、ネットワーク上に接続されているPC等の情報処理装置に対して、データを送受信するネットワークインタフェースである。データ送受信部207は、第1の情報処理装置との間でデータ通信を行うデータ通信部として機能するともに、ファイルを送受信するためのファイル送受信手段として機能する。
【0047】
セグメント判定部208は、第1の情報処理装置が通信ネットワークにおいて同一セグメント接続状態にあるか別セグメント接続状態にあるかを判断するセグメント判断部として機能する。
【0048】
具体的に、セグメント判定部208は、ユーザ入力部102を通じてユーザにより指定されたPCがネットワークスキャナ100と同一のネットワークセグメント上に存在するPCかどうかを判定する。
【0049】
すなわち、セグメント判定部208は、ファイルの送信先となる情報処理装置のネットワークセグメントが、周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定する判定手段として機能する。
【0050】
具体的な判定方法については後述する。CPU201は、判定手段が同一のネットワークセグメントであると判定すると、周辺装置で稼働しているファイル共有サービスを通じてファイルを第1の情報処理装置に直接的に送信し、判定手段が異なるネットワークセグメントであると判定すると、転送装置(中継装置)を介して第2のネットワークに接続された第1の情報処理装置に間接的にファイルを送信するためにファイルを転送装置のファイル転送アプリケーションに送信するようファイル送受信手段を制御する制御手段として機能する。
【0051】
また、CPU201は、セグメント判断部での判断結果が同一セグメント接続状態であるときにデータ通信部から第1の情報処理装置に直接データ通信を行うよう制御するとともに、別セグメント接続状態であるときにデータ通信部から第2の情報処理装置を中継地点として第1の情報処理装置にデータ通信を行うよう制御する通信制御部としても機能する。
【0052】
PC−Near110、PC−Far120、130は、たとえば、CPU251、ROM252、RAM253、ハードディスクドライブ(HDD)254、ネットワークインタフェース255を備えたコンピュータである。上述したファイル転送アプリケーション111は、CPU251上で実行される。
【0053】
ハードディスクドライブ254には、OS、アプリケーション、データなどが格納される。ファイル転送アプリケーション111を実行するPCのCPU251やネットワークインタフェース255などは、ファイル転送アプリケーションにしたがって、周辺装置から受信したファイルを第1の情報処理装置に転送する転送手段として機能する。
【0054】
図3において、PC−Near110は、周辺装置から第1の情報処理装置へのデータ通信を中継する第2の情報処理装置として機能する。周辺装置の一例は、ネットワークスキャナ100である。第1の情報処理装置の一例は、PC−Near110や、PC−Far120、130である。なお、PC−Near110は、周辺装置と同一セグメント状態にある第1の情報処理装置でもある。また、PC−Far120、130は、周辺装置と別セグメント状態にある第1の情報処理装置である。
【0055】
ところで、図3に示した例では、PC−Near110がネットワークスキャナ100と同じネットワークセグメントに接続されている。しかし、本発明では、ネットワークスキャナ100とPC−Near110のファイル転送アプリケーション111が、OSが提供するファイル転送サービスを使用しない別のプロトコルで通信を行う。
【0056】
そのため、図4に示すように、ファイル転送アプリケーション111が異なるネットワークセグメントのPC−Far130にインストールされて稼働していてもよい。同様にDNSサーバも、ネットワークスキャナ100と同じネットワークセグメント上に存在していてもよいし、異なるネットワークセグメント上に存在していてもよい。
【0057】
上記のようなネットワーク環境において、ネットワーク管理者は、以下の設定をあらかじめ行う。まず、PC−Near110に、ファイル転送アプリケーション111をWindows(登録商標)サービス技術を用いて常駐させておく。
【0058】
ファイル転送アプリケーション111は、第2の情報処理装置に導入された、通信ネットワークにおいて同一セグメント接続状態にある周辺装置との間で所定のプロトコルによりデータ通信する通信プログラムの一例である。
【0059】
なお、ファイル転送アプリケーション111は、第2の情報処理装置において起動状態において、周辺装置から別セグメント接続状態にある第1の情報処理装置へのデータ通信を中継するよう第2の情報処理装置を機能させるプログラムである。
【0060】
つぎに、ネットワーク管理者は、ネットワークスキャナ100のユーザ入力部102からファイル転送アプリケーション111を常駐させたPC−Near110のIPアドレスと、そのPCにアクセスするためのユーザ名、パスワードといったアカウント情報を設定する。
【0061】
ネットワークスキャナ100は、設定されたこれらの情報を、入力データ記憶部204に記憶する。ネットワーク管理者が上記設定を行えば、ネットワークスキャナ100を使用するユーザは、PC−Near110を意識する必要がなくなる。
【0062】
ところで、ファイル転送アプリケーション111とネットワークスキャナ100は、後述するようなTCP/IPプロトコルを使用して、独自のフォーマット(以下、制御コマンド)で通信できるように構成している。
【0063】
ファイル転送アプリケーション111は、ネットワークスキャナ100からの接続要求を待っていて、接続要求があると接続を確立する。その後、ネットワークスキャナ100から指示される制御コマンドに従って処理を行い、一連の処理が終了したら接続を切断する。
【0064】
図5は、ファイル転送アプリケーション111とネットワークスキャナ100の通信方法を示すシーケンス図である。S501で、ネットワークスキャナ100のCPU201は、データ送受信部207を介してファイル転送アプリケーション111(PC−Near110やPC−Far130など)に接続要求を送信する。
【0065】
この際に、CPU201は、DNSサーバを用いて、転送装置のIPアドレスを取得して、転送装置において稼働しているファイル転送アプリケーションにアクセスする。S502で、CPU201は、ファイル転送アプリケーション111と接続を確立する。S503で、CPU201は、ファイル転送アプリケーション111へ制御コマンドを送信する。
【0066】
図6は、制御コマンドの例を示す図である。図6が示すように、制御コマンドの先頭8バイトは、制御コマンド全体が何バイトから構成されているかを総バイト数として格納する。9バイト目はコマンドの種類を示す情報を格納する。10バイト目以降にはデータが格納され、その長さは可変である。たとえば、制御コマンドの1つとしてファイル送信コマンドを例に挙げて説明する。ここでは、CPU201が、コマンドの種類に、ファイル送信コマンドを示す”10”を格納する。データ部には、ファイル送信先となるアドレスである「¥¥PC−Far¥Image¥Sample.tif」と、ユーザ名である「CEI」、パスワードである「IMS」、および画像データが格納されるものとする。データ部の総バイト数は5kbytesである。それぞれの情報の間には、情報の区切りを示す改行マークが挿入されている。総バイト数には、コマンドの種類の1バイトとデータ部の5034バイトと自身の8バイトの合計5043が格納される。
【0067】
ファイル転送アプリケーション111にしたがってCPU251はネットワークインタフェース255を介して制御コマンドを受信する。S504で、CPU251は、制御コマンドごとにあらかじめ決められている所定の処理を行い、その結果をネットワークスキャナ100に応答する。
【0068】
応答時の通信フォーマット(以下、応答コマンド)は、制御コマンドと同一のフォーマットで行うものとする。たとえば、ファイル転送アプリケーション111は、ファイル送信コマンドを受信すると、10バイト目のデータ部から、ファイル送信先のアドレス名、ユーザ名、パスワード、画像データを抽出し、その情報を元にファイル転送を実行する。
【0069】
CPU251は、ユーザ名とパスワードを使用して¥¥PC−Far¥Image¥にアクセスし、画像データを指定されたファイル名「Sample.tif」に格納し、当該画像ファイルを¥¥PC−Far¥Image¥に書き込む。
【0070】
一方、ネットワークスキャナ100は、応答コマンドを受信したら、応答コマンドごとにあらかじめ決められている所定の処理を行う。ここで、ネットワークスキャナ100から、異なるネットワークセグメント上のPC(PC−Far120)の共有フォルダ121にファイルを送信する。ファイルの転送が完了すると、S505で接続を切断する。
【0071】
図7は、ネットワークスキャナが実行するファイル送信処理を示したフローチャートである。S701で、ネットワークスキャナ100のCPU201は、ユーザ入力部102に表示されたスキャンのスタートボタン103がユーザにより押下されたかどうかを判定する。
【0072】
スタートボタン103の押し下げを検知すると、S702に進む。S702で、CPU201は、画像読取部206を制御して、原稿を搬送して画像を読み取る。CPU201は、画像データを画像ファイルに保存する。S703で、ネットワークスキャナ100のCPU201は、ユーザによりファイル送信先として指定されたPC−Far120が同一のネットワークセグメント上に存在するPCかどうかをセグメント判定部208に判定させる。
【0073】
図8は、セグメント判定部208におけるネットワークセグメントの判別方法を示すフローチャートである。なお、以下の変数はRAM203や入力データ記憶部204に記憶に記憶されるものとする。
【0074】
S801で、CPU201は、入力データ記憶部204に記憶されているネットワークスキャナ100自身のIPアドレスを変数Nに格納する。S802で、CPU201は、同様に、ネットマスクを変数Mに格納する。S803で、CPU201は、DNSサーバにPC−Far120のIPアドレスを問い合わせ、DNSサーバから取得したIPアドレスを変数Fに記憶する。
【0075】
Windows CE(登録商標)のファイル共有サービスは、SMBプロトコルにのみ対応している。よって、ファイル共有サービスを使用しない通信手段であれば、DNSサーバでの名前解決が可能である。S804で、CPU201は、変数Nと変数MをAND演算した結果を変数Xに格納する。S805で、CPU201は、変数Fと変数MのAND演算した結果を変数Yに記憶する。S806で、CPU201は、変数Xが変数Yと一致するかどうかを判定する。両者が一致すれば、S807に進み、CPU201は、ネットワークスキャナ100とPC−Far120は、同一ネットワークセグメント上に存在すると判定する。よって、図7では、S705に進む。一方、両者が一致しなければ、S808に進み、CPU201は、ネットワークスキャナ100とPC−Far120は、異なるネットワークセグメント上に存在すると判定する。よって、図7では、S704に進む。
【0076】
S704で、ネットワークスキャナ100のCPU201は、異なるネットワークセグメント上にPC−Far120が存在するため、ファイル転送アプリケーション111にファイル送信コマンドを送信する。ファイル送信コマンドのデータ内には、上述したようにファイル転送先のPC名を含むフォルダ名や、そのフォルダにアクセスするためのアカウント情報や、画像データが格納されている。PC−Near110のCPU251は、ファイル転送アプリケーション111にしたがって、ファイル送信コマンドを処理し、画像ファイルをPC−Far120の共有フォルダ121に転送して書き込む。
【0077】
一方、S703で同一ネットワークセグメントであると判定されると、S705で、CPU201は、指定された共有フォルダに画像ファイルを直接送信する。同一ネットワークセグメントであるため、ファイル共有サービスは、指定された共有フォルダのPCについて名前を解決できる。これは、WINSサーバが存在していなくても解決可能である。すなわち、「NetBIOS名」を用いてブロードキャストすれば、同一セグメント内のPCの名前を解決できるからである。
【0078】
このように、ネットワークスキャナ100は、第1のネットワークではWINSサーバが稼働しておらず、かつ、周辺装置は、第1の情報処理装置のNetBIOS名を用いてブロードキャストを実行することで第1の情報処理装置の名前を解決するオペレーティングシステムによって制御されるコンピュータとして機能する。
【0079】
つづいて、PC−Far120の共有フォルダ121や、PC−Near110の共有フォルダ114などの直下に存在する子フォルダの一覧を取得する処理について簡単に説明する。ネットワークスキャナ100のCPU201は、参照ボタンの押下を検出すると、ユーザが指定したPCが自身と同一のネットワークセグメント上のPCかどうかをセグメント判定部208に判定させる。
【0080】
セグメント判定部208は、共有フォルダの直下に存在する子フォルダの一覧を参照するための指示が入力されると、共有フォルダを提供している情報処理装置のネットワークセグメントが、周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定する。
【0081】
同一ネットワークセグメント上に存在するPCであれば、CPU201は、ファイル共有サービスを通じて、子フォルダの一覧を取得して表示装置に表示する。このように、CPU201は、共有フォルダを提供している情報処理装置のネットワークセグメントが、周辺装置のネットワークセグメントと同一のネットワークセグメントである場合、ファイル共有サービスを通じて、子フォルダの一覧を取得する。
【0082】
一方、同一ネットワークセグメント上に存在するPCでなければ、CPU201は、ファイル転送アプリケーション111に子フォルダの一覧を取得するためのコマンドであるフォルダ列挙コマンドを送信する。ファイル転送アプリケーション111(CPU251)は、ファイル列挙コマンドを受信すると、指定されたPCの共有フォルダの直下に存在するフォルダの一覧を取得して、その結果を応答コマンドに格納して応答する。
【0083】
このように、CPU201は、共有フォルダを提供している情報処理装置のネットワークセグメントが、周辺装置のネットワークセグメントと異なるネットワークセグメントである場合、子フォルダの一覧を取得するためのコマンドを転送装置のファイル転送アプリケーションに送信して、ファイル転送アプリケーションから子フォルダの一覧を取得する。また、CPU251は、ファイル転送アプリケーション111にしたがって、子フォルダの一覧を第1の情報処理装置から取得して周辺装置に転送する。
【0084】
ネットワークスキャナ100のCPU201は、フォルダ列挙コマンドに対する応答コマンドを受信すると、そのコマンドのデータ部に格納されているフォルダの一覧を取得して、ユーザ入力部102の表示部にその結果を表示する。ユーザ入力部102の表示部は、取得した子フォルダの一覧を表示する表示手段の一例である。
【0085】
本実施形態によれば、異なるネットワークセグメント上のPCの共有フォルダに対してファイルを送信することが可能となる。とりわけ、ネットワークセグメントが同一か否かに応じて、転送装置を経由してファイルを送信するか、直接的に情報処理装置にファイルを送信するかを切り替える。これにより、ユーザは、経由地点にすぎないPCを意識しないで済むようになるため、ユーザの使い勝手が向上する。
【0086】
とりわけ、周辺装置はWINSサーバを使用せずに、異セグメント上のPCのフォルダにファイルを送信することが可能となる。WINSサーバは、ネットワークトラフィックを混雑させやすいため、WINSサーバを廃止したり、その稼働率を低下させたりすれば、ネットワークトラフィックの混雑を緩和できよう。
【0087】
また、本実施形態では、独自のプロトコルを採用しているため、DNSサーバを介してファイル転送アプリケーション111にアクセスできる。つまり、ファイル共有サービスがDNSサーバを利用できなくてもよい。
【0088】
さらに、本実施形態によれば、異なるネットワークセグメント上のPCの共有フォルダに対してファイル転送アプリケーション111を介してアクセスすることが可能となる。つまり、ネットワークスキャナ100からファイル転送アプリケーション111にフォルダ列挙コマンドを送信することで、異なるネットワークセグメント上の共有フォルダ内を直接参照できるようになる。よって、ユーザは、ファイルの送信先アドレスを暗記していなくても、表示された一覧を参照しながら所望のフォルダやファイルを指定できるようになる。
【0089】
本実施形態では、ネットワークスキャナ100のOSとしてWindows CE(登録商標)を例にあげている。しかし、ファイル共有サービスに関して、WindowsCE(登録商標)と同様の仕様をもつOSであれば、もちろん、別のOSでもあっても本発明を適用できる。


【特許請求の範囲】
【請求項1】
TCP/IPプロトコルによる通信ネットワークに接続される第1の情報処理装置に対してデータ通信を行う周辺装置と、
前記周辺装置から前記第1の情報処理装置へのデータ通信を中継する第2の情報処理装置とを備え、
前記周辺装置は、
前記第1の情報処理装置との間でデータ通信を行うデータ通信部と、
前記第1の情報処理装置が前記通信ネットワークにおいて同一セグメント接続状態にあるか別セグメント接続状態にあるかを判断するセグメント判断部と、
前記セグメント判断部での判断結果が同一セグメント接続状態であるときに前記データ通信部から前記第1の情報処理装置にデータ通信を行うよう制御するとともに、別セグメント接続状態であるときに前記データ通信部から前記第2の情報処理装置を中継地点として前記第1の情報処理装置にデータ通信を行うよう制御する通信制御部と
を備えることを特徴とするデータ通信システム。
【請求項2】
前記第2の情報処理装置には、前記通信ネットワークにおいて同一セグメント接続状態にある前記周辺装置との間で所定のプロトコルによりデータ通信する通信プログラムが導入されており、
前記通信プログラムは、前記第2の情報処理装置においての起動状態において、前記周辺装置から別セグメント接続状態にある前記第1の情報処理装置へのデータ通信を中継するよう前記第2の情報処理装置を機能させることを特徴とする請求項1記載のデータ通信システム。
【請求項3】
前記通信プログラムは、前記周辺装置が記憶しているファイルを前記第1の情報処理装置に転送するためのファイル転送アプリケーションであることを特徴とする請求項2に記載のデータ通信システム。
【請求項4】
前記周辺装置は、前記第2の情報処理装置のIPアドレスを記憶する記憶部をさらに備え、前記制御部は、前記データ通信部から前記第2の情報処理装置を中継地点として前記第1の情報処理装置とデータ通信を行うに際して前記記憶部から前記IPアドレスを参照することを特徴とする請求項1ないし3のいずれか1項に記載のデータ通信システム。
【請求項5】
前記周辺装置は、原稿の画像を読み取る画像読取部と、前記周辺装置の動作を制御するためのユーザインタフェースとを備え、前記ユーザインタフェースでの操作に基づいて前記画像読取部を制御して得られる原稿画像データを前記データ通信部によって前記第1の情報処理装置にデータ送信するネットワークスキャナであることを特徴とする請求項1ないし4のいずれか1項に記載のデータ通信システム。
【請求項6】
前記周辺装置は、第1のネットワークに接続されており、
前記第1の情報処理装置は、前記第1のネットワークまたは前記第1のネットワークとはネットワークセグメントが異なる第2のネットワークに接続されており、
前記第2の情報処理装置は、前記第1のネットワークまたは前記第2のネットワークに接続され、前記周辺装置から送信されたファイルを、前記第2のネットワークに接続された前記第1の情報処理装置に転送する転送装置として機能し、
前記データ通信部は、ファイルを送受信するためのファイル送受信手段を備え、
前記セグメント判断部は、前記ファイルの送信先となる前記第1の情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定する判定手段を備え、
前記通信制御部は、前記判定手段が同一のネットワークセグメントであると判定すると、前記周辺装置で稼働しているファイル共有サービスを通じて前記ファイルを前記第1の情報処理装置に直接的に送信し、前記判定手段が異なるネットワークセグメントであると判定すると、前記転送装置を介して前記第1の情報処理装置に間接的に前記ファイルを送信するために該ファイルを前記転送装置のファイル転送アプリケーションに送信するよう前記ファイル送受信手段を制御する制御手段を備え、
前記転送装置は、
前記ファイル転送アプリケーションにしたがって、前記周辺装置から受信した前記ファイルを前記第1のネットワークに接続された第1の情報処理装置に転送する転送手段を備える
ことを特徴とする請求項1に記載のデータ通信システム。
【請求項7】
前記第1のネットワークではWINSサーバが稼働しておらず、かつ、前記周辺装置は、前記第1のネットワークに接続された第1の情報処理装置のNetBIOS名を用いてブロードキャストを実行することで該第1の情報処理装置の名前を解決するオペレーティングシステムによって制御されるコンピュータであることを特徴とする請求項6に記載のデータ通信システム。
【請求項8】
前記転送装置は、前記第2のネットワークに接続されており、
前記周辺装置は、DNSサーバを用いて、前記転送装置のIPアドレスを取得して、前記転送装置において稼働している前記ファイル転送アプリケーションにアクセスすることを特徴とする請求項6または7に記載のデータ通信システム。
【請求項9】
前記判定手段は、
共有フォルダの直下に存在する子フォルダの一覧を参照するための指示が入力されると、前記共有フォルダを提供している情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定し、
前記制御手段は、
前記共有フォルダを提供している情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと同一のネットワークセグメントである場合、前記ファイル共有サービスを通じて、前記子フォルダの一覧を取得し、
前記共有フォルダを提供している情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと異なるネットワークセグメントである場合、前記子フォルダの一覧を取得するためのコマンドを前記転送装置のファイル転送アプリケーションに送信して、該ファイル転送アプリケーションから前記子フォルダの一覧を取得し、
前記転送装置は、
前記ファイル転送アプリケーションにしたがって、前記子フォルダの一覧を前記第2のネットワークに接続された第1の情報処理装置から取得して前記周辺装置に転送し、
前記周辺装置は、
取得した前記子フォルダの一覧を表示する表示手段を備える
ことを特徴とする請求項6ないし8のいずれか1項に記載のデータ通信システム。
【請求項10】
TCP/IPプロトコルを用いて通信するデータ通信システムにおいて使用され、第1のネットワークに接続された周辺装置であって、
前記データ通信システムは、さらに、
前記第1のネットワークまたは前記第1のネットワークとはネットワークセグメントが異なる第2のネットワークに接続された第1の情報処理装置と、
前記第1のネットワークまたは前記第2のネットワークに接続され、前記周辺装置から送信されたファイルを、前記第2のネットワークに接続された第1の情報処理装置に転送するファイル転送アプリケーションが実行される転送装置として機能する第2の情報処理装置と
を備え、
前記周辺装置は、
ファイルを送受信するためのファイル送受信手段と、
前記ファイルの送信先となる情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定する判定手段と、
前記判定手段が同一のネットワークセグメントであると判定すると、前記周辺装置で稼働しているファイル共有サービスを通じて前記ファイルを前記第1の情報処理装置に送信し、前記判定手段が異なるネットワークセグメントであると判定すると、前記転送装置を介して前記第2の情報処理装置に間接的に前記ファイルを送信するために該ファイルを前記転送装置の前記ファイル転送アプリケーションに送信するよう前記ファイル送受信手段を制御する制御手段と
を備えることを特徴とする周辺装置。
【請求項11】
前記第1のネットワークではWINSサーバが稼働しておらず、かつ、前記周辺装置は、前記第1のネットワークに接続された第1の情報処理装置のNetBIOS名を用いてブロードキャストを実行することで該第1の情報処理装置の名前を解決するオペレーティングシステムによって制御されるコンピュータであることを特徴とする請求項10に記載の周辺装置。
【請求項12】
前記転送装置は、前記第2のネットワークに接続されており、
前記周辺装置は、DNSサーバを用いて、前記転送装置のIPアドレスを取得して、前記転送装置において稼働している前記ファイル転送アプリケーションにアクセスすることを特徴とする請求項10または11に記載の周辺装置。
【請求項13】
前記判定手段は、
共有フォルダの直下に存在する子フォルダの一覧を参照するための指示が入力されると、前記共有フォルダを提供している情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと同一のネットワークセグメントであるか異なるネットワークセグメントであるかを判定し、
前記制御手段は、
前記共有フォルダを提供している情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと同一のネットワークセグメントである場合、前記ファイル共有サービスを通じて、前記子フォルダの一覧を取得し、
前記共有フォルダを提供している情報処理装置のネットワークセグメントが、前記周辺装置のネットワークセグメントと異なるネットワークセグメントである場合、前記子フォルダの一覧を取得するためのコマンドを前記転送装置のファイル転送アプリケーションに送信して、該ファイル転送アプリケーションから前記子フォルダの一覧を取得し、
前記転送装置は、
前記ファイル転送アプリケーションにしたがって、前記子フォルダの一覧を前記第2のネットワークに接続された第1の情報処理装置から取得して前記周辺装置に転送し、
前記周辺装置は、
取得した前記子フォルダの一覧を表示する表示手段を備える
ことを特徴とする請求項10ないし12のいずれか1項に記載の周辺装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−159057(P2011−159057A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−19410(P2010−19410)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】