IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特許7400484サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム
<>
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図1
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図2
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図3
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図4
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図5
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図6
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図7
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図8
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図9
  • 特許-サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20231212BHJP
   H04L 67/00 20220101ALI20231212BHJP
   B41J 29/38 20060101ALI20231212BHJP
   B41J 29/42 20060101ALI20231212BHJP
【FI】
G06F3/12 357
G06F3/12 305
H04L67/00
B41J29/38
B41J29/42 F
【請求項の数】 15
(21)【出願番号】P 2020004585
(22)【出願日】2020-01-15
(65)【公開番号】P2021111274
(43)【公開日】2021-08-02
【審査請求日】2022-12-13
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】鈴木 智詞
【審査官】白石 圭吾
(56)【参考文献】
【文献】特開2019-220079(JP,A)
【文献】特開2008-176789(JP,A)
【文献】特開2016-194776(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09-3/12
H04N 1/00
B41J 29/00-29/70
B41J 5/00-5/52;21/00-21/18
G03G 13/34;15/00;15/36;21/00;21/02;21/14;21/20
H04L 51/00-51/58;67/00-67/75
(57)【特許請求の範囲】
【請求項1】
サーバであって、
機能実行装置が実行可能な所定機能に関連する設定情報を記憶するメモリと、
外部装置から、前記機能実行装置に前記所定機能を実行させるための機能実行要求を受信する機能実行要求受信部と、
前記外部装置から前記機能実行要求が受信される場合に、前記メモリ内の前記設定情報を利用して、前記機能実行装置に前記所定機能を実行させることに関連する関連処理を実行する関連処理実行部と、
前記機能実行装置から、位置情報の送信を要求する位置情報要求を受信する位置情報要求受信部であって、前記位置情報は、前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記位置情報要求受信部と、
前記機能実行装置から前記位置情報要求が受信される場合に、前記位置情報を前記機能実行装置に送信する位置情報送信部であって、前記位置情報が前記機能実行装置に送信されることに応じて、前記位置情報が前記機能実行装置によって出力される、前記位置情報送信部と、
前記機能実行装置によって出力された前記位置情報を取得した第1の端末装置から、前記位置情報を含む第1の画面要求を受信する第1の画面要求受信部と、
前記第1の端末装置から前記第1の画面要求が受信される場合に、前記設定変更画面を表わす画面データを前記第1の端末装置に送信する画面データ送信部であって、前記画面データが前記第1の端末装置に送信されることに応じて、前記設定変更画面が前記第1の端末装置に表示される、前記画面データ送信部と、
前記設定変更画面において前記設定情報を変更するための指示が与えられる場合に、前記第1の端末装置から、前記設定情報の変更を要求する変更要求を受信する変更要求受信部と、
前記第1の端末装置から前記変更要求が受信される場合に、前記変更要求に応じて、前記メモリ内の前記設定情報を変更する変更部と、
を備えるサーバ。
【請求項2】
前記位置情報送信部は、前記機能実行装置から前記位置情報要求が受信される毎に、異なる前記位置情報を前記機能実行装置に送信する、請求項1に記載のサーバ。
【請求項3】
前記サーバは、さらに、
前記機能実行装置から前記位置情報要求が受信される毎に、ユニークな前記位置情報を生成する生成部を備え、
前記位置情報送信部は、前記機能実行装置から前記位置情報要求が受信される毎に、当該位置情報要求が受信されることに応じて生成された前記位置情報を前記機能実行装置に送信する、請求項2に記載のサーバ。
【請求項4】
前記サーバは、さらに、
前記位置情報が生成される毎に、当該位置情報と、当該位置情報を含む前記第1の画面要求の受信回数に関係する回数関係情報と、を対応付けて前記メモリに記憶させる第1の記憶制御部と、
前記第1の端末装置から前記第1の画面要求が受信される毎に、当該第1の画面要求に含まれる前記位置情報に対応付けて記憶されている前記回数関係情報を利用して、前記受信回数が所定値に一致するのか否かを判断する第1の判断部と、を備え、
前記画面データ送信部は、前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記受信回数が前記所定値に一致しないと判断される場合に、前記画面データを前記第1の端末装置に送信し、
前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記受信回数が前記所定値に一致すると判断される場合に、前記画面データは前記第1の端末装置に送信されない、請求項3に記載のサーバ。
【請求項5】
前記サーバは、さらに、
前記位置情報が生成される毎に、当該位置情報と、当該位置情報が生成された日時に関係する日時関係情報と、を対応付けて前記メモリに記憶させる第2の記憶制御部と、
前記第1の端末装置から前記第1の画面要求が受信される毎に、当該第1の画面要求に含まれる前記位置情報に対応付けて記憶されている前記日時関係情報を利用して、当該第1の画面要求に含まれる前記位置情報が有効であるのか否かを判断する第2の判断部と、を備え、
前記画面データ送信部は、前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記位置情報が有効であると判断される場合に、前記画面データを前記第1の端末装置に送信し、
前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記位置情報が有効でないと判断される場合に、前記画面データは前記第1の端末装置に送信されない、請求項3又は4に記載のサーバ。
【請求項6】
前記第1の画面要求は、さらに、前記第1の端末装置を識別する第1の識別情報を含み、
前記サーバは、さらに、
前記第1の端末装置から前記第1の画面要求が受信される場合に、前記第1の画面要求に含まれる前記位置情報と、前記第1の画面要求に含まれる前記第1の識別情報と、を対応付けて前記メモリに記憶させる第3の記憶制御部と、
前記第1の端末装置から前記第1の画面要求が受信された後に、第2の端末装置から、前記位置情報と、前記第2の端末装置を識別する第2の識別情報と、を含む第2の画面要求を受信する第2の画面要求受信部と、
前記第2の端末装置から前記第2の画面要求が受信される場合に、前記第2の画面要求に含まれる前記位置情報に対応付けて記憶されている前記第1の識別情報と、前記第2の画面要求に含まれる前記第2の識別情報と、が一致するのか否かを判断する第3の判断部と、
前記第1の識別情報と前記第2の識別情報とが一致しないと判断される場合に、前記第1の端末装置とは異なる前記第2の端末装置から前記第2の画面要求が受信されたことを通知するための通知情報を対象装置に送信する通知情報送信部と、を備える、請求項1から5のいずれか一項に記載のサーバ。
【請求項7】
前記画面データ送信部は、前記第1の端末装置から前記第1の画面要求が受信される場合に、前記メモリ内の前記設定情報によって示される設定値を含む前記設定変更画面を表わす前記画面データを前記第1の端末装置に送信する、請求項1から6のいずれか一項に記載のサーバ。
【請求項8】
機能実行装置であって、
所定機能を実行するための機能実行エンジンと、
表示部と、
LAN(Local Area Networkの略)を介した通信を実行するためのLANインターフェースと、
サーバから機能実行指示を受信する機能実行指示受信部と、
前記サーバから前記機能実行指示が受信される場合に、前記所定機能を前記機能実行エンジンに実行させるエンジン制御部と、
位置情報を受信するための受信指示を受け付ける受付部であって、前記位置情報は、前記サーバに記憶されている設定情報であって、前記所定機能に関連する前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記受付部と、
前記受信指示が受け付けられる場合に、前記位置情報の送信を要求する位置情報要求を前記サーバに送信する位置情報要求送信部と、
前記位置情報要求が前記サーバに送信される場合に、前記サーバから前記位置情報を受信する位置情報受信部と、
前記サーバから前記位置情報が受信される場合に、前記位置情報を外部に出力するための出力処理を実行する出力処理実行部と、
を備え
前記機能実行装置は、さらに、前記LANインターフェースを介して端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、所定操作を前記機能実行装置に実行することを促す通知画面を前記表示部に表示させる表示制御部を備え、
前記出力処理実行部は、前記通知画面が前記表示部に表示された後に、前記所定操作が前記機能実行装置に実行される場合に、前記出力処理を実行し、
前記通知画面が前記表示部に表示された後に、前記所定操作が前記機能実行装置に実行されない場合に、前記出力処理は実行されない、機能実行装置。
【請求項9】
記出力処理実行部は、前記LANインターフェースを介して前記端末装置からHTTPS(Hyper Text Transfer Protocol Secureの略)に従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記LANインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理を実行し、
前記LANインターフェースを介して前記端末装置からHTTP(Hyper Text Transfer Protocolの略)に従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記LANインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理は実行されない、請求項に記載の機能実行装置。
【請求項10】
前記出力処理実行部は、前記LANインターフェースを介して前記端末装置から前記HTTPに従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記位置情報がコード化されたコード画像を出力する前記出力処理を実行する、請求項に記載の機能実行装置。
【請求項11】
前記機能実行装置は、さらに、
USB(Universal Serial Busの略)ケーブルを介した通信を実行するためのUSBインターフェースを備え、
前記出力処理実行部は、
前記USBインターフェースを介して前記端末装置から前記HTTPSに従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記USBインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理を実行し、
前記USBインターフェースを介して前記端末装置から前記HTTPに従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記USBインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理を実行する、請求項又は10に記載の機能実行装置。
【請求項12】
前記出力処理実行部は、前記機能実行装置に対する操作である前記受信指示が受け付けられる場合に、前記位置情報がコード化されたコード画像を出力する前記出力処理を実行する、請求項8から11のいずれか一項に記載の機能実行装置。
【請求項13】
前記機能実行装置は、さらに
記LANインターフェースを介して、前記端末装置から認証情報を含むログイン要求を受信するログイン要求受信部と、
前記端末装置から前記ログイン要求が受信される場合に、前記ログイン要求に含まれる前記認証情報が予め決められている初期認証情報であるのか否かを判断する判断部と、を備え、
前記出力処理実行部は、前記認証情報の認証が成功した後に、前記LANインターフェースを介して前記端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられ、かつ、前記認証情報が前記初期認証情報でないと判断される場合に、前記出力処理を実行し、
前記認証情報の認証が成功した後に、前記LANインターフェースを介して前記端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられ、かつ、前記認証情報が前記初期認証情報であると判断される場合に、前記出力処理は実行されない、請求項8から12のいずれか一項に記載の機能実行装置。
【請求項14】
サーバのためのコンピュータプログラムであって、
前記サーバは、
機能実行装置が実行可能な所定機能に関連する設定情報を記憶するメモリと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
外部装置から、前記機能実行装置に前記所定機能を実行させるための機能実行要求を受信する機能実行要求受信部と、
前記外部装置から前記機能実行要求が受信される場合に、前記メモリ内の前記設定情報を利用して、前記機能実行装置に前記所定機能を実行させることに関連する関連処理を実行する関連処理実行部と、
前記機能実行装置から、位置情報の送信を要求する位置情報要求を受信する位置情報要求受信部であって、前記位置情報は、前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記位置情報要求受信部と、
前記機能実行装置から前記位置情報要求が受信される場合に、前記位置情報を前記機能実行装置に送信する位置情報送信部であって、前記位置情報が前記機能実行装置に送信されることに応じて、前記位置情報が前記機能実行装置によって出力される、前記位置情報送信部と、
前記機能実行装置によって出力された前記位置情報を取得した第1の端末装置から、前記位置情報を含む第1の画面要求を受信する第1の画面要求受信部と、
前記第1の端末装置から前記第1の画面要求が受信される場合に、前記設定変更画面を表わす画面データを前記第1の端末装置に送信する画面データ送信部であって、前記画面データが前記第1の端末装置に送信されることに応じて、前記設定変更画面が前記第1の端末装置に表示される、前記画面データ送信部と、
前記設定変更画面において前記設定情報を変更するための指示が与えられる場合に、前記第1の端末装置から、前記設定情報の変更を要求する変更要求を受信する変更要求受信部と、
前記第1の端末装置から前記変更要求が受信される場合に、前記変更要求に応じて、前記メモリ内の前記設定情報を変更する変更部と、
として機能させる、コンピュータプログラム。
【請求項15】
機能実行装置のためのコンピュータプログラムであって、
前記機能実行装置は、
所定機能を実行するための機能実行エンジンと、
表示部と、
LAN(Local Area Networkの略)を介した通信を実行するためのLANインターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
サーバから機能実行指示を受信する機能実行指示受信部と、
前記サーバから前記機能実行指示が受信される場合に、前記所定機能を前記機能実行エンジンに実行させるエンジン制御部と、
位置情報を受信するための受信指示を受け付ける受付部であって、前記位置情報は、前記サーバに記憶されている設定情報であって、前記所定機能に関連する前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記受付部と、
前記受信指示が受け付けられる場合に、前記位置情報の送信を要求する位置情報要求を前記サーバに送信する位置情報要求送信部と、
前記位置情報要求が前記サーバに送信される場合に、前記サーバから前記位置情報を受信する位置情報受信部と、
前記サーバから前記位置情報が受信される場合に、前記位置情報を外部に出力するための出力処理を実行する出力処理実行部と、
として機能させ
前記コンピュータプログラムは、前記コンピュータを、さらに、前記LANインターフェースを介して端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、所定操作を前記機能実行装置に実行することを促す通知画面を前記表示部に表示させる表示制御部として機能させ、
前記出力処理実行部は、前記通知画面が前記表示部に表示された後に、前記所定操作が前記機能実行装置に実行される場合に、前記出力処理を実行し、
前記通知画面が前記表示部に表示された後に、前記所定操作が前記機能実行装置に実行されない場合に、前記出力処理は実行されない、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、サーバと機能実行装置とに関する技術を開示する。
【背景技術】
【0002】
特許文献1には、プリンタをサーバに登録する技術が開示されている。プリンタがサーバに登録されると、プリンタの管理ページのURL(Uniform Resource Locatorの略)を含む登録情報がサーバからプリンタに送信され、当該登録情報がプリンタから管理者端末に送信される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-159914号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、プリンタがサーバに登録された後に、サーバに登録されているプリンタの設定情報を変更する状況を想定していない。本明細書では、ユーザが、サーバに記憶されている設定情報であって、機能実行装置が実行可能な所定機能に関連する設定情報を変更し得る技術を提供する。
【課題を解決するための手段】
【0005】
本明細書によって開示されるサーバは、機能実行装置が実行可能な所定機能に関連する設定情報を記憶するメモリと、外部装置から、前記機能実行装置に前記所定機能を実行させるための機能実行要求を受信する機能実行要求受信部と、前記外部装置から前記機能実行要求が受信される場合に、前記メモリ内の前記設定情報を利用して、前記機能実行装置に前記所定機能を実行させることに関連する関連処理を実行する関連処理実行部と、前記機能実行装置から、位置情報の送信を要求する位置情報要求を受信する位置情報要求受信部であって、前記位置情報は、前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記位置情報要求受信部と、前記機能実行装置から前記位置情報要求が受信される場合に、前記位置情報を前記機能実行装置に送信する位置情報送信部であって、前記位置情報が前記機能実行装置に送信されることに応じて、前記位置情報が前記機能実行装置によって出力される、前記位置情報送信部と、前記機能実行装置によって出力された前記位置情報を取得した第1の端末装置から、前記位置情報を含む第1の画面要求を受信する第1の画面要求受信部と、前記第1の端末装置から前記第1の画面要求が受信される場合に、前記設定変更画面を表わす画面データを前記第1の端末装置に送信する画面データ送信部であって、前記画面データが前記第1の端末装置に送信されることに応じて、前記設定変更画面が前記第1の端末装置に表示される、前記画面データ送信部と、前記設定変更画面において前記設定情報を変更するための指示が与えられる場合に、前記第1の端末装置から、前記設定情報の変更を要求する変更要求を受信する変更要求受信部と、前記第1の端末装置から前記変更要求が受信される場合に、前記変更要求に応じて、前記メモリ内の前記設定情報を変更する変更部と、を備えてもよい。
【0006】
上記の構成によると、サーバは、機能実行装置から設定変更画面に対応する位置を示す位置情報を機能実行装置に送信することができ、この結果、機能実行装置によって位置情報が出力される。その後、サーバは、位置情報を取得した第1の端末装置から位置情報を含む第1の画面要求を受信する場合に、設定変更画面を表わす画面データを第1の端末装置に送信する。そして、サーバは、第1の端末装置から変更要求を受信する場合に、変更要求に応じて設定情報を変更する。従って、ユーザは、設定変更画面を利用して、サーバに記憶されている設定情報を変更し得る。
【0007】
また、本明細書によって開示される機能実行装置は、所定機能を実行するための機能実行エンジンと、サーバから機能実行指示を受信する機能実行指示受信部と、前記サーバから前記機能実行指示が受信される場合に、前記所定機能を前記機能実行エンジンに実行させるエンジン制御部と、位置情報を受信するための受信指示を受け付ける受付部であって、前記位置情報は、前記サーバに記憶されている設定情報であって、前記所定機能に関連する前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記受付部と、前記受信指示が受け付けられる場合に、前記位置情報の送信を要求する位置情報要求を前記サーバに送信する位置情報要求送信部と、前記位置情報要求が前記サーバに送信される場合に、前記サーバから前記位置情報を受信する位置情報受信部と、前記サーバから前記位置情報が受信される場合に、前記位置情報を外部に出力するための出力処理を実行する出力処理実行部と、を備えてもよい。
【0008】
上記の構成によると、機能実行装置は、設定変更画面に対応する位置を示す位置情報を受信するための受信指示を受け付ける場合に、位置情報の送信を要求する位置情報要求をサーバに送信して、サーバから位置情報を受信する。そして、機能実行装置は、位置情報を外部に出力するための出力処理を実行する。この結果、例えば、端末装置は、位置情報を取得し得る。この場合、端末装置が位置情報を利用して設定変更画面を表示し得るので、ユーザは、設定変更画面を利用して、サーバに記憶されている設定情報を変更し得る。
【0009】
上記のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。上記の機能実行装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のサーバと上記の機能実行装置とを備えるシステムも、新規で有用である。
【図面の簡単な説明】
【0010】
図1】通信システムの構成を示す。
図2】各装置の構成を表わすブロック図を示す。
図3】セットアップ処理のシーケンス図を示す。
図4】プリンタが実行するURL出力処理のフローチャートを示す。
図5】APPサーバが実行する設定変更関係処理のフローチャートを示す。
図6】LANを介してHTTPSに従った選択情報が通信されるケースAのシーケンス図を示す。
図7図6の続きを示す。
図8図7の続きを示す。
図9】LANを介してHTTPに従った選択情報が通信されるケースBのシーケンス図、USBケーブルを介して選択情報が通信されるケースCのシーケンス図、及び、プリンタが変更操作を受け付けるケースDのシーケンス図を示す。
図10】メール印刷処理のシーケンス図を示す。
【発明を実施するための形態】
【0011】
(通信システム2の構成;図1
図1に示されるように、通信システム2は、XMPP(eXtensible Messaging and Presence Protocolの略)サーバ10と、APP(Applicationの略)サーバ100と、プリンタ200と、複数個の端末300,400と、を備える。
【0012】
図1の例では、プリンタ200及び端末300は、LAN(Local Area Networkの略)4に接続されている。プリンタ200及び端末300は、LAN4を介して相互に通信可能である。LAN4は、有線LANでもよいし、無線LANでもよい。XMPPサーバ10、APPサーバ100、及び、端末400は、インターネット8に接続されている。各装置10,100,200,300,400は、インターネット8を介して相互に通信可能である。
【0013】
(XMPPサーバ10の構成;図2
図2を参照して、各装置10,100,200の構成を順に説明する。XMPPサーバ10は、プリンタ200等のベンダによってインターネット8上に設置される。XMPPサーバ10は、プリンタ(例えばプリンタ200)とのXMPPセッションを確立するためのサーバである。XMPPセッションは、いわゆる常時接続と呼ばれる通信セッションである。XMPPサーバ10は、XMPPセッションを利用すれば、プリンタから要求を受信しなくても、当該プリンタが所属するLANのファイヤーウォールを越えて、当該プリンタに要求を送信することができる。
【0014】
XMPPサーバ10は、ネットワークインターフェース16と、制御部30と、を備える。各部16,30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを「I/F」と記載する。ネットワークI/F16は、インターネット8(図1参照)に接続されている。制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム40に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、上記のプログラム40の他に、管理テーブル42を記憶する。
【0015】
管理テーブル42は、プリンタに関する情報が登録されるテーブルである。管理テーブル42は、複数個のプリンタのそれぞれについて、管理ID(Identifierの略)とUID(Unique IDの略)とモデル情報とアクセストークンとを対応付けて記憶する。管理IDは、プリンタを管理するための識別情報であって、XMPPサーバ10によって生成される識別情報である。UIDは、プリンタを識別する識別情報であって、当該プリンタに予め割り当てられている識別情報である。モデル情報は、プリンタのモデルに関する情報(例えば、モデル名、性能等)を示す。アクセストークンは、プリンタとのXMPPセッションを確立するための認証情報である。
【0016】
(APPサーバ100の構成)
APPサーバ100は、プリンタ200等のベンダによってインターネット8上に設置される。APPサーバ100は、メール印刷のための通信をプリンタ(例えばプリンタ200)と実行するためのサーバである。メール印刷は、電子メールに含まれる画像データによって表わされる画像の印刷をプリンタに実行させる機能である。
【0017】
APPサーバ100は、ネットワークI/F116と、制御部130と、を備える。各部116,130は、バス線(符号省略)に接続されている。ネットワークI/F116は、インターネット8(図1参照)に接続されている。制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に記憶されているプログラム140に従って、様々な処理を実行する。メモリ134は、上記のプログラム140の他に、デバイステーブル142と、ジョブテーブル144と、を記憶する。
【0018】
デバイステーブル142は、プリンタに関する情報が登録されるテーブルである。デバイステーブル142は、複数個のプリンタのそれぞれについて、UIDと管理IDとメールアドレスと通知先アドレスとURL(Uniform Resource Locatorの略)とグローバルIPアドレス(以下では「GIP」と記載する)とカウンタと有効期限とホワイトリスト(以下では「WL」と記載する)フラグとを対応付けて記憶する。
【0019】
メールアドレスは、メール印刷を実現するためにプリンタに割り当てられるメールアドレスであって、APPサーバ100によって生成されるメールアドレスである。ユーザは、APPサーバ100によって生成されたメールアドレスを変更することができる。この場合、デバイステーブル142には、ユーザによって指定されたメールアドレスが登録される。通知先アドレスは、通知情報の送信先のメールアドレスである。通知情報は、メール印刷に関連する設定(以下では「メール印刷設定」と記載する)を変更するための設定変更画面の要求が適切な端末から受信されなかったことを通知する情報である。URLは、上記の設定変更画面に対応する位置を示す位置情報である。GIPは、上記の設定変更画面の要求の送信元のIPアドレスである。カウンタは、上記の設定変更画面の要求が受信された回数を示す。WLフラグは、メール印刷のための電子メールの送信元の認証を実行するのか否かを示すフラグであり、認証を実行することを示す「ON」と、認証を実行しないことを示す「OFF」と、のいずれか一方を示す。WLフラグが「ON」を示す場合には、デバイステーブル142には、当該WLフラグに対応付けてWLがさらに登録される。WLには、メール印刷の実行が許可される端末のメールアドレスが登録される。
【0020】
ジョブテーブル144は、印刷ジョブに関する情報が登録されるテーブルである。ジョブテーブル144は、UIDと管理IDとジョブIDと印刷データと印刷URLとを対応付けて記憶する。ジョブIDは、印刷ジョブを識別する識別情報である。印刷データは、印刷ジョブに従って実行されるべき印刷の対象の画像を表わすデータである。印刷URLは、印刷データの位置を示す位置情報である。
【0021】
(プリンタ200の構成)
プリンタ200は、印刷機能を実行可能な周辺装置(即ちLAN4に接続されている端末300の周辺装置)である。プリンタ200は、表示部212と、LANI/F214と、USB(Universal Serial Busの略)I/F216と、印刷エンジン220と、制御部230と、を含む。各部212~230は、バス線(符号省略)に接続されている。表示部212は、様々な情報を表示するためのディスプレイである。表示部212は、いわゆるタッチパネルであり、操作部としても機能する。LANI/F214は、LAN4(図1参照)に接続されている。USBI/F216は、USBケーブルが接続されるI/Fである。図1の例では、プリンタ200及び端末300がLAN4を介して通信可能であるが、図示省略の例では、プリンタ200及び端末300は、USBケーブルを介して通信可能である。印刷エンジン220は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0022】
制御部230は、CPU232と、メモリ234と、を備える。CPU232は、メモリ234に記憶されているプログラム240に従って、様々な処理を実行する。メモリ234は、さらに、プリンタ200のUID「u01」と、プリンタ200のモデル情報MIと、を記憶する。
【0023】
(セットアップ処理;図3
続いて、図3を参照して、メール印刷を実現するために事前に実行されるべきセットアップ処理を説明する。以下では、各デバイスの各CPU(例えばXMPPサーバ10のCPU32等)が実行する処理について、理解の容易化のために、各CPUを主体として記載せずに、各デバイスそのもの(例えばXMPPサーバ10等)を主体として記載する。また、図3の全ての通信は、LAN4又はインターネット8を介して実行される。このため、以下では、「LAN4を介して」及び「インターネット8を介して」という説明を省略する。
【0024】
T5では、プリンタ200は、ユーザから、実行設定を「無効」から「有効」に変更するための操作を受け付ける。実行設定は、メール印刷の実行を許容するのか否かに関する設定であり、メール印刷を実行しないことを意味する「無効」と、メール印刷を実行することを意味する「有効」と、のどちらかの値を示す。実行設定は、デフォルトでは「無効」を示す。
【0025】
プリンタ200は、T5において、実行設定が「無効」から「有効」に変更されると、T10において、メール印刷の通信に利用される情報の登録を要求する登録要求をAPPサーバ100に送信する。登録要求は、UID「u01」と通知先アドレスMA2とを含む。本実施例では、通知先アドレスMA2は、プリンタ200の管理者のメールアドレスであり、管理者によってプリンタ200に予め設定されている。
【0026】
APPサーバ100は、T10において、プリンタ200から登録要求を受信すると、T12において、プリンタ200にメール印刷を実行させるためのメールアドレスMA1を生成する。メールアドレスMA1は、ローカル部「printer1」とAPPサーバ100のドメイン名「app.com」とを含む。そして、T14では、APPサーバ100は、管理IDの生成及び送信をXMPPサーバ10に要求する管理ID要求をXMPPサーバ10に送信する。
【0027】
XMPPサーバ10は、T14において、APPサーバ100から管理ID要求を受信する場合に、T16において、管理ID「a01」を生成し、管理ID「a01」を管理テーブル42に記憶する。そして、T18では、XMPPサーバ10は、管理ID「a01」をAPPサーバ100に送信する。
【0028】
APPサーバ100は、T18において、XMPPサーバ10から管理ID「a01」を受信すると、T20において、T10の登録要求内のUID「u01」と、T18の管理ID「a01」と、T12のメールアドレスMA1と、T10の登録要求内の通知先アドレスMA2と、を対応付けてデバイステーブル142に記憶する。この時点では、URL、GIP、カウンタ、及び、有効期限はブランクであり、WLフラグはOFFを示す。次いで、T30では、APPサーバ100は、PIN(Personal Identification Numberの略)コードの生成及び送信を要求するPINコード要求をXMPPサーバ10に送信する。
【0029】
XMPPサーバ10は、T30において、APPサーバ100からPINコード要求を受信すると、T32において、PINコードCを生成し、管理ID「a01」とPINコードCとを対応付けてメモリ34に記憶する。そして、T34では、XMPPサーバ10は、PINコードCをAPPサーバ100に送信する。
【0030】
APPサーバ100は、T34において、XMPPサーバ10からPINコードCを受信すると、T36において、PINコードCをプリンタ200に送信する。
【0031】
プリンタ200は、T36において、APPサーバ100からPINコードCを受信すると、T50において、XMPPセッションの確立を要求する確立要求をXMPPサーバ10に送信する。確立要求は、UID「u01」と、モデル情報MIと、PINコードCと、を含む。
【0032】
XMPPサーバ10は、T50において、プリンタ200から確立要求を受信すると、T52において、確立要求内のPINコードCの認証を実行する。本ケースでは、確立要求内のPINコードCがT32で記憶されたPINコードCに一致するので、PINコードCの認証が成功する。この場合、XMPPサーバ10は、T54以降の処理を実行する。仮に、PINコードの認証が失敗する場合には、XMPPサーバ10は、T54以降の処理を実行しない。
【0033】
T54では、XMPPサーバ10は、アクセストークンATを生成する。次いで、XMPPサーバ10は、メモリ34から、PINコードCに対応付けて記憶された管理ID「a01」(T32参照)を特定する。そして、XMPPサーバ10は、特定済みの管理ID「a01」に対応付けて、T50の確立要求内のUID「u01」と、確立要求内のモデル情報MIと、生成済みのアクセストークンATと、を管理テーブル42に記憶する。そして、T58では、XMPPサーバ10は、アクセストークンATをプリンタ200に送信する。
【0034】
プリンタ200は、T58において、XMPPサーバ10からアクセストークンATを受信すると、T70において、アクセストークンATを利用して、XMPPサーバ10とのXMPPセッションを確立する。次いで、プリンタ200は、T80において、メールアドレスの送信を要求するメールアドレス要求をAPPサーバ100に送信する。メールアドレス要求は、UID「u01」を含む。
【0035】
APPサーバ100は、T80において、プリンタ200からメールアドレス要求を受信すると、T82において、メールアドレス要求内のUID「u01」に対応付けて記憶されているメールアドレスMA1(T20参照)をプリンタ200に送信する。
【0036】
プリンタ200は、T82において、APPサーバ100からメールアドレスMA1を受信すると、T84において、メールアドレスMA1を表示部212に表示させる。これにより、ユーザは、メールアドレスMA1を知ることができる。
【0037】
(プリンタのURL出力処理;図4
次に、図4を参照して、プリンタ200のCPU232によって実行されるURL出力処理を説明する。URL出力処理は、APPサーバ100に登録されているメール印刷設定を変更するための設定変更画面の位置を示すURLを出力する処理である。本実施例では、設定変更画面は、WLフラグを変更したり、WLに登録されるべきメールアドレスを指定したりするための画面である。
【0038】
S2では、CPU232は、端末300からログイン要求を受信することを監視する。本実施例では、プリンタ200がウェブサーバとして機能することができ、ログイン要求は、プリンタ200内のウェブサーバにログインするための要求である。CPU232は、端末300から、LANI/F214又はUSBI/F216を介して、ユーザIDとログインパスワード(以下ではパスワードを単に「PW」と記載する)とを含むログイン要求を受信する場合に、S2でYESと判断してS4に進む。ここで、ログイン要求は、HTTP(Hyper Text Transfer Protocolの略)及びHTTPS(HTTP Secureの略)のうちの一方に従って通信される。なお、変形例では、プリンタ200は、ユーザIDを利用せずに、ログインPWのみを利用して、ユーザの認証を実行してもよい。この場合、ログイン要求は、ログインPWを含むが、ユーザIDを含まなくてもよい。
【0039】
S4では、CPU232は、ログイン要求に含まれるユーザID及びログインPWの認証を実行して、当該認証が成功したのか否かを判断する。具体的には、プリンタ200は、プリンタ200内のウェブサーバにアクセス可能なユーザID及びログインPWを予め記憶している。CPU232は、ログイン要求に含まれるユーザID及びログインPWが記憶済みのユーザID及びログインPWに一致する場合に、認証が成功したと判断し(S4でYES)、S10に進む。一方、CPU232は、認証が失敗する場合(S4でNO)に、S10以降の処理を実行することなく、図4の処理を終了する。
【0040】
S10では、CPU232は、トップ画面データを端末300に送信する。ここで、CPU232は、S2において、LANI/F214を介してログイン要求を受信した場合には、S10において、LANI/F214を介してトップ画面データを送信する。一方、CPU232は、S2において、USBI/F216を介してログイン要求を受信した場合には、S10において、USBI/F216を介してトップ画面データを送信する。また、CPU232は、S2において、HTTPに従ってログイン要求を受信した場合には、S10において、HTTPに従ってトップ画面データを送信する。一方、CPU232は、S2において、HTTPSに従ってログイン要求を受信した場合には、S10において、HTTPSに従ってトップ画面データを送信する。以下のS12及びS28でも、S2のログイン要求の受信に利用されたプロトコル(即ちHTTP又はHTTPS)に従って、S2のログイン要求の受信に利用されたI/F(即ち214又は216)を介した通信が実行される。
【0041】
トップ画面データが端末300に送信されると、端末300において、トップ画面データによって表わされるトップ画面SC0が表示される。トップ画面SC0は、プリンタ200の通信設定(例えばIPアドレス、ゲートウェイアドレス等)を変更するための通信設定変更ボタン(即ち文字列「通信設定変更」)、メール印刷設定を変更するためのメール印刷設定変更ボタン(即ち文字列「メール印刷設定変更」)等の複数のボタンを含む。トップ画面SC0においていずれかのボタンが選択されると、当該ボタンが選択されたことを示す選択情報がプリンタ200に送信される。
【0042】
S12では、CPU232は、端末300から、メール印刷設定変更ボタンが選択されたことを示す選択情報を受信したのか否かを判断する。CPU232は、当該選択情報を受信する場合に、S12でYESと判断し、S14に進む。この場合、CPU232は、当該選択情報が、LANI/F214を介して受信されたのか、USBI/F216を介して受信されたのか、を示す情報をメモリ234に記憶させる。CPU232は、さらに、HTTPに従って当該選択情報が受信されたのか、HTTPSに従って当該選択情報が受信されたのか、をメモリ234に記憶させる。一方、CPU232は、メール印刷設定変更ボタンとは異なるボタンが選択されたことを示す選択情報を受信する場合に、S12でNOと判断し、当該選択情報に応じた処理を実行する。この場合、S14以降の処理が実行されることなく、図4の処理を終了する。
【0043】
S14では、CPU232は、ログイン要求に含まれるログインPWが初期PWであるのか否かを判断する。ここで、初期PWは、予め決められているデフォルトのPWであり、プリンタ200の出荷段落からプリンタ200に予め記憶されている。ユーザは、プリンタ200を操作して、又は、プリンタ200内のウェブサーバにログインして、初期PWを任意のPWに変更することができる。初期PWが変更される前の状態では、ログイン要求に含まれるログインPWは、初期PWである。一方、初期PWが変更された後の状態では、ログイン要求に含まれるログインPWは、初期PWとは異なるPWである。CPU232は、ログインPWが初期PWでない場合に、S14でNOと判断し、S16に進む。一方、CPU232は、ログインPWが初期PWである場合に、S14でYESと判断して、S16以降の処理を実行することなく、図4の処理を終了する。
【0044】
上記の通り、初期PWは、プリンタ200の出荷段階からプリンタ200に予め記憶されており、例えば、プリンタ200の説明書等に記載されている。従って、プリンタ200のユーザとは異なる第三者が初期PWを知り得る。換言すると、初期PWはセキュリティが低い。このために、CPU232は、ログイン要求に含まれるログインPWが初期PWである場合(S14でYES)には、S16以降の処理を実行しない。この結果、メール印刷設定が第三者によって変更されることを抑制することができる。
【0045】
S16では、CPU232は、通知画面SC1を表示部212に表示させる。通知画面SC1は、メール印刷設定を変更するのか否かをユーザに確認するメッセージと、YESボタンと、NOボタンと、を含む。
【0046】
S18では、CPU232は、通知画面SC1内のYESボタンが選択されたのか否かを判断する。CPU232は、YESボタンが選択された場合に、S18でYESと判断し、S20に進む。一方、CPU232は、通知画面SC1内のNOボタンが選択された場合に、S18でNOと判断し、S20以降の処理を実行することなく、図4の処理を終了する。
【0047】
このように、プリンタ200は、通知画面SC1を表示し、YESボタンが選択される場合(S18でYES)に、S20以降の処理を実行し、YESボタンが選択されない場合(S18でNO)に、S20以降の処理を実行しない。即ち、プリンタ200は、プリンタ200を直接的に操作することができる正規のユーザについては、S20以降の処理を実行し、プリンタ200を直接的に操作することができない第三者については、S20以降の処理を実行しない。このために、メール印刷設定が第三者によって変更されることを抑制することができる。
【0048】
S20では、CPU232は、LANI/F214を介して、プリンタ200のUID「u01」を含むURL要求をAPPサーバ100に送信する。URL要求は、メール印刷設定を変更するための設定変更画面に対応する位置を示すURLの送信を要求する信号である。
【0049】
S22では、CPU232は、APPサーバ100からLANI/F214を介してURLを受信することを監視する。CPU232は、APPサーバ100からURLを受信する場合に、S22でYESと判断して、S24に進む。
【0050】
S24では、CPU232は、S12の選択情報がUSBI/F216を介して受信されたのか否かを判断する。上記の通り、メモリ234は、S12において、選択情報が、LANI/F214を介して受信されたのか、USBI/F216を介して受信されたのか、を示す情報を記憶済みである。CPU232は、当該情報が、選択情報がUSBI/F216を介して受信されたことを示す場合に、S24でYESと判断して、S28に進む。一方、CPU232は、当該情報が、選択情報がLANI/F214を介して受信されたことを示す場合に、S24でNOと判断して、S26に進む。
【0051】
S26では、CPU232は、S12の選択情報をHTTPSに従って受信したのか否かを判断する。上記の通り、メモリ234は、S12において、HTTPに従って選択情報が受信されたのか、HTTPSに従って選択情報が受信されたのか、を示す情報を記憶済みである。CPU232は、当該情報が、HTTPSに従って選択情報が受信されたことを示す場合に、S26でYESと判断して、S28に進む。一方、CPU232は、当該情報が、HTTPに従って選択情報が受信されたことを示す場合に、S28でNOと判断して、S40に進む。
【0052】
S28では、CPU232は、S22で受信済みのURLを端末300に送信する。これにより、端末300は、当該URL利用して設定変更画面を表示することができ、ユーザは、設定変更画面を利用してメール印刷設定を変更することができる。S28が終了すると、図4の処理が終了する。
【0053】
S40では、CPU232は、QRコード(登録商標)を表示部212に表示させる。当該QRコードは、S22で受信済みのURLがコード化されたコード画像である。これにより、ユーザは、端末300に当該QRコードを撮影させることによって、端末300にURLを取得させることができる。この場合、端末300は、当該URLを利用して設定変更画面を表示することができ、ユーザは、設定変更画面を利用してメール印刷設定情報を変更することができる。S40が終了すると、図4の処理が終了する。
【0054】
このように、プリンタ200は、HTTPSに従って選択情報が受信された場合(S26でYES)には、LANI/F214を介してURLを端末300に送信する。HTTPSは、HTTPと比べると、セキュアな通信を実行するためのプロトコルである。このために、HTTPSに従ってURLが通信される場合には、URLの通信の過程において、第三者によってURLが取得される可能性は低い。このために、メール印刷設定が第三者によって変更されることを抑制することができる。特に、URLが端末300に送信されるので、ユーザは、端末300にURLを取得させるための動作(例えばQRコードを撮影する動作)を実行しなくても、端末300に設定変更画面を表示させることができる。このために、ユーザの利便性が向上する。一方、プリンタ200は、HTTPに従って選択情報が受信された場合(S26でNO)には、LANI/F214を介してURLを端末300に送信しない。URLの通信の過程において、第三者によってURLが取得され得るからである。URLが端末300に送信されないので、メール印刷設定が第三者によって変更されることを抑制することができる。
【0055】
また、プリンタ200は、HTTPに従って選択情報が受信された場合(S26でNO)には、URLがコード化されたQRコードを表示する。プリンタ200に近づくことできる正規のユーザは、当該QRコードを端末300に取得させることができる。一方、プリンタ200を近づくことができない第三者は、当該QRコードを端末300に取得させることができない。このために、メール印刷設定が第三者によって変更されることを抑制することができる。
【0056】
また、プリンタ200は、選択情報がUSBI/F216を介して受信された場合(S24でYES)には、選択情報の受信に利用されたプロトコルに関わらず、USBI/F216を介してURLを端末300に送信する。仮に、HTTPに従った通信であっても、USBI/F216を介した通信が第三者によって傍受される可能性は低いからである。URLが端末300に送信されるので、ユーザの利便性が向上する。
【0057】
CPU232は、S2の監視処理と並行して、S30において、ユーザから、メール印刷設定の変更操作を受け付けることを監視する。CPU232は、ユーザから当該操作を受け付ける場合に、S30でYESと判断して、S32に進む。
【0058】
S32、S34の処理は、それぞれ、S20、S22の処理と同様である。S34が終了すると、S40において、CPU232は、URLがコード化されたQRコードを表示部212に表示させる。これにより、端末300のユーザは、端末300に当該QRコードを撮影させることによって、端末300にURLを取得させることができ、設定変更画面を利用してメール印刷設定情報を変更することができる。
【0059】
(APPサーバ100の設定変更関係処理;図5
続いて、図5を参照して、APPサーバ100のCPU132によって実行される設定変更関係処理を説明する。設定変更関係処理は、メール印刷設定の変更に関係する処理である。
【0060】
S50、S60、及び、S80では、CPU132は、様々な要求を受信することを監視する。CPU132は、プリンタ(例えば200)から、ネットワークI/F116を介して、URL要求(図4のS20参照)を受信する場合に、S50でYESと判断して、S52に進む。以下では、S50のURL要求がプリンタ200から受信された場合を例として、S52以降の各処理を説明する。
【0061】
S52では、CPU132は、URLを生成及び記憶する。具体的には、CPU132は、プリンタ200からURL要求が受信される毎に、ユニークなURLを生成する。具体的には、CPU132は、現在日時を示す文字列を含むURLを生成する。次いで、CPU132は、当該URL要求に含まれるUID「u01」に対応付けて、当該URLと、カウンタの値としての「0」と、有効期限と、をデバイステーブル142に記憶する。有効期限は、URLが生成された日時に所定時間が加算された日時を示す情報である。
【0062】
S54では、CPU132は、ネットワークI/F116を介して、S52で生成済みのURLをプリンタ200に送信する。S54の処理が終了すると、S50等の監視に戻る。
【0063】
このように、APPサーバ100は、プリンタ200からURL要求を受信する毎に、ユニークなURLを生成し(S52)、当該URLをプリンタ200に送信する(S54)。このために、URLが第三者によって取得される可能性を低くすることができる。即ち、URLのセキュリティを高めることができる。従って、メール印刷設定が第三者によって変更されることを抑制することができる。
【0064】
また、CPU132は、端末(例えば300、400)から、ネットワークI/F116を介して、URLを含む画面要求を受信する場合に、S60でYESと判断して、S62に進む。画面要求は、設定変更画面を表わす設定変更画面データの送信を要求する信号であり、URLとGIPとを含む。ここで、当該URLは、S54でプリンタ200に送信されたURLであり、当該GIPは、画面要求に含まれる送信元のGIP(例えば、端末300に割り当てられているGIP、又は、端末300が所属するLANに割り当てられているGIP)である。以下では、画面要求の送信元の端末のことを「対象端末」と記載し、画面要求に含まれるURL、GIPを、それぞれ、「対象URL」、「対象GIP」と記載する。
【0065】
S62では、CPU132は、対象URLに対応付けられているカウンタ及び有効期限(図2のデバイステーブル142参照)をチェックする。具体的には、CPU132は、対象URLに対応付けられているカウンタの値が0であるのか否かを判断する。それとともに、CPU132は、対象URLに対応付けられている有効期限と現在時刻とを比較して、現在時刻が有効期限を過ぎているのか否かを判断する。換言すると、CPU132は、現在時刻が対象URLの有効期限内か否かを判断する。CPU132は、対象URLに対応付けられているカウンタの値が0であると判断し、かつ、現在時刻が有効期限内であると判断する場合に、S62でYESと判断し、S64に進む。一方、CPU132は、対象URLに対応付けられているカウンタの値が0でないと判断する場合、又は、現在時刻が有効期限内でないと判断する場合に、S62でNOと判断し、S70に進む。
【0066】
このように、対象URLに対応付けられているカウンタの値が1である場合には、S64~S68の処理が実行されず、この結果、設定変更画面データが送信されない。即ち、設定変更画面データのURLである対象URLは、いわゆるワンタイムURLであり、高いセキュリティを有する。従って、メール印刷設定が第三者によって変更されることを抑制することができる。また、現在時刻が対象URLの有効期限内でない場合には、S64~S68の処理が実行されず、この結果、設定変更画面データが送信されない。このために、仮に、対象URLが第三者によって取得されても、対象URLが有効期限内でないことに起因して設定変更画面データが送信されない可能性を高めることができる。従って、メール印刷設定が第三者によって変更されることを抑制することができる。
【0067】
S64では、CPU132は、対象URLに対応付けられているカウンタの値として0に代えて1をデバイステーブル142に記憶する。
【0068】
S66では、CPU132は、対象URLに対応付けて、対象GIPをデバイステーブル142に記憶する。
【0069】
S68では、CPU132は、設定変更画面データを対象端末に送信する。設定変更画面データは、対象URLに対応付けられているWLフラグの値及びWL(図2のデバイステーブル142参照)を示す画面を表わすデータである。この結果、対象端末では、WLフラグの値及びWLを含む設定変更画面が表示される。S68の処理が終了すると、S50等の監視に戻る。
【0070】
このように、APPサーバ100は、対象端末から画面要求を受信する場合に、現在のWLフラグの値及び現在のWLを含む設定変更画面を表わす設定変更画面データを対象端末に送信する。この結果、ユーザは、設定変更画面を確認することによって、現在のWLフラグの値及び現在のWLを知ることができる。
【0071】
S70では、CPU132は、対象URLに対応付けてGIPがデバイステーブル142に記憶されているのか否かを判断する。CPU132は、GIPが記憶されていると判断する場合に、S70でYESと判断し、S72に進む。一方、CPU132は、GIPが記憶されていないと判断する場合に、S70でNOと判断し、S72以降の処理を実行することなく、S50等の監視に戻る。
【0072】
S72では、CPU132は、対象GIPと、対象URLに対応付けられているGIPと、が一致するのか否かを判断する。CPU132は、GIPが一致すると判断する場合に、S72でYESと判断し、S74の処理を実行することなく、S50等の監視に戻る。一方、CPU132は、GIPが一致しないと判断する場合に、S72でNOと判断し、S74に進む。
【0073】
S74では、CPU132は、対象URLに対応付けられている通知先アドレス(図2のデバイステーブル142参照)を送信先として、電子メールによって通知情報を送信する。S74の処理が終了すると、S50等の監視に戻る。
【0074】
このように、GIPが一致しない場合、即ち、最初の画面要求の送信元のGIPと、2回目以降の画面要求の送信元のGIPと、が一致しない場合には、通知情報が送信される。換言すると、2回目以降の画面要求が第三者の端末から送信された可能性が高い場合には、通知情報が送信される。これにより、プリンタ200の管理者は、画面要求が適切な端末から受信されなかったことを知ることができる。
【0075】
CPU132は、端末(例えば300)から、ネットワークI/F116を介して、メール印刷設定の変更要求を受信する場合に、S80でYESと判断して、S82に進む。変更要求は、APPサーバ100に記憶されているメール印刷設定の変更を要求する信号であり、S54で送信済みのURLを含む。
【0076】
S82では、CPU132は、S80で受信済みの変更要求に含まれるURLに対応付けられているメール印刷設定(即ちWLフラグ及びWL;図2のデバイステーブル142参照)を変更する。S82の処理が終了すると、S50等の監視に戻る。
【0077】
(ケースA;図6図8
続いて、図4及び図5の処理によって実現される具体的なケースを説明する。まず、図6図8を参照して、プリンタ200において、LANI/F214を介してHTTPSに従った選択情報が受信されるケースAを説明する。図6に示すように、プリンタ200及び端末300は、LAN4に接続されている。
【0078】
T100では、端末300は、ユーザから、プリンタ200へのログイン操作を受け付ける。ログイン操作は、プリンタ200内のウェブサーバにログインするための操作であり、ユーザID及びログインPWの入力操作を含む。当該ログインPWは、初期PWではなく、ユーザによって指定された任意のPWである。端末300は、ログイン操作を受け付けることに応じて、T102において、LANI/F214を介して、HTTPSに従って、ユーザIDとログインPWとを含むログイン要求をプリンタ200に送信する。
【0079】
プリンタ200は、T102において、端末300からログイン要求を受信する(図4のS2でYES)ことに応じて、ログイン要求に含まれるユーザID及びログインPWの認証を実行する。本ケースでは、ユーザID及びログインPWの認証が成功するので(S4でYES)、プリンタ200は、T104において、LANI/F214を介して、HTTPSに従ってトップ画面データを端末300に送信する(S10)。
【0080】
端末300は、T104において、プリンタ200からトップ画面データを受信することに応じて、T106において、トップ画面データによって表わされるトップ画面SC0を表示する。端末300は、T108において、ユーザから、トップ画面SC0内のメール印刷設定変更ボタンの選択を受け付けることに応じて、T110において、LANI/F214を介して、HTTPSに従って、当該ボタンが選択されたことを示す選択情報をプリンタ200に送信する。
【0081】
プリンタ200は、T110において、端末300から選択情報を受信する(S12でYES)ことに応じて、ログインPWが初期PWではないと判断し(S14でNO)、T112において、通知画面SC1を表示する(S16)。その後、プリンタ200は、T114において、ユーザから、通知画面SC1内のYESボタンの選択を受け付ける(S18でYES)ことに応じて、T120において、プリンタ200のUID「u01」を含むURL要求をAPPサーバ100に送信する(S20)。
【0082】
APPサーバ100は、T120において、プリンタ200からURL要求を受信する(図5のS50でYES)ことに応じて、T122において、URL1を生成するとともに、デバイステーブル142を更新する(S52)。具体的には、APPサーバ100は、UID「u01」に対応付けて、URL1と、カウンタとしての値「0」と、有効期限ED1と、を記憶する。そして、APPサーバ100は、T124において、URL1をプリンタ200に送信する(S54)。
【0083】
プリンタ200は、T124において、APPサーバ100からURL1を受信する(図4のS22でYES)ことに応じて、T126において、LANI/F214を介して、HTTPSに従って、URL1を端末300に送信する(S24でNO、S26でYES、S28)。
【0084】
端末300は、T126において、プリンタ200からURL1を受信することに応じて、T130において、画面要求をAPPサーバ100に送信する。画面要求は、T126で受信済みのURL1と、端末300のGIPであるGIP1と、を含む。
【0085】
APPサーバ100は、T130において、端末300から画面要求を受信する(図5のS60でYES)ことに応じて、デバイステーブル142を参照して、画面要求に含まれるURL1に対応付けられているカウンタ及び有効期限をチェックする(S62)。本ケースでは、カウンタの値が0であり、かつ、現在時刻が有効期限内であるので(S62でYES)、APPサーバ100は、T132において、デバイステーブル142を更新する(S64、S66)。具体的には、APPサーバ100は、URL1に対応付けて、GIP1と、カウンタの値としての「1」と、を記憶する。その後、APPサーバ100は、T140において、設定変更画面SC2を表わす設定変更画面データを端末300に送信する(S68)。
【0086】
端末300は、T140において、APPサーバ100から設定変更画面データを受信することに応じて、T142において、設定変更画面データによって表わされる設定変更画面SC2を表示する。設定変更画面SC2は、WLフラグのON又はOFFを切り替えるためのスイッチと、WLに登録されるべきメールアドレスを入力するためのアドレス入力欄と、完了ボタンと、を含む。現時点では、デバイステーブル142に記憶されているWLフラグがOFFであり、メールアドレスがWLに登録されていない。従って、設定変更画面SC2では、スイッチがOFFを示し、アドレス入力欄にはメールアドレスが記述されていない。
【0087】
図6の続き;図7
図7のT144では、端末300は、ユーザから、WLフラグをONに変更するための操作、及び、メールアドレスMA3をWLに登録するための操作を受け付ける。後者の操作は、設定変更画面SC2のアドレス入力欄内の追加ボタンを選択する操作と、メールアドレスMA3を入力する操作と、完了ボタンを選択する操作と、を含む。この結果、端末300は、T150において、変更要求をAPPサーバ100に送信する。変更要求は、URL1と、WLフラグをONに変更することを示す情報と、メールアドレスMA3と、を含む。
【0088】
APPサーバ100は、T150において、端末300から変更要求を受信する(図5のS80でYES)。この結果、APPサーバ100は、T152において、デバイステーブル142内のメール印刷設定を変更する(S82)。具体的には、APPサーバ100は、URL1に対応付けて、WLフラグ「ON」を記憶する。さらに、APPサーバ100は、URL1に対応するWLにメールアドレスMA3を登録する。
【0089】
その後、T160では、端末300は、ユーザから、URL1へのアクセス操作を再び受け付ける。この結果、端末300は、T162において、URL1とGIP1とを含む画面要求をAPPサーバ100に再び送信する。
【0090】
APPサーバ100は、T162において、端末300から画面要求を受信する(図5のS60でYES)ことに応じて、デバイステーブル142を参照して、画面要求に含まれるURL1に対応付けられているカウンタ及び有効期限をチェックする(S62)。本ケースでは、カウンタの値が1である(図6のT132参照)。従って、APPサーバ100は、設定変更画面データを送信しない(S62でNO)。また、画面要求に含まれるGIP1と、URL1に対応付けられているGIP1と、が一致する。従って、APPサーバ100は、通知情報を送信しない(S70でYES、S72でYES)。
【0091】
その後、T170では、端末400は、端末400のユーザから、URL1へのアクセス操作を受け付ける。この結果、端末400は、T172において、画面要求をAPPサーバ100に送信する。当該画面要求は、URL1と、端末400のGIPであるGIP2と、を含む。
【0092】
APPサーバ100は、T172において、端末400から画面要求を受信する(図5のS60でYES)ことに応じて、デバイステーブル142を参照して、画面要求に含まれるURL1に対応付けられているカウンタ及び有効期限をチェックする(S62)。本ケースでは、カウンタの値が1である(図6のT132参照)。従って、APPサーバ100は、設定変更画面データを送信しない(S62でNO)。また、画面要求に含まれるGIP2と、URL1に対応付けられているGIP1と、が一致しない。従って、APPサーバ100は、T174において、通知先アドレスMA2を送信先として通知情報を送信する(S70でYES、S72でNO、S74)。
【0093】
図7の続き;図8
その後、図8に示すように、図6のT100~T120の処理と同様の処理が実行される。この結果、APPサーバ100は、T180において、URL1とは異なるURL2を生成するとともに、デバイステーブル142を更新する(図5のS52)。具体的には、APPサーバ100は、UID「u01」に対応付けて、URL2と、カウンタとしての値「0」と、有効期限ED2と、を記憶する。T182及びT183の処理は、URL1とは異なるURL2が通信される点を除いて、図6のT124及びT126の処理と同様である。また、T184の処理は、画面要求がURL2を含む点を除いて、図6のT130の処理と同様である。
【0094】
APPサーバ100は、T184において、端末300から画面要求を受信する(S60でYES)ことに応じて、デバイステーブル142を参照して、画面要求に含まれるURL2に対応付けられているカウンタ及び有効期限をチェックする(S62)。本ケースでは、カウンタの値が0であり、かつ、現在時刻が有効期限内であるので(S62でYES)、APPサーバ100は、T186において、デバイステーブル142を更新する(S64、S66)。具体的には、APPサーバ100は、URL2に対応付けて、GIP1と、カウンタの値としての「1」と、を記憶する。T188の処理は、設定変更画面SC2とは異なる設定変更画面SC3を表わす設定変更画面データが通信される点を除いて、図6のT140の処理と同様である。
【0095】
T190の処理は、端末300が設定変更画面SC3を表示する点を除いて、図6のT142の処理と同様である。現時点では、デバイステーブル142に記憶されているWLフラグがONを示し、メールアドレスMA3がWLに登録されている。従って、設定変更画面SC3では、WLフラグを切り替えるためのスイッチがONを示し、MA3がアドレス入力欄に記述されている。T192では、端末300は、ユーザから、メールアドレスMA4をWLに登録するための操作を受け付ける。この結果、端末300は、T194において、変更要求をAPPサーバ100に送信する。変更要求は、URL1と、メールアドレスMA4と、を含む。
【0096】
APPサーバ100は、T194において、端末300から変更要求を受信する(図5のS80でYES)。この結果、APPサーバ100は、T196において、デバイステーブル142内のメール印刷設定を変更する(S82)。具体的には、APPサーバ100は、URL1に対応するWLにメールアドレスMA4を登録する。
【0097】
上記の図6図8の処理が実行されることによって、ユーザは、プリンタ200に対応するメール印刷設定において、WLフラグをOFFからONに変更し(図7のT152)、メールアドレスMA3,MA4をWLに登録することができる(図7のT152、図8のT196)。
【0098】
(ケースB;図9
続いて、図9を参照して、プリンタ200において、LANI/F214を介してHTTPに従った選択情報が受信されるケースBを説明する。プリンタ200及び端末300は、LAN4に接続されている。ケースBでは、HTTPSに従った通信に代えて、HTTPに従った通信が実行される点を除いて、図6のT100~T108の処理と同様の処理が実行される。この結果、端末300は、T210において、LANI/F214を介して、HTTPに従って、選択情報をプリンタ200に送信する。
【0099】
プリンタ200は、T210において、端末300から選択情報を受信する(図4のS12でYES)ことに応じて、図6のT112~T124の処理と同様の処理を実行する。そして、プリンタ200は、T220において、URL1がコード化されたQRコードを表示する(S24でNO、S26でNO、S40)。
【0100】
T222では、ユーザは、端末300を利用して、プリンタ200に表示されたQRコードを読み取るための操作を実行する。具体的には、ユーザは、プリンタ200に近づいた後に、端末300のカメラを利用してQRコードを撮影する。この結果、端末300は、T224において、QRコードをデコードしてURL1を取得する。以降の処理は、図6のT130~T142の処理、及び、図7のT144~T152の処理と同様である。本ケースでも、ユーザは、プリンタ200に対応するメール印刷設定において、WLフラグをOFFからONに変更し、メールアドレスMA3をWLに登録することができる(図7のT152)。
【0101】
(ケースC;図9
続いて、プリンタ200において、USBケーブルを介して選択情報が受信されるケースCを説明する。プリンタ200及び端末300は、USBケーブルを介して互いに接続されている。まず、図6のT100~T108の処理と同様の処理が実行される。この結果、端末300は、T240において、USBケーブルを介して、選択情報をプリンタ200に送信する(図4のS24でYES、S28)。以降の処理は、図6のT112~T142の処理、及び、図7のT144~T152の処理と同様である。本ケースでも、ユーザは、プリンタ200に対応するメール印刷設定において、WLフラグをOFFからONに変更し、メールアドレスMA3をWLに登録することができる(図7のT152)。
【0102】
(ケースD;図9
続いて、プリンタ200が変更操作を受け付けるケースDを説明する。ケースDでは、端末300は、LAN4に接続されていない。即ち、プリンタ200及び端末300は、相互に通信することができない。T250では、プリンタ200は、ユーザから、メール印刷設定の変更操作を受け付ける(図4のS30でYES)。この結果、図6のT120~T124の処理と同様の処理が実行される。その後の処理は、図9のケースBのT220以降の処理と同様である(S32、S34、S40等)。本ケースでも、ユーザは、プリンタ200に対応するメール印刷設定において、WLフラグをOFFからONに変更し、メールアドレスMA3をWLに登録することができる。
【0103】
(メール印刷処理;図10
続いて、図10を参照して、メール印刷を実行するための処理を説明する。T310では、端末300は、送信先アドレスとしてのメールアドレスMA1と、送信元アドレスとしてのメールアドレスMA3と、を含む電子メールEMをAPPサーバ100に送信する。電子メールEMには、印刷対象の画像に対応する画像データが添付されている。
【0104】
APPサーバ100は、T310において、端末300から電子メールEMを受信すると、デバイステーブル142から電子メールEMに含まれるメールアドレスMA1に対応付けて記憶されているUID「u01」、管理ID「a01」、及び、WLを特定する。そして、APPサーバ100は、T312において、電子メールEMに含まれる送信元アドレスとしてのメールアドレスMA3が、特定済みのWLに登録されているのか否かをチェックする。本ケースでは、メールアドレスMA3がWLに登録されているので(図7のT152参照)、T314以降の処理を実行する。仮に、メールアドレスMA3がWLに登録されていない場合には、T314以降の処理は実行されない。T314では、APPサーバ100は、モデル情報を要求するモデル情報要求をXMPPサーバ10に送信する。モデル情報要求は、特定済みの管理ID「a01」を含む。
【0105】
XMPPサーバ10は、T314において、APPサーバ100からモデル情報要求を受信すると、T316において、モデル情報要求内の管理ID「a01」に対応づけて記憶されているモデル情報MI(図2の管理テーブル42参照)をAPPサーバ100に送信する。
【0106】
APPサーバ100は、T316において、XMPPサーバ10からモデル情報MIを受信すると、T318において、モデル情報MIを利用して、電子メールEMに含まれる画像データを変換して、プリンタ200が解釈可能なデータ形式を有する印刷データPD1を生成する。次いで、T320では、APPサーバ100は、印刷ジョブに関する情報をジョブテーブル144に記憶する。具体的には、APPサーバ100は、特定済みのUID「u01」に対応付けて、管理ID「a01」と、新しいジョブID「j01」と、印刷データPD1と、印刷URL「http://app.com/pd1」と、を記憶する。ここで、印刷URLは、印刷データPD1が記憶されているAPPサーバ100内の位置を示する。印刷URL内の文字列「pd1」は、印刷データPD1のファイル名である。そして、T322では、APPサーバ100は、管理ID「a01」と、印刷URL「http://app.com/pd1」と、をXMPPサーバ10に送信する。
【0107】
XMPPサーバ10は、T322において、APPサーバ100から管理ID「a01」及び印刷URLを受信すると、T330において、管理ID「a01」に対応するXMPPセッション(図3のT70参照)を利用して、印刷URLをプリンタ200に送信する。
【0108】
プリンタ200は、T330において、XMPPサーバ10から印刷URLを受信すると、T334において、印刷データを要求するデータ要求をAPPサーバ100に送信する。データ要求は、印刷URL「http://app.com/pd1」を含む。
【0109】
APPサーバ100は、T334において、プリンタ200からデータ要求を受信すると、データ要求に含まれる印刷URL「http://app.com/pd1」によって示される印刷データPD1を取得する。そして、T336では、APPサーバ100は、印刷データPD1をプリンタ200に送信する。
【0110】
プリンタ200は、T336において、APPサーバ100から印刷データPD1を受信すると、T338において、印刷データPD1に対応する画像の印刷を実行する。
【0111】
(本実施例の効果)
本実施例によれば、APPサーバ100は、プリンタ200から設定変更画面SC2に対応する位置を示すURL1をプリンタ200に送信することができ(図6のT124)、この結果、プリンタ200によってURL1が出力される(T126)。その後、APPサーバ100は、URL1を取得した端末300からURL1を含む画面要求を受信する場合(T130)に、設定変更画面SC2を表わす設定変更画面データを端末300に送信する(T140)。そして、APPサーバ100は、端末300から変更要求を受信する場合(図7のT150)に、変更要求に応じてメール印刷設定を変更する(T152)。従って、ユーザは、設定変更画面SC2を利用して、APPサーバ100に記憶されているメール印刷設定を変更することができる。
【0112】
また、本実施例によれば、プリンタ200は、端末300から選択情報を受信する場合(図6のT110)に、URLの送信を要求するURL要求をAPPサーバ100に送信して(T120)、APPサーバ100からURL1を受信する(T124)。そして、プリンタ200は、URL1を外部に出力するための出力処理(T126、図9のT220)を実行する。この結果、端末300は、URL1を取得することができる(図6のT126、図9のT224)。この場合、端末300は、URL1を利用して設定変更画面SC2を表示することができる(T142、図8のT190)。このために、ユーザは、設定変更画面SC2を利用して、APPサーバ100に記憶されているメール印刷設定を変更することができる。
【0113】
(対応関係)
APPサーバ100、プリンタ200、端末300、端末400が、それぞれ、「サーバ」、「機能実行装置」、「外部装置(及び第1の端末装置)」、「第2の端末装置」の一例である。プリンタ200の管理者の端末(即ち、通知先アドレスMA2が設定されている端末)が、「対象装置」の一例である。印刷機能、印刷エンジン220が、それぞれ、「所定機能」、「機能実行エンジン」の一例である。メール印刷設定が、「設定情報」の一例である。URL1及びURL2が、「位置情報」の一例である。GIP1、GIP2が、それぞれ、「第1の識別情報」、「第2の識別情報」の一例である。WLフラグ及びWLが、「所定機能に関する設定情報」の一例である。カウンタ、有効期限が、それぞれ、「回数関係情報」、「日時関係情報」の一例である。カウンタの値「1」が、「所定値」の一例である。通知画面SC1、設定変更画面SC2が、それぞれ、「通知画面」、「設定変更画面」の一例である。通知画面SC1内のYESボタンの操作が、「所定操作」の一例である。図4のS12で受信される選択情報及びS30で受け付けられる変更操作が、「受信指示」の一例である。S40で表示されるQRコードが、「コード画像」の一例である。初期PWが、「初期認証情報」の一例である。
【0114】
図5のS50の処理、S54の処理が、それぞれ、「位置情報要求受信部」、「位置情報送信部」によって実行される処理の一例である。S52の処理が、「生成部」、「第1の記憶制御部」、及び、「第2の記憶制御部」によって実行される処理の一例である。S60の処理が、「第1の画面要求受信部」及び「第2の画面要求受信部」によって実行される処理の一例である。S62の処理が、「第1の判断部」及び「第2の判断部」によって実行される処理の一例である。S66の処理、S68の処理が、それぞれ、「第3の記憶制御部」、「画面データ送信部」によって実行される処理の一例である。S72の処理、S74の処理が、それぞれ、「第3の判断部」、「通知情報送信部」によって実行される処理の一例である。S80の処理、S82の処理が、それぞれ、「変更要求受信部」、「変更部」によって実行される処理の一例である。図10のT310の処理が、「機能実行要求受信部」によって実行される処理の一例である。T312~T322の処理が、「関連処理実行部」によって実行される処理の一例である。
【0115】
図4のS2の処理が、「ログイン要求受信部」によって実行される処理の一例である。S12の処理及びS30の処理が、「受付部」によって実行される処理の一例である。S14の処理、S16の処理が、それぞれ、「判断部」、「表示制御部」によって実行される処理の一例である。S20の処理、S22の処理が、それぞれ、「位置情報要求送信部」、「位置情報受信部」によって実行される処理の一例である。S28の処理及びS40の処理が、「出力処理実行部」によって実行される処理の一例である。図10のT330の処理、T338の処理が、それぞれ、「機能実行指示受信部」、「エンジン制御部」によって実行される処理の一例である。
【0116】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を列挙する。
【0117】
(変形例1)「機能実行装置」は、プリンタ200に限定されず、例えば、スキャナ、多機能機、ファクシミリ装置、PC、サーバ等であってもよい。例えば、スキャナの例では、「スキャン機能」が「所定機能」の一例である。
【0118】
(変形例2)「設定情報」は、例えば、ブラックリスト、メール印刷に利用されるメールアドレス、印刷ステータスを通知するのか否かを示す情報、印刷ステータスを通知するタイミング等であってもよい。また、「設定情報」は、メール印刷に関連する情報でなくてもよく、例えば、印刷解像度、印刷の色数、用紙サイズ等の情報であってもよい。また、「設定情報」は、印刷機能に関連する情報でなくてもよく、例えば、スキャン機能に関連する情報(例えば、スキャン解像度、スキャンの色数等)であってもよいし、他の機能(例えば表示機能)に関連する情報(例えば表示の解像度等)であってもよい。
【0119】
(変形例3)APPサーバ100は、図5のS50でYESと判断する毎に、S52においてURLを生成することなく、予め決められている同じURLをプリンタ200に送信してもよい。一般的に言うと、「位置情報送信部」は、機能実行装置から位置情報要求が受信される毎に、異なる位置情報を機能実行装置に送信しなくてもよい。
【0120】
(変形例4)APPサーバ100は、複数のURLを予め記憶しており、図5のS52において、URLを生成することなく、当該複数のURLの中から1個のURLを選択し、S54において、選択済みのURLをプリンタ200に送信してもよい。本変形例では、「生成部」は省略可能である。
【0121】
(変形例5)APPサーバ100は、図5のS62において、対象URLに対応付けられているカウンタの値が2未満である場合にYESと判断し、当該カウンタの値が2である場合にNOと判断してもよい。本変形例では、「2」が「所定値」の一例である。別の変形例では、「所定値」は、「3」以上の整数であってもよい。また、別の変形例では、APPサーバ100は、S52において、カウンタの値として「1」を記憶してもよい。この場合、APPサーバ100は、S64において、カウンタの値を0にデクリメントしてもよい。そして、APPサーバ100は、S62において、対象URLに対応付けられているカウンタの値が1である場合にYESと判断し、当該カウンタの値が0である場合にNOと判断してもよい。本変形例では、上記のカウンタが「回数関係情報」の一例であり、「0」が「所定値」の一例である。また、別の変形例では、APPサーバ100は、S52において、カウンタに代えて、アクセスフラグ「OFF」を記憶してもよい。この場合、APPサーバ100は、S64において、アクセスフラグを「OFF」から「ON」に変更してもよく、S62において、アクセスフラグが「OFF」である場合にYESと判断し、アクセスフラグが「ON」である場合にNOと判断してもよい。本変形例では、アクセスフラグが「回数関係情報」の一例であり、「ON」が「所定値」の一例である。
【0122】
(変形例6)APPサーバ100は、図5のS52において、カウンタをデバイステーブル142に記憶しなくてもよい。この場合、APPサーバ100は、S62において、カウンタを利用した判断を実行せず、S64の処理も実行しない。本変形例では、「第1の記憶制御部」及び「第1の判断部」は省略可能である。
【0123】
(変形例7)図5のS52で記憶される有効期限は、URLの有効期間の終期を示す日時でなくてもよく、例えば、URLの生成日時と有効期間との組み合わせであってもよいし、URLの有効期間の時間をカウントダウンするタイマであってもよいし、URLの生成日時からカウントアップされるタイマであってもよい。本変形例では、これらの情報が、「日時関係情報」の一例である。
【0124】
(変形例8)APPサーバ100は、図5のS52において、有効期限をデバイステーブル142に記憶しなくてもよい。この場合、APPサーバ100は、S62において、有効期限を利用した判断を実行しない。本変形例では、「第2の記憶制御部」及び「第2の判断部」は省略可能である。
【0125】
(変形例9)APPサーバ100は、図5のS62でNOと判断する場合に、S70~S74の処理を実行することなく、S50等の監視に戻ってもよい。この場合、APPサーバ100は、S62でYESと判断する場合に、S66の処理を実行しない。本変形例では、「第3の記憶制御部」、「第3の判断部」、及び、「通知情報送信部」は省略可能である。
【0126】
(変形例10)図5のS68において送信される設定変更画面データは、対象URLに対応づけられている現在のWLフラグの値及び現在のWLを含んでいなくてもよい。従って、例えば、図8のT160で表示される設定変更画面SC3には、WLフラグの現在の値が含まれていなくてもよく、さらに、MA3がアドレス入力欄に記述されていなくてもよい。一般的に言うと、メモリ内の設定情報によって示される設定値を含む設定変更画面を表わす画面データが第1の端末装置に送信されなくてもよい。
【0127】
(変形例11)プリンタ200がURLを出力する処理は、図4のS28におけるURLの送信、及び、S40におけるQRコードの表示に限定されず、例えば、NFC(Near Field Communicationの略)I/FへのURLの供給であってもよい。この場合、NFCI/FがURLを記憶するので、端末300がプリンタ200に近づけられることに応じて、プリンタ200は、URLを端末300に送信することができる。本変形例では、NFCI/FへのURLの供給が、「出力処理」の一例である。また、別の変形例では、プリンタ200は、BT(Bluetooth(登録商標)の略)I/Fを介して、URLを端末300に送信してもよい。本変形例では、BTI/Fを介したURLの送信が、「出力処理」の一例である。また、別の変形例では、プリンタ200は、QRコードを印刷してもよいし、URLそのものを表示部212に表示してもよい。本変形例では、これらの処理が、「出力処理」によって実行される処理の一例である。
【0128】
(変形例12)プリンタ200は、図4のS16及びS18の処理をスキップして、S20の処理を実行してもよい。本変形例では、「表示制御部」は省略可能である。
【0129】
(変形例13)プリンタ200は、図4のS20及びS22の処理を、S14の処理の後であってS16の処理の前に実行してもよい。この場合、プリンタ200は、S18でYESと判断する場合に、S24に進む。本変形例では、S18でNOの場合に、受信済みのURLが出力されないことが、「所定操作が機能実行装置に実行されない場合に、出力処理は実行されない」ことの一例である。
【0130】
(変形例14)プリンタ200は、図4のS12において、LANI/F214を介してHTTPSに従った選択情報と、LANI/F214を介してHTTPに従った選択情報と、のどちらを受信しても、S28の処理を実行してもよい。本変形例では、S26の処理は省略可能である。一般的に言うと、「出力処理実行部」は、端末装置から、HTTPSに従った受信指示とHTTPに従った受信指示とのどちらを受信しても、位置情報を端末装置に送信する出力処理を実行してもよい。
【0131】
(変形例15)プリンタ200は、図4のS12において、LANI/F214を介してHTTPに従った選択情報が受信される場合に、S14以降の処理を実行することなく図4の処理を終了してもよい。本変形例では、S14以降の処理が実行されないことが、「HTTPに従った受信指示を受信することによって、受信指示が受け付けられる場合に、位置情報を端末装置に送信する出力処理は実行されない」の一例である。また、別の変形例では、プリンタ200は、S26でNOの場合に、S40の処理をスキップして図4の処理を終了してもよい。本変形例では、S26でNOの場合に、受信済みのURLが出力されないことが、上記の「位置情報を端末装置に送信する出力処理は実行されない」の一例である。また、別の変形例では、プリンタ200は、S40の処理に代えて、NFCI/FへのURLの供給、BTI/Fを介したURLの送信、QRコードの印刷、URLそのものの表示等を実行してもよい。本変形例では、これらの処理が、上記の「位置情報を端末装置に送信する出力処理は実行されない」の一例である。
【0132】
(変形例16)プリンタ200は、USBI/F216を備えていなくてもよい。本変形例では、図4のS24の処理は省略可能である。
【0133】
(変形例17)プリンタ200は、図4のS30において、ユーザからメール印刷設定の変更操作を受け付ける場合に、S40において、QRコードを表示することに代えて、NFCI/FへのURLの供給、BTI/Fを介したURLの送信、QRコードの印刷、URLそのものの表示等を実行してもよい、本変形例では、これらの処理が、「出力処理」の一例である。
【0134】
(変形例18)図4のS14の処理は省略可能である。本変形例では、「判断部」は省略可能である。
【0135】
(変形例19)プリンタ200は、図4のS20及びS22の処理を、S12の処理の後であってS14の処理の前に実行してもよい。この場合、プリンタ200は、S18でYESの場合に、S24に進む。本変形例では、S14でYESの場合に、受信済みのURLが出力されないことが、「受信指示が受け付けられ、かつ、認証情報が初期認証情報であると判断される場合に、出力処理は実行されない」の一例である。
【0136】
(変形例20)図4のS2~S28の処理は省略可能である。本変形例では、「ログイン要求受信部」は省略可能である。また、別の変形例では、S30~S34の処理は省略可能である。
【0137】
(変形例21)デバイステーブル142に登録される通知先アドレスは、管理者のメールアドレスでなくてもよく、過去にメール印刷を要求した電子メールの送信元アドレスであってもよい。例えば、APPサーバ100は、図10のT310において、端末300から電子メールEMを受信する場合に、通知先アドレスをデバイステーブル142に登録する。具体的には、APPサーバ100は、送信先アドレスであるメールアドレスMA1に関連付けて、送信元アドレスであるメールアドレスMA3を通知先アドレスとして登録する。本変形例の場合、図3のT10の登録要求は、管理者メールアドレスである通知先アドレスMA2を含まなくてもよい。また、同じプリンタにおいて過去に複数回のメール印刷が実行されている場合には、通知先アドレスは、例えば、過去に最も多くメール印刷を要求した電子メールの送信元アドレスであってもよいし、最新のメール印刷を要求した電子メールの送信元アドレスであってもよい。
【0138】
(変形例22)上記の各実施例では、図3図10の各処理がソフトウェア(例えばプログラム40,140,240)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0139】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下の項目は、出願時の特許請求の範囲に記載の要素である。
(項目1)
サーバであって、
機能実行装置が実行可能な所定機能に関連する設定情報を記憶するメモリと、
外部装置から、前記機能実行装置に前記所定機能を実行させるための機能実行要求を受信する機能実行要求受信部と、
前記外部装置から前記機能実行要求が受信される場合に、前記メモリ内の前記設定情報を利用して、前記機能実行装置に前記所定機能を実行させることに関連する関連処理を実行する関連処理実行部と、
前記機能実行装置から、位置情報の送信を要求する位置情報要求を受信する位置情報要求受信部であって、前記位置情報は、前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記位置情報要求受信部と、
前記機能実行装置から前記位置情報要求が受信される場合に、前記位置情報を前記機能実行装置に送信する位置情報送信部であって、前記位置情報が前記機能実行装置に送信されることに応じて、前記位置情報が前記機能実行装置によって出力される、前記位置情報送信部と、
前記機能実行装置によって出力された前記位置情報を取得した第1の端末装置から、前記位置情報を含む第1の画面要求を受信する第1の画面要求受信部と、
前記第1の端末装置から前記第1の画面要求が受信される場合に、前記設定変更画面を表わす画面データを前記第1の端末装置に送信する画面データ送信部であって、前記画面データが前記第1の端末装置に送信されることに応じて、前記設定変更画面が前記第1の端末装置に表示される、前記画面データ送信部と、
前記設定変更画面において前記設定情報を変更するための指示が与えられる場合に、前記第1の端末装置から、前記設定情報の変更を要求する変更要求を受信する変更要求受信部と、
前記第1の端末装置から前記変更要求が受信される場合に、前記変更要求に応じて、前記メモリ内の前記設定情報を変更する変更部と、
を備えるサーバ。
(項目2)
前記位置情報送信部は、前記機能実行装置から前記位置情報要求が受信される毎に、異なる前記位置情報を前記機能実行装置に送信する、請求項1に記載のサーバ。
(項目3)
前記サーバは、さらに、
前記機能実行装置から前記位置情報要求が受信される毎に、ユニークな前記位置情報を生成する生成部を備え、
前記位置情報送信部は、前記機能実行装置から前記位置情報要求が受信される毎に、当該位置情報要求が受信されることに応じて生成された前記位置情報を前記機能実行装置に送信する、請求項2に記載のサーバ。
(項目4)
前記サーバは、さらに、
前記位置情報が生成される毎に、当該位置情報と、当該位置情報を含む前記第1の画面要求の受信回数に関係する回数関係情報と、を対応付けて前記メモリに記憶させる第1の記憶制御部と、
前記第1の端末装置から前記第1の画面要求が受信される毎に、当該第1の画面要求に含まれる前記位置情報に対応付けて記憶されている前記回数関係情報を利用して、前記受信回数が所定値に一致するのか否かを判断する第1の判断部と、を備え、
前記画面データ送信部は、前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記受信回数が前記所定値に一致しないと判断される場合に、前記画面データを前記第1の端末装置に送信し、
前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記受信回数が前記所定値に一致すると判断される場合に、前記画面データは前記第1の端末装置に送信されない、請求項3に記載のサーバ。
(項目5)
前記サーバは、さらに、
前記位置情報が生成される毎に、当該位置情報と、当該位置情報が生成された日時に関係する日時関係情報と、を対応付けて前記メモリに記憶させる第2の記憶制御部と、
前記第1の端末装置から前記第1の画面要求が受信される毎に、当該第1の画面要求に含まれる前記位置情報に対応付けて記憶されている前記日時関係情報を利用して、当該第1の画面要求に含まれる前記位置情報が有効であるのか否かを判断する第2の判断部と、を備え、
前記画面データ送信部は、前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記位置情報が有効であると判断される場合に、前記画面データを前記第1の端末装置に送信し、
前記第1の端末装置から前記第1の画面要求が受信され、かつ、前記位置情報が有効でないと判断される場合に、前記画面データは前記第1の端末装置に送信されない、請求項3又は4に記載のサーバ。
(項目6)
前記第1の画面要求は、さらに、前記第1の端末装置を識別する第1の識別情報を含み、
前記サーバは、さらに、
前記第1の端末装置から前記第1の画面要求が受信される場合に、前記第1の画面要求に含まれる前記位置情報と、前記第1の画面要求に含まれる前記第1の識別情報と、を対応付けて前記メモリに記憶させる第3の記憶制御部と、
前記第1の端末装置から前記第1の画面要求が受信された後に、第2の端末装置から、前記位置情報と、前記第2の端末装置を識別する第2の識別情報と、を含む第2の画面要求を受信する第2の画面要求受信部と、
前記第2の端末装置から前記第2の画面要求が受信される場合に、前記第2の画面要求に含まれる前記位置情報に対応付けて記憶されている前記第1の識別情報と、前記第2の画面要求に含まれる前記第2の識別情報と、が一致するのか否かを判断する第3の判断部と、
前記第1の識別情報と前記第2の識別情報とが一致しないと判断される場合に、前記第1の端末装置とは異なる前記第2の端末装置から前記第2の画面要求が受信されたことを通知するための通知情報を対象装置に送信する通知情報送信部と、を備える、請求項1から5のいずれか一項に記載のサーバ。
(項目7)
前記画面データ送信部は、前記第1の端末装置から前記第1の画面要求が受信される場合に、前記メモリ内の前記設定情報によって示される設定値を含む前記設定変更画面を表わす前記画面データを前記第1の端末装置に送信する、請求項1から6のいずれか一項に記載のサーバ。
(項目8)
機能実行装置であって、
所定機能を実行するための機能実行エンジンと、
サーバから機能実行指示を受信する機能実行指示受信部と、
前記サーバから前記機能実行指示が受信される場合に、前記所定機能を前記機能実行エンジンに実行させるエンジン制御部と、
位置情報を受信するための受信指示を受け付ける受付部であって、前記位置情報は、前記サーバに記憶されている設定情報であって、前記所定機能に関連する前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記受付部と、
前記受信指示が受け付けられる場合に、前記位置情報の送信を要求する位置情報要求を前記サーバに送信する位置情報要求送信部と、
前記位置情報要求が前記サーバに送信される場合に、前記サーバから前記位置情報を受信する位置情報受信部と、
前記サーバから前記位置情報が受信される場合に、前記位置情報を外部に出力するための出力処理を実行する出力処理実行部と、
を備える機能実行装置。
(項目9)
前記機能実行装置は、さらに、
表示部と、
LAN(Local Area Networkの略)を介した通信を実行するためのLANインターフェースと、
前記LANインターフェースを介して端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、所定操作を前記機能実行装置に実行することを促す通知画面を前記表示部に表示させる表示制御部と、を備え、
前記出力処理実行部は、前記通知画面が前記表示部に表示された後に、前記所定操作が前記機能実行装置に実行される場合に、前記出力処理を実行し、
前記通知画面が前記表示部に表示された後に、前記所定操作が前記機能実行装置に実行されない場合に、前記出力処理は実行されない、請求項8に記載の機能実行装置。
(項目10)
前記機能実行装置は、さらに、
LAN(Local Area Networkの略)を介した通信を実行するためのLANインターフェースを備え、
前記出力処理実行部は、前記LANインターフェースを介して端末装置からHTTPS(Hyper Text Transfer Protocol Secureの略)に従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記LANインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理を実行し、
前記LANインターフェースを介して前記端末装置からHTTP(Hyper Text Transfer Protocolの略)に従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記LANインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理は実行されない、請求項8又は9に記載の機能実行装置。
(項目11)
前記出力処理実行部は、前記LANインターフェースを介して前記端末装置から前記HTTPに従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記位置情報がコード化されたコード画像を出力する前記出力処理を実行する、請求項10に記載の機能実行装置。
(項目12)
前記機能実行装置は、さらに、
USB(Universal Serial Busの略)ケーブルを介した通信を実行するためのUSBインターフェースを備え、
前記出力処理実行部は、
前記USBインターフェースを介して前記端末装置から前記HTTPSに従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記USBインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理を実行し、
前記USBインターフェースを介して前記端末装置から前記HTTPに従った前記受信指示を受信することによって、前記受信指示が受け付けられる場合に、前記USBインターフェースを介して前記位置情報を前記端末装置に送信する前記出力処理を実行する、請求項10又は11に記載の機能実行装置。
(項目13)
前記出力処理実行部は、前記機能実行装置に対する操作である前記受信指示が受け付けられる場合に、前記位置情報がコード化されたコード画像を出力する前記出力処理を実行する、請求項8から12のいずれか一項に記載の機能実行装置。
(項目14)
前記機能実行装置は、さらに、
LAN(Local Area Networkの略)を介した通信を実行するためのLANインターフェースと、
前記LANインターフェースを介して、端末装置から認証情報を含むログイン要求を受信するログイン要求受信部と、
前記端末装置から前記ログイン要求が受信される場合に、前記ログイン要求に含まれる前記認証情報が予め決められている初期認証情報であるのか否かを判断する判断部と、を備え、
前記出力処理実行部は、前記認証情報の認証が成功した後に、前記LANインターフェースを介して前記端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられ、かつ、前記認証情報が前記初期認証情報でないと判断される場合に、前記出力処理を実行し、
前記認証情報の認証が成功した後に、前記LANインターフェースを介して前記端末装置から前記受信指示を受信することによって、前記受信指示が受け付けられ、かつ、前記認証情報が前記初期認証情報であると判断される場合に、前記出力処理は実行されない、請求項8から13のいずれか一項に記載の機能実行装置。
(項目15)
サーバのためのコンピュータプログラムであって、
前記サーバは、
機能実行装置が実行可能な所定機能に関連する設定情報を記憶するメモリと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
外部装置から、前記機能実行装置に前記所定機能を実行させるための機能実行要求を受信する機能実行要求受信部と、
前記外部装置から前記機能実行要求が受信される場合に、前記メモリ内の前記設定情報を利用して、前記機能実行装置に前記所定機能を実行させることに関連する関連処理を実行する関連処理実行部と、
前記機能実行装置から、位置情報の送信を要求する位置情報要求を受信する位置情報要求受信部であって、前記位置情報は、前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記位置情報要求受信部と、
前記機能実行装置から前記位置情報要求が受信される場合に、前記位置情報を前記機能実行装置に送信する位置情報送信部であって、前記位置情報が前記機能実行装置に送信されることに応じて、前記位置情報が前記機能実行装置によって出力される、前記位置情報送信部と、
前記機能実行装置によって出力された前記位置情報を取得した第1の端末装置から、前記位置情報を含む第1の画面要求を受信する第1の画面要求受信部と、
前記第1の端末装置から前記第1の画面要求が受信される場合に、前記設定変更画面を表わす画面データを前記第1の端末装置に送信する画面データ送信部であって、前記画面データが前記第1の端末装置に送信されることに応じて、前記設定変更画面が前記第1の端末装置に表示される、前記画面データ送信部と、
前記設定変更画面において前記設定情報を変更するための指示が与えられる場合に、前記第1の端末装置から、前記設定情報の変更を要求する変更要求を受信する変更要求受信部と、
前記第1の端末装置から前記変更要求が受信される場合に、前記変更要求に応じて、前記メモリ内の前記設定情報を変更する変更部と、
として機能させる、コンピュータプログラム。
(項目16)
機能実行装置のためのコンピュータプログラムであって、
前記機能実行装置は、
所定機能を実行するための機能実行エンジンと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
サーバから機能実行指示を受信する機能実行指示受信部と、
前記サーバから前記機能実行指示が受信される場合に、前記所定機能を前記機能実行エンジンに実行させるエンジン制御部と、
位置情報を受信するための受信指示を受け付ける受付部であって、前記位置情報は、前記サーバに記憶されている設定情報であって、前記所定機能に関連する前記設定情報を変更するための設定変更画面に対応する位置を示す情報である、前記受付部と、
前記受信指示が受け付けられる場合に、前記位置情報の送信を要求する位置情報要求を前記サーバに送信する位置情報要求送信部と、
前記位置情報要求が前記サーバに送信される場合に、前記サーバから前記位置情報を受信する位置情報受信部と、
前記サーバから前記位置情報が受信される場合に、前記位置情報を外部に出力するための出力処理を実行する出力処理実行部と、
として機能させる、コンピュータプログラム。
【符号の説明】
【0140】
2:通信システム、4:LAN、8:インターネット、10:XMPPサーバ、16,116:ネットワークI/F、30,130,230:制御部、32,132,232:CPU、34,134,234:メモリ、40,140,240:プログラム、42:管理テーブル、100:APPサーバ、142:デバイステーブル、144:ジョブテーブル、200:プリンタ、212:表示部、214:LANI/F、216:USBI/F、220:印刷エンジン、300,400:端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10