(57)【要約】【課題】デバイスを制御するデバイスアプリケーションをユーザー間で異ならせる。【解決手段】デバイスは、情報処理端末２００を識別し、当該ユーザーに関連付けられたデバイス識別子１０１を、情報処理端末に送信する。サーバー３００は、情報処理端末からデバイス識別子を受信すると、デバイス識別子に関連付けられたデバイスメタデータ３０２を情報処理端末に送信する。情報処理端末は、デバイスメタデータ３０２からアプリ識別子を抽出し、当該アプリ識別子を含んだデバイスアプリ３０３の配信要求４０をサーバーに送信する。【選択図】図１
2019106101.tif 000002
【特許請求の範囲】
【請求項１】
情報処理端末と連携して動作するデバイスと、
前記情報処理端末と通信するサーバーと、を備え、
前記デバイスは、
前記情報処理端末の複数のユーザーのそれぞれに関連付けて、前記デバイスを識別するデバイスを格納するためのデータ格納部と、
前記情報処理端末のユーザーを識別し、識別されたユーザーに関連付けられた前記デバイス識別子を、前記情報処理端末に送信するよう構成されるデバイス制御部と、を有し、
前記サーバーは、
複数の前記デバイス識別子のそれぞれに関連付けて、前記デバイスを制御するデバイスアプリケーションを格納するアプリ格納部と、
前記情報処理端末から前記デバイス識別子を受信し、受信された当該デバイス識別子に関連付けられた前記デバイスアプリケーションを前記情報処理端末に送信するよう構成されるサーバー制御部と、を有する、システム。
【請求項２】
前記アプリ格納部は、さらに、
前記デバイス識別子のそれぞれに関連付けて、１または複数の前記デバイスアプリケーションを識別するアプリ識別子を含むデバイスメタデータを格納し、
前記サーバー制御部は、さらに、
前記情報処理端末から前記デバイス識別子を受信し、受信される当該デバイス識別子に関連付けられた前記デバイスメタデータを前記情報処理端末に送信するよう構成され、
前記情報処理端末は、
前記サーバーから前記デバイスメタデータを受信し、受信される当該デバイスメタデータから１以上の前記アプリ識別子を抽出し、抽出された前記１以上のアプリ識別子を前記サーバーに送信するよう構成される端末制御部を有する、請求項１に記載のシステム。
【請求項３】
情報処理端末と連携して動作するデバイスと、
前記情報処理端末と通信するサーバーと、を備え、
前記デバイスは、
前記情報処理端末の複数のユーザーのそれぞれに関連付けて、前記デバイスを制御するデバイスアプリケーションを識別するアプリ識別子を格納するためのユーザー情報格納部と、
前記情報処理端末のユーザーを識別し、識別されるユーザーに関連付けられた前記アプリ識別子と、前記デバイスを識別するデバイス識別子とを含むデバイスメタデータを生成し、前記情報処理端末に送信するよう構成されるデバイス制御部と、を有し、
前記サーバーは、
複数の前記デバイスメタデータのそれぞれに関連付けて、前記デバイスアプリケーションを格納するアプリ格納部と、
前記情報処理端末から前記デバイスメタデータを受信し、受信された当該デバイスメタデータに関連付けられた前記デバイスアプリケーションを前記情報処理端末に送信するよう構成されるサーバー制御部と、を有する、システム。
【請求項４】
サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスであって、
前記サーバーは、
複数のデバイス識別子のそれぞれに関連付けて、前記デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、
前記情報処理端末は、
前記デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信し、
前記デバイスは、
前記情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイス識別子を格納するためのデータ格納部と、
前記情報処理端末のユーザーを識別し、識別されたユーザーに関連付けられた前記デバイス識別子を、前記情報処理端末に送信するよう構成されるデバイス制御部と、を有し、
前記配信要求は、前記情報処理端末が前記デバイス制御部から受信する前記デバイス識別子に関連付けられた前記デバイスアプリケーションの配信要求を含む、デバイス。
【請求項５】
サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスであって、
前記サーバーは、
複数のデバイスメタデータのそれぞれに関連付けて、前記デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、
前記情報処理端末は、
前記デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信し、
前記デバイスは、
前記情報処理端末の複数のユーザーのそれぞれに関連付けて、前記デバイスアプリケーションのアプリ識別子を格納するためのユーザー情報格納部と、
前記情報処理端末のユーザーを識別し、識別されたユーザーに関連付けられた前記アプリ識別子と、当該デバイスのデバイス識別子とを含むデバイスメタデータを生成し、前記情報処理端末に送信するよう構成されるデバイス制御部と、を有し、
前記配信要求は、前記情報処理端末が前記デバイス制御部から受信する前記デバイスメタデータの中の前記アプリ識別子に関連付けられた前記デバイスアプリケーションの配信要求を含む、デバイス。
【請求項６】
前記情報処理端末は、
当該情報処理端末を前記デバイスと連携して動作させるための連携アプリケーションを格納する記憶部を、有し、
前記デバイスアプリケーションは、前記連携アプリケーションに対して連携動作の設定をするためのアプリケーションを含む、請求項４または５に記載のデバイス。
【請求項７】
前記デバイスアプリケーションは、前記設定のためのユーザーインターフェイスのアプリケーションを含む、請求項６に記載のデバイス。
【請求項８】
前記デバイス制御部は、さらに、
予め定められたとき、前記情報処理端末のユーザーを識別するよう構成され、
前記予め定められたときは、
前記ユーザーが前記情報処理端末にログインするとき、
前記連携アプリケーションが前記記憶部に格納されるとき、
前記情報処理端末が前記デバイスと通信を開始するとき、および、
前記連携アプリケーションが起動されるとき、のうちの少なくとも１つを含む、請求項６または７に記載のデバイス。
【請求項９】
前記デバイス制御部は、前記情報処理端末からユーザー識別子を取得するよう構成され、
前記ユーザー識別子は、前記情報処理端末にログインするユーザーのログインＩＤ、または当該情報処理端末のネットワークアドレスを含む、請求項４から８のいずれか１項に記載のデバイス。
【請求項１０】
前記データ格納部は、さらに、
各前記複数のユーザーの前記ユーザー識別子と、当該ユーザー識別子に関連付けて、前記デバイス識別子を格納し、
前記デバイス制御部は、さらに、
前記データ格納部のユーザー識別子または前記デバイス識別子を追加または変更するよう構成される、請求項４に記載のデバイス。
【請求項１１】
前記ユーザー情報格納部は、さらに、
各前記複数のユーザーの前記ユーザー識別子と、当該ユーザー識別子に関連付けて前記アプリ識別子を格納し、
前記デバイス制御部は、さらに、
前記ユーザー情報格納部の前記ユーザー識別子を追加または変更し、または、
前記デバイス識別子を変更するよう構成される、請求項５に記載のデバイス。
【請求項１２】
前記デバイスは、画像形成装置を含む、請求項４から９のいずれか１項に記載のデバイス。
【請求項１３】
サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスを制御する方法であって、
前記サーバーは、
複数のデバイス識別子のそれぞれに関連付けて、前記デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、
前記情報処理端末は、
前記デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信する通信コントローラーを有し、
前記デバイスは、
前記情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイス識別子を格納するためのデータ格納部を有し、
前記方法は、
前記情報処理端末のユーザーを識別するステップと、
識別されるユーザーに関連付けられた前記デバイス識別子を、前記情報処理端末に送信するステップと、を有し、
前記配信要求は、前記情報処理端末が前記デバイス制御部から受信する前記デバイス識別子に関連付けられた前記デバイスアプリケーションの配信要求を含む、方法。
【請求項１４】
サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスを制御する方法であって、
前記サーバーは、
複数のデバイスメタデータのそれぞれに関連付けて、前記デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、
前記情報処理端末は、
前記デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信する通信コントローラーを有し、
前記デバイスは、
前記情報処理端末の複数のユーザーそれぞれに関連付けて、前記デバイスアプリケーションのアプリ識別子を格納するためのユーザー情報格納部を有し、
前記方法は、
前記情報処理端末のユーザーを識別するステップと、
識別されるユーザーに関連付けられた前記アプリ識別子と、当該デバイスのデバイス識別子とを含むデバイスメタデータを生成するステップと、
生成された前記デバイスメタデータを、前記情報処理端末に送信するステップと、を有し、
前記配信要求は、前記情報処理端末が前記デバイスから受信する前記デバイスメタデータの中の前記アプリ識別子に関連付けられた前記デバイスアプリケーションの配信要求を含む、方法。
【請求項１５】
請求項１３または１４に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はシステム、デバイス、方法およびプログラムに関し、特に、情報処理端末が周辺装置（デバイス）を利用するための環境を提供するシステム、デバイス、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＯＳ（Operating System）としてWindows（登録商標）8の配信が開始された。ＰＣ（Personal Computer）にWindows8がインストールされる場合、ＰＣはWindows8の元でプリンターを利用するために、version４（V4）と呼ばれるプリンタードライバーはインストールされる。プリンタードライバー(V4)は、印刷設定ＵＩ（Desktop UI（User Interface）部）を有するが、このプリンタードライバーだけでは、Windowsストアアプリケーションから印刷する際に、ユーザーは詳細な印刷設定をすることができない。そこで、ユーザーは、詳細な印刷設定(Modern UI部)をするために、プリンタードライバーとは別にデバイスアプリ（WSDA：Windows Store Device Application)をインストールする。
【０００３】
ここで、デバイスアプリのインストール処理の流れを説明する。まず、ＰＣにプリンタードライバーがインストールされると、ＰＣはデバイス（プリンター）に接続する。ＰＣのWindowsは、接続されたデバイスから当該デバイスを識別するデバイス情報を取得し、取得されたデバイス情報を用いて、ＯＳのベンダーのサーバーから該当デバイスのデバイスメタデータを取得する。そして、ＰＣのWindowsは、そのデバイスメタデータをトリガーとして、デバイスメタデータに予め定義されているアプリ情報を基に、Windowsストアから該当のデバイスアプリをダウンロード（インストール）する。
【０００４】
上記に述べたデバイスアプリのダウンロード方法では、異なるＰＣであっても、ＰＣが同じデバイスに接続する場合は、当該デバイスに対応する共通のデバイスアプリが当該ＰＣにインストールされる。
【０００５】
特開２０１４−２０３２６８号公報（特許文献１）は、コンピューターに接続されたプリンターなどの周辺機器を利用するために、コンピューターのＵＩ環境等の条件を考慮して、適切なデバイスドライバーもしくはデバイス制御アプリケーション等をコンピューターにインストールする技術を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−２０３２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
オフィス等のように複数のユーザーがＰＣを操作して遠隔のプリンターを共用する状況においては、ユーザー毎に異なるデバイスアプリケーションを利用したいとのニーズがある。本開示は、このようなニーズに向けられるものであり、デバイスを制御するデバイスアプリケーションをユーザー間で異ならせることができることを一つの目的としている。
【課題を解決するための手段】
【０００８】
本開示の一例にかかるシステムは、情報処理端末と連携して動作するデバイスと、情報処理端末と通信するサーバーと、を備える。デバイスは、情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイスを識別するデバイスを格納するためのデータ格納部と、情報処理端末のユーザーを識別し、識別されたユーザーに関連付けられたデバイス識別子を、情報処理端末に送信するよう構成されるデバイス制御部と、を有し、サーバーは、複数のデバイス識別子のそれぞれに関連付けて、デバイスを制御するデバイスアプリケーションを格納するアプリ格納部と、情報処理端末からデバイス識別子を受信し、受信された当該デバイス識別子に関連付けられたデバイスアプリケーションを情報処理端末に送信するよう構成されるサーバー制御部と、を有する。
【０００９】
上記の開示において、アプリ格納部は、さらに、デバイス識別子のそれぞれに関連付けて、１または複数のデバイスアプリケーションを識別するアプリ識別子を含むデバイスメタデータを格納し、サーバー制御部は、さらに、情報処理端末からデバイス識別子を受信し、受信される当該デバイス識別子に関連付けられたデバイスメタデータを情報処理端末に送信するよう構成され、情報処理端末は、サーバーからデバイスメタデータを受信し、受信される当該デバイスメタデータから１以上のアプリ識別子を抽出し、抽出された１以上のアプリ識別子をサーバーに送信するよう構成される端末制御部を有する。
【００１０】
この開示に他の一例に係るシステムは、情報処理端末と連携して動作するデバイスと、情報処理端末と通信するサーバーと、を備え、デバイスは、情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイスを制御するデバイスアプリケーションを識別するアプリ識別子を格納するためのユーザー情報格納部と、情報処理端末のユーザーを識別し、識別されるユーザーに関連付けられたアプリ識別子と、デバイスを識別するデバイス識別子とを含むデバイスメタデータを生成し、情報処理端末に送信するよう構成されるデバイス制御部と、を有し、サーバーは、複数のデバイスメタデータのそれぞれに関連付けて、デバイスアプリケーションを格納するアプリ格納部と、情報処理端末からデバイスメタデータを受信し、受信された当該デバイスメタデータに関連付けられたデバイスアプリケーションを情報処理端末に送信するよう構成されるサーバー制御部と、を有する。
【００１１】
この開示に他の一例に係るデバイスは、サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスであって、サーバーは、複数のデバイス識別子のそれぞれに関連付けて、デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、情報処理端末は、デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信し、デバイスは、情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイス識別子を格納するためのデータ格納部と、情報処理端末のユーザーを識別し、識別されたユーザーに関連付けられたデバイス識別子を、情報処理端末に送信するよう構成されるデバイス制御部と、を有し、配信要求は、情報処理端末がデバイス制御部から受信するデバイス識別子に関連付けられたデバイスアプリケーションの配信要求を含む。
【００１２】
この開示に他の一例に係るデバイスは、サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスであって、サーバーは、複数のデバイスメタデータのそれぞれに関連付けて、デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、情報処理端末は、デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信し、デバイスは、情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイスアプリケーションのアプリ識別子を格納するためのユーザー情報格納部と、情報処理端末のユーザーを識別し、識別されたユーザーに関連付けられたアプリ識別子と、当該デバイスのデバイス識別子とを含むデバイスメタデータを生成し、情報処理端末に送信するよう構成されるデバイス制御部と、を有し、配信要求は、情報処理端末がデバイス制御部から受信するデバイスメタデータの中のアプリ識別子に関連付けられたデバイスアプリケーションの配信要求を含む。
【００１３】
上記の開示において、情報処理端末は、当該情報処理端末をデバイスと連携して動作させるための連携アプリケーションを格納する記憶部を、有し、デバイスアプリケーションは、連携アプリケーションに対して連携動作の設定をするためのアプリケーションを含む。
【００１４】
上記の開示において、デバイスアプリケーションは、設定のためのユーザーインターフェイスのアプリケーションを含む。
【００１５】
上記の開示において、デバイス制御部は、さらに、予め定められたとき、情報処理端末のユーザーを識別するよう構成され、予め定められたときは、ユーザーが情報処理端末にログインするとき、連携アプリケーションが記憶部に格納されるとき、情報処理端末がデバイスと通信を開始するとき、および、連携アプリケーションが起動されるとき、のうちの少なくとも１つを含む。
【００１６】
上記の開示において、デバイス制御部は、情報処理端末からユーザー識別子を取得するよう構成され、ユーザー識別子は、情報処理端末にログインするユーザーのログインＩＤ、または情報処理端末のネットワークアドレスを含む。
【００１７】
上記の開示において、データ格納部は、さらに、各複数のユーザーのユーザー識別子と、当該ユーザー識別子に関連付けて、デバイス識別子を格納し、デバイス制御部は、さらに、データ格納部のユーザー識別子またはデバイス識別子を追加または変更するよう構成される。
【００１８】
上記の開示において、ユーザー情報格納部は、さらに、各複数のユーザーのユーザー識別子と、当該ユーザー識別子に関連付けてアプリ識別子を格納し、デバイス制御部は、さらに、ユーザー情報格納部のユーザー識別子を追加または変更し、または、デバイス識別子を変更するよう構成される。
【００１９】
上記の開示において、デバイスは画像形成装置を含む。
この開示に他の一例に係る方法は、サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスを制御する方法であって、サーバーは、複数のデバイス識別子のそれぞれに関連付けて、デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、情報処理端末は、デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信する通信コントローラーを有し、デバイスは、情報処理端末の複数のユーザーのそれぞれに関連付けて、デバイス識別子を格納するためのデータ格納部を有し、方法は、情報処理端末のユーザーを識別するステップと、識別されるユーザーに関連付けられたデバイス識別子を、情報処理端末に送信するステップと、を有し、配信要求は、情報処理端末がデバイス制御部から受信するデバイス識別子に関連付けられたデバイスアプリケーションの配信要求を含む。
【００２０】
この開示に他の一例に係る方法は、サーバーにネットワーク接続される情報処理端末と連携して動作するデバイスを制御する方法であって、サーバーは、複数のデバイスメタデータのそれぞれに関連付けて、デバイスを制御するデバイスアプリケーションを格納するアプリ格納部を有し、情報処理端末は、デバイスを制御するためのデバイスアプリケーションの配信要求をサーバーに送信する通信コントローラーを有し、デバイスは、情報処理端末の複数のユーザーそれぞれに関連付けて、デバイスアプリケーションのアプリ識別子を格納するためのユーザー情報格納部を有し、方法は、情報処理端末のユーザーを識別するステップと、識別されるユーザーに関連付けられたアプリ識別子と、当該デバイスのデバイス識別子とを含むデバイスメタデータを生成するステップと、生成されたデバイスメタデータを、情報処理端末に送信するステップと、を有し、配信要求は、情報処理端末がデバイスから受信するデバイスメタデータの中のアプリ識別子に関連付けられたデバイスアプリケーションの配信要求を含む。
【００２１】
この開示の他の一例に係るプログラムは、上記に述べる方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２２】
本開示の一例によれば、デバイスを制御するデバイスアプリケーションをユーザー間で異ならせることができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１にかかるシステム１の概略的な構成を示す図である。
【図２】実施の形態１にかかる画像形成装置１００のハードウェアの構成の一例を概略的に示す図である。
【図３】実施の形態１にかかるサーバー３００のハードウェア構成の一例を概略的に示す図である。
【図４】実施の形態１にかかる情報処理端末２００のハードウェア構成の一例を概略的に示す図である。
【図５】実施の形態１にかかる情報処理端末２００のオペレーションシステムの構成の一例を示す図である。
【図６】実施の形態１にかかる各部の機能構成を模式的に示すブロック図である。
【図７】実施の形態１にかかる情報処理端末２００によるデバイスアプリ３０３の取得処理のフローチャートである。
【図８】実施の形態１にかかるユーザー識別子１０１とデバイスＩＤ１０２の関連付を模式的に示す図である。
【図９】実施の形態１にかかるユーザー識別子１０１とデバイスＩＤ１０２の関連付を模式的に示す図である。
【図１０】実施の形態２にかかる各部の機能構成を模式的に示すブロック図である。
【図１１】実施の形態２にかかるユーザー情報１０１Ａの構成を模式的に示す図である。
【図１２】実施の形態２にかかるユーザー情報１０１Ａの構成を模式的に示す図である。
【図１３】実施の形態２にかかるメタデータ生成部１３１により生成されるデバイスメタデータ３０２Ａの一例を示す図である。
【図１４】実施の形態２にかかるメタデータ生成部１３１により生成されるデバイスメタデータ３０２Ａの一例を示す図である。
【図１５】実施の形態２にかかる情報処理端末２００Ａによるデバイスアプリ３０３の取得処理のフローチャートである。
【発明を実施するための形態】
【００２４】
以下、図面を参照しつつ、各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２５】
まず、本実施の形態における用語を説明する。“情報処理端末”は、携帯型または据え置き型の各種のＰＣ（Personal Computer）を含む。情報処理端末は、タブレット型端末、スマートフォン等のようなＰＣ機能を備える端末を含み得る。
【００２６】
“デバイス”は、ＰＣの周辺機器等のように情報処理端末と連携して動作する装置であって、プリンター、ディスプレイ、キーボード、通信機器等の各種の装置を含むが、これらに限定されない。
【００２７】
“デバイスドライバー”は、「連携アプリケーション」の一実施例である。デバイスドライバーは、上記の連携動作を可能とするように、情報処理端末のＯＳと、デバイスとの間でデータを相互に遣り取りするためのプログラムまたはデータ、またはプログラムとデータの両方を含む。
【００２８】
“デバイスアプリ”は、「デバイスアプリケーション」の一実施例である。デバイスアプリは、デバイスドライバーとは異なるアプリケーションであって、デバイスドライバーが有する機能を提供するためのアプリケーションを含む。デバイスアプリは、デバイスに対する設定を受付けるためのＵＩ（User Interface）を提供するアプリケーションを含みあえる。この設定は、例えばデバイスを制御するための設定、またはデバイスから取得するべきステータス（状態情報）の設定等を含む。なお、デバイスアプリは、プログラムを含む、またはプログラムとデータの両方を含み得る。
【００２９】
［実施の形態１］
＜Ａ．開示の概要＞
この開示の概要を、図１を参照して説明する。図１は、実施の形態１にかかるシステム１の概略的な構成を示す図である。
【００３０】
図１を参照して、システム１は、「デバイス」の一実施例である画像形成装置１００、１または複数の情報処理端末２００、およびサーバー３００を備える。システム１では、画像形成装置１００と情報処理端末２００はネットワーク４００または４０３を介して通信する。ネットワーク４００は、ＬＡＮ（ローカルエリアネットワーク）またはグローバルネットワークを含む。ネットワーク４０３は、ＮＦＣ（Near field communication）等の近距離無線通信を含み得る。サーバー３００は、例えばクラウドサーバを含み得る。情報処理端末２００は、コンピューターに相当する構成を有し、少なくともプログラムを格納するメモリ、プログラムを実行するプロセッサ、通信回路および指示入力デバイスなどを備える装置を含む。情報処理端末２００は、ルーター等の中継器２９０を介してネットワーク４００に接続されてもよい。
【００３１】
システム１には、画像形成装置１００は複数台備えられてもよい。また、システム１に備えられる情報処理端末２００は１台であってもよい。
【００３２】
サーバー３００は、画像形成装置１００に対応した複数のデバイス識別子３０１のそれぞれに関連付けて（すなわち、紐付けて）、デバイスメタデータ３０２、および当該画像形成装置１００のデバイスアプリ３０３を格納するアプリ格納部３１０と、「サーバー制御部」の一実施例であるＣＰＵ（Central Processing Unit）３０とを含む。
【００３３】
画像形成装置１００は、複数のユーザーのそれぞれに関連付けて、ユーザー識別子１０１とデバイスＩＤ（識別子）１０２とを格納するための記憶領域を有する記憶部１６０と、「デバイス制御」の一実施例であるＣＰＵ（Central Processing Unit）１５０を備える。記憶部１６０の一部の記憶領域は、「データ格納部」の一実施例である。
【００３４】
情報処理端末２００はユーザー識別子を画像形成装置１００に送信する。画像形成装置１００は情報処理端末２００から取得するユーザー識別子に一致するユーザー識別子１０１に関連付けられたデバイスＩＤ１０２を、情報処理端末２００に送信する。情報処理端末２００は画像形成装置１００から受信したデバイスＩＤ１０２を含むデバイスアプリの配信要求４０をサーバー３００に送信する。サーバー３００は情報処理端末２００からの配信要求４０に含まれたデバイスＩＤ１０２を抽出し、デバイスＩＤ１０２に一致するデバイス識別子３０１に関連付けられたデバイスアプリ３０３をアプリ格納部３１０から検索し、情報処理端末２００に送信する。
【００３５】
これにより、システム１では、情報処理端末２００に配信（送信）されるデバイスアプリ３０３を、情報処理端末２００のユーザー識別子１０１に関連付けられたデバイスＩＤ１０２により指定することが可能となる。すなわち、情報処理端末２００に配信されるデバイスアプリ３０３を、情報処理端末２００のユーザー間で異ならせることが可能となる。
【００３６】
＜Ｂ．画像形成装置１００のハードウェア構成＞
図２は、実施の形態１にかかる画像形成装置１００のハードウェアの構成の一例を概略的に示す図である。図２を参照して、画像形成装置１００は、プリンターまたはコピー機またはそれらの複合機であるＭＦＰ（Multi-Function Peripherals）として例示される。画像形成装置１００は、ＣＰＵ１５０、プログラムおよびデータを格納するための記憶部１６０、情報の入出力部１７０、ネットワーク４００または中継器２９０を介してサーバー３００と通信するための通信Ｉ／Ｆ（インターフェイス）１５６、情報処理端末２００とネットワーク４００または４０３を介して通信するための通信回路１７５、および各種処理部を含む。
【００３７】
記憶部１６０は、ＣＰＵ１５０により実行されるプログラムおよびデータを記憶するためのＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）および不揮発メモリなどを含む。ＲＡＭは、ＣＰＵ１５０によりプログラムを実行する際の作業領域としても供される。
【００３８】
入出力部１７０は、ディスプレイを含む表示部１７１およびユーザーが画像形成装置１００に情報を入力するために操作する操作部１７２を含む。ここでは、入出力部１７０は、表示部１７１と操作部１７２が一体的に構成されたタッチパネルとして提供されてもよい。
【００３９】
通信Ｉ／Ｆ１５６は、ＮＩＣ（Network Interface Card）などの回路を含んで構成される。通信Ｉ／Ｆ１５６は、サーバー３００を含む外部装置とネットワークを介して通信するためのデータ通信部１５７を含む。データ通信部１５７は、ネットワークを介してサーバー３００を含む外部装置にデータを送信する送信部１５８、およびネットワークを介してサーバー３００を含む外部装置からデータを受信する受信部１５９を含む。
【００４０】
通信回路１７５は、情報処理端末２００と通信するための例えばＬＡＮ（Local Area Network）またはＮＦＣ（Near Field Communication)などの通信回路を含む。
【００４１】
上記の各種処理部は、画像処理部１５１、画像形成部１５２、画像データを含む各種データを記憶するハードディスクなどの記憶部１５３、図示しないプリンターを制御する画像出力部１５４、図示しないファクシミリ回路を制御するためのファクシミリ制御部１５５、原稿を光学的に読み取って画像データを得るための画像読取部１７３、外部記憶媒体１７６が脱着自在に装着されるデータリーダー/ライター１７４を備える。
【００４２】
画像出力部１５４は、情報処理端末２００から受信する後述する印刷データ５０を用いてプリンターを駆動する。データリーダー/ライター１７４は、装着された外部記憶媒体１７６からプログラムまたはデータを読出す回路と、外部記憶媒体１７６にデータを書込む回路を有する。
【００４３】
＜Ｃ．サーバー３００のハードウェア構成＞
図３は、実施の形態１にかかるサーバー３００のハードウェア構成の一例を概略的に示す図である。図３を参照して、サーバー３００は、ＣＰＵ３０、記憶部３４、およびネットワークコントローラー３５を含む。記憶部３４は、ＣＰＵ３０により実行されるプログラムおよびデータを記憶するためのＲＯＭ（Read Only Memory）３１、ＲＡＭ（Random Access Memory）３２およびＨＤＤ（Hard disk drive）３３、および画像形成装置１００または情報処理端末２００と通信するネットワークコントローラー３５を含む。ＲＡＭ３２は、各種情報を記憶する領域と、ＣＰＵ３０でプログラムを実行する際の作業領域とを含む。ネットワークコントローラー３５はＮＩＣなどの回路を含む。
【００４４】
＜Ｄ．情報処理端末２００のハードウェア構成＞
図４は、実施の形態１にかかる情報処理端末２００のハードウェア構成の一例を概略的に示す図である。図４を参照して、情報処理端末２００は、ＣＰＵ２０、ディスプレイ２３、ユーザーが情報処理端末２００に情報を入力するために操作する操作パネル２５、記憶部２６および通信コントローラー２７を備える。記憶部２６は、ＣＰＵ２０により実行されるプログラムおよびデータを記憶するためのＲＯＭ（Read Only Memory）２１、ＲＡＭ（Random Access Memory）２２、およびハードディスク装置を含むメモリ２８を備える。ディスプレイ２３と操作パネル２５は、一体的に構成されたタッチパネルとして提供されてもよい。通信コントローラー２７は、他の情報処理端末２００または画像形成装置１００またはサーバー３００と通信するためのＮＩＣまたはＬＡＮ回路などの通信回路を含む。
【００４５】
＜Ｅ．情報処理端末２００のシステム構成＞
図５は、実施の形態１にかかる情報処理端末２００のオペレーションシステムの構成の一例を示す図である。図５のオペレーションシステム２１０は、デバイスメタデータ３０２、およびＣＰＵ２０により起動されるプリンタードライバー２２０およびデバイスアプリ３０３を含む。実施の形態１では、画像形成装置１００（より特定的にはプリンター）は「デバイス」の一実施例であり、プリンタードライバー２２０は、「デバイスドライバー」の一実施例である。なお、デバイスおよびデバイスドライバーは、これらに限定されない。
【００４６】
プリンタードライバー２２０は、第１ＵＩ（ユーザーインターフェイス）部２２１、共通処理部２２２および描画部２２３を含む。第１ＵＩ部２２１は、デスクトップアプリケーション用の印刷設定ＵＩを含む。描画部２２３は印刷ジョブを生成し画像形成装置１００に送信する処理部を含む。共通処理部２２２は、第１ＵＩ部２２１および描画部２２３以外の処理部を示す。
【００４７】
デバイスアプリ３０３は、サーバー３００のアプリストアから提供されるアプリケーションを含む。デバイスアプリ３０３は、例えばアプリストアから提供される詳細な印刷設定のための第２ＵＩ部２３１を含む。第２ＵＩ部２３１は、第１ＵＩ部２２１とは異なり詳細な印刷設定（例えばカラー、モノクロ等）を可能にするためのアプリケーションであって、ユーザー毎にダウンロードされる。なお、デバイスアプリ３０３に含まれるアプリの種類は、印刷設定用のＵＩに限定されない。
【００４８】
情報処理端末２００は、デバイスメタデータ３０２をサーバー３００から受信する。デバイスメタデータ３０２は、デバイスアプリ３０３を識別する１または複数のアプリ識別子３０４を含む。
【００４９】
ユーザーが情報処理端末２００にログインすると、ＣＰＵ２０は、例えばログイン時に取得されるユーザーＩＤを画像形成装置１００に送信する。画像形成装置１００は、ユーザーＩＤに一致するユーザー識別子１０１に関連付けられたデバイスＩＤ１０２を、情報処理端末２００に送信する。情報処理端末２００は、デバイスＩＤ１０２に関連付けられたデバイスメタデータ３０２をサーバー３００から受信する。情報処理端末２００は、デバイスメタデータ３０２に含まれる１以上のアプリ識別子３０４を抽出し、抽出されたアプリ識別子３０４を含む配信要求４０をサーバー３００に送信する。サーバー３００は、配信要求４０から抽出したアプリ識別子３０４に関連付けられたデバイスアプリ３０３を、要求元の情報処理端末２００に配信する。これにより、情報処理端末２００は、ログインしたユーザーに対応したデバイスアプリ３０３を取得することができる。
【００５０】
＜Ｆ．各部の機能構成＞
図６は、実施の形態１にかかる各部の機能構成を模式的に示すブロック図である。図６を参照して、情報処理端末２００は、プリンタードライバー２２０、サーバー３００から受信されたデバイスメタデータ３０２およびデバイスアプリ３０３、ならびに端末制御部２７０を含む。端末制御部２７０は、デバイス情報取得部２５０およびインストール部２６０を含む。インストール部２６０は、メタデータ取得部２６１およびアプリ取得部２６２を有する。プリンタードライバー２２０、デバイスメタデータ３０２およびデバイスアプリ３０３は、記憶部２６に格納される。端末制御部２７０の各部は、ＣＰＵ２０により実行されるプログラムに相当する。
【００５１】
画像形成装置１００は、記憶部１６０または１５３に対応するデータ格納部１８０およびユーザー情報格納部１４２、ならびにデバイス制御部１９０を含む。デバイス制御部１９０は、ユーザー識別取得部１１０、情報取得部１２０、デバイスＩＤ送信部１３０、ユーザー登録部１４１およびデバイスＩＤ登録部１８５を含む。デバイス制御部１９０の各部はＣＰＵ１５０により実行されるプログラムに相当する。
【００５２】
サーバー３００は、ＣＰＵ３０により実行されるプログラムに相当するサーバー制御部３０５および記憶部３４に相当するアプリ格納部３１０を含む。アプリ格納部３１０は、複数種類のデバイスアプリ３０３を格納する。また、アプリ格納部３１０は、画像形成装置１００を識別する複数のデバイス識別子３０１のそれぞれに関連付けてデバイスメタデータ３０２を格納する。デバイスメタデータ３０２は、アプリ格納部３１０の複数のデバイスアプリ３０３のうちの１または複数のデバイスアプリ３０３それぞれを識別するアプリ識別子３０４を有する。デバイスメタデータ３０２のそれぞれは、当該デバイスメタデータ３０２のアプリ識別子３０４により識別される１または複数のデバイスアプリ３０３が関連付けされている。
【００５３】
なお、端末制御部２７０、デバイス制御部１９０およびサーバー制御部３０５は、ＣＰＵにより実行されるプログラムに限定されず、例えばＡＳＩＣ（Application Specific Integrated Circuit)またはＦＰＧＡ（Field-Programmable Gate Array)などの回路を含んでも良く、またはプログラムと回路の組合せを含んでもよい。
【００５４】
画像形成装置１００において、ユーザー識別取得部１１０は、情報処理端末２００から当該情報処理端末２００のユーザーを識別するユーザー識別子を取得する。各実施の形態では、このユーザー識別子は、説明を簡単にするために情報処理端末２００の各ユーザーのログインＩＤ（ユーザー名、またはログイン名等）とする。
【００５５】
データ格納部１８０は、当該画像形成装置１００に割当てられた１または複数種類のデバイスＩＤ１０２を格納し得る。各デバイスＩＤ１０２は、それぞれ異なるＩＤを示し、いずれも当該画像形成装置１００を識別する識別子に相当する。例えば、デバイスＩＤ１０２は、デフォルト（標準）のデバイスＩＤ１０２と他の種類のデバイスＩＤ１０２を含む。また、ユーザー情報格納部１４２は、情報処理端末２００の１または複数のユーザーのそれぞれのユーザー識別子１０１を格納する。ユーザー情報格納部１４２のユーザー識別子１０１は、それぞれ、データ格納部１８０の１のデバイスＩＤ１０２に関連付けられる。
【００５６】
情報取得部１２０は、ユーザー識別取得部１１０が情報処理端末２００から取得したログインＩＤ（ユーザー識別子）に基づき、ユーザー情報格納部１４２からログインＩＤに一致するユーザー識別子１０１を検索する。情報取得部１２０は、検索されたユーザー識別子１０１に基づきデータ格納部１８０から、当該ユーザー識別子１０１に関連付けられたデバイスＩＤ１０２を検索する。デバイスＩＤ送信部１３０は、検索（取得）されたデバイスＩＤ１０２を情報処理端末２００に送信するよう通信回路１７５を制御する。
【００５７】
情報処理端末２００では、デバイス情報取得部２５０は、ユーザーがログインするとき、ログインＩＤ（ユーザー識別子）を画像形成装置１００に送信するよう通信回路１７５を制御する。また、デバイス情報取得部２５０は、画像形成装置１００のデバイスＩＤ送信部１３０により送信されるデバイスＩＤ１０２を受信するように通信回路１７５を制御する。
【００５８】
インストール部２６０は、デバイスＩＤ１０２に一致するデバイス識別子３０１に関連付けられたデバイスアプリ３０３をサーバー３００から受信し、記憶部２６にインストールする。具体的には、メタデータ取得部２６１は、デバイスＩＤ１０２に一致するデバイス識別子３０１に関連付けられたデバイスメタデータ３０２をサーバー３００から記憶部２６にインストールする。また、アプリ取得部２６２は、記憶部２６のデバイスメタデータ３０２から抽出した１または複数のアプリ識別子３０４を用いてデバイスアプリ３０３の配信要求４０をサーバー３００に送信するよう通信コントローラー２７を制御する。アプリ取得部２６２は、配信要求４０に応答してサーバー３００から配信（送信）される当該デバイスメタデータ３０２（アプリ識別子３０４）に関連付けられたデバイスアプリ３０３を受信するように通信コントローラー２７を制御する。アプリ取得部２６２は、受信されたデバイスアプリ３０３を記憶部２６にインストールする。
【００５９】
＜Ｇ．処理フローチャート＞
図７は、実施の形態１にかかる情報処理端末２００によるデバイスアプリ３０３の取得処理のフローチャートである。図７のフローチャートは、サーバー３００、情報処理端末２００および画像形成装置１００のそれぞれにおいて実施される処理のフローチャートを示す。各フローチャートは、プログラムとして記憶部に格納されて、ＣＰＵにより記憶部から読出されて実行される。
【００６０】
図７を参照して、情報処理端末２００側のフローチャートは、プログラムとして記憶部２６に格納されて、ＣＰＵ２０により当該プログラムは記憶部２６から読出されて実行される。まず、デバイス情報取得部２５０は、ユーザーが情報処理端末２００にログインしてプリンタードライバー２２０が起動されると、ＣＰＵ２０からログインＩＤを受付ける。デバイス情報取得部２５０は、デバイスＩＤ１０２の取得要求３８を画像形成装置１００に送信するよう、通信コントローラー２７を制御する（ステップＳ１）。取得要求３８はログインＩＤを含む。デバイス情報取得部２５０は、画像形成装置１００から送信される取得要求３８を受信するよう通信コントローラー２７を制御する（ステップＳ５）。
【００６１】
メタデータ取得部２６１は、画像形成装置１００から受信されるデバイスＩＤ１０２を含むデバイスメタデータ３０２の取得要求３９をサーバー３００に送信するよう通信コントローラー２７を制御する（ステップＳ７）。メタデータ取得部２６１は、サーバー３００から送信されるデバイスメタデータ３０２を受信するよう通信コントローラー２７を制御する（ステップＳ９）。メタデータ取得部２６１は、受信されたデバイスメタデータ３０２を記憶部２６に格納する。
【００６２】
アプリ取得部２６２は、記憶部２６のデバイスメタデータ３０２から抽出したアプリ識別子３０４を含む配信要求４０をサーバー３００に送信するよう通信コントローラー２７を制御する（ステップＳ１１）。このとき、アプリ取得部２６２は、デバイスメタデータ３０２のアプリ識別子３０４のうちから予め定められた基準に基づき１つ以上のアプリ識別子を選択的に抽出するとしてもよい。この予め定められた基準とは、たとえばアプリ識別子３０４が対応するデバイスアプリ３０３の有効期限を有している場合は、この有効期限に基づく基準を含み得る。アプリ取得部２６２は、有効期限を過ぎているアプリ識別子３０４のみをデバイスメタデータ３０２から選択的に抽出する。これにより、サーバー３００からのデバイスアプリ３０３の送信量を削減することができる。
【００６３】
アプリ取得部２６２は、サーバー３００から送信されるデバイスアプリ３０３を受信するよう通信コントローラー２７を制御する（ステップＳ１３）。アプリ取得部２６２は、サーバー３００から受信されたデバイスアプリ３０３を記憶部２６に格納する。
【００６４】
画像形成装置１００側のフローチャートは、プログラムとして記憶部１６０または１５３に格納されて、ＣＰＵ１５０により当該プログラムは記憶部１６０または１５３から読出されて実行される。まず、ユーザー識別取得部１１０は、情報処理端末２００からのデバイスＩＤ１０２の取得要求３８を受信するよう通信回路１７５を制御する（ステップＴ１）。ユーザー識別取得部１１０は、受信した取得要求３８に含まれているログインＩＤを情報取得部１２０に出力する。
【００６５】
情報取得部１２０は、ユーザー識別取得部１１０からのログインＩＤに基づきユーザー識別子１０１を取得する（ステップＴ３）。具体的には、情報取得部１２０は、ログインＩＤに基づきユーザー情報格納部１４２を検索し、ログインＩＤに一致するユーザー識別子１０１を取得する。
【００６６】
情報取得部１２０は、ステップＴ３においてユーザー識別子１０１が検索（取得）されたか否かを判断する（ステップＴ５）。情報取得部１２０は、ユーザー識別子１０１に関連付けされたデバイスＩＤ１０２を検索できたと判断したときは（ステップＴ５でＹＥＳ）、デバイスＩＤ送信部１３０は、情報取得部１２０により検索された（すなわちユーザー識別子１０１に関連付けされた）デバイスＩＤ１０２を、情報処理端末２００に送信するよう通信回路１７５を制御する（ステップＴ９）。
【００６７】
一方、情報取得部１２０は、ユーザー識別子１０１に関連付けされたデバイスＩＤ１０２を検索できなかったと判断したときは（ステップＴ５でＮＯ）、デバイスＩＤ送信部１３０は、データ格納部１８０のデフォルトのデバイスＩＤ１０２を、情報処理端末２００に送信するよう通信回路１７５を制御する（ステップＴ７）。これにより、ユーザー情報格納部１４２にユーザー識別子１０１が未登録のユーザーに対しては、デフォルトのデバイスＩＤ１０２を提供することができる。
【００６８】
サーバー３００側のフローチャートは、プログラムとして記憶部３４に格納されて、ＣＰＵ３０により当該プログラムは記憶部３４から読出されて実行される。まず、サーバー制御部３０５は、情報処理端末２００からデバイスメタデータ３０２の取得要求３９を受信するようネットワークコントローラー３５を制御する（ステップＲ３）。サーバー制御部３０５は、受信された取得要求３９に含まれたデバイスＩＤ１０２に基づき、当該デバイスＩＤ１０２に関連付けされたデバイスメタデータ３０２をアプリ格納部３１０から検索する。サーバー制御部３０５は、検索されたデバイスメタデータ３０２を情報処理端末２００に送信するようネットワークコントローラー３５を制御する（ステップＲ５）。
【００６９】
また、サーバー制御部３０５は、情報処理端末２００からのデバイスアプリ３０３の配信要求４０を受信するようネットワークコントローラー３５を制御する（ステップＲ７）。サーバー制御部３０５は、受信した配信要求４０の１以上のアプリ識別子３０４に関連付けされた１以上のデバイスアプリ３０３をアプリ格納部３１０から検索する。サーバー制御部３０５は、検索された１以上のデバイスアプリ３０３を情報処理端末２００に送信するようネットワークコントローラー３５を制御する（ステップＲ９）。
【００７０】
図７の処理によれば、情報処理端末２００は、ユーザーに関連付けされたデバイスアプリ３０３を、画像形成装置１００を介して、サーバー３００から受信することができる。
【００７１】
＜Ｈ．ユーザー識別子とデバイスＩＤの関連付けの例＞
図８と図９は、実施の形態１にかかるユーザー識別子１０１とデバイスＩＤ１０２の関連付を模式的に示す図である。実施の形態１では、画像形成装置１００では、図８に示されるように、上記に述べたログインＩＤに一致するユーザー識別子１０１のそれぞれに、デバイスＩＤ１０２が関連付される。ユーザー識別子１０１は、ログインＩＤに限定されず、図９に示されるように情報処理端末２００に割当てられて当該情報処理端末２００をネットワークにおいて識別するためのネットワークアドレスの一例であるＩＰ（Internet Protocol）アドレスであってもよい。なお、ＩＰアドレスに限定されず情報処理端末２００に割当てられたネットワークアドレスであれば、例えばＭＡＣ（Media Access Control）アドレス等であってもよい。また、ユーザー識別子１０１は、ログインＩＤとネットワークアドレスの組合せにより示されてもよい。
【００７２】
＜Ｉ．情報の登録＞
実施の形態１では、画像形成装置１００のデータ格納部１８０またはユーザー情報格納部１４２の内容は、操作部１７２を介して受付けたユーザー操作内容を用いて変更され得る。具体的には、デバイスＩＤ登録部１８５は、ユーザー操作内容に基づきデータ格納部１８０にデバイスＩＤ１０２を格納（登録）することができる。また、デバイスＩＤ登録部１８５は、ユーザー操作内容に基づきデータ格納部１８０にデバイスＩＤ１０２を削除または書換えることもできる。また、ユーザー登録部１４１は、ユーザー操作内容に基づきユーザー情報格納部１４２にユーザー識別子１０１を格納（登録）することができる。また、ユーザー登録部１４１は、ユーザー操作内容に基づきユーザー情報格納部１４２のユーザー識別子１０１を削除または書換えることもできる。
【００７３】
また、データ格納部１８０またはユーザー情報格納部１４２の内容が変更されるとき、デバイス制御部１９０は、ユーザー情報格納部１４２のユーザー識別子１０１と、デバイスＩＤ登録部１８５のデバイスＩＤ１０２の関連付けを、変更内容に従い変更する。
【００７４】
これにより、例えばユーザーが追加される場合は、ユーザー登録部１４１により、当該ユーザーのユーザー識別子１０１をユーザー情報格納部１４２に追加することができる。またデバイスアプリ３０３が変更（追加を含む）される場合、例えば情報処理端末２００のＯＳまたはプリンタードライバー２２０が変更される場合は、デバイスＩＤ登録部１８５により、データ格納部１８０のデバイスＩＤ１０２を、変更後のＯＳまたはプリンタードライバー２２０に対応のデバイスアプリ３０３のためのデバイスＩＤ１０２に変更することができる。
【００７５】
なお、ユーザー登録部１４１によるユーザー情報格納部１４２の内容の変更、またはデバイスＩＤ登録部１８５によるデータ格納部１８０の内容の変更の方法は、操作部１７２を介したユーザー操作による方法に限定されない。例えば、Webブラウザまたは専用アプリケーションを用いた方法であってもよい。
【００７６】
＜Ｊ．デバイスアプリを取得する時期＞
実施の形態１では、情報処理端末２００は、予め定められたときに、デバイスＩＤの取得要求３８の送信処理（図７のステップＳ１）を実施する。予め定められたときは、上記に述べたように、情報処理端末２００にユーザーがログインしたときを含む。これにより、情報処理端末２００はユーザーが切り替わる毎に、すなわちユーザーがログインする毎に、当該ユーザーに対応のデバイスアプリ３０３を取得することができる。
【００７７】
上記の予め定められたときはユーザーのログイン時に限定されない。例えば、上記の予め定められたときは、プリンタードライバー２２０が情報処理端末２００の記憶部２６にインストール（格納）されるときを含み得る。これにより、プリンタードライバー２２０が変更され得る場合に、プリンタードライバー２２０が情報処理端末２００にインストールされる毎に、ユーザーに対応のデバイスアプリ３０３をインストールすることができる。
【００７８】
または、上記の予め定められたときは、プリンタードライバー２２０が起動されて情報処理端末２００が画像形成装置１００に接続(通信コントローラー２７の通信ポート設定または通信ポート変更)し通信を開始するときを含み得る。これにより、例えば情報処理端末２００が接続する画像形成装置１００（プリンター）が変更され得る場合に、情報処理端末２００は画像形成装置１００（プリンター）に接続する毎に、ユーザーに対応のデバイスアプリ３０３をインストールすることができる。
【００７９】
または、上記の予め定められたときは、プリンタードライバー２２０が起動するときを含み得る。これにより、プリンタードライバー２２０が変更され得る場合に、情報処理端末２００はプリンタードライバー２２０が起動する毎に、ユーザーに対応のデバイスアプリ３０３をインストールすることができる。
【００８０】
また、予め定められたときは、上記のユーザーのログイン時、上記のプリンタードライバー２２０が情報処理端末２００の記憶部２６にインストール（格納）される時、情報処理端末２００が画像形成装置１００に接続し通信を開始する時、およびプリンタードライバー２２０が起動する時のうちの１つ、または２つ以上を含み得る。
【００８１】
なお、実施の形態１では、デバイスアプリ３０３のインストールは、情報処理端末２００の記憶部２６の記憶領域の上書きにより実施される。したがって、記憶領域にデバイスアプリ３０３が既に格納されているときは、既に格納されていたデバイスアプリ３０３の上書きにより、ステップＳ１３において新たなデバイスアプリ３０３がインストールされる。これにより、記憶部２６におけるデバイスアプリ３０３を記憶するための領域を節約することができる。
【００８２】
［実施の形態２］
実施の形態２は、上記に述べた実施の形態１の変形例を示す。実施の形態１では、情報処理端末２００は、デバイスメタデータ３０２をサーバー３００から取得したのに対して、実施の形態２では、画像形成装置１００Ａがデバイスメタデータ３０２Ａを生成し、情報処理端末２００Ａは画像形成装置１００Ａから生成されたデバイスメタデータ３０２Ａを取得する。したがって、実施の形態２では、デバイスメタデータ３０２Ａが生成されることにより、実施の形態１に比較して、デバイスメタデータを多様化することができる。また、画像形成装置１００Ａがデバイスメタデータ３０２Ａを情報処理端末２００Ａに送信することで、情報処理端末２００Ａとサーバー３００Ａとの間の通信量から、デバイスメタデータを取得するための通信量を削減することができる。
【００８３】
＜Ｋ．各部の機能構成＞
図１０は、実施の形態２にかかる各部の機能構成を模式的に示すブロック図である。図１０を参照して、実施の形態２にかかるシステム１Ａは、端末制御部２７０Ａを有する情報処理端末２００Ａ、デバイス制御部１９０Ａを有する画像形成装置１００Ａ、およびサーバー制御部３０５Ａを有するサーバー３００Ａを備える。端末制御部２７０Ａは、図６のメタデータ取得部２６１およびアプリ取得部２６２に代えて、画像形成装置１００Ａからデバイスメタデータ３０２Ａを取得するメタデータ取得部２６１Ａおよびサーバー３００からデバイスアプリ３０３を取得するアプリ取得部２６２Ａを備える。情報処理端末２００Ａの他の構成は図６に示されたものと同様であるので、説明は繰返さない。また、画像形成装置１００Ａのデバイス制御部１９０Ａは、図６の構成に追加してメタデータ生成部１３１およびメタデータ送信部１３２を含む。また、画像形成装置１００Ａは、図６のユーザー情報格納部１４２およびデータ格納部１８０に代えて、ユーザー情報格納部１４２Ａおよびデータ格納部１８０Ａを備える。画像形成装置１００Ａの他の構成は、図６の画像形成装置１００のそれらと同様であるので説明は繰返さない。サーバー３００Ａは、サーバー制御部３０５Ａおよびアプリ格納部３１０Ａを備える。
【００８４】
画像形成装置１００Ａのメタデータ生成部１３１は、デバイスメタデータ３０２Ａを生成し、メタデータ送信部１３２は、生成されたデバイスメタデータ３０２Ａを情報処理端末２００Ａに送信するよう通信回路１７５を制御する。また、画像形成装置１００Ａのユーザー情報格納部１４２Ａは、後述するユーザー情報１０１Ａを格納する。また、データ格納部１８０Ａは、当該画像形成装置１００Ａを識別する１つのデバイスＩＤ１０２を格納する。ユーザー登録部１４１は、ユーザー情報格納部１４２Ａのユーザー情報１０１Ａを、例えば操作部１７２を介して受付けたユーザー操作内容に従い変更する。また、デバイスＩＤ登録部１８５は、例えば操作部１７２を介して受付けたユーザー操作内容に従いデータ格納部１８０ＡのデバイスＩＤ１０２Ａを変更する。なお、ユーザー登録部１４１は、Ｗｅｂブラウザまたは専用アプリケーションを用いてユーザー情報格納部１４２Ａの内容を変更してもよく、またデバイスＩＤ登録部１８５は、Ｗｅｂブラウザまたは専用アプリケーションを用いてデータ格納部１８０Ａの内容を変更してもよい。
【００８５】
サーバー３００のアプリ格納部３１０Ａは、複数のデバイスメタデータ３０２Ａと、各デバイスメタデータ３０２Ａに関連付けてデバイスアプリ３０３とを格納する。サーバー制御部３０５Ａは、情報処理端末２００Ａから受信するデバイスアプリ３０３の配信要求４０Ａに含まれるデバイスメタデータ３０２Ａに基づきアプリ格納部３１０Ａから、デバイスメタデータ３０２Ａに関連付けされたデバイスアプリ３０３を検索する。サーバー制御部３０５は、検索されたデバイスアプリ３０３を、情報処理端末２００に送信（配信）する。これにより、情報処理端末２００には、サーバー３００から、ユーザーに対応したデバイスアプリ３０３がインストールされる。
【００８６】
＜Ｌ．ユーザー識別子とデバイスＩＤの関連付けの例＞
図１１と図１２は、実施の形態２にかかるユーザー情報１０１Ａの構成を模式的に示す図である。ユーザー情報１０１Ａは、図１１に示されるように、上記に述べたログインＩＤに対応する１または複数のユーザー識別子１０１と、各ユーザー識別子１０１に関連付けてアプリ識別子３０４を有する。また、ユーザー情報１０１Ａでは、ユーザー識別子１０１は、ログインＩＤに限定されず、図１２に示されるように情報処理端末２００のＩＰアドレス等のネットワークアドレスであってもよい。または、ユーザー識別子１０１は、ログインＩＤとＩＰアドレス等のネットワークアドレスの組合せにより示されてもよい。
【００８７】
＜Ｍ．デバイスメタデータ３０２Ａの生成＞
図１３と図１４は、本実施の形態２にかかるメタデータ生成部１３１により生成されるデバイスメタデータ３０２Ａの一例を示す図である。メタデータ生成部１３１は、例えば、「ユーザーＡ」用のデバイスメタデータ３０２Ａを生成する場合、データ格納部１８０ＡのデバイスＩＤ１０２と、ユーザー情報１０１Ａの「ユーザーＡ」のユーザー識別子１０１に関連付けされたアプリ識別子３０４とを含む（例えば、両者を組合せた（セットにした））図１３に示すデバイスメタデータ３０２Ａを作成する。同様に、「ユーザーＢ」用のデバイスメタデータ３０２Ａを生成する場合、データ格納部１８０ＡのデバイスＩＤ１０２と、ユーザー情報１０１Ａの「ユーザーＢ」のユーザー識別子１０１に関連付けされたアプリ識別子３０４とを含む（例えば、両者を組合せた（セットにした））図１４に示すデバイスメタデータ３０２Ａを作成する。
【００８８】
これにより、デバイスメタデータ３０２Ａを、そこに含まれるアプリ識別子３０４により相互に異ならせることができる。また、図１１と図１２に示されるように、アプリ識別子３０４はユーザー識別子１０１毎に相違し得るので、メタデータ生成部１３１は、デバイスメタデータ３０２Ａをユーザー毎に相違するように生成することができる。したがって、デバイスメタデータ３０２Ａを含む配信要求４０Ａにより情報処理端末２００に配信されるデバイスアプリ３０３を、ユーザー毎に異ならせることができる。
【００８９】
＜Ｎ．処理フローチャート＞
図１５は、実施の形態２にかかる情報処理端末２００Ａによるデバイスアプリ３０３の取得処理のフローチャートである。図１５のフローチャートは、サーバー３００Ａ、情報処理端末２００Ａおよび画像形成装置１００Ａのそれぞれにおいて実施される処理のフローチャートを示す。各フローチャートは、プログラムとして記憶部に格納されて、ＣＰＵにより記憶部から読出されて実行される。
【００９０】
図１５を参照して、情報処理端末２００Ａ側のフローチャートは、プログラムとして記憶部２６に格納されて、ＣＰＵ２０により当該プログラムは記憶部２６から読出されて実行される。まず、デバイス情報取得部２５０は、ユーザーが情報処理端末２００Ａにログインしてプリンタードライバー２２０が起動されると、ＣＰＵ２０からログインＩＤを受付ける。デバイス情報取得部２５０は、デバイスメタデータ３０２Ａの取得要求３８Ａを画像形成装置１００に送信するよう、通信コントローラー２７を制御する（ステップＳ１ａ）。
【００９１】
メタデータ取得部２６１Ａは、画像形成装置１００から送信されるデバイスメタデータ３０２Ａを受信するよう通信コントローラー２７を制御する（ステップＳ５ａ）。メタデータ取得部２６１Ａは、画像形成装置１００から受信したデバイスメタデータ３０２Ａを記憶部２６に格納する（ステップＳ５ｂ）。
【００９２】
アプリ取得部２６２Ａは、デバイスアプリ３０３の配信要求４０Ａをサーバー３００Ａに送信するよう通信コントローラー２７を制御する（ステップＳ１９）。配信要求４０Ａは、記憶部２６のデバイスメタデータ３０２Ａを含む。アプリ取得部２６２Ａは、サーバー３００Ａから送信されるデバイスアプリ３０３を受信するよう通信コントローラー２７を制御する（ステップＳ２１）。アプリ取得部２６２Ａは、サーバー３００Ａから受信されたデバイスアプリ３０３を記憶部２６に格納する。
【００９３】
画像形成装置１００Ａ側のフローチャートは、プログラムとして記憶部１６０または１５３に格納されて、ＣＰＵ１５０により当該プログラムは記憶部１６０または１５３から読出されて実行される。まず、ユーザー識別取得部１１０は、情報処理端末２００Ａからのデバイスメタデータの取得要求３８Ａを受信するよう通信回路１７５を制御する（ステップＴ１１）。ユーザー識別取得部１１０は、受信した取得要求３８ＡからログインＩＤを取得し、情報取得部１２０に出力する。
【００９４】
情報取得部１２０は、ユーザー識別取得部１１０からのログインＩＤに基づきユーザー識別子１０１を取得する（ステップＴ１３）。具体的には、情報取得部１２０は、ログインＩＤに基づきユーザー情報格納部１４２Ａのユーザー情報１０１Ａを検索し、ログインＩＤに一致するユーザー識別子１０１を取得する。
【００９５】
情報取得部１２０は、ステップＴ１３においてユーザー識別子１０１が検索（取得）されたか否かを判断する（ステップＴ１５）。情報取得部１２０は、ユーザー識別子１０１が検索できたと判断したときは（ステップＴ１５でＹＥＳ）、メタデータ生成部１３１は、検索されたユーザー識別子１０１に関連付けされたアプリ識別子３０４と、データ格納部１８０ＡのデバイスＩＤ１０２とからデバイスメタデータ３０２Ａを生成する（ステップＴ１９）。一方、情報取得部１２０は、ユーザー識別子１０１を検索できなかったと判断したときは（ステップＴ１５でＮＯ）、メタデータ生成部１３１は、デフォルトのアプリ識別子３０４と、データ格納部１８０ＡのデバイスＩＤ１０２とからデバイスメタデータ３０２Ａを生成する（ステップＴ１７）。
【００９６】
メタデータ送信部１３２は、生成されたデバイスメタデータ３０２Ａを、情報処理端末２００Ａに送信するよう通信回路１７５を制御する（ステップＴ２１）。
【００９７】
サーバー３００Ａ側のフローチャートは、プログラムとして記憶部３４に格納されて、ＣＰＵ３０により当該プログラムは記憶部３４から読出されて実行される。まず、サーバー制御部３０５Ａは、情報処理端末２００Ａからデバイスメタデータ３０２Ａを含むデバイスアプリの配信要求４０Ａを受信するようネットワークコントローラー３５を制御する（ステップＲ１１）。サーバー制御部３０５Ａは、受信された配信要求４０Ａのデバイスメタデータ３０２Ａに基づき、当該デバイスメタデータ３０２Ａに関連付けされた１以上のデバイスアプリ３０３をアプリ格納部３１０Ａから検索し（ステップＲ１３）、検索された１以上のデバイスアプリ３０３を情報処理端末２００に送信するようネットワークコントローラー３５を制御する（ステップＲ１５）。
【００９８】
図１５の処理によれば、情報処理端末２００は、画像形成装置１００Ａにより生成されたデバイスメタデータ３０２Ａに関連付けられたデバイスアプリ３０３が配信される。このデバイスメタデータ３０２Ａは、ユーザー識別子１０１に関連付けされた１以上のアプリ識別子３０４を含んで生成される。したがって、情報処理端末２００に配信されるデバイスアプリ３０３を情報処理端末２００のユーザー毎に異ならせることが可能である。
【００９９】
＜Ｏ．プログラム＞
上記に述べた処理を画像形成装置１００（１００Ａ）、情報処理端末２００（２００Ａ）およびサーバー３００（３００Ａ）に実行させるためのプログラムが提供される。このようなプログラムは、少なくとも上記の図７と図１５に示すフローチャートに従うプログラムを含む。画像形成装置１００（１００Ａ）、情報処理端末２００（２００Ａ）およびサーバー３００（３００Ａ）のコンピューターに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピューター読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。プログラムは、ＣＰＵなどの１つ以上のプロセッサにより、またはプロセッサとＡＳＩＣ，ＦＰＧＡなどの回路との組合せにより実行され得る。
【０１００】
なお、プログラムは、コンピューターのＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して、プロセッサに処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、各実施の形態のプログラムに含まれ得る。
【０１０１】
また、各実施の形態にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して、プロセッサに処理を実行させる。このような他のプログラムに組込まれたプログラムも、各実施の形態にかかるプログラムに含まれ得る。
【０１０２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０３】
１，１Ａ  システム、４０，４０Ａ  配信要求、１００，１００Ａ  画像形成装置、１０１  ユーザー識別子、１０１Ａ  ユーザー情報、１１０  ユーザー識別取得部、１２０  情報取得部、１３１  メタデータ生成部、１３２  メタデータ送信部、１４１  ユーザー登録部、１４２，１４２Ａ  ユーザー情報格納部、１５４  画像出力部、１８０，１８０Ａ  データ格納部、１８５  デバイスＩＤ登録部、１９０，１９０Ａ  デバイス制御部、２００，２００Ａ  情報処理端末、２２０  プリンタードライバー、２５０  デバイス情報取得部、２６１，２６１Ａ  メタデータ取得部、２６２，２６２Ａ  アプリ取得部、２７０，２７０Ａ  端末制御部、３００，３００Ａ  サーバー、３０１  デバイス識別子、３０２，３０２Ａ  デバイスメタデータ、３０３  デバイスアプリ、３０４  アプリ識別子、３０５，３０５Ａ  サーバー制御部、３１０，３１０Ａ  アプリ格納部。
【図１】
2019106101.tif 000003
【図２】
2019106101.tif 000004
【図３】
2019106101.tif 000005
【図４】
2019106101.tif 000006
【図５】
2019106101.tif 000007
【図６】
2019106101.tif 000008
【図７】
2019106101.tif 000009
【図８】
2019106101.tif 000010
【図９】
2019106101.tif 000011
【図１０】
2019106101.tif 000012
【図１１】
2019106101.tif 000013
【図１２】
2019106101.tif 000014
【図１３】
2019106101.tif 000015
【図１４】
2019106101.tif 000016
【図１５】
2019106101.tif 000017