JP2020053767A - Communication device and computer program for the same - Google Patents
Communication device and computer program for the same Download PDFInfo
- Publication number
- JP2020053767A JP2020053767A JP2018179278A JP2018179278A JP2020053767A JP 2020053767 A JP2020053767 A JP 2020053767A JP 2018179278 A JP2018179278 A JP 2018179278A JP 2018179278 A JP2018179278 A JP 2018179278A JP 2020053767 A JP2020053767 A JP 2020053767A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- version
- external device
- request
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/333—Mode signalling or mode changing; Handshaking therefor
- H04N1/33346—Mode signalling or mode changing; Handshaking therefor adapting to a particular standardised protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00209—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
- H04N1/00214—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
- H04N1/00217—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission only involving computer data transmission protocols, e.g. SMTP, WAP or HTTP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/327—Initiating, continuing or ending a single-mode communication; Handshaking therefor
- H04N1/32797—Systems adapted to communicate over more than one channel, e.g. via ISDN
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本明細書では、所定の通信プロトコルのバージョンに関するネゴシエーションを外部装置と実行する通信装置を開示する。 This specification discloses a communication device that executes negotiation regarding a predetermined communication protocol version with an external device.
特許文献1には、クライアントとサーバとを備えるコンピューティングシステム環境が開示されている。クライアントは、クライアントがサポートするSMBプロトコルのバージョン番号を含む折衝要求をサーバに送信し、サーバから、利用すべきSMBプロトコルのバージョン番号を含む折衝応答を受信する。クライアントは、折衝応答に含まれるSMBプロトコルのバージョン番号に従って、サーバとの通信を実行する。
クライアントとサーバとの間でSMBプロトコルのバージョンを決定するための折衝(即ちネゴシエーション)が正常に完了したにも関わらず、クライアントとサーバとの間でその後の通信が正常に実行されないことが起こり得る。 Even though the negotiation (ie, negotiation) for determining the version of the SMB protocol between the client and the server has been completed successfully, it is possible that the subsequent communication between the client and the server will not be performed properly. .
本明細書では、ネゴシエーションが正常に実行されたにも関わらず、外部装置からエラー通知が受信される場合に、当該外部装置との通信を適切に実行し得る技術を提供する。 The present specification provides a technology capable of appropriately executing communication with an external device when an error notification is received from the external device even though the negotiation has been normally performed.
本明細書によって開示される通信装置は、通信インタフェースと、前記通信インタフェースを介して、第1のバージョン情報を含む第1のネゴシエーション要求を第1の外部装置に送信する第1の要求送信部であって、前記第1のバージョン情報は、前記通信装置が複数個のバージョンの所定の通信プロトコルを利用可能であることを示し、前記複数個のバージョンは、第1のバージョンと、前記第1のバージョンよりも新しい第2のバージョンと、を含む、前記第1の要求送信部と、前記第1のネゴシエーション要求が前記第1の外部装置に送信されることに応じて、前記第1の外部装置から、前記通信インタフェースを介して、前記第1の外部装置が前記第2のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第2のバージョンの前記所定の通信プロトコルを利用した前記第1の外部装置との第1の通信を実行する第1の通信実行部と、前記第1の通信において、前記第1の外部装置からエラー通知が受信される場合に、前記通信インタフェースを介して、前記第1のバージョン情報とは異なる第2のバージョン情報を含む第2のネゴシエーション要求を前記第1の外部装置に送信する第2の要求送信部であって、前記第2のバージョン情報は、前記通信装置が前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す、前記第2の要求送信部と、前記第2のネゴシエーション要求が前記第1の外部装置に送信されることに応じて、前記第1の外部装置から、前記第1の外部装置が前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第1のバージョンの前記所定の通信プロトコルを利用した前記第1の外部装置との第2の通信を実行する第2の通信実行部と、を備えてもよい。 A communication device disclosed by the present specification includes a communication interface and a first request transmission unit that transmits a first negotiation request including first version information to a first external device via the communication interface. The first version information indicates that the communication device can use a plurality of versions of a predetermined communication protocol, and the plurality of versions include a first version and the first version. A first request transmission unit including a second version newer than a version, and the first external device in response to the first negotiation request being transmitted to the first external device. A response indicating that said first external device is able to use said second version of said predetermined communication protocol via said communication interface. A first communication execution unit that executes a first communication with the first external device using the second version of the predetermined communication protocol via the communication interface, In the first communication, when an error notification is received from the first external device, a second negotiation including second version information different from the first version information via the communication interface A second request transmission unit that transmits a request to the first external device, wherein the second version information is such that the communication device can use the first version of the predetermined communication protocol. The second request transmitting unit, and in response to the second negotiation request being transmitted to the first external device, the first external device sends the first When a response indicating that the external device can use the first version of the predetermined communication protocol is received, the external device uses the first version of the predetermined communication protocol via the communication interface. And a second communication execution unit that executes a second communication with the first external device.
上記の構成によると、通信装置は、第2のバージョンの所定の通信プロトコルを利用した第1の外部装置との第1の通信において、第1の外部装置からエラー通知を受信する場合に、第2のバージョン情報を含む第2のネゴシエーション要求を第1の外部装置に送信する。そして、通信装置は、第1の外部装置から、第1の外部装置が第1のバージョンの所定の通信プロトコルを利用可能であることを示す応答を受信すると、第1のバージョンの所定の通信プロトコルを利用した第1の外部装置との第2の通信を実行する。この場合、第2のバージョンよりも古い第1のバージョンの所定の通信プロトコルを利用した第2の通信が実行されるので、第1の外部装置からエラー通知を受信しない可能性が高くなり得る。従って、通信装置は、ネゴシエーションが正常に実行されたにも関わらず、第1の外部装置からエラー通知が受信される場合に、第1の外部装置との通信を適切に実行し得る。 According to the above configuration, in the first communication with the first external device using the second version of the predetermined communication protocol, when the communication device receives an error notification from the first external device, A second negotiation request including version information of the second negotiation is transmitted to the first external device. When the communication device receives a response from the first external device indicating that the first external device can use the first version of the predetermined communication protocol, the communication device receives the first version of the predetermined communication protocol. To perform a second communication with the first external device using the communication. In this case, since the second communication using the predetermined communication protocol of the first version that is older than the second version is performed, the possibility of not receiving an error notification from the first external device may increase. Therefore, the communication device can appropriately execute communication with the first external device when an error notification is received from the first external device even though the negotiation has been normally performed.
上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信装置と第1の外部装置とを備える通信システムも、新規で有用である。 A control method for realizing the above communication device, a computer program, and a computer-readable recording medium storing the computer program are also novel and useful. Further, a communication system including the above communication device and the first external device is also new and useful.
(実施例)
(通信システム2の構成;図1)
図1に示すように、通信システム2は、多機能機10(以下では「MFP(Multi-Function Peripheralの略)」と呼ぶ)と、PC60と、複数個のサーバ100A〜100Eと、を備える。MFP10とPC60と各サーバ100A〜100Eは、同じLAN(Local Area Networkの略)4に所属しており、LAN4を介して相互に通信可能である。
(Example)
(Configuration of
As shown in FIG. 1, the
(MFP10の構成)
MFP10は、印刷機能、スキャン機能、及び、ウェブサーバ機能を含む多機能を実行可能な周辺装置である。ウェブサーバ機能は、外部機器がMFP10のウェブサーバにアクセスすることによって、ウェブページを表わすウェブページデータを外部機器に送信する機能である。MFP10は、ファイル共有プロトコルであるSMB(Service Message Blockの略)を利用可能である。特に、MFP10は、SMB1.0、SMB2.0、SMB2.1、及び、SMB3.0を利用可能である。SMBの後の値は、SMBプロトコルのバージョンを示しており、バージョンの値が大きい程、新しいバージョンであることを意味する。なお、SMBプロトコルのバージョンに表わす用語として、「ダイアレクト」という用語が使用されることもある。
(Configuration of MFP 10)
The MFP 10 is a peripheral device that can execute multiple functions including a printing function, a scanning function, and a web server function. The web server function is a function of transmitting web page data representing a web page to an external device when the external device accesses a web server of
MFP10は、操作部12と、表示部14と、印刷実行部16と、スキャン実行部18と、通信インタフェース(以下ではインタフェースを「I/F」と記載する)20と、制御部30と、を備える。
The MFP 10 includes an
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネル(即ち、操作部)としても機能する。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部18は、CCD、CIS等のスキャン機構である。
The
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、プロファイルテーブル38(図2参照)と、IPアドレス40と、を記憶している。IPアドレス40は、MFP10に割当てられているIPアドレスである。
The
(サーバ100A〜100Eの構成)
サーバ100Aは、ファイル共有のための共有フォルダを格納するサーバである。サーバ100Aには、サーバ名「server1」が割当てられている。サーバ100Aは、SMBプロトコルを利用可能であり、特に、SMB1.0のみを利用可能である(即ち、SMB1.0より新しいバージョンを利用不可能である)。サーバ100Aは、認証テーブル110A(図2参照)を記憶する。
(Configuration of
The
サーバ100B〜100Eは、利用可能なSMBプロトコルのバージョンが異なる点を除いて、サーバ100Aと同様の構成を備える。サーバ100B、100C、100D、100Eには、それぞれ、サーバ名「server2」、「server3」、「server4」、「server5」が割当てられている。サーバ100B、100Eは、SMB1.0及びSMB2.0を利用可能であり(即ち、SMB2.0より新しいバージョンを利用不可能である)、サーバ100C、100Dは、SMB1.0、SMB2.0、及び、SMB2.1を利用可能である(即ち、SMB2.1より新しいバージョンを利用不可能である)。なお、SMBプロトコルのバージョンが2.0より新しいバージョンにおいて、SMBプロトコルの解釈には幅がある。このため、同じバージョンのSMBプロトコルに対応するプログラムであっても、プログラムの内容がベンダ毎に異なり得る。本実施例において、サーバ100A〜100Cは、同じベンダによって提供されるサーバである。サーバ100C、100D、100Eは、それぞれ異なるサーバによって提供されるサーバである。そして、サーバ100Cに実装されているSMB2.1に対応するプログラムは、MFP10に実装されているSMB2.1に対応するプログラムとの整合が取れている。一方、サーバ100Dに実装されているSMB2.1に対応するプログラムは、MFP10に実装されているSMB2.1に対応するプログラムとの整合が取れていない。また、サーバ100B、100Dに実装されているSMB2.0に対応するプログラムは、MFP10に実装されているSMB2.0に対応するプログラムとの整合が取れている。一方、サーバ100Eに実装されているSMBプロトコル2.0に対応するプログラムは、不具合を起こしているか、又は、MFP10に実装されているSMB2.0に対応するプログラムとの整合が取れていない。
The
(各テーブル38、110Aの内容;図2)
続いて、図2を参照して、MFP10内のプロファイルテーブル38、及び、サーバ100A内の認証テーブル110Aの内容を説明する。
(Contents of tables 38 and 110A; FIG. 2)
Next, the contents of the profile table 38 in the
MFP10のプロファイルテーブル38では、プロファイル名(プロファイル1〜5)とプロファイル情報とが対応付けて記憶される。プロファイル情報は、ネットワークフォルダパス、ユーザ名、パスワード、及び、SMBバージョンを含む。プロファイル名は、プロファイル情報を識別する名称であり、MFP10の出荷時から予め登録されている。なお、変形例では、ユーザが、ユーザ名、パスワードをプロファイルテーブル38に登録するときに、プロファイル名を新たに作成できてもよい。ネットワークフォルダパスは、サーバ内の共有フォルダのパスである。ユーザ名及びパスワードは、ユーザを識別する情報である。SMBバージョンは、サーバとの通信に利用されるべきSMBプロトコルのバージョンを示す情報である。プロファイルテーブル38は、スキャン_to_Network機能を実行する際に利用される。当該機能は、スキャンデータをサーバ内の共有フォルダに格納させる機能である。
In the profile table 38 of the
サーバ100Aの認証テーブル110Aは、サーバ100A内の共有フォルダへのアクセスを許容するのか否かを示すテーブルである。認証テーブル110Aでは、ユーザ名と、パスワードと、共有フォルダ「shared11」へのアクセス情報と、共有フォルダ「shared12」へのアクセス情報と、が対応付けて記憶されている。アクセス情報は、共有フォルダへのアクセスが許可されていることを示す「OK」と、共有フォルダへのアクセスが禁止されていることを示す「NG」と、のどちらかの値を有する。認証テーブル110A内の情報は、サーバ100Aの管理者によって設定される。なお、サーバ100B〜100Eも認証テーブル110Aと同様の認証テーブルを記憶する。
The authentication table 110A of the
(具体的なケース;図3〜図9)
図3〜図9を参照して、本実施例の通信システム2によって実現される具体的なケースA〜Fについて説明する。
(Specific case; FIGS. 3 to 9)
With reference to FIGS. 3 to 9, specific cases A to F realized by the
(ケースA;図3)
図3を参照して、プロファイルテーブル38(図2参照)のプロファイル1に対応付けてプロファイル情報を登録するケースAについて説明する。ケースAでは、サーバ100Aの共有フォルダ「shared11」にスキャンデータを格納させるためのプロファイル情報が登録される。ケースAの初期状態では、MFP10のプロファイルテーブル38(図2参照)には、1個のプロファイル情報も登録されていない。また、サーバ100Aの認証テーブル110A(図2参照)には、ユーザ名「UUU1」及びパスワード「PPP1」が登録済であり、ユーザ名「UUU1」には、共有フォルダ「shared11」へのアクセス情報として「OK」が設定されている。なお、MFP10によって実行される以下の全ての通信は、通信I/F20を介して実行される。従って、以下では、「通信I/F20を介して」という説明を省略する。
(Case A; FIG. 3)
A case A in which profile information is registered in association with
PC60は、T10において、Webブラウザが起動されている状態でMFP10のIPアドレス40の入力を受け付けると、T12において、トップ画面データ要求をMFP10に送信し、T14において、MFP10からトップ画面データを受信し、T16において、トップ画面データによって表わされるトップ画面D1を表示する。図12(A)に示されるように、画面D1は、基本情報欄と、スキャンタブと、を含む。基本情報欄には、MFP10の現在のステータスとインク残量とが記述されている。
When receiving the input of the IP address 40 of the
PC60は、T20において、トップ画面D1内のスキャンタブが操作されると、T22において、選択画面データ要求をMFP10に送信し、T24において、MFP10から選択画面データを受信し、T26において、選択画面データによって表わされるプロファイル選択画面D2を表示する。図12(B)に示されるように、画面D2には、5個のプロファイル名(即ちプロファイル1〜5)が記述されている。
When the scan tab in the top screen D1 is operated at T20, the
PC60は、T30において、プロファイル1を選択するための操作を受け付けると、T32において、設定画面データ要求をMFP10に送信し、T34において、MFP10から設定画面データを受信し、T36において、設定画面データによって表わされる設定画面D3を表示する。図12(C)に示されるように、画面D3は、プロファイル1と、ネットワークフォルダパス入力欄と、ユーザ名入力欄と、パスワード入力欄と、テスト接続ボタンと、キャンセルボタンと、を含む。
When receiving the operation for selecting the
PC60は、T40において、ネットワークフォルダパス「\\server1\shared11」、ユーザ名「UUU1」、及び、パスワード「PPP1」が画面D3に入力され、T42において、画面D3内のテスト接続ボタンが操作されると、T50において、「プロファイル1」、「\\server1\shared11」、「UUU1」、及び、「PPP1」を含むテスト接続要求をMFP10に送信する。
In T40, the network folder path “\\ server1 \ shared11”, the user name “UUU1”, and the password “PPP1” are input to the screen D3 at T40, and the test connection button in the screen D3 is operated at T42. At T50, a test connection request including “
MFP10は、T50において、PC60からテスト接続要求を受信すると、T52において、接続画面データをPC60に送信する。
Upon receiving the test connection request from the
PC60は、T52において、MFP10から接続画面データを受信すると、T54において、接続画面データによって表わされる接続画面D4を表示する。図12(D)に示されるように、画面D4は、プロファイル1と、テスト接続が実行されていることを示すメッセージと、キャンセルボタンと、を含む。ここで、「テスト接続」は、サーバ内の共有フォルダにアクセス可能であるのか否かを確認するための処理である。
Upon receiving the connection screen data from the
MFP10は、T60において、バージョン情報を含むNegotiate要求をサーバ100Aに送信する。Negotiate要求は、MFP10とサーバ100Aとの間の通信で利用されるSMBプロトコルのバージョンを決定するためのネゴシエーションの要求である。バージョン情報は、MFP10が利用可能なSMBプロトコルのバージョンを示す情報であり、T60で送信されるバージョン情報は、「SMB2.?」、「SMB2.0」、及び、「SMB1.0」を含む。「SMB2.?」は、「SMB2.1」以上のバージョンを利用可能であることを示す情報である。
At T60,
サーバ100Aは、T60において、MFP10からNegotiate要求を受信すると、当該要求内のバージョン情報を利用して、MFP10との通信に利用するSMBプロトコルのバージョンを決定する。サーバ100Aは、「SMB1.0」のみを利用可能であり、かつ、「SMB1.0」がバージョン情報に含まれているので、「SMB1.0」を利用することを決定する。そして、サーバ100Aは、T62において、「SMB1.0」を含むNegotiate応答をMFP10に送信する。
Upon receiving the Negotiate request from the
MFP10は、T62において、サーバ100AからNegotiate応答を受信する。MFP10は、Negotiate応答が「SMB1.0」を含むので、その後のサーバ100Aとの通信において利用されるSMBプロトコルのバージョンとして「SMB1.0」を決定する。次いで、MFP10は、T70において、テスト接続要求内のユーザ名「UUU1」及びパスワード「PPP1」を含むSession Setup要求をサーバ100Aに送信する。Session Setup要求は、サーバとのセッションを確立するための要求である。
At T62, the
サーバ100Aは、T70において、MFP10からSession Setup要求を受信すると、当該要求内のユーザ名「UUU1」及びパスワード「PPP1」が、認証テーブル110Aに登録されているユーザ名及びパスワードに一致すると判断し、T72において、ステータス「SUCCESS」を含むSession Setup応答をMFP10に送信する。
Upon receiving the Session Setup request from the
MFP10は、T72において、サーバ100AからSession Setup応答を受信すると、当該応答がステータス「SUCCESS」を含むので、サーバ100Aとのセッションの確立が成功したと判断する。そして、MFP10は、T80において、テスト接続要求内のネットワークフォルダパス「\\server1\shared11」を含むTree Connect要求をサーバ100Aに送信する。Tree Connect要求は、当該要求内のネットワークフォルダパス(即ち共有フォルダ)へのアクセスが許可されているのか否かを確認するための要求である。
Upon receiving the Session Setup response from the
サーバ100Aは、T80において、MFP10からTree Connect要求を受信すると、認証テーブル110Aにおいてユーザ名「PPP1」に対応付けられているネットワークフォルダパス「\\server1\shared11」のアクセス情報が「OK」であることを特定し、当該ネットワークフォルダパスへのアクセスが許可されていると判断する。そして、サーバ100Aは、T82において、ステータス「SUCCESS」を含むTree Connect応答をMFP10に送信する。
When the
MFP10は、T82において、サーバ100AからTree Connect応答を受信すると、当該応答がステータス「SUCCESS」を含むので、テスト接続が成功したと判断する。そして、MFP10は、T84において、プロファイルテーブル38内のプロファイル1に対応付けて、ネットワークフォルダパス「\\server1\shared11」、ユーザ名「UUU1」、及び、パスワード「PPP1」を含むプロファイル情報を登録する。なお、MFP10は、プロファイル1のSMBバージョンに情報を登録しない。また、MFP10は、T90において、テスト接続が成功したことを示す成功通知をPC60に送信する。
Upon receiving the Tree Connect response from the
PC60は、T90において、成功通知を受信すると、T92において、接続成功画面D5を表示する。図12(E)に示すように、画面D5は、テスト接続が成功したことを示すメッセージと、OKボタンと、を含む。これにより、PC60のユーザは、サーバ100Aへのテスト接続が成功したこと、及び、プロファイル1の登録が完了したことを知ることができる。これにより、プロファイル1を利用したスキャン_to_Network機能が利用可能になる。
Upon receiving the success notification at T90, the
(ケースB;図4)
続いて、図4を参照して、プロファイルテーブル38(図2参照)のプロファイル2に対応付けてプロファイル情報を登録するケースBについて説明する。ケースBでは、サーバ100Bの共有フォルダ「shared21」にスキャンデータを格納させるためのプロファイル情報が登録される。ケースBは、ケースAの後の状態であり、プロファイルテーブル38のプロファイル1にプロファイル情報が登録されている(図3のT84参照)。また、サーバ100B内の認証テーブルには、ユーザ名「UUU1」及びパスワード「PPP1」が登録済であり、ユーザ名「UUU1」には、共有フォルダ「shared21」へのアクセス情報として「OK」が設定されている。
(Case B; FIG. 4)
Next, a case B in which profile information is registered in association with
まず、PC60とMFP10との間で図3のT10〜T42と同様の処理が実行される。本ケースにおいて、PC60のユーザは、プロファイル選択画面D2(図12(B)参照)上のプロファイル2を操作し、設定画面D3(図12(C)参照)の各入力欄に、ネットワークフォルダパス「\\server2\shared21」、ユーザ名「UUU1」、及び、パスワード「PPP1」を入力する。
First, the same processing as T10 to T42 in FIG. 3 is executed between the
PC60は、T150において、「プロファイル2」、「\\server2\shared21」、「UUU1」、及び、「PPP1」を含むテスト接続要求をMFP10に送信する。T152、T154は、それぞれ、図3のT52、T54と同様である。T160は、通信対象がサーバ100Bである点を除いて、T60と同様である。
At T150,
サーバ100Bは、T160において、MFP10からNegotiate要求を受信すると、サーバ100Bが利用可能である「SMB1.0」及び「SMB2.0」が当該要求のバージョン情報に含まれていると判断する。次いで、サーバ100Bは、サーバ100Bが利用可能である「SMB1.0」及び「SMB2.0」のうち、最も新しいバージョン「SMB2.0」を利用することを決定する。そして、サーバ100Bは、T162において、「SMB2.0」を含むNegotiate応答をMFP10に送信する。T170、T172は、通信対象がサーバ100Bである点を除いて、それぞれ、図3のT70、T72と同様である。
Upon receiving the Negotiate request from
MFP10は、T180において、ネットワークフォルダパス「\\server2\shared21」及びCredit Request数「2」を含むTree Connect要求をサーバ100Bに送信する。Credit Request数は、SMBプロトコルを利用した通信において、クライアントとして動作する機器(例えばMFP10)がサーバとして動作する機器(例えばサーバ100B)に要求するCredit数を示す情報である。クライアントして動作する機器は、Credit Requestの送信に応じて、サーバとして動作する機器から、Credit Granted数を受信する。クライアントして動作する機器は、受信されるCredit Granted数の数だけ、サーバとして動作する機器に要求信号を同時に送信することができる。なお、本実施例では、MFP10は、予め決められているCredit Request数「2」を送信する。
At T180, the
サーバ100Bは、T182において、MFP10から、Tree Connect要求を受信すると、サーバ100Bの認証テーブルにおいてユーザ名「PPP1」に対応付けられているネットワークフォルダパス「\\server2\shared21」のアクセス情報が「OK」であることを特定し、当該ネットワークフォルダパスへのアクセスが許可されていると判断する。また、サーバ100Bは、Credit Grated数として「2」を特定する。そして、サーバ100Bは、T182において、ステータス「SUCCESS」及びCredit Granted数「2」を含むTree Connect応答をMFP10に送信する。
Upon receiving the Tree Connect request from the
MFP10は、T184において、プロファイルテーブル38内のプロファイル2に対応付けて、ネットワークフォルダパス「\\server2\shared21」、ユーザ名「UUU1」、及び、パスワード「PPP1」を含むプロファイル情報を登録する。なお、MFP10は、プロファイル2のSMBバージョンに情報を登録しない。T190、T192は、それぞれ、図3のT90、T92と同様である。これにより、プロファイル2を利用したスキャン_to_Network機能が利用可能になる。
At T184, the
(ケースC;図5)
続いて、図5を参照して、プロファイルテーブル38(図2参照)のプロファイル3に対応付けてプロファイル情報を登録するケースCについて説明する。ケースCでは、サーバ100Cの共有フォルダ「shared31」にスキャンデータを格納させるためのプロファイル情報が登録される。ケースCは、ケースBの後の状態であり、プロファイルテーブル38のプロファイル1及び2にプロファイル情報が登録されている(図4のT184参照)。また、サーバ100C内の認証テーブルには、ユーザ名「UUU1」及びパスワード「PPP1」が登録済であり、ユーザ名「UUU1」には、共有フォルダ「shared31」へのアクセス情報として「OK」が設定されている。
(Case C; FIG. 5)
Next, a case C in which profile information is registered in association with the profile 3 of the profile table 38 (see FIG. 2) will be described with reference to FIG. In case C, profile information for storing the scan data in the shared folder “shared31” of the
まず、PC60とMFP10との間で図3のT10〜T42と同様の処理が実行される。本ケースにおいて、PC60のユーザは、プロファイル選択画面D2(図12(B)参照)上のプロファイル3を操作し、設定画面D3(図12(C)参照)の各入力欄に、ネットワークフォルダパス「\\server3\shared31」、ユーザ名「UUU1」、及び、パスワード「PPP1」を入力する。
First, the same processing as T10 to T42 in FIG. 3 is executed between the
PC60は、T250において、「プロファイル3」、「\\server3\shared31」、「UUU1」、及び、「PPP1」を含むテスト接続要求をMFP10に送信する。T252、T254は、それぞれ、図3のT52、T54と同様である。T260は、通信対象がサーバ100Cである点を除いて、T60と同様である。
At T250,
サーバ100Cは、T260において、MFP10からNegotiate要求を受信すると、サーバ100Cが利用可能である「SMB1.0」、「SMB2.0」、及び、「SMB2.1」が当該要求のバージョン情報に含まれていると判断する。次いで、サーバ100Cは、サーバ100Cが利用可能である「SMB1.0」、「SMB2.0」、及び、「SMB2.1」のうち、最も新しいバージョン「SMB2.1」を利用することを決定する。そして、サーバ100Cは、T262において、「SMB2.1」に対応する「SMB2.?」を含むNegotiate応答をMFP10に送信する。
Upon receiving the Negotiate request from
MFP10は、T262において、サーバ100CからNegotiate応答を受信すると、当該応答が「SMB2.?」を含むので、SMB2.1以上のバージョンを利用した通信が所望されていると判断する。この場合、MFP10は、MFP10が利用可能である「SMB1.0」、「SMB2.0」、「SMB2.1」、及び、「SMB3.0」の中から、「SMB2.1」以上のバージョン(即ち、「SMB2.1」及び「SMB3.0」)を特定する。次いで、MFP10は、T264において、GUID(Globally Unique Identifierの略)「XXX1」を生成する。GUIDは、MFP10を識別するためのランダムな文字列であり、MFP10の電源がONされた後において、「SMB2.1」及びそれより新しいバージョンを利用した通信を初めて行う際に生成される情報である。なお、変形例では、GUIDは、MFP10の電源がONされる際に生成されてもよい。そして、MFP10は、T266において、特定済みの「SMB2.1」及び「SMB3.0」を含むバージョン情報と、生成済みのGUID「XXX1」と、を含むNegotiate要求をサーバ100Cに送信する。
Upon receiving the Negotiate response from the
サーバ100Cは、T266において、MFP10からNegotiate要求を受信すると、T268において、当該要求内のGUID「XXX1」を記憶する。そして、サーバ100Cは、サーバ100Cが利用可能である「SMB2.1」が当該要求のバージョン情報に含まれていると判断し、「SMB2.1」を利用することを決定する。次いで、サーバ100Cは、T270において、「SMB2.1」を含むNegotiate応答をMFP10に送信する。T280〜T292は、通信対象がサーバ100Cである点を除いて、図4のT170〜T182と同様である。
Upon receiving the Negotiate request from
MFP10は、T292において、サーバ100Cからステータス「SUCCESS」を含むTree Connect応答を受信すると、T300において、T264で生成されたGUID「XXX1」を含むValidate Negotiate Info要求をサーバ100Cに送信する。Validate Negotiate Info要求は、「SMB2.1」及びそれより新しいバージョンにおいて通信される信号であり、Negotiate要求の送信元とValidate Negotiate Info要求の送信元とが同じであるのか否かを検証するための信号である。
Upon receiving the Tree Connect response including the status “SUCCESS” from the
サーバ100Cは、T300において、MFP10からValidate Negotiate Info要求を受信すると、当該要求内のGUID「XXX1」とT268で記憶されたGUID「XXX1」とが一致すると判断し、Negotiate要求の送信元とValidate Negotiate Info要求の送信元とが同じであると判断する。そして、サーバ100Cは、T302において、ステータス「SUCCESS」を含むValidate Negotiate Info応答をMFP10に送信する。
Upon receiving the Validate Negotiate Info request from the
MFP10は、T302において、サーバ100CからValidate Negotiate Info応答を受信すると、当該要求がステータス「SUCCESS」を含むので、サーバ100Cによる検証が成功したと判断する。そして、MFP10は、T304において、プロファイルテーブル38内のプロファイル3に対応付けて、ネットワークフォルダパス「\\server3\shared31」、ユーザ名「UUU1」、及び、パスワード「PPP1」を含むプロファイル情報を登録する。なお、MFP10は、プロファイル3のSMBバージョンに情報を登録しない。T310、T312は、それぞれ、図3のT90、T92と同様である。
Upon receiving the Validate Negotiate Info response from the
(ケースD;図6)
続いて、図6を参照して、プロファイルテーブル38(図2参照)のプロファイル4に対応付けてプロファイル情報を登録するケースDについて説明する。ケースDでは、サーバ100Dの共有フォルダ「shared41」にスキャンデータを格納させるためのプロファイル情報が登録される。ケースDは、ケースCの後の状態であり、プロファイルテーブル38のプロファイル1〜3にプロファイル情報が登録されている(図5のT304参照)。また、サーバ100D内の認証テーブルには、ユーザ名「UUU1」及びパスワード「PPP1」が登録済であり、ユーザ名「UUU1」には、共有フォルダ「shared41」へのアクセス情報として「OK」が設定されている。また、MFP10は、GUID「XXX1」を生成済みである(図5のT264参照)。
(Case D; FIG. 6)
Next, a case D in which profile information is registered in association with the profile 4 of the profile table 38 (see FIG. 2) will be described with reference to FIG. In case D, profile information for storing scan data in the shared folder “shared41” of the
まず、PC60とMFP10との間で図3のT10〜T42と同様の処理が実行される。本ケースにおいて、PC60のユーザは、プロファイル選択画面D2(図12(B)参照)上のプロファイル4を操作し、設定画面D3(図12(C)参照)の各入力欄に、ネットワークフォルダパス「\\server4\shared41」、ユーザ名「UUU1」、及び、パスワード「PPP1」を入力する。
First, the same processing as T10 to T42 in FIG. 3 is executed between the
PC60は、T450において、「プロファイル4」、「\\server4\shared41」、「UUU1」、及び、「PPP1」を含むテスト接続要求をMFP10に送信する。T452、T454は、それぞれ、図5のT252、T254と同様である。T460、T462、T466は、通信対象がサーバ100Dである点を除いて、それぞれ、T260、T262、T266と同様である。
At T450,
サーバ100Dは、MFP10とは異なるベンダによって提供されるために、「SMB2.1」を利用可能であるにも関わらず、GUIDを利用するためのプログラムを備えない。このため、サーバ100Dは、T466において、MFP10からGUID「XXX1」を含むNegotiate要求を受信しても、当該GUIDを記憶することなく、T470において、「SMB2.1」を含むNegotiate要求をMFP10に送信する。
Since the
T480〜T500は、通信対象がサーバ100Dである点を除いて、図5のT280〜T300と同様である。上述のように、サーバ100Dは、GUIDを利用するためのプログラムを備えない。このため、サーバ100Dは、T500において、MFP10からValidate Negotiate Info要求を受信しても、当該要求を解釈することができない。この場合、サーバ100Dは、T502において、TCP RST信号をMFP10に送信する。当該TCP RST信号は、MFP10とのセッションの切断を要求するための信号であり、かつ、サーバ100DがValidate Negotiate Info要求を解釈不可能であることを示す信号である。なお、Negotiate要求、Negotiate応答、Session Setup要求、Session Setup受信、Tree Connect要求、Tree Connect応答、Validate Negotiate Info要求、及び、Validate Negotiate Info応答は、OSI参照モデルのアプリケーション層を利用して通信される信号であり、TCP RST信号は、アプリケーション層よりも下位層であるトランスポート層を利用して通信される信号である。
T480 to T500 are the same as T280 to T300 in FIG. 5 except that the communication target is the
MFP10は、T502において、サーバ100DからTCP RST信号を受信すると、「SMB2.1」を利用したサーバ100Dとのテスト接続が失敗したと判断し、T510において、第1接続失敗画面データを含む失敗通知をPC60に送信する。
Upon receiving the TCP RST signal from
PC60は、T510において、MFP10から失敗通知を受信すると、T512において、当該通知内の第1接続失敗画面データによって表わされる第1接続失敗画面D7を表示する。図13(A)に示されるように、画面D7は、「SMB2.1」を利用したテスト接続が失敗したことを示すメッセージと、「SMB2.1」よりも古いバージョンである「SMB2.0」でのテスト接続を試行するのか否かを問い合わせるメッセージと、「はい」及び「いいえ」に対応する2個のチェックボックスと、OKボタンと、を含む。このため、ユーザは、より古いバージョンのSMBプロトコルを利用したテスト接続をMFP10に実行させるのか否かを選択することができる。PC60は、T514において、「はい」に対応するチェックボックスへのチェックの付与を受け付け、OKボタンの操作を受け付けると、T516において、「プロファイル4」、「\\server4\shared41」、「UUU1」、及び、「PPP1」を含む再テスト接続要求をMFP10に送信する。T518、T520は、それぞれ、T452、T454と同様である。
Upon receiving the failure notification from the
MFP10は、T516において、PC60から再テスト接続要求を受信すると、1回目のテスト接続が失敗した「SMB2.1」よりも古いバージョンの「SMB2.0」を利用した2回目のテスト接続が要求されていると判断し、T530において、「SMB2.0」及び「SMB1.0」を含むNegotiate要求をサーバ100Dに送信する。即ち、T530で送信されるNegotiate要求は、MFP10が「SMB2.1」を利用可能であるにも関わらず、1回目のテスト接続が失敗した「SMB2.1」に対応する「SMB2.?」を含まない。このため、2回目のテスト接続において「SMB2.1」を利用した通信が実行されることを防止することができ、テスト接続が繰り返し失敗する可能性を低減することができる。
In T516, when the
サーバ100Dは、T530において、MFP10からNegotiate要求を受信すると、「SMB2.0」を利用することを決定し、T532において、「SMB2.0」を含むNegotiate応答をMFP10に送信する。T540〜T562は、通信対象がサーバ100Dである点を除いて、図4のT170〜T192と同様である。なお、MFP10は、T554において、プロファイルテーブル38内のプロファイル4に対応付けて、ネットワークフォルダパス「\\server4\shared41」、ユーザ名「UUU1」、パスワード「PPP1」、及び、「SMB2.0」を含むプロファイル情報を登録する。即ち、プロファイルテーブル38のSMBバージョンに「SMB2.0」が登録される。
Upon receiving the Negotiate request from
(ケースE;図7)
続いて、図7を参照して、プロファイルテーブル38のプロファイル5に対応付けてプロファイル情報を登録するケースDについて説明する。ケースEでは、サーバ100Eの共有フォルダ「shared51」にスキャンデータを格納させるためのプロファイル情報が登録される。ケースEは、ケースDの後の状態であり、プロファイルテーブル38のプロファイル1〜4にプロファイル情報が登録されている(図6のT554参照)。また、サーバ100E内の認証テーブルには、ユーザ名「UUU1」及びパスワード「PPP1」が登録済であり、ユーザ名「UUU1」には、共有フォルダ「shared51」へのアクセス情報として「OK」が設定されている。
(Case E; FIG. 7)
Next, a case D in which profile information is registered in association with the profile 5 of the profile table 38 will be described with reference to FIG. In case E, profile information for storing the scan data in the shared folder “shared51” of the
まず、PC60とMFP10との間で図3のT10〜T42と同様の処理が実行される。本ケースにおいて、PC60のユーザは、プロファイル選択画面D2(図12(B)参照)上のプロファイル5を操作し、設定画面D3(図12(C)参照)の各入力欄に、ネットワークフォルダパス「\\server5\shared51」、ユーザ名「UUU1」、及び、パスワード「PPP1」を入力する。
First, the same processing as T10 to T42 in FIG. 3 is executed between the
PC60は、T650において、「プロファイル5」、「\\server5\shared51」、「UUU1」、及び、「PPP1」を含むテスト接続要求をMFP10に送信する。T652〜T680は、通信対象がサーバ100Eである点を除いて、図4のT152〜T180と同様である。
At T650,
サーバ100Eは、T680において、MFP10からTree Connect要求を受信すると、T670及びT672において、MFP10とのセッションの確立が成功しているにも関わらず、T682において、ステータス「USER_SESSION_DELETED」を含むTree Connect応答をMFP10に送信する。当該ステータスは、MFP10とサーバ100Eとの間のセッションが切断されたことを示す情報である。なお、このようなTree Connect応答がサーバ100Eから送信される理由としては、例えば、サーバ100Eに実装されているプログラムが不具合を起こしていること、MFP10に実装されているプログラムとサーバ100Eに実装されているプログラムとの間の整合が取れていないこと、Tree Connect要求内のCredit Request数が、サーバ100Eが許容可能なCredit数の上限よりも大きいこと、等を挙げることができる。
Upon receiving the Tree Connect request from
MFP10は、T682において、サーバ100EからTree Connect応答を受信すると、当該応答がステータス「USER_SESSION_DELETED」を含むために、「SMB2.0」を利用したサーバ100Eとのテスト接続が失敗したと判断し、T690において、第2接続失敗画面データを含む失敗通知をPC60に送信する。
Upon receiving the Tree Connect response from the
PC60は、T690において、MFP10から失敗通知を受信すると、T692において、当該通知内の第2接続失敗画面データによって表わされる第2接続失敗画面D8を表示する。図13(B)に示されるように、画面D8は、「SMB2.0」を利用したテスト接続が失敗したことを示すメッセージと、「SMB2.0」よりも古いバージョンである「SMB1.0」でのテスト接続を試行するのか否かを問い合わせるメッセージと、セキュリティ強度の低下が懸念されることを示すメッセージと、「はい」及び「いいえ」に対応する2個のチェックボックスと、OKボタンと、を含む。図13(A)に示される第1接続失敗画面D7とは異なり、第2接続失敗画面D8は、セキュリティ強度の低下が懸念されることを示すメッセージを含む。このため、ユーザは、「SMB1.0」を利用することによってセキュリティ強度が低下することを知ることができる。なお、変形例では、第1接続失敗画面D7も、セキュリティ強度の低下が懸念されることを示すメッセージを含んでいてもよい。PC60は、T694において、「はい」に対応するチェックボックスへのチェックの付与を受け付け、OKボタンの操作を受け付けると、T696において、「プロファイル5」、「\\server5\shared51」、「UUU1」、及び、「PPP1」、及び、「SMB1.0」を含む再テスト接続要求をMFP10に送信する。T698、T700は、それぞれ、T652、T654と同様である
Upon receiving the failure notification from the
MFP10は、T696において、PC60から再テスト接続要求を受信すると、1回目のテスト接続が失敗した「SMB2.0」よりも古いバージョンの「SMB1.0」を利用した2回目のテスト接続の実行が要求されていると判断し、T710において、「SMB1.0」を含むNegotiate要求をサーバ100Eに送信する。即ち、T710で送信されるNegotiate要求は、MFP10が「SMB2.0」、「SMB2.1」、及び、「SMB3.0」を利用可能であるにも関わらず、1回目のテスト接続が失敗した「SMB2.0」と、それより新しい「SMB2.?」と、を含まない。このため、2回目のテスト接続において「SMB2.0」を利用した通信が実行されることを防止することができ、テスト接続が失敗する可能性を低減することができる。
Upon receiving the retest connection request from the
サーバ100Eは、T710において、MFP10からNegotiate要求を受信すると、「SMB1.0」を利用することを決定し、T712において、「SMB1.0」を含むNegotiate応答をMFP10に送信する。T720〜T742は、通信対象がサーバ100Eである点を除いて、図3のT70〜T92と同様である。なお、MFP10は、T734において、プロファイルテーブル38内のプロファイル5に対応付けて、ネットワークフォルダパス「\\server5\shared51」、ユーザ名「UUU1」、パスワード「PPP1」、及び、「SMB1.0」を含むプロファイル情報を登録する。
Upon receiving the Negotiate request from
(ケースF;図8)
続いて、図8を参照して、MFP10がスキャン_to_Network機能を実行するケースFについて説明する。ケースFは、ケースEの後の状態であり、MFP10のプロファイルテーブル38(図2参照)のプロファイル1〜5にプロファイル情報が登録されている(図7のT734参照)。
(Case F; FIG. 8)
Next, a case F in which the
MFP10は、T800において、画面表示操作を操作部12によって受け付けると、T802において、機能選択画面D11を表示する。図14(A)に示されるように、画面D11は、Copyボタンと、Scanボタンと、設定ボタンと、を含む。Copyボタンは、コピー機能の利用を選択するためのボタンであり、Scanボタンは、スキャン機能の利用を選択するためのボタンであり、設定ボタンは、MFP10のネットワーク設定等を実行するためのボタンである。
When the screen display operation is received by the
MFP10は、T804において、Scanボタンへの操作を受け付けると、T806において、送信先選択画面D12を表示する。図14(B)に示されるように、画面D12は、「To e-mail」ボタンと、「To Network」ボタンと、「To USB」ボタンと、を含む。「To e-mail」ボタンは、スキャンデータが添付された電子メールを送信することを選択するためのボタンである。「To Network」ボタンは、スキャンデータをネットワーク上のサーバに送信することを選択するためのボタン、即ち、スキャン_to_Network機能の実行を選択するためのボタンでもある。「To USB」ボタンは、スキャンデータをUSBに送信するためのボタンである。
Upon receiving an operation on the Scan button in T804, the
MFP10は、T808において、「To Network」ボタンへの操作を受け付けると、T810において、プロファイル選択画面D13を表示する。図14(C)に示されるように、画面D13は、プロファイル情報が登録済みであるプロファイル1〜5を含む。MFP10は、T812において、プロファイル5への操作を受け付けると、T814において、プロファイル5を含む近接スキャン指示を取得し、T816において、MFP10にセットされている原稿のスキャンを開始し、T818において、スキャン画面D14を表示する。図14(D)に示されるように、画面D14は、原稿のスキャンを実行中であることを示すメッセージを含む。MFP10は、T820において、スキャンデータの生成が完了すると、T822において、データ送信画面D15を表示する。図14(E)に示されるように、画面D15は、スキャンデータを送信中であることを示すメッセージを含む。
Upon receiving the operation on the “To Network” button in T808, the
MFP10は、プロファイルテーブル38において、プロファイル5のSMBバージョンに「SMB1.0」が記憶されていること、及び、プロファイル5のネットワークフォルダパスがサーバ100Eのサーバ名「server5」を含むことを特定する。そして、MFP10は、T830において、SMB「2.?」及び「SMB2.0」を含まず、かつ、特定済みのSMB「1.0」のみを含むNegotiate要求を特定済みのサーバ100Eに送信する。その後のT832〜T852は、図7のT712〜T732と同様である。これにより、スキャンデータをサーバ100Eに送信可能な状態となる。
In the profile table 38, the
T860において、MFP10とサーバ100Eとの間でスキャンデータ送信処理が実行され、MFP10からサーバ100Eにスキャンデータが送信される。MFP10側から見ると、スキャンデータ送信処理は、Create File要求の送信、その応答の受信、Write File要求の送信、その応答の受信を含む。これにより、サーバ100Eは、スキャンデータを受信し、T862において、共有フォルダ「shared51」にスキャンデータを保存する。
At T860, scan data transmission processing is performed between
MFP10は、サーバ100Eとのスキャンデータ送信処理が完了すると、完了画面D16を表示する。図14(F)に示されるように、画面D16は、サーバ100Eへのスキャンデータの送信が終了したことを示すメッセージを含む。これにより、ユーザは、サーバ100E内の共有フォルダ「shared51」にスキャンデータが保存されたことを知ることができる。その後、ユーザは、例えばPC60を利用して、フォルダ「shared51」にアクセスすることによって、スキャンデータを利用することができる。
When the scan data transmission process with the
仮に、図7のT734において「SMB1.0」が記憶されない場合、MFP10は、T830において、バージョン情報として「SMB2.?」、「SMB2.0」、及び、「SMB1.0」を含むNegotiate要求をサーバ100Eに送信する。この場合、MFP10とサーバ100Eとの間で「SMB2.0」を利用した通信(T670〜T682)が実行される。即ち、MFP10は、サーバ100Eからステータス「USER_SESSION_DELETED」を含むTree Connect応答を受信するために、共有フォルダ「shared51」にアクセスすることができず、スキャンデータをサーバ100Eに送信しない。一方、本実施例では、図7のT734において「SMB1.0」が記憶されている。この場合、MFP10は、T830において、「SMB1.0」のみを含むNegotiate要求をサーバ100Eに送信する。このため、MFP10とサーバ100Eとの間で「SMB1.0」を利用した通信(T840〜T852)が実行される。従って、MFP10は、サーバ100Eの共有フォルダ「shared51」にアクセスすることができ、スキャンデータをサーバ100Eに送信する。この結果、サーバ100Eの共有フォルダ「shared51」にスキャンデータが保存される。従って、MFP10は、プロファイルテーブル38にSMBプロトコルのバージョンを記憶することで、サーバ100Eとの通信を適切に実行することができる。
If “SMB1.0” is not stored in T734 of FIG. 7, in T830, the
また、仮に、T812でプロファイル4が操作される場合、MFP10は、プロファイル4を含む近接スキャン指示を取得し、プロファイルテーブル38において、プロファイル4のSMBバージョンに「SMB2.0」が記憶されていることを特定し、特定済みの「SMB2.0」のみを含むNegotiate要求をサーバ100Dに送信する。その後、MFP10とサーバ100Dとの間で図6のT532〜T552及びT860と同様の処理が実行され、サーバ100D内の共有フォルダ「shared41」にスキャンデータが保存される。従って、MFP10は、サーバ100D、100Eのそれぞれに適したバージョンのSMBプロトコルを利用して、スキャンデータを共有フォルダに適切に格納させることができる。
Further, if the profile 4 is operated in T812, the
(ケースG;図9)
続いて、図9を参照して、MFP10のウェブサーバに対するアクセスが実行されることによって、スキャン_to_Network機能の実行が要求されるケースGについて説明する。図9の初期状態は、図8の初期状態と同様である。
(Case G; FIG. 9)
Next, a case G in which execution of the scan_to_Network function is requested by accessing the web server of the
T900〜T926は、図3のT10〜T26と同様である。PC60は、T930において、プロファイル5への操作を受け付けると、T932において、スキャン選択画面データ要求をMFP10に送信し、T934において、MFP10からスキャン選択画面データを受信し、T936において、スキャン選択画面D6を表示する。図12(E)に示されるように、画面D6は、テスト接続ボタンの代わりにScanボタンが表示される点を除いて、設定画面D3と同様である。PC60は、T940において、Scanボタンへの操作を受け付けると、T942において、プロファイル5を含む遠隔スキャン指示をMFP10に送信する。
T900 to T926 are the same as T10 to T26 in FIG. Upon receiving the operation for profile 5 in T930, the
MFP10は、T942において、PC60から遠隔スキャン指示を受信すると、プロファイルテーブル38において、当該指示内のプロファイル5のSMBバージョンに「SMB1.0」が記憶されていること、及び、プロファイル5のネットワークフォルダパスがサーバ100Eのサーバ名「server5」を含むことを特定する。本ケースでは、MFP10は、SMBバージョンが「SMB1.0」であるために、スキャン_to_Network機能の実行を中止する。そして、MFP10は、T944において、エラー画面データをPC60に送信する。
Upon receiving the remote scan instruction from the
PC60は、T944において、MFP10からエラー画面データを受信すると、T946において、エラー画面を表示する。これにより、ユーザは、PC60を利用したスキャン_to_Network機能が制限されていることを知ることができる。
Upon receiving the error screen data from the
ケースF、Gに示されるように、MFP10は、プロファイルテーブル38内のSMBバージョンに「SMB1.0」が記憶されている状態において、近接スキャン指示が取得される場合に、スキャン_to_Network機能を実行し、遠隔スキャン指示が取得される場合に、スキャン_to_Network機能を実行しない。従って、遠隔スキャン指示が取得される場合に、セキュリティ強度の低い「SMB1.0」を利用した通信が実行されることを抑制することができる。
As shown in Cases F and G, the
(接続処理;図10)
続いて、図10を参照して、MFP10のCPU32によって実行される接続処理について説明する。ユーザによってMFP10の電源がONされると、図10の処理が開始される。
(Connection process; FIG. 10)
Subsequently, a connection process executed by the
S10において、CPU32は、PCからテスト接続要求を受信することを監視する。CPU32は、PCからテスト接続要求が受信される場合(S10でYES)に、S12に進む。テスト接続要求は、プロファイル名、ネットワークフォルダパス、ユーザ名、及び、パスワードを含む。
In S10, the
S12において、CPU32は、テスト接続処理(図11)を実行する。テスト接続処理は、サーバ内の共有フォルダにアクセス可能であるのか否かを確認するテスト接続を実行する処理である。S12が終了すると、図10の処理を終了する。
In S12, the
また、CPU32は、S10の監視と並行して、S20の監視を実行する。S20において、CPU32は、プロファイル名を含むスキャン指示を取得することを監視する。以下では、スキャン指示内のプロファイル名を、「スキャンプロファイル名」と呼ぶ。
Further, the
S22において、CPU32は、スキャン指示が遠隔スキャン指示であるのか否かを判断する。CPU32は、スキャン指示が遠隔スキャン指示である場合(S22でYES、図9のケースG)に、S24に進む。一方、CPU32は、スキャン指示が近接スキャン指示である場合(S22でNO、図8のケースF)に、S30に進む。
In S22, the
S24において、CPU32は、プロファイルテーブル38において、スキャンプロファイル名のSMBバージョンが「SMB1.0」であるのか否かを判断する。CPU32は、SMBバージョンが「SMB1.0」である場合(S24でYES)に、S26に進み、S26において、エラー処理を実行する。CPU32は、エラー処理において、スキャン_to_Network機能を実行することなく、エラー画面データを遠隔スキャン指示の送信元の機器に送信する。S26が終了すると、図10の処理を終了する。
In S24, the
一方、CPU32は、スキャンプロファイル名のSMBバージョンが「SMB2.0」以上、又は、空である場合(S24でNO)に、S30に進む。S30において、CPU32は、MFP10にセットされている原稿をスキャンするスキャン処理を実行する。
On the other hand, when the SMB version of the scan profile name is “SMB2.0” or more or is empty (NO in S24), the
S32において、CPU32は、プロファイルテーブル38のスキャンプロファイル名に対応するネットワークフォルダパスの共有フォルダにアクセスするためのサーバ接続処理を実行する。サーバ接続処理は、Negotiate処理、Session Setup処理、及び、Tree Connect処理を含む。また、サーバ接続処理は、Negotiate処理において「SMB2.1」以上のバージョンが利用されることが決定される場合に、Validate処理を含む。
In S32, the
S34において、CPU32は、スキャンデータをサーバに送信する。これにより、スキャンデータが、サーバ内の共有フォルダに保存される。S34が終了すると、図10の処理を終了する。
In S34, the
(テスト接続処理;図11)
続いて、図11を参照して、図10のS12で実行されるテスト接続処理について説明する。なお、以下では、テスト接続要求の送信元のPC、MFP10との通信が実行されるサーバを、それぞれ、「対象PC」、「対象サーバ」と呼ぶ。
(Test connection process; FIG. 11)
Subsequently, the test connection process executed in S12 of FIG. 10 will be described with reference to FIG. In the following, the PC that is the source of the test connection request and the server that performs communication with
CPU32は、S50において、対象サーバとのNegotiate処理を実行し、S52において、Negotiate処理が成功したのか否かを判断する。CPU32は、対象サーバにNegotiate要求を送信することに応じて、対象サーバからNegotiate応答が受信される場合に、Negotiate処理が成功したと判断し(S52でYES)、S60に進む。一方、CPU32は、対象サーバからTCP RST信号が受信される場合に、Negotiate処理が失敗したと判断し(S52でNO)、図11の処理を終了する。
The
CPU32は、S60において、対象サーバとのSession Setup処理を実行し、S62において、Session Setup処理が成功したのか否かを判断する。CPU32は、Session Setup処理において、対象サーバにSession Setup要求を送信することに応じて、対象サーバから、ステータス「SUCCESS」を含むSession Setup応答が受信される場合に、Session Setup処理が成功したと判断し(S62でYES)、S70に進む。一方、CPU32は、ステータス「SUCCESS」以外のステータス(例えば、「STATUS_LOGON_FAILURE」)を含むSession Setup応答又はTCP RST信号が受信される場合に、Session Setup処理が失敗したと判断し(S62でNO)、S100に進む。
The
CPU32は、S70において、対象サーバとのTree Connect処理を実行し、S72において、Tree Connect処理が成功したのか否かを判断する。CPU32は、Tree Connect処理において、対象サーバにTree Connect要求を送信することに応じて、対象サーバからTree Connect応答が受信される場合に、Tree Connect処理が成功したと判断し(S72でYES)、S80に進む。一方、CPU32は、Tree Connect処理において、ステータス「SUCCESS」以外のステータス(例えば、「BAD_NETWORK_NAME」)を含むTree Connect応答が受信される場合に、Tree Connect処理が失敗したと判断し(S72でNO)、S100に進む。
The
S80において、CPU32は、S50のNegotiate処理で決定されたSMBプロトコルのバージョンが「SMB2.1」以上であるのか否かを判断する。CPU32は、決定済みのバージョンが「SMB2.1」以上である場合(S80でYES)に、S82に進み、決定済みのバージョンが「SMB2.0」以下である場合(S80でNO)に、S82、S84をスキップして、S90に進む。
In S80, the
CPU32は、S82において、対象サーバとのValidate処理を実行し、S84において、Validate処理が成功したのか否かを判断する。CPU32は、Validate処理において、対象サーバにValidate Negotiate Info要求を送信することに応じて、対象サーバからValidate Negotiate Info応答が受信される場合に、Validate処理が成功したと判断し(S84でYES)、S90に進む。一方、CPU32は、対象サーバからTCP RST信号が受信される場合に、Validate処理が失敗したと判断し(S84でNO)、S102に進む。
In S82, the
S90において、CPU32は、プロファイル登録を実行する。CPU32は、プロファイルテーブル38において、テスト接続要求内のプロファイル名に対応付けて、テスト接続要求内のネットワークフォルダパス、ユーザ名、及び、パスワードを含むプロファイル情報を登録する。
In S90, the
また、S100において、CPU32は、Session Setup処理又はTree Connect処理の失敗が、再テスト接続対象の失敗であるのか否かを判断する。まず、S62でNOと判断された場合について説明する。CPU32は、TCP RST信号を受信することによってS62でNOと判断された場合に、再テスト接続対象の失敗であると判断し(S100でYES)、S102に進む。一方、CPU32は、ステータス「SUCCESS」以外のステータス(例えば、「STATUS_LOGON_FAILURE」)を含むSession Setup応答を受信することによってS62でNOと判断された場合に、再テスト接続対象の失敗ではないと判断し(S100でNO)、図11の処理を終了する。ステータス「STATUS_LOGON_FAILURE」は、ログイン名、又は、パスワードの入力が誤っている場合に通知されるエラーである。
In S100, the
次いで、S72でNOと判断された場合について説明する。CPU32は、ステータス「INVALID_PARAMETER」、「USER_SESSION_DELETED」、又は、「ACCESS_DENIED」を含むTree Connect応答を受信することによってS72でNOと判断された場合に、再テスト接続対象の失敗であると判断し(S100でYES)、S102に進む。一方、CPU32は、ステータス「BAD_NETWORK_NAME」を含むTree Connect応答を受信することによってS72でNOと判断された場合に、再テスト接続対象の失敗ではないと判断し(S100でNO)、図11の処理を終了する。ステータス「BAD_NETWORK_NAME」は、ネットワークフォルダパスの入力が誤っている場合に通知されるエラーである。
Next, a case in which NO is determined in S72 will be described. When receiving a Tree Connect response including the status “INVALID_PARAMETER”, “USER_SESSION_DELETED”, or “ACCESS_DENIED” and determining “NO” in S72, the
換言すると、S100でNOと判断される失敗は、ユーザの入力ミスなどに起因する失敗であり、ユーザが対処することが可能である。一方、S100でYESと判断される失敗は、ユーザの入力ミス以外に起因する失敗である。この場合、ユーザ自身が対処することは困難である。従って、ユーザが対処することが困難な場合に、再テスト接続を実行させることで、ユーザの利便性を向上させることができる。 In other words, the failure determined as NO in S100 is a failure due to a user input error or the like, and the user can deal with the failure. On the other hand, the failure determined as YES in S100 is a failure due to something other than the user's input mistake. In this case, it is difficult for the user to deal with it. Therefore, when it is difficult for the user to cope with the situation, by performing the retest connection, the convenience for the user can be improved.
S102において、CPU32は、失敗通知を対象PCに送信する。S104において、CPU32は、対象PCから再テスト接続要求を受信したのか否かを判断する。CPU32は、対象PCから再テスト接続要求が受信される場合(S104でYES)に、S106に進む。一方、CPU32は、対象PCからテスト接続中止要求が受信される場合(S104でNO)に、図11の処理を終了する。
In S102, the
S106において、CPU32は、対象サーバとのテスト接続で利用されたSMBプロトコルのバージョンよりも1つだけ古いバージョンを、対象サーバとの再テスト接続に利用するSMBプロトコルのバージョンとして決定し、S50に戻る。この場合、S50のNegotiate処理において、CPU32は、S106で決定したSMBプロトコルのバージョン以下のバージョンを含むNegotiate要求を対象サーバに送信する。なお、S106を経た後のS90において、CPU32は、プロファイルテーブル38において、テスト接続要求内のプロファイル名に対応付けて、S106で決定したSMBプロトコルのバージョンを登録する。
In S106, the
(本実施例の効果)
本実施例では、MFP10は、サーバ100Eから、「SMB2.0」を含むNegotiate応答を受信すると、「SMB2.0」を利用したサーバ100Eとの通信(Session Setup処理、Tree Connect処理)を実行する。当該通信において、MFP10は、サーバ100Eからステータス「USER_SESSION_DELETED」を含むTree Connect応答を受信する場合(S72でNO)に、「SMB1.0」を含むNegotiate要求をサーバ100Eに送信する(S106を経た後のS50)。そして、MFP10は、サーバ100Eから、「SMB1.0」を含むNegotiate応答を受信すると、「SMB2.0」よりも古いバージョンである「SMB1.0」を利用したサーバ100Eとの通信(Session Setup処理、Tree Connect処理)を実行する。この場合、当該通信において、MFP10が、サーバ100Eからステータス「USER_SESSION_DELETED」を含むTree Connect応答を受信しない可能性が高くなり得る。従って、MFP10は、ネゴシエーションが正常に実行されたにも関わらず、サーバ100Eからステータス「USER_SESSION_DELETED」を含むTree Connect応答が受信される場合に、サーバ100Eとの通信を適切に実行し得る。
(Effects of the present embodiment)
In the present embodiment, when receiving a Negotiate response including “SMB2.0” from the
(対応関係)
MFP10、PC60が、それぞれ、「通信装置」、「第3の外部装置」の一例である。SMBプロトコルが、「所定の通信プロトコル」の一例である。プロファイル情報(フォルダパス、ユーザ名、パスワード)が、「第1の設定情報」の一例である。共有フォルダ「shared51」のネットワークフォルダパス、サーバ100Eの認証テーブル内のユーザ名、パスワードが、「第2の設定情報」の一例である。プロファイル5を含むスキャン指示、プロファイル4を含むスキャン指示が、それぞれ、「第1の指示」、「第2の指示」の一例である。テスト接続要求、再テスト接続要求が、それぞれ、「通信要求」、「許可通知」の一例である。第1接続失敗画面D7及び第2接続失敗画面D8が、「バージョン選択画面」の一例である。
(Correspondence)
The
1つの側面では、サーバ100D及びサーバ100Eが、「第1の外部装置」の一例である。図6のT460及び図7のT660のNegotiate要求が、「第1のネゴシエーション要求」の一例である。図6のT502のTCP RST信号、及び、図7のT682のステータス「USER_SESSION_DELETED」を含む応答が、「エラー通知」の一例である。図6のT530及び図7の710のNegotiate要求が、「第2のネゴシエーション要求」の一例である。SMB1.0又はSMB2.0が、「第1のバージョン」の一例である。SMB2.0又はSMB2.1が、「第2のバージョン」の一例である。
In one aspect, the
図6のT460又は図7のT660が、「第1の要求送信部」で実行される処理の一例である。図6のT480〜T502及び図7のT670〜T682が、「第1の通信実行部」で実行される処理の一例である。図6のT530及び図7のT710が、「第2の要求送信部」で実行される処理の一例である。図6のT540〜T552及び図7のT720〜T732が、「第2の通信実行部」で実行される処理の一例である。 T460 in FIG. 6 or T660 in FIG. 7 is an example of processing executed by the “first request transmission unit”. T480 to T502 in FIG. 6 and T670 to T682 in FIG. 7 are examples of processing executed by the “first communication execution unit”. T530 in FIG. 6 and T710 in FIG. 7 are examples of processing executed by the “second request transmitting unit”. T540 to T552 in FIG. 6 and T720 to T732 in FIG. 7 are examples of processing executed by the “second communication execution unit”.
別の側面では、サーバ100D、サーバ100Eが、それぞれ、「第1の外部装置」、「第2の外部装置」の一例である。SMB1.0、SMB2.0、SMB2.1が、それぞれ、「第1のバージョン」、「第2のバージョン」、「第3のバージョン」の一例である。図7のT660のNegotiate要求、図7の710のNegotiate要求、図8のT830のNegotiate要求、図6のT530のNegotiate要求が、それぞれ、「第1のネゴシエーション要求」、「第2のネゴシエーション要求」、「第3のネゴシエーション要求」、「第4のネゴシエーション要求」の一例である。「SMB2.0」のみを含むNegotiate要求が、「第5のネゴシエーション要求」の一例である。
In another aspect, the
図7のT660が、「第1の要求送信部」で実行される処理の一例である。図7のT670〜T682が、「第1の通信実行部」で実行される処理の一例である。図7のT710が、「第2の要求送信部」で実行される処理の一例である。図7のT720〜T732が、「第2の通信実行部」で実行される処理の一例である。 T660 in FIG. 7 is an example of processing executed by the “first request transmission unit”. T670 to T682 in FIG. 7 are an example of processing executed by the “first communication execution unit”. T710 in FIG. 7 is an example of a process executed by the “second request transmission unit”. T720 to T732 in FIG. 7 are an example of processing executed by the “second communication execution unit”.
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。 As described above, the specific examples of the present invention have been described in detail. However, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. Modifications of the above embodiment are listed below.
(変形例1)Negotiate要求に含まれるバージョン情報内の各バージョンに優先順位が対応付けられていてもよい。本変形例では、Negotiate要求を受信したサーバは、各バージョンの優先順位に基づいて、MFP10との通信に利用するSMBプロトコルのバージョンを決定する。例えば、図7のT660のNegotiate要求において、「SMB2.?」、「SMB2.0」、「SMB1.0」の順に優先順位が設定されている状況を想定する。この場合、サーバ100Eは、優先順位が最上位の「SMB2.?」は利用不可能であると判断し、次に優先順位の高い「SMB2.0」を利用可能であると判断し、「SMB2.0」を利用してMFP10との通信を実行することを決定する。そして、MFP10は、T696において、PC60から再テスト接続要求を受信すると、「SMB2.1」を利用したサーバ100Dとのテスト接続が失敗したと判断し、「SMB2.0」よりも古いバージョンである「SMB1.0」の優先順位を最上位に変更し、変更後の優先順位が対応付けられているバージョン情報を含むNegotiate要求をサーバ100Eに送信する。即ち、本変形例では、T710のNegotiate要求が、SMB「2.?」、「SMB2.0」、及び、「SMB1.0」を含む。この場合、サーバ100Eは、優先順位が最上位の「SMB1.0」を利用可能であると判断し、「SMB1.0」を利用してMFP10との通信を実行することを決定する。その後、MFP10とサーバ100Eとの間に、T710〜T742と同様の処理が実行される。このような構成によっても、実施例と同様の効果を奏することができる。
(Modification 1) A priority may be associated with each version in the version information included in the Negotiate request. In this modification, the server that has received the Negotiate request determines the version of the SMB protocol used for communication with the
(変形例2)CPU32は、図11のテスト接続処理において、失敗の理由に関わらず、失敗通知を対象PCに送信してもよい。本変形例では、S100を省略可能である。
(Modification 2) In the test connection process of FIG. 11, the
(変形例3)図11のS106を経た後のS90において、CPU32は、SMBバージョンを登録しなくてもよい。即ち、本変形例では、プロファイルテーブル38のプロファイル情報に、SMBバージョンが含まれない。この場合、図8のケースFにおいて、MFP10とサーバ100Eとの間に、T830〜T852の処理の代わりに、図7のT660〜T682、及び、T710〜T732と同様の処理が実行され、その後に、T860〜T864が実行される。即ち、「第1の記憶制御部」、「第3の要求送信部」、「第2の記憶制御部」、及び、「第5の要求送信部」を省略可能である。
(Modification 3) In S90 after S106 in FIG. 11, the
(変形例4)図10のS22〜S26を省略可能である。即ち、CPU32は、スキャン指示が取得される場合に、S30~S34の処理を実行してもよい。
(Modification 4) S22 to S26 in FIG. 10 can be omitted. That is, when a scan instruction is obtained, the
(変形例5)図11のテスト接続処理において、CPU32は、S100でYESと判断される場合に、接続失敗画面データを含む失敗通知を対象PCに送信しなくてもよい。本変形例では、CPU32は、対象PCから、再テスト接続要求を受信することなく、S106の処理を実行する。本変形例では、S102、S104を省略可能である。即ち、「画面データ送信部」を省略可能である。
(Modification 5) In the test connection process of FIG. 11, if YES is determined in S100, the
(変形例6)第2接続失敗画面D8において、セキュリティ強度の低下が懸念されることを示すメッセージが表示されなくてもよい。 (Modification 6) In the second connection failure screen D8, a message indicating that the security strength may be lowered may not be displayed.
(変形例7)「第1の外部装置」は、サーバに限定されず、PC等、共有フォルダを作成可能なコンピュータであればよい。 (Modification 7) The “first external device” is not limited to a server, but may be any computer such as a PC that can create a shared folder.
(変形例8)「通信装置」は、複数の機能を実行可能なMFP10でなくてもよく、スキャン機能のみを実行可能なスキャナ装置であってもよい。
(Modification 8) The “communication device” need not be the
(変形例9)上記の実施例では、制御部30によって実行される各処理がソフトウェア(即ちプログラム36)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
(Modification 9) In the above embodiment, each process executed by the
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。 In addition, the technical elements described in the present specification or the drawings exhibit technical utility singly or in various combinations, and are not limited to the combinations described in the claims at the time of filing. The technology illustrated in the present specification or the drawings simultaneously achieves a plurality of objects, and has technical utility by achieving one of the objects.
2:通信システム、10:MFP、12:操作部、14:表示部、16:印刷実行部、18:スキャン実行部、20:通信I/F、30:制御部、32:CPU、34:メモリ、36:プログラム、38:プロファイルテーブル、40:IPアドレス、100A〜100E:サーバ、110A:認証テーブル 2: communication system, 10: MFP, 12: operation unit, 14: display unit, 16: print execution unit, 18: scan execution unit, 20: communication I / F, 30: control unit, 32: CPU, 34: memory , 36: program, 38: profile table, 40: IP address, 100A to 100E: server, 110A: authentication table
Claims (14)
通信インタフェースと、
前記通信インタフェースを介して、第1のバージョン情報を含む第1のネゴシエーション要求を第1の外部装置に送信する第1の要求送信部であって、前記第1のバージョン情報は、前記通信装置が複数個のバージョンの所定の通信プロトコルを利用可能であることを示し、前記複数個のバージョンは、第1のバージョンと、前記第1のバージョンよりも新しい第2のバージョンと、を含む、前記第1の要求送信部と、
前記第1のネゴシエーション要求が前記第1の外部装置に送信されることに応じて、前記第1の外部装置から、前記通信インタフェースを介して、前記第1の外部装置が前記第2のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第2のバージョンの前記所定の通信プロトコルを利用した前記第1の外部装置との第1の通信を実行する第1の通信実行部と、
前記第1の通信において、前記第1の外部装置からエラー通知が受信される場合に、前記通信インタフェースを介して、前記第1のバージョン情報とは異なる第2のバージョン情報を含む第2のネゴシエーション要求を前記第1の外部装置に送信する第2の要求送信部であって、前記第2のバージョン情報は、前記通信装置が前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す、前記第2の要求送信部と、
前記第2のネゴシエーション要求が前記第1の外部装置に送信されることに応じて、前記第1の外部装置から、前記第1の外部装置が前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第1のバージョンの前記所定の通信プロトコルを利用した前記第1の外部装置との第2の通信を実行する第2の通信実行部と、
を備える、通信装置。 A communication device,
A communication interface;
A first request transmitting unit that transmits a first negotiation request including first version information to a first external device via the communication interface, wherein the first version information is Indicating that a plurality of versions of the predetermined communication protocol are available, wherein the plurality of versions includes a first version and a second version newer than the first version. 1, a request transmission unit,
In response to the first negotiation request being sent to the first external device, the first external device transmits the second version of the second version from the first external device via the communication interface. When a response indicating that the predetermined communication protocol is available is received, the communication with the first external device using the second version of the predetermined communication protocol is performed via the communication interface. A first communication execution unit that executes the first communication;
In the first communication, when an error notification is received from the first external device, a second negotiation including second version information different from the first version information via the communication interface A second request transmission unit that transmits a request to the first external device, wherein the second version information is such that the communication device can use the first version of the predetermined communication protocol. The second request transmission unit,
In response to the second negotiation request being transmitted to the first external device, the first external device uses the first version of the predetermined communication protocol from the first external device. And performing a second communication with the first external device using the first version of the predetermined communication protocol via the communication interface when a response indicating that the communication is possible is received. A second communication execution unit;
A communication device comprising:
前記第2のバージョンは、前記SMBプロトコルのバージョン2.0以上である、請求項3に記載の通信装置。 The first version is version 1.0 of the SMB protocol;
The communication device according to claim 3, wherein the second version is version 2.0 or more of the SMB protocol.
前記エラー通知は、前記第1の外部装置が前記Validate Negotiation Info Request信号を解釈不可能であることを示す信号である、請求項3又は4に記載の通信装置。 The first communication includes a communication in which the communication device transmits a Validate Negotiation Info Request signal of the SMB protocol to the first external device via the communication interface,
The communication device according to claim 3, wherein the error notification is a signal indicating that the first external device cannot interpret the Validate Negotiation Info Request signal.
前記エラー通知は、STATUS_USER_SESSION_DELETED、STATUS_INVALD_PARAMETER、及び、STATUS_ACCESS_DENIEDのうちのいずれかを含む通知である、請求項3又は4に記載の通信装置。 The first communication includes a communication in which the communication device transmits a Tree Connect Request signal of the SMB protocol to the first external device via the communication interface,
The communication device according to claim 3, wherein the error notification is a notification including any one of STATUS_USER_SESSION_DELETED, STATUS_INVALD_PARAMETER, and STATUS_ACCESS_DENIED.
前記第2の要求送信部は、前記エラー通知が、前記第1の設定情報が前記第2の設定情報に適合しないことを示す通知である場合に、前記第2のネゴシエーション要求を前記第1の外部装置に送信しない、請求項1〜4のいずれか一項に記載の通信装置。 The first communication is first setting information used for communication of target data with the first external device, and the first setting information input by a user is the first setting information. Communication for confirming whether or not the second setting information stored in the device is compatible;
The second request transmission unit, when the error notification is a notification indicating that the first setting information does not conform to the second setting information, the second negotiation request to the first negotiation request The communication device according to claim 1, wherein the communication device does not transmit to an external device.
前記第2の通信において、前記通信インタフェースを介して、前記第1の外部装置から成功通知が受信される場合に、前記第1のバージョンを前記通信装置のメモリに記憶させる第1の記憶制御部と、
前記第1のバージョンが前記メモリに記憶されている状態において、前記第1の外部装置との対象データの通信を実行するための第1の指示が取得される場合に、前記通信インタフェースを介して、前記第1のバージョン情報とは異なる第3のバージョン情報を含む第3のネゴシエーション要求を前記第1の外部装置に送信する第3の要求送信部であって、前記第3のバージョン情報は、前記通信装置が前記メモリに記憶されている前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す、前記第3の要求送信部と、
を備える、請求項1〜8のいずれか一項に記載の通信装置。 The communication device may further include:
A first storage control unit that stores the first version in a memory of the communication device when a success notification is received from the first external device via the communication interface in the second communication; When,
In a state where the first version is stored in the memory, when a first instruction to execute communication of the target data with the first external device is obtained, A third request transmission unit that transmits a third negotiation request including third version information different from the first version information to the first external device, wherein the third version information includes: A third request transmission unit that indicates that the communication device can use the first version of the predetermined communication protocol stored in the memory;
The communication device according to any one of claims 1 to 8, comprising:
前記複数個のバージョンは、さらに、前記第2のバージョンよりも新しい第3のバージョンを含み、
前記通信装置は、さらに、
前記通信インタフェースを介して、前記第3のバージョンの前記所定の通信プロトコルに従った第2の外部装置との第3の通信を実行する第3の通信実行部と、
前記第3の通信において、前記第2の外部装置から前記エラー通知が受信される場合に、前記第1のバージョン情報とは異なる第4のバージョン情報を含む第4のネゴシエーション要求を前記第2の外部装置に送信する第4の要求送信部であって、前記第4のバージョン情報は、前記通信装置が前記第1及び第2のバージョンの前記所定の通信プロトコルを利用可能であることを示す、前記第4の要求送信部と、
前記第4のネゴシエーション要求が前記第2の外部装置に送信されることに応じて、前記第2の外部装置から、前記通信インタフェースを介して、前記第2の外部装置が前記第2のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第2のバージョンの前記所定の通信プロトコルを利用した前記第2の外部装置との第4の通信を実行する第4の通信実行部と、
前記第4の通信において、前記通信インタフェースを介して、前記第2の外部装置から成功通知が受信される場合に、前記第2の外部装置に関連する第2の外部装置情報と、前記第2のバージョンと、を対応付けて前記メモリに記憶させる第2の記憶制御部と、
前記第2の外部装置情報と前記第2のバージョンとが対応付けて前記メモリに記憶されている状態において、前記第2の外部装置との対象データの通信を実行するための第2の指示であって、前記第2の外部装置情報を指定することを含む前記第2の指示が取得される場合に、前記通信インタフェースを介して、第5のバージョン情報を含む第5のネゴシエーション要求を前記第2の外部装置に送信する第5の要求送信部であって、前記第5のバージョン情報は、前記通信装置が前記第2の外部装置情報に対応付けられている前記第2のバージョンの前記所定の通信プロトコルを利用可能であることを示す、前記第5の要求送信部と、を備え、
前記第3の要求送信部は、前記第1の外部装置情報と前記第1のバージョンとが対応付けて前記メモリに記憶されている状態において、前記第1の外部装置情報を指定することを含む前記第1の指示が取得される場合に、前記通信装置が前記第1の外部装置情報に対応付けられている前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す前記第3のバージョン情報を含む前記第3のネゴシエーション要求を前記第1の外部装置に送信する、請求項9に記載の通信装置。 The first storage control unit stores first external device information relating to the first external device and the first version in the memory in association with each other,
The plurality of versions further includes a third version newer than the second version;
The communication device may further include:
A third communication execution unit that executes a third communication with a second external device according to the third version of the predetermined communication protocol via the communication interface;
In the third communication, when the error notification is received from the second external device, a fourth negotiation request including fourth version information different from the first version information is sent to the second communication. A fourth request transmission unit that transmits to the external device, wherein the fourth version information indicates that the communication device can use the first and second versions of the predetermined communication protocol. The fourth request transmission unit;
In response to the fourth negotiation request being transmitted to the second external device, the second external device transmits the second version of the second version from the second external device via the communication interface. When a response indicating that the predetermined communication protocol is available is received, the communication with the second external device using the second version of the predetermined communication protocol is performed via the communication interface. A fourth communication execution unit that executes a fourth communication;
In the fourth communication, when a success notification is received from the second external device via the communication interface, the second external device information related to the second external device; A second storage control unit for storing the version of
In a state where the second external device information and the second version are stored in the memory in association with each other, a second instruction for executing target data communication with the second external device is issued. And when the second instruction including specifying the second external device information is obtained, a fifth negotiation request including fifth version information is transmitted to the second negotiation request via the communication interface. A fifth request transmitting unit for transmitting to the second external device, wherein the fifth version information is the predetermined version of the second version in which the communication device is associated with the second external device information. The fifth request transmission unit, indicating that the communication protocol of the fifth request can be used,
The third request transmission unit includes designating the first external device information in a state where the first external device information and the first version are stored in the memory in association with each other. When the first instruction is acquired, the second indication indicating that the communication device can use the first version of the predetermined communication protocol associated with the first external device information. The communication device according to claim 9, wherein the third negotiation request including version information of No. 3 is transmitted to the first external device.
操作部を備え、
前記第3の要求送信部は、
前記第1のバージョンが前記メモリに記憶されている状態において、前記操作部に対するユーザ操作が実行されることによって前記第1の指示が取得される場合に、前記第3のネゴシエーション要求を前記第1の外部装置に送信し、
前記第1のバージョンが前記メモリに記憶されている状態において、前記通信装置内のウェブサーバに対するアクセスが実行されることによって前記第1の指示が取得される場合に、前記第3のネゴシエーション要求を前記第1の外部装置に送信しない、請求項9又は10に記載の通信装置。 The communication device may further include:
Equipped with an operation unit,
The third request transmission unit,
In a state where the first version is stored in the memory, when the first instruction is obtained by performing a user operation on the operation unit, the third negotiation request is issued to the first negotiation request. To an external device,
In a state where the first version is stored in the memory, when the first instruction is obtained by performing an access to a web server in the communication device, the third negotiation request is issued. The communication device according to claim 9, wherein the communication device does not transmit to the first external device.
前記第1の外部装置とは異なる第3の外部装置から、前記通信インタフェースを介して、通信要求を受信する要求受信部を備え、
前記第1の要求送信部は、前記第3の外部装置から前記通信要求が受信される場合に、前記第1のネゴシエーション要求を前記第1の外部装置に送信し、
前記通信装置は、さらに、
前記第2のバージョンの前記所定のプロトコルに従った前記第1の外部装置との前記第1の通信において、前記第1の外部装置から前記エラー通知が受信される場合に、前記通信インタフェースを介して、バージョン選択画面を表わすバージョン選択画面データを前記第3の外部装置に送信する画面データ送信部であって、前記バージョン選択画面は、前記第2のバージョンよりも古いバージョンを利用するのか否かをユーザに選択させるための画面である、前記画面データ送信部を備え、
前記第2の要求送信部は、前記通信インタフェースを介して、前記第3の外部装置から、前記バージョン選択画面において前記古いバージョンを利用することが前記ユーザによって選択されたことを示す許可通知が受信される場合に、前記第2のネゴシエーション要求を前記第1の外部装置に送信する、請求項1〜11のいずれか一項に記載の通信装置。 The communication device may further include:
A request receiving unit that receives a communication request from a third external device different from the first external device via the communication interface;
The first request transmitting unit, when the communication request is received from the third external device, transmits the first negotiation request to the first external device,
The communication device may further include:
In the first communication with the first external device according to the second version of the predetermined protocol, when the error notification is received from the first external device, the first communication is performed via the communication interface. A screen data transmission unit for transmitting version selection screen data representing a version selection screen to the third external device, wherein the version selection screen uses a version older than the second version. Is a screen for allowing the user to select, comprising the screen data transmission unit,
The second request transmission unit receives, via the communication interface, a permission notification indicating that the user has selected to use the old version on the version selection screen from the third external device. The communication device according to any one of claims 1 to 11, wherein the communication device transmits the second negotiation request to the first external device when the request is issued.
前記通信装置に搭載されるコンピュータを、以下の各部、即ち、
前記通信装置の通信インタフェースを介して、第1のバージョン情報を含む第1のネゴシエーション要求を第1の外部装置に送信する第1の要求送信部であって、前記第1のバージョン情報は、前記通信装置が複数個のバージョンの所定の通信プロトコルを利用可能であることを示し、前記複数個のバージョンは、第1のバージョンと、前記第1のバージョンよりも新しい第2のバージョンと、を含む、前記第1の要求送信部と、
前記第1のネゴシエーション要求が前記第1の外部装置に送信されることに応じて、前記第1の外部装置から、前記通信インタフェースを介して、前記第1の外部装置が前記第2のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第2のバージョンの前記所定の通信プロトコルを利用した前記第1の外部装置との第1の通信を実行する第1の通信実行部と、
前記第1の通信において、前記第1の外部装置からエラー通知が受信される場合に、前記通信インタフェースを介して、前記第1のバージョン情報とは異なる第2のバージョン情報を含む第2のネゴシエーション要求を前記第1の外部装置に送信する第2の要求送信部であって、前記第2のバージョン情報は、前記通信装置が前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す、前記第2の要求送信部と、
前記第2のネゴシエーション要求が前記第1の外部装置に送信されることに応じて、前記第1の外部装置から、前記第1の外部装置が前記第1のバージョンの前記所定の通信プロトコルを利用可能であることを示す応答が受信される場合に、前記通信インタフェースを介して、前記第1のバージョンの前記所定の通信プロトコルを利用した前記第1の外部装置との第2の通信を実行する第2の通信実行部と、
として機能させるコンピュータプログラム。
A computer program for a communication device,
A computer mounted on the communication device includes the following units:
A first request transmitting unit that transmits a first negotiation request including first version information to a first external device via a communication interface of the communication device, wherein the first version information is Indicating that the communication device is capable of using a plurality of versions of the predetermined communication protocol, wherein the plurality of versions include a first version and a second version newer than the first version. , The first request transmission unit,
In response to the first negotiation request being sent to the first external device, the first external device transmits the second version of the second version from the first external device via the communication interface. When a response indicating that the predetermined communication protocol is available is received, the communication with the first external device using the second version of the predetermined communication protocol is performed via the communication interface. A first communication execution unit that executes the first communication;
In the first communication, when an error notification is received from the first external device, a second negotiation including second version information different from the first version information via the communication interface A second request transmission unit that transmits a request to the first external device, wherein the second version information is such that the communication device can use the first version of the predetermined communication protocol. The second request transmission unit,
In response to the second negotiation request being transmitted to the first external device, the first external device uses the first version of the predetermined communication protocol from the first external device. And performing a second communication with the first external device using the first version of the predetermined communication protocol via the communication interface when a response indicating that the communication is possible is received. A second communication execution unit;
A computer program to function as.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018179278A JP7077896B2 (en) | 2018-09-25 | 2018-09-25 | Communication equipment and computer programs for communication equipment |
US16/580,769 US11140294B2 (en) | 2018-09-25 | 2019-09-24 | Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method executed by communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018179278A JP7077896B2 (en) | 2018-09-25 | 2018-09-25 | Communication equipment and computer programs for communication equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020053767A true JP2020053767A (en) | 2020-04-02 |
JP7077896B2 JP7077896B2 (en) | 2022-05-31 |
Family
ID=69884786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018179278A Active JP7077896B2 (en) | 2018-09-25 | 2018-09-25 | Communication equipment and computer programs for communication equipment |
Country Status (2)
Country | Link |
---|---|
US (1) | US11140294B2 (en) |
JP (1) | JP7077896B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7528700B2 (en) * | 2020-10-08 | 2024-08-06 | ブラザー工業株式会社 | Server device and installation program |
JP2022065784A (en) * | 2020-10-16 | 2022-04-28 | セイコーエプソン株式会社 | Image reading device and communication test method |
US11989466B2 (en) * | 2022-04-08 | 2024-05-21 | Brother Kogyo Kabushiki Kaisha | Device and computer-readable storage medium for providing appropriate error notification |
JP2024047491A (en) * | 2022-09-26 | 2024-04-05 | キヤノン株式会社 | Image processing apparatus and control method of the image processing apparatus |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062748A (en) * | 2002-07-31 | 2004-02-26 | Canon Inc | System, method and program for controlling communication and communication controller |
JP2006333433A (en) * | 2005-05-25 | 2006-12-07 | Microsoft Corp | Data communication protocol |
US20130238809A1 (en) * | 2012-03-12 | 2013-09-12 | Microsoft Corporation | Secure Capability Negotiation between a Client and Server |
JP2014086822A (en) * | 2012-10-22 | 2014-05-12 | Fujitsu Ltd | Unauthorized access detection method, network monitoring device, and program |
JP2019057217A (en) * | 2017-09-22 | 2019-04-11 | コニカミノルタ株式会社 | Information processing device, and firmware updating program |
JP2019144893A (en) * | 2018-02-21 | 2019-08-29 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332526B2 (en) * | 2005-05-25 | 2012-12-11 | Microsoft Corporation | Data communication protocol including negotiation and command compounding |
US9132172B2 (en) | 2005-07-15 | 2015-09-15 | Cormatrix Cardiovascular, Inc. | Compositions and methods for treating organ dysfunction |
CA2689421A1 (en) * | 2008-11-27 | 2010-05-27 | Huawei Technologies Co., Ltd. | Method, apparatus and system for determining version information |
US9992817B2 (en) * | 2016-04-18 | 2018-06-05 | Honda Motor Co., Ltd. | Wireless data processing in a connected vehicle |
-
2018
- 2018-09-25 JP JP2018179278A patent/JP7077896B2/en active Active
-
2019
- 2019-09-24 US US16/580,769 patent/US11140294B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062748A (en) * | 2002-07-31 | 2004-02-26 | Canon Inc | System, method and program for controlling communication and communication controller |
JP2006333433A (en) * | 2005-05-25 | 2006-12-07 | Microsoft Corp | Data communication protocol |
US20130238809A1 (en) * | 2012-03-12 | 2013-09-12 | Microsoft Corporation | Secure Capability Negotiation between a Client and Server |
JP2014086822A (en) * | 2012-10-22 | 2014-05-12 | Fujitsu Ltd | Unauthorized access detection method, network monitoring device, and program |
JP2019057217A (en) * | 2017-09-22 | 2019-04-11 | コニカミノルタ株式会社 | Information processing device, and firmware updating program |
JP2019144893A (en) * | 2018-02-21 | 2019-08-29 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
Also Published As
Publication number | Publication date |
---|---|
US20200099819A1 (en) | 2020-03-26 |
JP7077896B2 (en) | 2022-05-31 |
US11140294B2 (en) | 2021-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7077896B2 (en) | Communication equipment and computer programs for communication equipment | |
US20070283421A1 (en) | Recording medium storing control program and communication system | |
CN102394872B (en) | Data communication protocol | |
JP6891718B2 (en) | Communication device | |
EP2106087B1 (en) | Method and apparatus for handling security level of device on network | |
US8719848B2 (en) | Information processing device and computer program product | |
US8819799B2 (en) | Image forming apparatus, image forming system, and method for realizing pseudo single sign-on | |
US20070076244A1 (en) | Electronic apparatus, electronic apparatus system, control method and computer-readable storage medium | |
US9164747B2 (en) | Information processing system, device, and information processing method | |
US20090109477A1 (en) | Server apparatus, management system, and method | |
US11722481B2 (en) | Multiple identity provider authentication system | |
JP7400484B2 (en) | Server, function execution device, computer program for server, and computer program for function execution device | |
US10659331B2 (en) | Network system, device management method, network device, control method thereof, and non-transitory computer-readable medium | |
US8854650B2 (en) | Network printing system executing printing by comparing certification information in a database | |
JP6828637B2 (en) | Image processing device | |
JP7452198B2 (en) | Function execution device and computer program for the function execution device | |
JP2020131573A (en) | Printer, and computer program for printer | |
JP6776779B2 (en) | Communication device | |
JP7070095B2 (en) | Computer programs for communication devices and computer programs for communication devices and servers | |
JP4358069B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM | |
JP7271988B2 (en) | Communication device and computer program for communication device | |
JP2005284573A (en) | Access management system | |
JP7512689B2 (en) | Information processing device and information processing program | |
US20220086168A1 (en) | Information processing apparatus, control method thereof, and non-transitory computer-readable storage medium | |
JP2003091420A (en) | Program for update, device program and program update supporting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7077896 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |