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

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

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

特許7196599機能実行装置及び機能実行装置のためのコンピュータプログラム
<>
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図1
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図2
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図3
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図4
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図5
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図6
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図7
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図8
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図9
  • 特許-機能実行装置及び機能実行装置のためのコンピュータプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】機能実行装置及び機能実行装置のためのコンピュータプログラム
(51)【国際特許分類】
   H04N 1/00 20060101AFI20221220BHJP
   B41J 29/38 20060101ALI20221220BHJP
   G06F 3/12 20060101ALI20221220BHJP
【FI】
H04N1/00 838
H04N1/00 127A
B41J29/38 203
G06F3/12 338
【請求項の数】 16
(21)【出願番号】P 2018244770
(22)【出願日】2018-12-27
(65)【公開番号】P2020107998
(43)【公開日】2020-07-09
【審査請求日】2021-12-10
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】山本 俊介
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2011-230508(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
B41J 29/38
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
機能実行装置であって、
第1の機能を実行するための第1の機能実行部と、
特定のユーザを識別するための特定のユーザ識別情報が入力される場合に、前記特定のユーザ識別情報と、前記第1の機能の実行を前記特定のユーザに許容するのか否かに関係する特定の関係情報と、を関連付けてメモリに記憶する第1の記憶制御部であって、前記メモリは、1以上のユーザのそれぞれについて、当該ユーザを識別するユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係する関係情報と、を関連付けて記憶するように構成されている、前記第1の記憶制御部と、
第1のユーザがサーバを利用するための第1のアカウント識別情報を含むサーバ利用情報が前記サーバに登録される場合に、前記サーバから前記第1のアカウント識別情報を受信する第1の情報受信部と、
前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容するのか否かに関係する第1の関係情報と、を関連付けて前記メモリに記憶する第2の記憶制御部と、
前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記メモリにおいて前記第1のアカウント識別情報に関連付けて記憶されている前記第1の関係情報が前記第1の機能の実行を前記第1のユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第1の機能制御部と、
を備える、機能実行装置。
【請求項2】
前記機能実行装置は、さらに、
前記サーバから前記第1のアカウント識別情報が受信される場合に、前記機能実行装置の状態が、前記関係情報を利用する第1の状態であるのか、前記関係情報を利用しない第2の状態であるのか、を判断する第1の判断部を備え、
前記第2の記憶制御部は、前記機能実行装置の状態が前記第1の状態であると判断される場合に、前記第1のアカウント識別情報と前記第1の関係情報とを関連付けて前記メモリに記憶し、
前記機能実行装置の状態が前記第2の状態であると判断される場合に、前記第1のアカウント識別情報と前記第1の関係情報とは前記メモリに記憶されない、請求項1に記載の機能実行装置。
【請求項3】
前記メモリは、さらに、前記第1の機能の実行を一般ユーザに許容するのか否かに関係する一般関係情報を記憶するように構成されており、
前記機能実行装置は、さらに、
前記機能実行装置の状態が前記第2の状態であると判断された後に、前記機能実行装置の状態が前記第2の状態から前記第1の状態に変更され、かつ、前記第1のアカウント識別情報が前記メモリに記憶されていない状態において、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記一般関係情報が前記第1の機能の実行を前記一般ユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第2の機能制御部を備える、請求項2に記載の機能実行装置。
【請求項4】
前記機能実行装置は、さらに、
前記機能実行装置の状態が前記第2の状態であると判断された後に、前記機能実行装置の状態が前記第2の状態から前記第1の状態に変更される場合に、前記第1のアカウント識別情報と前記第1の関係情報とを関連付けて前記メモリに記憶する第3の記憶制御部を備える、請求項2に記載の機能実行装置。
【請求項5】
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信され、かつ、前記第1のアカウント識別情報が前記メモリに記憶されている場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容するのか否かに関係する第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備え、
前記サーバから前記第2のアカウント識別情報が受信され、かつ、前記第1のアカウント識別情報が前記メモリに記憶されていない場合に、前記第2のアカウント識別情報と前記第2の関係情報とは前記メモリに記憶されない、請求項2から4のいずれか一項に記載の機能実行装置。
【請求項6】
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容するのか否かに関係する第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備える、請求項1からのうちのいずれか一項に記載の機能実行装置。
【請求項7】
前記第2の情報受信部は、前記第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を含む前記第1の機能の実行指示を受信することによって、前記第2のアカウント識別情報を受信する、請求項6に記載の機能実行装置。
【請求項8】
前記機能実行装置は、さらに、
前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、問合要求を前記サーバに送信する送信部であって、前記問合要求は、前記第2のアカウント識別情報が前記サーバ利用情報に追加されたのか否かを問い合わせるための要求である、前記送信部を備え、
前記第2の情報受信部は、前記第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから、前記問合要求に対する応答であって、前記第2のアカウント識別情報が前記サーバ利用情報に追加されたことを示し、前記第2のアカウント識別情報を含む前記応答を受信することによって、前記第2のアカウント識別情報を受信する、請求項6に記載の機能実行装置。
【請求項9】
前記機能実行装置は、さらに、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記機能実行装置の状態が、前記関係情報を利用する第1の状態であるのか、前記関係情報を利用しない第2の状態であるのか、を判断する第2の判断部を備え、
前記第4の記憶制御部は、前記機能実行装置の状態が前記第1の状態であると判断される場合に、前記第2のアカウント識別情報と前記第2の関係情報とを関連付けて前記メモリに記憶し、
前記機能実行装置の状態が前記第2の状態であると判断される場合に、前記第2のアカウント識別情報と前記第2の関係情報とは前記メモリに記憶されない、請求項6から8のいずれか一項に記載の機能実行装置。
【請求項10】
前記第1の機能は、印刷機能であり、
前記第1の関係情報は、前記印刷機能の実行を前記第1のユーザに許容するのか否かを示す第1の機能実行情報を含み、
前記第1の関係情報は、前記第1の機能実行情報が前記印刷機能の実行を前記第1のユーザに許容することを示す場合に、さらに、前記第1のユーザに許容される印刷枚数である第1の許容印刷枚数と、特定の印刷条件を利用した前記印刷機能の実行を前記第1のユーザに許容するのか否かを示す第1の条件実行情報と、のうちの少なくとも一方を含み、
前記第2の関係情報は、前記印刷機能の実行を前記第2のユーザに許容するのか否かを示す第2の機能実行情報を含み、
前記第2の関係情報は、前記第2の機能実行情報が前記印刷機能の実行を前記第2のユーザに許容することを示す場合に、さらに、前記第2のユーザに許容される印刷枚数である第2の許容印刷枚数であって、前記第1の許容印刷枚数と同じ前記第2の許容印刷枚数と、前記特定の印刷条件を利用した前記印刷機能の実行を前記第2のユーザに許容するのか否かを示す第2の条件実行情報であって、前記第1の条件実行情報と同じ前記第2の条件実行情報と、のうちの少なくとも一方を含む、請求項6から9のうちのいずれか一項に記載の機能実行装置。
【請求項11】
前記機能実行装置は、さらに、
前記サーバから前記サーバ利用情報が削除される場合に、前記サーバから削除通知を受信する通知受信部と、
前記サーバから前記削除通知が受信される場合に、前記メモリから前記第1のアカウント識別情報と前記第1の関係情報とを削除する削除部と、
を備える、請求項1から10のうちのいずれか一項に記載の機能実行装置。
【請求項12】
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容するのか否かに関係する第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備え、
前記削除部は、前記サーバから前記削除通知が受信される場合に、さらに、前記メモリから前記第2のアカウント識別情報と前記第2の関係情報とを削除する、請求項11に記載の機能実行装置。
【請求項13】
前記機能実行装置は、さらに、前記第1の機能とは異なる第2の機能を実行するための第2の機能実行部を備え、
前記メモリは、前記1以上のユーザのそれぞれについて、当該ユーザを識別する前記ユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係すると共に前記第2の機能の実行を当該ユーザに許容するのか否かに関係する前記関係情報と、を関連付けて記憶するように構成されており、
前記第2の記憶制御部は、前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容することを示すと共に前記第2の機能の実行を前記第1のユーザに許容することを示す前記第1の関係情報と、を関連付けて前記メモリに記憶する、請求項1から12のうちのいずれか一項に記載の機能実行装置。
【請求項14】
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容することを示すと共に前記第2の機能の実行を前記第2のユーザに許容しないことを示す第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備える、請求項13に記載の機能実行装置。
【請求項15】
前記第2の情報受信部は、前記第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記第2のアカウント識別情報を含む前記第1の機能の実行指示を受信することによって、前記第2のアカウント識別情報を受信する、請求項14に記載の機能実行装置。
【請求項16】
機能実行装置のためのコンピュータプログラムであって、
前記機能実行装置は、第1の機能を実行するための第1の機能実行部を備え、
前記機能実行装置のコンピュータを、以下の各部、即ち、
特定のユーザを識別するための特定のユーザ識別情報が入力される場合に、前記特定のユーザ識別情報と、前記第1の機能の実行を前記特定のユーザに許容するのか否かに関係する特定の関係情報と、を関連付けてメモリに記憶する第1の記憶制御部であって、前記メモリは、1以上のユーザのそれぞれについて、当該ユーザを識別するユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係する関係情報と、を関連付けて記憶するように構成されている、前記第1の記憶制御部と、
第1のユーザがサーバを利用するための第1のアカウント識別情報を含むサーバ利用情報が前記サーバに登録される場合に、前記サーバから前記第1のアカウント識別情報を受信する第1の情報受信部と、
前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容するのか否かに関係する第1の関係情報と、を関連付けて前記メモリに記憶する第2の記憶制御部と、
前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記メモリにおいて前記第1のアカウント識別情報に関連付けて記憶されている前記第1の関係情報が前記第1の機能の実行を前記第1のユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第1の機能制御部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、ユーザを識別するためのユーザ識別情報と、機能の実行を当該ユーザに許容するのか否かに関係する関係情報と、を関連付けてメモリに記憶することが可能な機能実行装置に関する技術を開示する。
【背景技術】
【0002】
特許文献1には、アカウントIDを利用してサーバにログインして、サーバから印刷ジョブを受信するMFP(Multi-Function Peripheralの略)が開示されている。MFPは制限テーブルを記憶しており、制限テーブルには、1以上のユーザのそれぞれについて、当該ユーザのアカウントIDと、当該ユーザに印刷機能の実行を許容するのか否かを示す印刷許容情報と、が関連付けて記憶される。MFPは、サーバからアカウントIDを含む印刷ジョブを受信する場合に、当該アカウントIDに関連する印刷許容情報に基づいて、印刷機能を実行するのか否かを判断する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-49718号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、例えば、MFPの管理者が、MFPの操作部を操作してアカウントIDと印刷許容情報とをMFPに入力することによって、アカウントIDと印刷許容情報とが制限テーブルに記憶される。
【0005】
本明細書では、アカウント識別情報と機能の実行をユーザに許容するのか否かに関係する関係情報とを簡易にメモリに記憶するための技術を提供する。
【0006】
本明細書で開示する機能実行装置は、第1の機能を実行するための第1の機能実行部と、特定のユーザを識別するための特定のユーザ識別情報が入力される場合に、前記特定のユーザ識別情報と、前記第1の機能の実行を前記特定のユーザに許容するのか否かに関係する特定の関係情報と、を関連付けてメモリに記憶する第1の記憶制御部であって、前記メモリは、1以上のユーザのそれぞれについて、当該ユーザを識別するユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係する関係情報と、を関連付けて記憶するように構成されている、前記第1の記憶制御部と、第1のユーザがサーバを利用するための第1のアカウント識別情報を含むサーバ利用情報が前記サーバに登録される場合に、前記サーバから前記第1のアカウント識別情報を受信する第1の情報受信部と、前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容するのか否かに関係する第1の関係情報と、を関連付けて前記メモリに記憶する第2の記憶制御部と、前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記メモリにおいて前記第1のアカウント識別情報に関連付けて記憶されている前記第1の関係情報が前記第1の機能の実行を前記第1のユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第1の機能制御部と、を備えてもよい。
【0007】
上記の構成によれば、機能実行装置は、サーバ利用情報がサーバに登録される場合に、サーバから第1のアカウント識別情報を受信する。この場合に、機能実行装置は、第1のアカウント識別情報と第1の関係情報とを関連付けてメモリに記憶する。従って、第1のアカウント識別情報と第1の機能の実行をユーザに許容するのか否かに関係する第1の関係情報とを簡易にメモリに記憶することができる。
【0008】
上記の機能実行装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の機能実行装置によって実行される方法も新規で有用である。
【図面の簡単な説明】
【0009】
図1】通信システムの構成を示す。
図2】デバイス情報を登録する処理のシーケンス図を示す。
図3図2の続きのシーケンス図を示す。
図4】シェアユーザを登録する処理のシーケンス図を示す。
図5】サーバ印刷処理のフローチャートを示す。
図6】アカウント印刷処理のフローチャートを示す。
図7】一般印刷処理のフローチャートを示す。
図8】サーバ印刷処理によって実現される具体的なケースを示す。
図9】テーブル更新処理のフローチャートを示す。
図10】削除処理のシーケンス図を示す。
【発明を実施するための形態】
【0010】
(通信システム2の構成;図1
図1に示されるように、通信システム2は、多機能機10と、仲介サーバ100と、PC(Personal Computerの略)200、210と、を備える。以下では、多機能機10のことを「MFP(Multi-Function Peripheralの略)10」と記載し、仲介サーバ100のことを単に「サーバ100」と記載することがある。MFP10及び各PC200、210は、LAN4に接続されている。LAN4は、インターネット6に接続されている。サーバ100は、インターネット6に接続されている。従って、MFP10及び各PC200、210は、インターネット6を介して、サーバ100と通信可能である。各PC200、210は、本実施例では、据置型の端末装置(例えばデスクトップPC等)であるが、変形例では、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC等の可搬型の端末装置であってもよい。
【0011】
(MFP10の構成)
MFP10は、複数個の機能を実行可能な周辺機器(例えばPC200の周辺機器)である。複数の機能は、印刷機能とスキャン機能とを含む。MFP10には、MFP10のモデルを示すモデル名MNと、MFP10を識別するためのデバイス名DNと、MACアドレスADと、が割り当てられている。MFP10は、操作部12と、表示部14と、ネットワークインターフェース16と、印刷実行部18と、スキャン実行部20と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0012】
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークI/F16は、LAN4に接続されている。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。スキャン実行部20は、CCD、CIS等のスキャン機構を備える。
【0013】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、さらに、制限テーブル40と、制限フラグ42と、を記憶する。
【0014】
制限テーブル40は、1個以上の組合せ情報を記憶するテーブルである。組合せ情報は、ユーザ関係情報と制限情報と含む。組合せ情報は、パスワードを含み得る。ユーザ関係情報は、個々のユーザ(即ち個別ユーザ)を識別するユーザ識別情報(例えば「John」)と、個別ユーザ以外の全てのユーザである一般ユーザを示す一般ユーザ情報(例えば「Public」)と、に分けられる。一般ユーザ情報は、MFP10の出荷段階から制限テーブル40に予め記憶されている。ユーザ関係情報が一般ユーザ情報である場合、組合せ情報は、パスワードを含まない。なお、変形例では、ユーザ関係情報は、1人以上の個別ユーザが所属するグループ(例えば企業内の部門)を示すグループ識別情報と、一般ユーザ情報と、に分けられてもよい。この場合、制限テーブル40は、グループ識別情報と制限情報とを含む組合せ情報を記憶し、当該組合せ情報は、パスワードを含まなくてもよい。そして、メモリ34は、制限テーブル40に加えて、ユーザテーブルを記憶してもよい。ユーザテーブルは、複数個のユーザ識別情報のそれぞれについて、当該ユーザ識別情報と、当該ユーザ識別情報によって識別されるユーザが所属するグループを識別するグループ識別情報と、を関連付けて記憶してもよい。ユーザテーブルは、さらに、当該ユーザ識別情報に関連付けてパスワードを記憶してもよく、当該ユーザ識別情報が後述するアカウント名である場合に、パスワードを記憶しなくてもよい。
【0015】
ユーザ識別情報は、MFP10の管理者によって、制限テーブル40に記憶される。例えば、MFP10にアクセスするためのログイン操作が管理者によってPC200に実行されると、PC200は、ユーザ識別情報とパスワードを入力するための入力画面を表示する。PC200は、ユーザ識別情報「John」とパスワード「aaa」が入力画面に入力されると、ユーザ識別情報「John」とパスワード「aaa」とを含む記憶指示をMFP10に送信する(T2)。MFP10は、T2において、PC200から記憶指示を受信すると、記憶指示に含まれる各情報(即ちユーザ識別情報「John」とパスワード「aaa」)を制限テーブル40に新たに記憶する。また、MFP10は、管理者を認証するための認証情報が管理者によってMFP10の操作部12に入力されて、管理者の認証が成功する場合に、ユーザ識別情報とパスワードを入力するための入力画面を表示部14に表示させてもよい。そして、MFP10は、ユーザ識別情報「John」とパスワード「aaa」が入力画面に入力されると、ユーザ識別情報「John」とパスワード「aaa」を制限テーブル40に新たに記憶してもよい。なお、パスワード「aaa」は、ユーザによって入力されなくてもよく、例えば、PC200又はMFP10によって生成されてもよい。
【0016】
制限情報は、印刷機能の実行をユーザに許容するのか否かを示す印刷実行情報と、所定の期間(例えば1か月)の間に当該ユーザに許容される印刷枚数である許容枚数と、所定の期間の間に当該ユーザからの指示に応じた印刷枚数である印刷済み枚数と、スキャン機能の実行を当該ユーザに許容するのか否かを示すスキャン実行情報と、を含む。印刷実行情報とスキャン実行情報のそれぞれは、機能の実行をユーザに許容することを示す「OK」と、機能の実行をユーザに許容しないことを示す「NG」と、のどちらかの値を示す。印刷実行情報、スキャン実行情報、及び、許容枚数は、管理者によって設定される。
【0017】
例えば、MFP10は、ユーザ識別情報「John」とパスワード「aaa」が制限テーブル40に記憶された後に、T4において、PC200からユーザ識別情報「John」とパスワード「aaa」とを含む印刷指示を受信する。この場合、MFP10は、印刷指示内のユーザ識別情報「John」及びパスワード「aaa」の組合せが制限テーブル40に記憶されているのか否かを判断する。MFP10は、当該組合せが制限テーブル40に記憶されていると判断する場合に、制限テーブル40から当該組合せに関連付けられている印刷実行情報を特定する。MFP10は、特定済みの印刷実行情報が「OK」を示す場合に、印刷指示に従った印刷を実行し、特定済みの印刷実行情報が「NG」を示す場合に、印刷を実行しない。即ち、MFP10は、制限テーブル40を利用することによって、各ユーザに応じた機能の利用制限を実現することができる。
【0018】
また、制限テーブル40には、個別ユーザがサーバ100を利用するためのアカウント名(例えば「Ken@server.com」)がユーザ識別情報として記憶され得る。これにより、サーバ100から印刷指示(即ち後述するジョブ通知)が受信される場合でも、各ユーザに応じた機能の利用制限を実現することができる。ここで、アカウント名は、サーバ100からアカウント名が受信される場合に、制限テーブル40に記憶される。アカウント名を制限テーブル40に記憶する処理については後述する。なお、ユーザ識別情報がアカウント名である場合、組合せ情報は、パスワードを含まない。
【0019】
制限フラグ42は、制限テーブル40を利用して各ユーザに応じた機能の利用制限を実行することを示す「ON」と、制限テーブル40を利用しないこと(即ち各ユーザに応じた機能の利用制限を実行しないこと)を示す「OFF」と、のどちらかの値を示す。制限フラグ42は、MFP10の管理者によって「ON」又は「OFF」に設定される。
【0020】
メモリ34は、さらに、アクセス情報44を記憶し得る。アクセス情報44は、サーバ100にアクセスするための情報である。
【0021】
(仲介サーバ100の構成)
サーバ100は、インターネット上に設置されるサーバであり、例えば、Google(登録商標)によって提供されるGCP(Google Cloud Printの略)サーバである。ただし、変形例では、サーバ100は、例えば、Googleとは異なる事業者によって提供されるサーバであってもよいし、MFP10のベンダによって提供されるサーバであってもよい。サーバ100は、MFP10とPC200等との間で印刷の仲介を実行するためのサーバである。サーバ100は、例えばPC200から受信される画像ファイルを変換して、MFP10が解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを含む印刷ジョブをMFP10に送信する。従って、PC200等は、画像ファイルを印刷データに変換するためのプリンタドライバを備えていなくてもよい。ユーザは、ユーザがサーバ100を利用するためのアカウント情報(例えばGoogle Account)をサーバ100のメモリ134に予め登録しておく。アカウント情報は、アカウント名とパスワードとを含む。本実施例では、アカウント情報AI1(即ちアカウント名「Ken@server.com」とパスワード「xxx」)は、MFP10の管理者によって登録されたアカウント情報である。
【0022】
また、サーバ100は、MFP10を含む1個以上の周辺装置のそれぞれについて、当該周辺装置がサーバ100を利用するためのデバイス情報をメモリ134に登録し得る。デバイス情報を登録するための処理については後述する。
【0023】
(デバイス情報を登録する処理;図2図3
図2及び図3を参照して、デバイス情報をサーバ100に登録する登録プロセスについて説明する。なお、以下では、理解の容易化のために、MFP10のCPU32がプログラム36に従って実行する処理を説明する際に、CPU32を主体として記載せず、MFP10を主体として記載する。また、MFP10によって実行される全ての通信は、ネットワークI/F16を介して実行される。従って、以下では、「ネットワークI/F16を介して」という記載を省略する。
【0024】
T10では、PC200は、MFP10の管理者からアカウント情報AI1の入力とサーバ100へのログインの指示を受け付けることに応じて、アカウント情報AI1を含むログイン要求をサーバ100に送信する。アカウント情報AI1がサーバ100に登録されているので、PC200は、アカウント情報AI1を利用してサーバ100にログインしているログイン状態となる。
【0025】
サーバ100は、T10において、PC200からログイン要求を受信すると、T12において、検索画面データをPC200に送信する。検索画面データは、検索画面を表わす画面データである。検索画面は、PC200の周囲に存在する周辺装置を検索するための検索ボタンを含む。
【0026】
PC200は、T12において、サーバ100から検索画面データを受信すると、T14において、検索画面データによって表わされる検索画面を表示する。PC200は、T16において、管理者から検索画面内の検索ボタンを選択する操作を受け付けると、T18において、プリンタを検索するための検索信号をLAN4にブロードキャスト送信する。
【0027】
MFP10は、T18において、PC200から検索信号を受信すると、T20において、検索信号の送信元であるPC200にデバイス名DNを送信する。
【0028】
PC200は、T20において、MFP10からデバイス名DNを受信すると、T22において、MFP10のデバイス名DNと、MFP10以外の他の周辺装置のデバイス名と、を含む検索結果を表示する。PC200は、T24において、管理者からデバイス名DNの選択を受け付けと、T26において、登録指示をMFP10に送信する。登録指示は、サーバ100への登録をMFP10に指示するコマンドである。登録指示は、サーバ100に現在ログインしているアカウント情報AI1を含む。
【0029】
MFP10は、T26において、PC200から登録指示を受信すると、T28において、管理者を認証するための処理を実行する。例えば、当該処理は、管理者を認証するための認証情報を入力するための入力画面を表示部14に表示させる処理と、入力画面に入力された認証情報の認証を実行する処理と、を含む。MFP10は、認証が成功する場合に、後述するT30以降の処理を実行し、認証が失敗する場合に、T30以降の処理を実行せずに、認証が失敗したことを示す通知をPC200に送信する。
【0030】
T30では、MFP10は、登録要求をサーバ100に送信する。登録要求は、デバイス情報の登録をサーバ100に要求するコマンドである。登録要求は、MFP10のMACアドレスADと、MFP10のモデル名MNと、機能情報FIと、を含む。機能情報FIは、MFP10が実行可能な複数個の機能(即ち印刷機能、スキャン機能)と、ユーザが選択可能な条件(例えば、印刷の色数、両面印刷の有無、スキャンの色数等)と、を示す。
【0031】
サーバ100は、T30において、MFP10から登録要求を受信すると、T32において、登録要求に含まれるMACアドレスADがサーバ100に既に登録されているのか否かを判断する。本ケースでは、サーバ100は、MACアドレスADがまだ登録されていないと判断し、T34以降の処理を実行する。なお、仮に、MACアドレスADが既に登録されていると判断される場合には、T72以降の処理が実行されず、図2図3の処理が終了する。
【0032】
T34では、サーバ100は、管理識別子MI及び登録トークンRTを生成する。管理識別子は、サーバ100がMFP10を管理するためにMFP10に割り当てる識別子である。登録トークンは、アカウント名を含むデバイス情報を登録するために利用されるトークンである。サーバ100は、過去に生成された管理識別子及び登録トークンと重複しないように、ユニークな管理識別子MI及び登録トークンRTを生成する。T36では、サーバ100は、デバイス情報DIを記憶する。デバイス情報DIは、T30の登録要求に含まれる各情報(即ち、MACアドレスAD、モデル名MN、機能情報FI)と、生成済みの管理識別子MIと、生成済みの登録トークンRTと、を含む。T38では、サーバ100は、管理識別子MI及び登録トークンRTをMFP10に送信する。
【0033】
MFP10は、T38において、サーバ100から管理識別子MI及び登録トークンRTを受信すると、図3のT100において、登録トークンRTをPC200に送信する。さらに、MFP10は、登録トークンRTをPC200に送信した後に、デバイス情報の登録が完了したのかを確認するための登録確認信号(後述のT114参照)をサーバ100に定期的に送信する。
【0034】
PC200は、T100において、MFP10から登録トークンRTを受信すると、T110において、サーバ100に現在ログインしているアカウント情報AI1と、受信済みの登録トークンRTと、を含む登録要求をサーバ100に送信する。登録要求は、アカウント情報AI1を含むデバイス情報の登録をサーバ100に要求するコマンドである。
【0035】
サーバ100は、T110において、PC200から登録要求を受信すると、T112において、登録要求に含まれる登録トークンRTと、T36で記憶された登録トークンRTと、が一致するのか否かを判断する。本ケースでは、サーバ100は、これらの登録トークンが一致すると判断し、デバイス情報DIを更新する。具体的には、サーバ100は、T36で記憶された各情報に関連付けて、登録要求に含まれるアカウント情報AI1をさらに記憶する。これにより、アカウント情報AI1を含むデバイス情報DIがサーバ100に登録される。更新後のデバイス情報DIは、登録要求に含まれるアカウント情報AI1を含むとともに、アカウント情報AI1がオーナのアカウント情報であることを示す情報「オーナ」を含む。なお、以降の処理では登録トークンRTが利用されないので、T112に示されるデバイス情報では、登録トークンRTの図示を省略している。詳しくは後述するが、デバイス情報DIには、さらに、シェアユーザのアカウント情報が追加され得る。シェアユーザは、サーバ100を利用した印刷をMFP10に実行させることがオーナによって許可されたユーザを意味する。
【0036】
サーバ100は、T112において、デバイス情報DIを更新した後に、T114において、MFP10から登録確認信号を受信すると、T120において、登録確認信号に対する応答としてアカウント情報AI1を含む登録通知をMFP10に送信する。登録通知は、デバイス情報の登録が完了したことを示す通知である。
【0037】
MFP10は、T120において、サーバ100から登録通知を受信する場合に、T130において、トークン要求をサーバ100に送信する。トークン要求は、アクセストークンの送信をサーバ100に要求するコマンドである。
【0038】
サーバ100は、T130において、MFP10からトークン要求を受信する場合に、T140において、ユニークな文字列であるアクセストークンATを生成する。さらに、サーバ100は、T112で更新された各情報に関連付けて、生成済みのアクセストークンATをさらに記憶して、デバイス情報DIを更新する。そして、T150では、サーバ100は、アクセストークンATをMFP10に送信する。
【0039】
MFP10は、T150において、サーバ100からアクセストークンATを受信すると、T160において、アクセストークンATを含む接続要求をサーバ100に送信する。接続要求は、いわゆる常時接続であるXMPP(eXtensibleMessaging and Presence Protocolの略)接続の確立をサーバ100に要求するコマンドである。
【0040】
サーバ100は、T160において、MFP10から接続要求を受信する場合に、接続要求に含まれるアクセストークンATがデバイス情報DIとして登録済みであると判断し(T140参照)、XMPP接続を確立する。このようにXMPP接続が確立されると、サーバ100は、MFP10から信号を受信しなくても、XMPP接続を利用して、LAN4のファイヤウォールを越えて信号(例えば後述の図8のT330のジョブ通知)をMFP10に送信することができる。
【0041】
また、MFP10は、サーバ100からアクセストークンATが受信された後に、T172において、アクセス情報44をメモリ34に記憶する。アクセス情報44は、アカウント情報AI1と、管理識別子MIと、アクセストークンATと、を含む。そして、MFP10は、T180において、記憶完了通知をPC200に送信する。記憶完了通知は、アクセス情報44の記憶が完了したことを示す通知である。
【0042】
続けて、T190では、MFP10は、メモリ34内の制限フラグ42が「ON」を示すのか否かを判断する。MFP10は、制限フラグ42が「ON」を示すと判断する場合(T190でYES)に、T192の処理を実行し、制限フラグ42が「OFF」を示すと判断する場合(T190でNO)に、T192の処理をスキップして、図2図3の処理を終了する。
【0043】
T192では、MFP10は、アカウント情報AI1のうちのアカウント名「Ken@server.com」をユーザ識別情報として制限テーブル40に記憶する。MFP10は、さらに、アカウント名「Ken@server.com」に関連付けて、「OK」を示す印刷実行情報と、「無制限」を示す許容枚数と、「0」を示す印刷済み枚数と、「OK」を示すスキャン実行情報と、を含む制限情報を制限テーブル40に記憶する。上記したように、アカウント名「Ken@server.com」は、MFP10の管理者のアカウント名である。通常、管理者には機能の利用制限を加える必要がないので、本実施例では、印刷機能及びスキャン機能の実行が管理者に許可され、許容枚数が「無制限」に設定される。
【0044】
また、上記の構成によれば、MFP10は、制限フラグ42が「OFF」を示す場合(T190でNO)に、アカウント名「Ken@server.com」を制限テーブル40に記憶しない(即ちT192を実行しない)。本実施例の構成によれば、制限テーブル40が利用されないにも関わらず、アカウント名「Ken@server.com」が制限テーブル40に不必要に記憶されることを抑制することができる。
【0045】
また、上記の構成によれば、MFP10は、デバイス情報DIがサーバ100に登録される際に、サーバ100からアカウント名「Ken@server.com」を受信し(図3のT120)、ユーザ識別情報としてのアカウント名「Ken@server.com」と制限情報とを制限テーブル40に記憶する(T192)。ここで、MFP10は、デバイス情報DIがサーバ100に登録された後に、アカウント名「Ken@server.com」をMFP10の操作部12に入力する操作を受け付けることなく、さらに、PC200等からアカウント名「Ken@server.com」を含む記憶指示(図1のT2参照)を受信することなく、アカウント名「Ken@server.com」と制限情報とを制限テーブル40に記憶する。従って、ユーザ(即ち管理者)は、デバイス情報DIがサーバ100に登録された後に、アカウント名「Ken@server.com」と制限情報とを制限テーブル40に記憶することを目的として、アカウント名「Ken@server.com」を操作部12に入力したりPC200等に入力したりする必要がない。このために、MFP10は、アカウント名「Ken@server.com」と制限情報とを簡易に制限テーブル40に記憶することができる。
【0046】
(シェアユーザを登録する処理;図4
図4を参照して、シェアユーザをサーバ100に登録する処理について説明する。図4は、図3の続きである。従って、サーバ100には、MACアドレスADと、モデル名MNと、機能情報FIと、管理識別子MIと、アカウント情報AI1と、アクセストークンATと、を含むデバイス情報DIが記憶されている。
【0047】
T200は、図2のT10と同様である。T202では、PC200は、登録リスト要求をサーバ100に送信する。登録リスト要求は、アカウント情報AI1に関連付けられて記憶されているモデル名と管理識別子とを含むリストを要求するためのコマンドである。
【0048】
サーバ100は、T202において、PC200から登録リスト要求を受信すると、T204において、登録リスト情報をPC200に送信する。本ケースでは、サーバ100には、アカウント情報AI1を含む1個のデバイス情報DIが登録されている。このため、登録リスト情報は、モデル名MNと管理識別子MIとを含む。
【0049】
PC200は、T204において、サーバ100からモデル名MNと管理識別子MIとを含む登録リスト情報を受信すると、T206において、登録リスト情報によって表される登録リストを表示する。PC200は、T208において、登録リスト内のモデル名MNと管理識別子MIとの組み合わせの選択を受け付ける場合に、T210において、シェア画面を表示する。シェア画面は、シェアユーザのアカウント名を入力するための画面である。PC200は、T212において、シェアユーザのアカウント名「Bob@server.com」の入力を受け付けると、T214において、管理識別子MIとアカウント名「Bob@server.com」とを含むシェア要求をサーバ100に送信する。シェア要求は、シェアユーザのアカウント名をデバイス情報DIに追加することを要求するコマンドである。
【0050】
サーバ100は、T214において、PC200からシェア要求を受信すると、シェア要求に含まれるシェア情報(即ち管理識別子MIとアカウント名「Bob@server.com」)をメモリ134に記憶する。シェア情報は、サーバ100がアカウント名「Bob@server.com」を含むアカウント情報AI2を利用してサーバ100にログインしているPC210から後述するOK通知を受信するまで、サーバ100内に記憶される。
【0051】
続けて、T230では、PC210は、シェアユーザからアカウント情報AI2の入力とサーバ100へのログインの指示を受け付けることに応じて、アカウント情報AI2を含むログイン要求をサーバ100に送信する。アカウント情報AI2はサーバ100に登録されているので、PC210は、アカウント情報AI2を利用してサーバ100にログインしているログイン状態となる。
【0052】
サーバ100は、T230において、PC200からログイン要求を受信すると、T232において、確認画面を表わす確認画面情報をPC210に送信する。確認画面は、シェアユーザのアカウント名「Bob@server.com」をデバイス情報DIに追加するのか否かをシェアユーザに確認するための画面である。確認画面は、OKボタンとCancelボタンとを含む。
【0053】
PC210は、T232において、サーバ100から確認画面情報を受信すると、T234において、確認画面を表示する。PC210は、T236において、確認画面内のOKボタンの選択を受け付けると、T238において、OKボタンが選択されたことを示すOK通知をサーバ100に送信する。なお、仮に、確認画面内のCancelボタンが選択される場合には、PC210は、NG通知をサーバ100に送信する。サーバ100は、NG通知を受信すると、メモリ134からシェア情報を削除して、後述するT240の処理を実行することなく、図4の処理を終了する。
【0054】
サーバ100は、T238において、PC210からOK通知を受信すると、T240において、メモリ134からアカウント名「Bob@server.com」を含むシェア情報を特定する。そして、サーバ100は、メモリ134から特定済みのシェア情報に含まれる管理識別子MIを含むデバイス情報DIを特定し、アカウント名「Bob@server.com」を特定済みのデバイス情報DIに追加する。さらに、サーバ100は、アカウント情報AI2がシェアユーザのアカウント情報であることを示す情報「シェア」をデバイス情報DIに追加する。T240の処理が終了すると、図4の処理が終了する。
【0055】
(サーバ印刷処理;図5
図5を参照して、MFP10のCPU32によって実行されるサーバ印刷処理を説明する。サーバ印刷処理は、サーバ100との間にXMPP接続が確立され(図3のT170)、アクセス情報44がメモリ34に記憶された後(T172)に、実行され得る。サーバ印刷処理は、XMPP接続を利用して、サーバ100からジョブ通知を受信することをトリガとして実行される。ジョブ通知は、印刷ジョブが生成されたことをMFP10に通知するための情報である。ジョブ通知は、管理識別子、ログインアカウント名、及び、オーナアカウント名を含む。ログインアカウント名は、サーバ100に現在ログインしているアカウント名である。オーナアカウント名は、ジョブ通知内の管理識別子を含むデバイス情報に含まれるオーナのアカウント名である。また、図4の処理が実行された後にジョブ通知が受信される場合に、ジョブ通知は、さらに、シェアアカウント名を含む。シェアアカウント名は、ジョブ通知内の管理識別子を含むデバイス情報に含まれるシェアユーザのアカウント名である。ログインアカウント名は、オーナアカウント名とシェアアカウント名とのうちのいずれかである。なお、ログインアカウント名がオーナアカウント名である場合に、ジョブ通知は、シェアアカウント名を含まなくてもよい。
【0056】
S10では、CPU32は、ジョブ通知に対する応答として、印刷ジョブを要求するためのジョブ要求をサーバ100に送信する。そして、CPU32は、ジョブ要求に対する応答として、サーバ100から印刷ジョブを受信する。ジョブ要求は、ジョブ通知に含まれる管理識別子と、アクセス情報44に含まれるアクセストークンATと、を含む。
【0057】
S12では、CPU32は、メモリ34内の制限フラグ42が「ON」を示すのか否かを判断する。CPU32は、制限フラグ42が「OFF」を示すと判断する場合(S12でNO)に、S80に進む。S80では、CPU32は、制限テーブル40を利用することなく、印刷ジョブに従った印刷を実行する。具体的には、MFP10は、印刷ジョブ内の印刷データを印刷実行部18に供給すると共に、印刷ジョブ内の印刷設定を印刷実行部18に指示する。これにより、印刷データによって表わされる画像の印刷設定に従った印刷が印刷実行部18によって実行される。S80の処理が終了すると、図5の処理が終了する。
【0058】
また、CPU32は、制限フラグ42が「ON」を示すと判断する場合(S12でYES)に、S14に進む。S14では、CPU32は、ジョブ通知内のオーナアカウント名が制限テーブル40に記憶されているのか否かを判断する。CPU32は、ジョブ通知内のオーナアカウント名が制限テーブル40に記憶されていると判断する場合(S14でYES)に、S20において、後述するアカウント印刷処理(図6参照)を実行する。また、CPU32は、ジョブ通知内のオーナアカウント名が制限テーブル40に記憶されていないと判断する場合(S14でNO)に、S50において、後述する一般印刷処理(図7参照)を実行する。S20又はS50の処理が終了すると、図5の処理が終了する。
【0059】
上記の構成によれば、ジョブ通知内のオーナアカウント名が制限テーブル40に記憶されていない場合(S14でNO)に、一般印刷処理によって印刷が実行され得る(S50)。即ち、ジョブ通知がMFP10に送信されたにも関わらず、印刷が実行されないことが発生するのを抑制することができる。
【0060】
また、上記の構成によれば、ジョブ通知内のオーナアカウント名が制限テーブル40に記憶されていない場合(S14でNO)に、後述するアカウント印刷処理が実行されず、この結果、シェアアカウント名が制限テーブル40に記憶されない。即ち、オーナアカウント名が制限テーブル40に記憶されていない状態で、シェアアカウント名が制限テーブル40に記憶されることを抑制することができる。
【0061】
また、上記の構成によれば、制限フラグ42が「OFF」を示すと判断される場合(S12でNO)に、後述するアカウント印刷処理が実行されず、シェアアカウント名が制限テーブル40に記憶されない。即ち、制限テーブル40が利用されない状況で、シェアアカウント名が制限テーブル40に不必要に記憶されることを抑制することができる。
【0062】
(アカウント印刷処理;図6
図6を参照して、アカウント印刷処理を説明する。S22では、CPU32は、ジョブ通知がシェアアカウント名を含むのか否かを判断する。CPU32は、ジョブ通知がシェアアカウント名を含まないと判断する場合(S22でNO)に、後述するS24、S26の処理をスキップして、S28に進む。一方、CPU32は、ジョブ通知がシェアアカウント名を含むと判断する場合(S22でYES)に、S24に進む。
【0063】
S24では、CPU32は、ジョブ通知内のシェアアカウント名が制限テーブル40に記憶されているのか否かを判断する。CPU32は、ジョブ通知内のシェアアカウント名が制限テーブル40に記憶されていると判断する場合(S24でYES)に、後述するS26の処理をスキップして、S28に進む。一方、CPU32は、ジョブ通知内のシェアアカウント名が制限テーブル40に記憶されていないと判断する場合(S24でNO)に、S26に進む。
【0064】
S26では、CPU32は、ジョブ通知内のシェアアカウント名をユーザ識別情報として制限テーブル40に記憶する。そして、CPU32は、制限テーブル40からジョブ通知内のオーナアカウント名に関連付けられている制限情報を取得する。CPU32は、シェアアカウント名に関連付けて、取得済みの制限情報に含まれる印刷実行情報と同じ印刷実行情報(例えば「OK」)と、取得済みの制限情報に含まれる許容枚数と同じ許容枚数(例えば「無制限」)と、「0」を示す印刷枚数と、を制限テーブル40に記憶する。これにより、印刷機能について、オーナと同じ利用制限をシェアユーザに実行することができる。
【0065】
さらに、CPU32は、取得済みの制限情報に含まれるスキャン実行情報が「OK」を示すか否かに関わらず、シェアアカウント名に関連付けて、「NG」を示すスキャン実行情報を制限テーブル40に記憶する。これにより、スキャン機能について、オーナよりも制限された利用制限をシェアユーザに実行することができる。また、上記したように、サーバ100からジョブ通知が受信される場合に、図6の処理が実行される。ジョブ通知が受信されたとしても、サーバ100がスキャンの仲介を実行可能であるのか否かは不明である。サーバ100がスキャンの仲介を実行可能であるのか否かは不明である状況において、「OK」を示すスキャン実行情報が制限テーブル40に不必要に記憶されることを抑制することができる。
【0066】
上記したように、サーバ100は、印刷の仲介を実行するサーバである。ここで、シェアユーザがサーバ100に登録されることは、シェアユーザがサーバ100を利用して印刷を実行することがオーナによって許可されたことを意味する。このため、CPU32は、ジョブ通知がシェアアカウント名を含む場合に、シェアアカウント名に関連付けて、「OK」を示す印刷実行情報を制限テーブル40に記憶する(S26)。また、仮に、サーバ100が印刷の仲介だけでなくスキャンの仲介を実行するサーバである場合には、シェアユーザがサーバ100に登録されることは、シェアユーザがサーバ100を利用してスキャンを実行することがオーナによって許可されたことも意味する。この場合、CPU32は、S26において、シェアアカウント名に関連付けて、「OK」を示すスキャン実行情報を制限テーブル40に記憶する。即ち、CPU32は、シェアユーザがサーバ100に登録されることで利用可能となるサービスに関する機能実行情報を、シェアアカウント名に関連付けて制限テーブル40に記憶すればよい。
【0067】
S28では、CPU32は、制限テーブル40においてログインアカウント名(即ちオーナアカウント名又はシェアアカウント名)に関連付けられている印刷実行情報が「OK」を示すのか否かを判断する。CPU32は、ログインアカウント名に関連付けられている印刷実行情報が「NG」を示すと判断する場合(S28でNO)に、S36において、印刷が実行できないことを示すエラー通知をサーバ100に送信する。S36が終了すると、図6の処理が終了する。
【0068】
また、CPU32は、ログインアカウント名に関連付けられている印刷実行情報が「OK」を示すと判断する場合(S28でYES)に、S30に進む。S30では、CPU32は、図5のS10で受信した印刷ジョブに従った印刷枚数を制限テーブル40においてログインアカウント名に関連付けられている印刷済み枚数に加算して、印刷ジョブに従った印刷が実行された後に予想される印刷済み枚数である予想枚数を算出する。そして、CPU32は、予想枚数が制限テーブル40においてログインアカウント名に関連付けられている許容枚数以下であるのか否かを判断する。CPU32は、予想枚数が許容枚数より多い場合(S30でNO)に、S36に進む。一方、CPU32は、予想枚数が許容枚数以下である場合(S30でYES)に、S32に進む。S32は、図5のS80と同様である。
【0069】
S34では、CPU32は、S32において印刷された印刷枚数を制限テーブル40内の印刷済み枚数に加算して、新しい印刷済み枚数を算出する。そして、CPU32は、制限テーブル40内の印刷済み枚数を新しい印刷済み枚数に更新する。S34が終了すると、図6の処理が終了する。
【0070】
(一般印刷処理;図7
図7を参照して、一般印刷処理を説明する。S52では、CPU32は、制限テーブル40において一般ユーザ情報に関連付けられている印刷実行情報が「OK」を示すのか否かを判断する。CPU32は、一般ユーザ情報に関連付けられている印刷実行情報が「NG」を示すと判断する場合(S52でNO)に、S66に進む。S66は、図6のS36と同様である。S66が終了すると、図7の処理が終了する。
【0071】
また、CPU32は、一般ユーザ情報に関連付けられている印刷実行情報が「OK」を示すと判断する場合(S52でYES)に、S60に進む。S60では、CPU32は、図5のS10で受信した印刷ジョブに従った印刷枚数を制限テーブル40において一般ユーザ情報に関連付けられている印刷済み枚数に加算して、予想枚数を算出する。そして、CPU32は、予想枚数が制限テーブル40において一般ユーザ情報に関連付けられている許容枚数以下であるのか否かを判断する。CPU32は、予想枚数が許容枚数より多い場合(S60でNO)に、S66に進む。一方、CPU32は、予想枚数が許容枚数以下である場合(S60でYES)に、S62に進む。S62は、図5のS80と同様である。
【0072】
S64では、CPU32は、S62において印刷された印刷枚数を制限テーブル40内の印刷済み枚数に加算して、新しい印刷済み枚数を算出する。そして、CPU32は、制限テーブル40内の印刷済み枚数を新しい印刷済み枚数に更新する。S64が終了すると、図7の処理が終了する。
【0073】
(具体的なケース;図8
図8を参照して、図5図7の処理によって実現される具体的なケースについて説明する。図8は、図4の続きである。従って、サーバ100には、MACアドレスADと、モデル名MNと、機能情報FIと、管理識別子MIと、アカウント情報AI1と、アクセストークンATと、アカウント情報AI2と、を含むデバイス情報DIが記憶されている。
【0074】
T300は、図4のT230と同様である。T302では、PC210は、選択画面要求をサーバ100に送信する。選択画面要求は、複数個の周辺装置の中から印刷を実行させる対象の周辺装置を選択するための選択画面を表わす選択画面情報を要求するためのコマンドである。
【0075】
サーバ100は、T302において、PC210から選択画面要求を受信すると、T304において、メモリ134からT300のログイン要求に含まれるアカウント情報AI2を含む1個以上のデバイス情報を特定する。そして、サーバ100は、特定済みの1個以上のデバイス情報に含まれる情報(即ちモデル名と管理識別子)を含む選択画面を表わす選択画面情報をPC210に送信する。本ケースでは、サーバ100には、アカウント情報AI2を含む1個のデバイス情報DIが登録されている。このため、選択画面は、モデル名MNと管理識別子MIとを含む。
【0076】
PC210は、T304において、サーバ100から選択画面情報を受信すると、T306において、選択画面を表示する。PC210は、T308において、選択画面内のモデル名MNと管理識別子MIとの組み合わせの選択を受け付けると、T310において、管理識別子MIを含む設定画面要求をサーバ100に送信する。設定画面要求は、印刷設定を選択する設定画面を表わす設定画面情報を要求するためのコマンドである。
【0077】
サーバ100は、T310において、PC210から設定画面要求を受信すると、T320において、メモリ134から設定画面要求に含まれる管理識別子MIに関連付けられている機能情報FIを特定する。サーバ100は、特定済みの機能情報FIによって示される印刷条件の選択ボタンを含む設定画面を表す設定画面情報を生成する。そして、サーバ100は、生成済みの設定画面情報をPC210に送信する。
【0078】
PC210は、T320において、サーバ100から設定画面情報を受信すると、T322において、設定画面を表示する。設定画面は、例えば、モノクロ印刷を選択するためのモノクロボタンと、カラー印刷を選択するためのカラーボタンと、を含む。PC210は、T324において、設定画面内のカラーボタンの選択を受け付けると、次いで、印刷対象の画像を表わす画像ファイルIFの選択を受け付ける。そして、PC210は、T326において、画像ファイルIFとカラー印刷を示す印刷設定「カラー」をサーバ100に送信する。
【0079】
サーバ100は、T326において、PC210から画像ファイルIFと印刷設定「カラー」を受信すると、T328において、印刷設定「カラー」に従って画像ファイルIFを変換して、印刷データPDを生成する。次いで、サーバ100は、T310で受信された管理識別子MIと、生成済みの印刷データPDと、T326で受信された印刷設定「カラー」と、を含む印刷ジョブPJをメモリ134に記憶する。そして、T330では、サーバ100は、XMPP接続を利用して、管理識別子MIと、ログインアカウント名「Bob@server.com」と、オーナアカウント名「Ken@server.com」と、シェアアカウント名「Bob@server.com」と、を含むジョブ通知をMFP10に送信する。
【0080】
MFP10は、T330において、サーバ100からジョブ通知を受信すると、アクセス情報44に含まれる管理識別子MIとアクセストークンATとを含むジョブ要求をサーバ100に送信する。そして、MFP10は、サーバ100からジョブ要求に対する応答として管理識別子MIを含む印刷ジョブPJを受信する(図5のS10)。
【0081】
本ケースでは、図3の処理が実行される時点において、制限フラグは「ON」を示す。このため、T192の処理が実行され、制限テーブル40には、オーナアカウント名「Ken@server.com」が記憶される。また、現時点でも、制限フラグは「ON」を示す。このため、MFP10は、制限フラグが「ON」を示すと判断し(図5のS12でYES)、オーナアカウント名が制限テーブル40に記憶されていると判断し(S14でYES)、アカウント印刷処理を実行する(S20)。
【0082】
本ケースでは、シェアアカウント名「Bob@server.com」は制限テーブル40に記憶されていない。このため、MFP10は、ジョブ通知がシェアアカウント名を含むと判断し(図6のS22でYES)、シェアアカウント名「Bob@server.com」が制限テーブル40に記憶されていないと判断する(S24でYES)。この結果、MFP10は、T336において、シェアアカウント名「Bob@server.com」と制限情報とを制限テーブル40に記憶する(S26)。本ケースでは、MFP10は、オーナアカウント名「Ken@server.com」の印刷実行情報と同じ印刷実行情報「OK」と、オーナアカウント名「Ken@server.com」の許容枚数と同じ許容枚数「無制限」と、印刷枚数「0」と、スキャン実行情報「NG」と、を含む制限情報を制限テーブル40に記憶する。
【0083】
続けて、MFP10は、ログインアカウント名「Bob@server.com」の印刷実行情報が「OK」を示すと判断し(S28でYES)、予測枚数が許容枚数「無制限」以下であると判断する(S30でYES)。この結果、MFP10は、T338において、印刷ジョブPJに従った印刷を実行する(S32)。そして、MFP10は、ログインアカウント名「Bob@server.com」の印刷済み枚数を新しい印刷済み枚数に更新する(S34)。
【0084】
本ケースによれば、MFP10は、シェアユーザのアカウント情報AI2がデバイス情報DIに追加された後に、シェアアカウント名を含むジョブ通知をサーバ100から受信する(T330)。そして、MFP10は、サーバ100からシェアアカウント名が受信される場合に、シェアアカウント名を制限テーブル40に記憶する(T336)。ここで、MFP10は、シェアアカウント名をMFP10の操作部12に入力する操作を受け付けることなく、さらに、PC200等からシェアアカウント名を含む記憶指示(図1のT2参照)を受信することなく、シェアアカウント名を制限テーブル40に記憶する。このため、シェアアカウント名を制限テーブル40に簡易に記憶することができる。
【0085】
また、本ケースによれば、MFP10は、シェアアカウント名を含むジョブ通知をサーバ100から受信する(T330)。例えば、サーバ100から上記のジョブ通知とは異なる所定の通知であって、シェアアカウント名を含む所定の通知が受信される場合に、シェアアカウント名を制限テーブル40に記憶する比較例が想定される。所定の通知は、ジョブ通知とは異なる通知であり、例えば、シェアアカウント名を制限テーブル40に記憶させる所定の指示がユーザによって入力される場合に、サーバ100から受信する通知である。この比較例では、ユーザは、ジョブ通知の送信のトリガであるT324の操作とは別に、所定の指示を入力するための所定の操作を実行する必要がある。これに対して、本ケースでは、ユーザは、ジョブ通知の送信のトリガであるT324の操作を実行するだけで、シェアアカウント名を制限テーブル40に記憶させることができる。ユーザの利便性が向上する。
【0086】
(テーブル更新処理;図9
図9を参照して、MFP10のCPU32によって実行されるテーブル更新処理を説明する。MFP10は、MFP10の電源がオンされた後で所定の周期が到来することをトリガとして、テーブル更新処理を実行する。
【0087】
S100では、CPU32は、メモリ34内の制限フラグ42が「ON」を示すのか否かを判断する。CPU32は、制限フラグ42が「ON」を示すと判断する場合(S100でYES)に、S102に進み、制限フラグ42が「OFF」を示すと判断する場合(S100でNO)に、S102以降の処理をスキップして、図9の処理を終了する。
【0088】
S102では、CPU32は、アクセス情報44がメモリ34に記憶されているのか否かを判断する。CPU32は、アクセス情報44がメモリ34に記憶されていると判断する場合(S102でYES)に、S104に進み、アクセス情報44がメモリ34に記憶されていないと判断する場合(S102でNO)に、S104以降の処理をスキップして、図9の処理を終了する。
【0089】
S104では、CPU32は、アクセス情報44内のアカウント名が制限テーブル40に記憶されているのか否かを判断する。CPU32は、アクセス情報44内のアカウント名が制限テーブル40に記憶されていると判断する場合(S104でYES)に、S106に進み、アクセス情報44内のアカウント名が制限テーブル40に記憶されていないと判断する場合(S104でNO)に、S106の処理をスキップして、S108に進む。
【0090】
S106は、アクセス情報44内のアカウント名が制限テーブル40に記憶される点を除いて、図3のT192と同様である。
【0091】
続けて、S108では、CPU32は、アクセス情報内の管理識別子を含む登録情報要求をサーバ100に送信する。登録情報要求は、サーバ100に登録されているデバイス情報の内容を要求するためのコマンドである。サーバ100は、MFP10から登録情報要求を受信すると、登録情報要求に含まれる管理識別子を含むデバイス情報を特定する。そして、サーバ100は、特定済みのデバイス情報に含まれるアカウント名を含む登録情報をMFP10に送信する。ここで、特定済みのデバイス情報に「オーナ」を示す情報と「シェア」を示す情報とが含まれる場合には、登録情報はオーナアカウント名とシェアアカウント名とを含む。特定済みのデバイス情報に「シェア」を示す情報が含まれない場合には、登録情報はオーナアカウント名のみを含む。
【0092】
S110では、CPU32は、サーバ100から登録情報要求に対する応答として登録情報を受信する。S112では、CPU32は、登録情報にシェアアカウント名が含まれるのか否かを判断する。CPU32は、登録情報にシェアアカウント名が含まれると判断する場合(S112でYES)に、S114に進み、登録情報にシェアアカウント名が含まれないと判断する場合(S112でNO)に、S114以降の処理をスキップして、図9の処理を終了する。
【0093】
S114では、CPU32は、登録情報内のシェアアカウント名が制限テーブル40に記憶されているのか否かを判断する。CPU32は、シェアアカウント名が制限テーブル40に記憶されていると判断する場合(S114でYES)に、S116に進み、シェアアカウント名が制限テーブル40に記憶されていないと判断する場合(S114でNO)に、S116の処理をスキップして、図9の処理を終了する。
【0094】
S116は、登録情報内のシェアアカウント名が制限テーブル40に記憶される点を除いて、図6のS26と同様である。仮に、登録情報内に複数個のシェアアカウント名が含まれる場合には、CPU32は、複数個のシェアアカウント名のそれぞれについて、S114、S116の処理を実行する。S116の処理が終了すると、図9の処理が終了する。
【0095】
例えば、図3のT190において、制限フラグが「OFF」を示すと判断される場合に、MFP10は、アクセス情報44をメモリ34に記憶するものの、アカウント名を制限テーブル40に記憶しない。このような状況において、制限フラグが「OFF」から「ON」に変更され、かつ、所定の周期が到来する場合に、MFP10は、アクセス情報44内のアカウント名を制限テーブル40に記憶する(S106)。ここで、MFP10は、アカウント名をMFP10の操作部12に入力する操作を受け付けることなく、さらに、PC200等からアカウント名を含む記憶指示(図1のT2参照)を受信することなく、所定の周期が到来する場合に、アカウント名を制限テーブル40に記憶する。このため、アカウント名を制限テーブル40に簡易に記憶することができる。
【0096】
また、MFP10は、所定の周期が到来する場合に、登録情報要求をサーバ100に送信して、サーバ100から登録情報を受信する(S110)。そして、MFP10は、登録情報がシェアアカウント名を含む場合(S112でYES)に、シェアアカウント名を制限テーブル40に記憶する(S116)。ここで、MFP10は、シェアアカウント名をMFP10の操作部12に入力する操作を受け付けることなく、さらに、PC200等からシェアアカウント名を含む記憶指示(図1のT2参照)を受信することなく、所定の周期が到来する場合に、シェアアカウント名を制限テーブル40に記憶する。このため、シェアアカウント名を制限テーブル40に簡易に記憶することができる。
【0097】
(削除処理;図10
図10を参照して、制限テーブル40からアカウント名を削除する削除処理を説明する。T400は、アカウント情報AI1がログイン要求に含まれる点を除いて、図8のT300と同様である。T402~T406は、図8のT302~T306と同様である。T408では、PC210は、選択画面内のモデル名MNと管理識別子MIとの組み合わせの選択と、管理識別子MIを含むデバイス情報DIを削除するための削除指示と、を受け付ける。
【0098】
PC210は、T408において、削除指示を受け付けると、T410において、管理識別子MIを含む削除要求をサーバ100に送信する。削除要求は、管理識別子MIを含むデバイス情報DIの削除を要求するコマンドである。
【0099】
サーバ100は、T410において、PC200から削除要求を受信すると、T412において、メモリ134から管理識別子MIを含むデバイス情報DIを削除する。
【0100】
また、サーバ100は、T410において、PC200から削除要求を受信すると、T414において、XMPP接続を利用して、デバイス情報DIが削除されることを通知する削除通知をMFP10に送信する。削除通知は、管理識別子MIを含む。
【0101】
MFP10は、T414において、サーバ100から削除通知を受信すると、T416において、メモリ34からアクセス情報44を削除する。
【0102】
また、MFP10は、T414において、サーバ100から削除通知を受信すると、T418において、制限テーブル40からオーナアカウント名とオーナアカウント名に関連付けられている制限情報とを削除する。これにより、制限テーブル40からオーナアカウント名を削除するための操作を受け付けることなく、不要な情報(即ちオーナアカウント名と制限情報)を制限テーブル40から削除することができる。
【0103】
また、MFP10は、制限テーブル40にシェアアカウント名が記憶されている場合に、制限テーブル40からシェアアカウント名とシェアアカウント名に関連付けられている制限情報とを削除する。これにより、制限テーブル40からシェアアカウント名を削除する操作を受け付けることなく、不要な情報(即ちシェアアカウント名と制限情報)を制限テーブル40から削除することができる。
【0104】
(対応関係)
MFP10、印刷実行部18、スキャン実行部20、メモリ34が、それぞれ、「機能実行装置」、「第1の機能実行部」、「第2の機能実行部」、「メモリ」の一例である。仲介サーバ100が、「サーバ」の一例である。ユーザ識別情報「John」、ユーザ識別情報「John」に関連付けられている制限情報が、それぞれ、「特定のユーザ識別情報」、「特定の関係情報」の一例である。アカウント名「Ken@server.com」、アカウント名「Ken@server.com」に関連付けられている制限情報が、それぞれ、「第1のアカウント識別情報」、「第1の関係情報」の一例である。デバイス情報DIが、「サーバ利用情報」の一例である。図8のT330のジョブ通知が、「実行指示」の一例である。
【0105】
制限フラグ42が「ON」を示す状態、制限フラグ42が「OFF」を示す状態が、それぞれ、「第1の状態」、「第2の状態」の一例である。一般ユーザ情報「Public」に関連付けられている制限情報が「一般関係情報」の一例である。シェアアカウント名「Bob@server.com」、シェアアカウント名「Bob@server.com」に関連付けられている制限情報が、それぞれ、「第2のアカウント識別情報」、「第2の関係情報」の一例である。図9のS108の登録情報要求が、「問合要求」の一例である。印刷実行情報、許容枚数が、それぞれ、「機能実行情報」、「許容印刷枚数」の一例である。図10のT414の削除通知が、「削除通知」の一例である。
【0106】
図1のT2の記憶指示の受信に応じてユーザ識別情報「John」を制限テーブル40に記憶する処理が、「第1の記憶制御部」によって実現される処理の一例である。図3のT120、図3のT192、図6のS32が、それぞれ、「第1の情報受信部」、「第2の記憶制御部」、「第1の機能制御部」によって実現される処理の一例である。
【0107】
(第2実施例)
第2実施例は、図5のサーバ印刷処理の一部と図9のテーブル更新処理の一部が異なる点を除いて、第1実施例と同様である。
【0108】
(サーバ印刷処理;図5
本実施例では、S14とS50の処理が実行されない。即ち、CPU32は、制限フラグ42が「ON」を示すと判断する場合(S12でYES)に、S20において、アカウント印刷処理を実行し、制限フラグ42が「OFF」を示すと判断する場合(S12でNO)に、S80において、印刷ジョブに従った印刷を実行する。
【0109】
(テーブル更新処理;図9
本実施例では、テーブル更新処理は、MFP10の操作部12がユーザによって操作されて、制限フラグ42が「OFF」から「ON」に変更されることをトリガとして実行される。また、本実施例では、S100の処理が実行されずに、S102以降の処理が実行される。
【0110】
例えば、図3のT190において、制限フラグが「OFF」を示すと判断される場合に、MFP10は、アクセス情報44をメモリ34に記憶するものの、アカウント名を制限テーブル40に記憶しない。本実施例の構成によれば、このような状況において、制限フラグが「OFF」から「ON」に変更される場合に、アカウント名を制限テーブル40に記憶することができる。即ち、所定の周期が到来する場合にアカウント名を制限テーブル40に記憶する第1実施例と比較して、アカウント名を迅速に制限テーブル40に記憶することができる。
【0111】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0112】
(変形例1)「機能実行装置」は、MFP10でなくてもよく、例えば、プリンタ、スキャナ、FAX装置であってもよい。
【0113】
(変形例2)図3のT192では、MFP10は、「OK」を示す印刷実行情報を含む制限情報を制限テーブル40に記憶する。これに代えて、MFP10は、「NG」を示す印刷実行情報を含む制限情報を制限テーブル40に記憶してもよい。本変形例では、「NG」を示す印刷実行情報を含む制限情報が、「第1の関係情報」の一例である。
【0114】
(変形例3)図8のT336では、MFP10は、「OK」を示す印刷実行情報を含む制限情報を制限テーブル40に記憶する。これに代えて、MFP10は、「NG」を示す印刷実行情報を含む制限情報を制限テーブル40に記憶してもよい。本変形例では、「NG」を示す印刷実行情報を含む制限情報が、「第2の関係情報」の一例である。
【0115】
(変形例4)制限情報は、印刷実行情報が「OK」を示す場合に、許容枚数とともに、又は、許容枚数に代えて、特定の印刷条件を利用した印刷機能の実行をユーザに許容するのか否かを示す条件実行情報を含んでいてもよい。特定の印刷条件は、例えば、印刷の色数(例えば、カラー印刷又はモノクロ印刷)、両面印刷の有無等である。そして、MFP10は、図8のT336において、オーナアカウント名「Ken@server.com」に関連付けられている条件実行情報と同じ条件実行情報を含む制限情報を制限テーブル40に記憶してもよい。本変形例では、オーナアカウント名「Ken@server.com」に関連付けられている条件実行情報、当該条件実行情報と同じ条件実行情報が、それぞれ、「第1の条件実行情報」、「第2の条件実行情報」の一例である。
【0116】
(変形例5)図3のT190の処理は実行されなくてもよい。本変形例では、「第1の判断部」を省略可能である。
【0117】
(変形例6)、MFP10は、ジョブ通知内のオーナアカウント名が制限テーブル40に記憶されていないと判断する場合(S14でNO)に、エラー通知をサーバ100に送信してもよい。本変形例では、「第2の機能制御部」を省略可能である。
【0118】
(変形例7)図5のS14の処理は実行されなくてもよい。一般的に言えば、サーバから第2のアカウント識別情報が受信され、かつ、第1のアカウント識別情報がメモリに記憶されていない場合に、第2のアカウント識別情報がメモリに記憶されてもよい。
【0119】
(変形例8)図4の処理が実行されず、MFP10は、サーバ100からシェアアカウント名を受信しなくてもよい。本変形例では、「第2の情報受信部」、「第4の記憶制御部」を省略可能である。
【0120】
(変形例9)図6のS22からS26の処理は実行されなくてもよい。一般的に言えば、「実行指示」は、第2のアカウント識別情報を含まなくてもよい。
【0121】
(変形例10)図9の処理は実行されなくてもよい。本変形例では、「送信部」を省略可能である。
【0122】
(変形例11)上記の各実施例では、MFP10は、制限フラグ42が「OFF」を示す場合(S12でNO)に、アカウント印刷処理を実行することなく、S80において、印刷を実行する。これに代えて、MFP10は、制限フラグ42が「OFF」を示す場合(S12でNO)に、図6のS22~S26の処理を実行した後に、S80において、印刷を実行してもよい。一般的に言えば、機能実行装置の状態が第2の状態であると判断される場合に、第2のアカウント識別情報と第2の関係情報とがメモリに記憶されてもよい。
【0123】
(変形例12)上記の各実施例では、MFP10は、オーナアカウント名の許容枚数と同じ許容枚数を含む制限情報を制限テーブル40に記憶する(図6のS26)。これに代えて、MFP10は、オーナアカウント名の許容枚数よりも少ない許容枚数を含む制限情報を制限テーブル40に記憶してもよい。一般的に言えば、「第2の関係情報」は、第1の許容印刷枚数と異なる許容印刷枚数を含んでいてもよい。
【0124】
(変形例13)図10の処理は、実行されなくてもよい。本変形例では、「通知受信部」、「削除部」を省略可能である。
【0125】
(変形例14)上記の各実施例では、MFP10は、制限テーブル40からシェアアカウント名を削除する(図10のT418)。これに代えて、MFP10は、制限テーブル40からシェアアカウント名を削除しなくてもよい。一般的に言えば、「削除部」は、第2のアカウント識別情報を削除しなくてもよい。
【0126】
(変形例15)上記の各実施例では、MFP10のCPU32がプログラム36(即ちソフトウェア)を実行することによって、図2図10の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
以下、本明細書で開示する技術の特徴を列挙する。
(項目1)
機能実行装置であって、
第1の機能を実行するための第1の機能実行部と、
特定のユーザを識別するための特定のユーザ識別情報が入力される場合に、前記特定のユーザ識別情報と、前記第1の機能の実行を前記特定のユーザに許容するのか否かに関係する特定の関係情報と、を関連付けてメモリに記憶する第1の記憶制御部であって、前記メモリは、1以上のユーザのそれぞれについて、当該ユーザを識別するユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係する関係情報と、を関連付けて記憶するように構成されている、前記第1の記憶制御部と、
第1のユーザがサーバを利用するための第1のアカウント識別情報を含むサーバ利用情報が前記サーバに登録される場合に、前記サーバから前記第1のアカウント識別情報を受信する第1の情報受信部と、
前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容するのか否かに関係する第1の関係情報と、を関連付けて前記メモリに記憶する第2の記憶制御部と、
前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記メモリにおいて前記第1のアカウント識別情報に関連付けて記憶されている前記第1の関係情報が前記第1の機能の実行を前記第1のユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第1の機能制御部と、
を備える、機能実行装置。
(項目2)
前記機能実行装置は、さらに、
前記サーバから前記第1のアカウント識別情報が受信される場合に、前記機能実行装置の状態が、前記関係情報を利用する第1の状態であるのか、前記関係情報を利用しない第2の状態であるのか、を判断する第1の判断部を備え、
前記第2の記憶制御部は、前記機能実行装置の状態が前記第1の状態であると判断される場合に、前記第1のアカウント識別情報と前記第1の関係情報とを関連付けて前記メモリに記憶し、
前記機能実行装置の状態が前記第2の状態であると判断される場合に、前記第1のアカウント識別情報と前記第1の関係情報とは前記メモリに記憶されない、項目1に記載の機能実行装置。
(項目3)
前記メモリは、さらに、前記第1の機能の実行を一般ユーザに許容するのか否かに関係する一般関係情報を記憶するように構成されており、
前記機能実行装置は、さらに、
前記機能実行装置の状態が前記第2の状態であると判断された後に、前記機能実行装置の状態が前記第2の状態から前記第1の状態に変更され、かつ、前記第1のアカウント識別情報が前記メモリに記憶されていない状態において、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記一般関係情報が前記第1の機能の実行を前記一般ユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第2の機能制御部を備える、項目2に記載の機能実行装置。
(項目4)
前記機能実行装置は、さらに、
前記機能実行装置の状態が前記第2の状態であると判断された後に、前記機能実行装置の状態が前記第2の状態から前記第1の状態に変更される場合に、前記第1のアカウント識別情報と前記第1の関係情報とを関連付けて前記メモリに記憶する第3の記憶制御部を備える、項目2に記載の機能実行装置。
(項目5)
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信され、かつ、前記第1のアカウント識別情報が前記メモリに記憶されている場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容するのか否かに関係する第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備え、
前記サーバから前記第2のアカウント識別情報が受信され、かつ、前記第1のアカウント識別情報が前記メモリに記憶されていない場合に、前記第2のアカウント識別情報と前記第2の関係情報とは前記メモリに記憶されない、項目2から4のいずれか一項に記載の機能実行装置。
(項目6)
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容するのか否かに関係する第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備える、項目1から5のうちのいずれか一項に記載の機能実行装置。
(項目7)
前記第2の情報受信部は、前記第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を含む前記第1の機能の実行指示を受信することによって、前記第2のアカウント識別情報を受信する、項目6に記載の機能実行装置。
(項目8)
前記機能実行装置は、さらに、
前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、問合要求を前記サーバに送信する送信部であって、前記問合要求は、前記第2のアカウント識別情報が前記サーバ利用情報に追加されたのか否かを問い合わせるための要求である、前記送信部を備え、
前記第2の情報受信部は、前記第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから、前記問合要求に対する応答であって、前記第2のアカウント識別情報を含む前記応答を受信することによって、前記第2のアカウント識別情報を受信する、項目6に記載の機能実行装置。
(項目9)
前記機能実行装置は、さらに、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記機能実行装置の状態が、前記関係情報を利用する第1の状態であるのか、前記関係情報を利用しない第2の状態であるのか、を判断する第2の判断部を備え、
前記第4の記憶制御部は、前記機能実行装置の状態が前記第1の状態であると判断される場合に、前記第2のアカウント識別情報と前記第2の関係情報とを関連付けて前記メモリに記憶し、
前記機能実行装置の状態が前記第2の状態であると判断される場合に、前記第2のアカウント識別情報と前記第2の関係情報とは前記メモリに記憶されない、項目6から8のいずれか一項に記載の機能実行装置。
(項目10)
前記第1の機能は、印刷機能であり、
前記第1の関係情報は、前記印刷機能の実行を前記第1のユーザに許容するのか否かを示す第1の機能実行情報を含み、
前記第1の関係情報は、前記第1の機能実行情報が前記印刷機能の実行を前記第1のユーザに許容することを示す場合に、さらに、前記第1のユーザに許容される印刷枚数である第1の許容印刷枚数と、特定の印刷条件を利用した前記印刷機能の実行を前記第1のユーザに許容するのか否かを示す第1の条件実行情報と、のうちの少なくとも一方を含み、
前記第2の関係情報は、前記印刷機能の実行を前記第2のユーザに許容するのか否かを示す第2の機能実行情報を含み、
前記第2の関係情報は、前記第2の機能実行情報が前記印刷機能の実行を前記第2のユーザに許容することを示す場合に、さらに、前記第2のユーザに許容される印刷枚数である第2の許容印刷枚数であって、前記第1の許容印刷枚数と同じ前記第2の許容印刷枚数と、前記特定の印刷条件を利用した前記印刷機能の実行を前記第2のユーザに許容するのか否かを示す第2の条件実行情報であって、前記第1の条件実行情報と同じ前記第2の条件実行情報と、のうちの少なくとも一方を含む、項目6から9のうちのいずれか一項に記載の機能実行装置。
(項目11)
前記機能実行装置は、さらに、
前記サーバから前記サーバ利用情報が削除される場合に、前記サーバから削除通知を受信する通知受信部と、
前記サーバから前記削除通知が受信される場合に、前記メモリから前記第1のアカウント識別情報と前記第1の関係情報とを削除する削除部と、
を備える、項目1から10のうちのいずれか一項に記載の機能実行装置。
(項目12)
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容するのか否かに関係する第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備え、
前記削除部は、前記サーバから前記削除通知が受信される場合に、さらに、前記メモリから前記第2のアカウント識別情報と前記第2の関係情報とを削除する、項目11に記載の機能実行装置。
(項目13)
前記機能実行装置は、さらに、前記第1の機能とは異なる第2の機能を実行するための第2の機能実行部を備え、
前記メモリは、前記1以上のユーザのそれぞれについて、当該ユーザを識別する前記ユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係すると共に前記第2の機能の実行を当該ユーザに許容するのか否かに関係する前記関係情報と、を関連付けて記憶するように構成されており、
前記第2の記憶制御部は、前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容することを示すと共に前記第2の機能の実行を前記第1のユーザに許容することを示す前記第1の関係情報と、を関連付けて前記メモリに記憶する、項目1から12のうちのいずれか一項に記載の機能実行装置。
(項目14)
前記機能実行装置は、さらに、
前記第1のユーザとは異なる第2のユーザが前記サーバを利用するための第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記サーバから前記第2のアカウント識別情報を受信する第2の情報受信部と、
前記サーバから前記第2のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第2のアカウント識別情報と、前記第1の機能の実行を前記第2のユーザに許容することを示すと共に前記第2の機能の実行を前記第2のユーザに許容しないことを示す第2の関係情報と、を関連付けて前記メモリに記憶する第4の記憶制御部と、
を備える、項目13に記載の機能実行装置。
(項目15)
前記第2の情報受信部は、前記第2のアカウント識別情報が前記サーバ利用情報に追加された後に、前記第2のアカウント識別情報を含む前記第1の機能の実行指示を受信することによって、前記第2のアカウント識別情報を受信する、項目14に記載の機能実行装置。
(項目16)
機能実行装置のためのコンピュータプログラムであって、
前記機能実行装置は、第1の機能を実行するための第1の機能実行部を備え、
前記機能実行装置のコンピュータを、以下の各部、即ち、
特定のユーザを識別するための特定のユーザ識別情報が入力される場合に、前記特定のユーザ識別情報と、前記第1の機能の実行を前記特定のユーザに許容するのか否かに関係する特定の関係情報と、を関連付けてメモリに記憶する第1の記憶制御部であって、前記メモリは、1以上のユーザのそれぞれについて、当該ユーザを識別するユーザ識別情報と、前記第1の機能の実行を当該ユーザに許容するのか否かに関係する関係情報と、を関連付けて記憶するように構成されている、前記第1の記憶制御部と、
第1のユーザがサーバを利用するための第1のアカウント識別情報を含むサーバ利用情報が前記サーバに登録される場合に、前記サーバから前記第1のアカウント識別情報を受信する第1の情報受信部と、
前記サーバから前記第1のアカウント識別情報が受信される場合に、前記ユーザ識別情報としての前記第1のアカウント識別情報と、前記第1の機能の実行を前記第1のユーザに許容するのか否かに関係する第1の関係情報と、を関連付けて前記メモリに記憶する第2の記憶制御部と、
前記第1のアカウント識別情報と前記第1の関係情報とが前記メモリに記憶された後に、前記サーバから前記第1のアカウント識別情報を含む前記第1の機能の実行指示が受信され、かつ、前記メモリにおいて前記第1のアカウント識別情報に関連付けて記憶されている前記第1の関係情報が前記第1の機能の実行を前記第1のユーザに許容することを示す場合に、前記第1の機能を前記第1の機能実行部に実行させる第1の機能制御部と、
として機能させる、コンピュータプログラム。
【符号の説明】
【0127】
2:通信システム、6:インターネット、10:MFP、12:操作部、14:表示部、16:ネットワークI/F、18:印刷実行部、20:スキャン実行部、30:制御部、32:CPU、34:メモリ、36:プログラム、40:制限テーブル、42:制限フラグ、44:アクセス情報、100:仲介サーバ、134:メモリ、AD:MACアドレス、AI1、AI2:アカウント情報、AT:アクセストークン、DI:デバイス情報、DN:デバイス名、FI:機能情報、MI:管理識別子、MN:モデル名、PD:印刷データ、PJ:印刷ジョブ、RT:登録トークン

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10