図1は、本発明の一実施例を示すシステムの構成を例示するブロック図である。
図1に示すように、配信システム10は、Webサーバ12、DBサーバ13及びアプリケーションサーバ11等を備える。配信システム10は、インターネット100に接続されたWebサーバ12を介して、各顧客企業(114、119、129)のデバイス(115、116、120、121、124〜127、131)等と通信を行う。これにより、配信システム10は、デバイスに対して、アプリケーションソフトウェア(以後「アプリ」という)及びファームウェア(以後「FW」という)の配信制御を管理するソフトウェア配信システムである。詳細は後述するが、配信システム10は、後述のライセンス管理システム40と連携して、ソフトウェアの配信設定を管理する。
アプリ及びFWの実ファイルは、コンテンツサーバ20にあり、デバイスへアプリをインストールする場合には、配信システム10からコンテンツサーバ20上の実ファイルの位置情報を取得し、コンテンツサーバ20からアプリをダウンロードする。これにより、多くのデバイスのアプリ配信の負荷を分散し、効率良くアプリの配信を行うことができる。アプリ及びFWの更新も同様である。
コンテンツサーバ20は、コンテンツ管理サーバ21およびファイル・ストレージ(22、23)を備える。コンテンツ管理サーバ21は、外部からのリクエストに従って、ファイル・コンテンツすなわちアプリやFWの実ファイルを保存あるいは提供する。
また、ライセンス管理システム40は、アプリを実行するためのライセンスを発行、管理する。ライセンス管理システム40もインターネット100等を介して配信システム10等と接続されている。ライセンス管理システム40は、配信システム10と同様に、Webサーバ42、DBサーバ43及びアプリケーションサーバ41等を備える。
デバイスには、マルチ・ファンクション・プリンタ(MFP)や、シングル・ファンクション・プリンタ(SFP)等の種類があり、デバイスのモデル毎に一つあるいは複数の機能が搭載されている。それらの機能を実現するためのFWがデバイスにインストールされることにより、デバイスの各機能が利用可能となる。また、デバイスのモデル毎、あるいは、デバイスのモデルに共通で実行可能なアプリをデバイスにインストールして実行することが可能である。デバイスの利用者は、そのデバイスで利用可能な複数のアプリの中から、所望のものを選び、ライセンスを購入するなどして入手することにより、アプリのインストールを行う。また、デバイスのアプリの不具合が修正された場合や機能の改善あるいは追加された場合には、アプリを更新することで、それらを利用することができる。配信システム10は、ライセンス管理システム40と連携して、デバイスで動作するアプリをライセンス管理の観点から判断し、配信するアプリを決定する。
販売会社システム30は、デバイスを各顧客企業(114、119、129)へ販売し、維持、管理するデバイスの製造会社あるいはデバイスの販売会社がアプリ及びFWの登録・管理のための操作をするためのシステムである。販売会社システム30は、1台以上のパーソナルコンピュータ(以下「PC」という)(31、32)あるいはサーバ(33、34)を備える。販売会社システム30から配信システム10およびコンテンツサーバ20へアクセスすることにより、アプリ及びFWの登録と配信設定を行うことができる。
顧客システム114(A社X事業所)においては、インターネット100に接続されたLAN118に接続されたデバイス(115、116)が、監視装置117により監視されている。監視装置117は、デバイス(115、116)の稼働情報等をインターネット100経由で図示しない監視システムに送信している。デバイス(115、116)は、コンテンツサーバ20からダウンロードしたFWやアプリを適用するためのコントローラを備える。
また、顧客システム119(A社Y事業所)においては、監視装置122、123によってLAN128に接続されたデバイス(120、121、124〜127)が管理されている。監視装置122により、デバイス(120、121、124〜127)が、監視装置123によりデバイス126、127がそれぞれ管理されている。監視装置122、123は、デバイス(120、121、124〜127)の稼働情報等をインターネット100経由で図示しない監視システムに送信している。デバイス(120、121、124〜127)は、コンテンツサーバ20からダウンロードされたFWやアプリを適用するためのコントローラを備える。
また、顧客システム129(B社)においては、インターネット100に接続されたLAN130に接続されたデバイス131自身が、自身の稼働情報等をインターネット100経由で図示しない監視システムに送信している。デバイス131は、上述した監視装置117、122、123と同等の機能を有している。デバイス131は、コンテンツサーバ20からダウンロードしたFWやアプリを適用するためのコントローラを備える。
図2は、配信システム10のアプリケーションサーバ11のハードウェア構成を例示するブロック図である。
本実施例におけるアプリケーションサーバ11は、ネットワークインタフェース(Network I/F)204を介して、Webサーバ12やDBサーバ13と互いに接続されている。アプリケーションサーバ11は、バス205を介して接続されたCPU201、RAM202、ROM203、ネットワークインタフェース204、HDD(Hard Disk Drive)206などを備える。なお、HDD206の代わりに又は併用してSSD(Solid State Drive)等の他の記憶装置を備えていてもよい。
配信システム10は、アプリケーションサーバ11のCPU201がHDD206あるいはROM203、RAM202に記録されたデータ及びプログラムを読み出して実行することにより実現される。また、配信システム10の機能は、複数のサーバの機能の連携によって実現される場合もある。ネットワークインタフェース204は、配信システム10内のサーバ間の機能連携に使われると共に、インターネット100を介して、外部システムと通信するためにも使用される。なお、図2はアプリケーションサーバ11に対応して図示しているが、図1に示した他のサーバやPC及びデバイスのコントローラ部等も同様のハードウェア構成を有するものとする。
図3は、配信システム10、ライセンス管理システム40及びデバイス400の機能構成を例示するブロック図である。
図3において、400は、配信システム10に接続するデバイスの一例である。302は、配信システム10に接続する販売会社システムの一例として、クライアントシステムであるWebブラウザを示す。例えば、Webブラウザ302は、販売会社システム30のPC31のCPUがHDD等に格納されたWebブラウザプログラムを実行することにより実現されるものである。
次に、配信システム10の機能構成について説明する。
配信システム10は、図1に示したように、複数のサーバから構成されるため、その機能も複数サーバの組合せにより実現されているものとする。ただし、配信システム10は、図1に示す構成に限らず、1つのサーバで全ての機能を実現してもよいし、また、高い性能が必要な場合には、より多くのサーバの組合せで実現してもよい。すなわち、図3に示す配信システム10の機能構成は、配信システム10を構成する1又は複数のサーバのそれぞれにおいてCPUがHDD等に格納されたプログラムを実行することにより実現されるものである。
310はWebインタフェース部で、デバイス400に対するアプリ及びFWの配信機能を提供するためのものである。Webインタフェース部310は、各デバイス400から各種リクエストを受信し、該リクエストに応じた処理結果を返却する。例えば、Webインタフェース部310は、アプリ配信情報のリクエストを受信すると、対象とするアプリの格納されている場所を検索し、アプリを取得するためのURLを応答として返却する。なお、リクエスト処理の詳細については後述する。
311はユーザインタフェース部で、Webブラウザ302から配信システム10にアクセスして、アプリ及びFWの登録や配信設定、定期アップデート設定を行うためのものである。
312はリクエスト受信部で、デバイス400からのリクエストを、Webインタフェース部310を介して受信する。313はレスポンス返信部で、デバイス400へレスポンスを、Webインタフェース部310を介して返す。
314は配信設定制御部で、ユーザインタフェース部311を介して指示されるFWおよびアプリの配信設定を制御する。配信設定制御部314は、デバイス管理部315、アプリ配信設定部317、FW配信設定部318を制御して、ユーザインタフェース部311で表示する配信設定のための画面の出力内容を決定する。デバイス管理部315は、配信設定制御部314の制御により、デバイスを管理する。アプリ配信設定部317は、配信設定制御部314の制御により、アプリの配信設定を行う。FW配信設定部318は、配信設定制御部314の制御により、FWの配信設定を行う。
320はDBアクセス部で、各種処理に応じて、データ管理部330で管理されているテーブルのデータを更新あるいは検索するためのものである。
データ管理部330において、331は、アプリファイル管理テーブルである(後述する表6に例示)。333は、登録FW管理テーブルである(後述する表7に例示)。334は、デバイス管理テーブルである(後述する表8に例示)。335は、インストール済みアプリ管理テーブルである(後述する表9に例示)。336は、アプリ配信管理テーブルである(後述する表10に例示)。337は、FW配信管理テーブルである。338は、定期アップデート設定管理テーブルである。
以下、デバイス400の機能構成について説明する。
図3に示すデバイス400の機能構成は、デバイス400が備えるコントローラのCPUがROMやHDD等に格納されたプログラムを実行することにより実現されるものである。
340は、デバイス400の本来の機能を処理するメイン処理部である。メイン処理部340は、例えば、プリンタであれば画像形成処理を行う等の主機能を指す。デバイス400は、この主機能の他に、デバイスのFWおよびアプリの配信制御を行うための機能も備えているが、それらは341〜348の機能ブロックとして示されている。
341はWebインタフェース部で、配信システム10からアプリ及びFWの配信を受けるためのものであり、配信システム10のWebインタフェース部310と接続されている。342は配信処理部で、Webインタフェース部341を介して、アプリ及びFWの配信を処理する。343はアプリインストール部で、配信されたアプリのインストールを行う。344はアプリ更新部で、配信されたアプリを更新する。345はFW更新部で、配信されたFWを更新する。347はFW格納部で、配信されたFWを格納する。348はアプリ格納部で、配信されたアプリを格納する。
以下、ライセンス管理システム40の機能構成について説明する。
ライセンス管理システム40は、図1に示したように、複数のサーバから構成されるため、その機能も複数サーバの組合せにより実現されているものとする。ただし、ライセンス管理システム40は、図1に示す構成に限らず、1つのサーバで全ての機能を実現してもよいし、また、高い性能が必要な場合には、より多くのサーバの組合せで実現してもよい。すなわち、図3に示すライセンス管理システム40の機能構成は、ライセンス管理システム40を構成する1又は複数のサーバのそれぞれにおいてCPUがHDD等に格納されたプログラムを実行することにより実現されるものである。
350はWebインタフェース部で、ライセンス管理システム40が配信システム10と接続して情報交換するためのものである。Webインタフェース部350は、配信システムのWebインタフェース部310と接続されている。351はリクエスト受信部で、配信システム10からのリクエストを、Webインタフェース部350を介して受信する。352はレスポンス返信部で、配信システム10へレスポンスを、Webインタフェース部350を介して返す。353はライセンス管理部で、アプリのライセンスを管理する。354はDBアクセス部で、各種処理に応じて、データ管理部360で管理されているテーブルのデータを更新あるいは検索するためのものである。
データ管理部360において、361は、登録アプリ管理テーブルである(後述する表1に例示)。362は、アプリ商品管理テーブルである(後述する表2に例示)。363は、インストール可能バージョン管理テーブルである(後述する表3に例示)。364は、ライセンス管理テーブルである(後述する表4に例示)。365は、デバイス単位ライセンス管理テーブルである(後述する表5に例示)。
以下、上述した各テーブルについて説明する。
まず、ライセンス管理システム40で管理されるテーブルから説明する。
表1に、登録アプリ管理テーブル361に格納されているアプリの管理情報の例を示す。
表1に示すように、登録アプリ管理テーブル361で管理されるアプリの管理情報は、登録番号、パスワード、アプリID、アプリ名、バージョン、ファイルID等の組合せの一覧から成る。バージョンが異なる同じアプリはアプリIDで一意に識別される。或るアプリの或るバージョンは、登録番号で一意に識別される。また、パスワードは、配信設定のために登録番号でアプリにアクセスする際にアプリにアクセスできるユーザを制限するためのものである。また、ファイルIDは、登録番号に対応するアプリの記憶場所と紐付けるためのものである。また、アプリ名は、ユーザインタフェース上での表示においてユーザによる識別が容易となるように付けられたものである。以上のようなアプリの管理情報は、販売会社システム30から担当者がアプリを登録する際に入力され、更新されることで維持されている。
アプリは、顧客に販売される際には、商品として管理され、同じアプリでも、異なる販売形態のために異なる商品とすることができる。表2に、アプリ商品管理テーブル362に格納されているアプリ商品の管理情報の例を示す。
表2に示すように、アプリ商品管理テーブル362で管理されるアプリ商品の管理情報は、商品ID、商品名、アプリID等の組合せの一覧から成る。アプリIDは、アプリの管理情報(表1)におけるアプリIDに紐付く。アプリ商品の管理情報では、同じアプリIDであっても、異なる商品、商品名を付けて管理することができる。
また、同じアプリIDであっても、アプリには、異なるバージョンが複数存在する。アプリ商品の管理においては、アプリ商品毎にどのバージョンを利用可能とするかを独立して管理できるようにしている。表3に、インストール可能バージョン管理テーブル363に格納されているアプリ商品のインストール可能バージョン情報の例を示す。
表3に示すように、インストール可能バージョン管理テーブル363で管理されるアプリ商品のインストール可能バージョン情報は、商品IDと登録番号等の組合せの一覧から成る。この情報に商品IDと登録番号の組合せが登録されている場合、商品IDに対応する商品では、対応する登録番号のバージョンのアプリをインストールすることが可能である。
なお、ライセンス管理システム40では、顧客にアプリを販売するために、顧客と商品IDを紐付けて、ライセンスを管理する。つまり、どの顧客にどの商品がライセンスされているかを記録し、ライセンスと商品の関連付けを行う。表4に、ライセンス管理テーブル364に格納されているライセンス情報の例を示す。
表4に示すように、ライセンス管理テーブル364で管理されるライセンス情報は、ライセンスID、顧客名、商品ID等の組合せの一覧から成る。ライセンスIDはライセンスを一意に識別する。また、商品IDは、アプリ商品の管理情報(表3)における商品IDに紐付く。この情報から、ライセンスIDに対応する商品IDを特定することができる。
また、ライセンス管理システム40では、ライセンスに対応するアプリがどのデバイスにインストールされるかを管理する。表5に、デバイス単位ライセンス管理テーブル365に格納されているデバイスとライセンスの紐付情報の例を示す。
表5に示すように、デバイス単位ライセンス管理テーブル365で管理されるデバイスとライセンスの紐付情報は、デバイスIDとライセンスIDの組合せの一覧から成る。ライセンスIDは、ライセンス情報(表4)におけるライセンスIDに紐付く。この情報に、デバイスIDとライセンスIDの組合せが登録されていれば、デバイスIDに対応するデバイスに、ライセンスIDに対応する商品のインストールが可能である。
次に、配信システム10で管理されるテーブルについて説明する。
表6に、アプリファイル管理テーブル331に格納されているアプリのファイル管理情報の例を示す。
表6に示すように、アプリファイル管理テーブル331で管理されるアプリのファイル管理情報は、ファイルIDとURL等の組合せの一覧から成る。ファイルIDは、アプリの管理情報(表1)におけるファイルIDに紐付く。この情報より、ファイルIDに対応するアプリのファイルが、コンテンツサーバ20において、URLに示す場所に格納されていることが分かる。
アプリと同様に、配信システム10は、配信可能なFWも管理する。表7に、登録FW管理テーブル333に登録されているFWの管理情報の例を示す。
表7に示すように、登録FW管理テーブル333で管理されるFWの管理情報は、デバイスモデル、バージョン、公開区分、URL等の組合せの一覧から成る。デバイスモデルとバージョンの組合せに対応するFWのファイルは、URLに示すコンテンツサーバ20上の記憶場所に格納されている。公開区分は、そのFWが、一般的にどのデバイスにもインストールされるFW(「通常FW」)、商談用等特定の顧客のデバイスにだけインストールされるFW(「特定FW」)のいずれであるかを示す。
なお、配信システム10では、不図示の管理情報によって、更新可能なFWのバージョンの組合せを管理している。例えば、Ver1.00からVer1.01へは更新可能、Ver1.00からVer1.10へは更新不可能などの情報を管理している。このようなFWの管理情報は、販売会社システム30から担当者がFWを登録する際に入力され、更新されることで維持されている。
配信システム10は、配信対象となる各デバイスの状態を保持し管理している。デバイスの状態を示す情報の一つとして、各デバイスで動作しているFWのバージョン情報がある。表8に、デバイス管理テーブル334に格納されているデバイス管理情報の例を示す。
表8に示すように、デバイス管理テーブル334で管理されるデバイスの管理情報は、デバイスID、デバイスモデル、バージョン、リモート配信等の組合せの一覧から成る。デバイスモデルは、デバイスIDで識別されるデバイスのモデルである。バージョンは、そのデバイスで現在動作しているFWのバージョンを示す。リモート配信は、そのデバイスへのアプリのリモート配信設定が許可されているか否かを示す。なお、リモート配信設定とは、遠隔地からサービスマンのネットワーク上の操作によってデバイスにソフトウェア等を配信するための設定を示す。
また、デバイスの状態を示すもう一つの情報として、各デバイスにインストールされているアプリとその状態の情報がある。表9に、インストール済みアプリ管理テーブル335に格納されているデバイスのインストール済みアプリ情報の例を示す。
表9に示すように、インストール済みアプリ管理テーブル335で管理されるインストール済みアプリ情報は、デバイスID、アプリID、アプリ名、バージョン、動作状態等の組合せの一覧から成る。デバイスIDとアプリID、バージョンの組合せによって、デバイスIDに示すデバイスにアプリIDとバージョンの組合せが示すアプリがインストールされていることを示している。また、動作状態は、そのアプリの動作状態を示している。この情報は、後述する図4の419に示す処理、あるいは、図5の457に示す処理で更新される。そして、この情報は、後述する図11の600で表示される更新アプリの候補を出すために参照される。
表10に、アプリ配信管理テーブル336に格納されている、アプリの配信情報の例を示す。
表10に示すように、アプリ配信管理テーブル336で管理されるアプリの配信情報は、配信ID、デバイスID、アプリID、バージョン、ファイルID、配信日時、配信後状態、配信状況等の組合せの一覧から成る。配信後状態は、その配信情報に基づいてデバイスに配信されたアプリの配信後の状態を指定するものであり、「起動」、「停止」、「継続」のいずれかを指定することができる。配信状況は、その配信情報に基づくアプリの配信状況を示すものであり、「配信待ち」、「配信中」、「完了」、「失敗」、「キャンセル」等の情報が配信状況に応じて格納される。配信システム10では、以上のようなアプリの配信情報によって、アプリの配信の予約を登録する。
表11に、FW配信管理テーブル337に格納されている、FWの配信情報の例を示す。
表11に示すように、FW配信管理テーブル337で管理されるFWの配信情報は、配信ID、デバイスID、デバイスモデル、バージョン、配信日時、適用日時、配信状況等の組合せの一覧から成る。配信システム10では、以上のようなFWの配信情報によって、FWの配信の予約を登録する。
表12に、定期アップデート設定管理テーブル338に格納されている、FWの定期アップデート情報の例を示す。
表12に示すように、定期アップデート設定管理テーブル338で管理されるFWの定期アップデート情報は、配信ID、デバイスID、定期アップデート設定、確認時間、適用時間、Eメールアドレス、コメント、配信状況等の組合せの一覧から成る。配信システム10では、以上のような定期アップデート情報によって、FWの定期アップデート設定を登録する。
以下、図4〜図6のシーケンス図を用いて、配信システム10に対して配信設定を行い、配信システム10がデバイス400へ配信する場合の流れを例示する。なお、図4〜図6に示すシーケンス図において、配信システム10の処理は、配信システム10を構成するサーバのCPU201がHDD206やROM203等に格納されるプログラムを実行することにより実現されるものである。また、デバイス400の処理は、例えばデバイス400のCPUがHDDやROM等に格納されるプログラムを実行することにより実現されるものである。また、ライセンス管理システム40の処理は、例えばライセンス管理システム40を構成するサーバのCPUがHDDやROM等に格納されるプログラムを実行することにより実現されるものである。また、コンテンツサーバ20の処理は、例えばコンテンツ管理サーバ21のCPUがHDDやROM等に格納されるプログラムを実行することにより実現されるものである。また、サービスマン402による配信システム10への操作(更新予約設定操作等)は、Webブラウザ302を利用して配信システム10へアクセスすることにより行われるものとする。
図4は、デバイスにアプリをインストールするために、デバイスの利用者によってデバイスを操作する場合の流れを例示するシーケンス図である。
図4において、401は、デバイス400を利用する利用者である。利用者401は、新しいアプリをデバイス400へインストールするために、デバイス400のユーザインタフェース(操作パネル等)を操作し、アプリのインストール指示を行う(410)。この際、利用者401は、インストールするアプリのアプリIDとバージョンを特定可能な情報を指示する。
該410の指示に応じて、デバイス400は、インストールするアプリとバージョンとを特定する情報(例えばデバイスID、アプリID、バージョン等)を配信システム10へ送り、対応するアプリを要求(リクエスト)する(411)。
この要求(411)に応じて、配信システム10は、該要求(411)をWebインタフェース部310等で処理する。なお、Webインタフェース部310と他の機能部が連携して処理を行う場合も「Webインタフェース部310が処理する」等と記載する。Webインタフェース部310は、ライセンス管理システム40へ、上記411の要求で渡されるデバイスIDとアプリID、バージョンを送り、上記要求を送ってきたデバイス400に対して、指定されたアプリのバージョンをインストールすることができるかを問い合わせる(ライセンス問い合わせ;412)。
この問い合わせ(412)に応じて、ライセンス管理システム40は、該問い合わせ(412)に含まれるデバイスIDに対応するライセンスを確認し、当該デバイスに対して、指定されたアプリのバージョンをインストールすることができるか否かを判断する。詳細には、ライセンス管理システム40は、デバイスIDからライセンスIDを特定し(表5)、ライセンスIDから商品IDを特定し(表4)、商品IDから登録番号を特定し(表3)、登録番号からアプリID、バージョン、ファイルID(表1)を特定する。これにより、ライセンス管理システム40は、指定されたデバイスに指定されたアプリのバージョンをインストール可能か否かを判断する。そして、ライセンス管理システム40は、問い合わせのあったアプリのバージョンをデバイスIDで指定されたデバイスにインストールできると判断した場合には、インストールするアプリのファイルを識別するファイルIDを配信システム10に返す(ライセンス応答;413)。
ライセンス管理システム40がインストールできる旨の応答(413)を返してきた場合、配信システム10のWebインタフェース部310は、該応答に含まれるファイルIDを用いて、アプリファイル管理テーブル331(表6)からアプリのURLを検索する。さらに、Webインタフェース部310は、該検索したURLを、上記411の要求に対応するプログラムファイルをダウンロードするためのURLとして、ライセンス管理システム40が返したライセンス情報と共にデバイス400へ返却する(414)。以後、配信システム10が処理するデバイス400からのリクエストも、Webインタフェース部310で処理されるものとして説明を続ける。
デバイス400は、上記414で返却されたURLでコンテンツサーバ20にアクセスし、インストールするアプリのファイルを要求する(アプリ要求;415)。この要求(415)の応答として、コンテンツサーバ20は、要求されたアプリのファイルをデバイス400に送信する(416)。デバイス400は、上記416で取得したアプリのファイルを使用して、アプリのインストール処理を行う(417)。
インストール処理(417)が終了し、インストールしたアプリが起動すると、デバイス400は、配信システム10へ、アプリのインストール完了及びインストール後の実行状態を通知する(418)。この時、デバイス400は、上記417で新しくインストールされたアプリを含め、その時点でデバイス400にインストールされている全てのアプリとそのバージョンの一覧情報を、配信システム10へ通知する。
デバイス400からアプリのインストール情報通知(418)を受けると、配信システム10は、その情報を、インストール済みアプリ管理テーブル335(表9)に記録し、デバイスに現在インストールされているアプリの情報を更新する(419)。そして、配信システム10は、上記419でアプリの状態を記録すると、デバイス400へ応答を返す(420)。
図5は、サービスマンが、アプリの更新のために配信予約設定をした場合の流れを例示するシーケンス図である。
図5において、サービスマン402は、デバイス400に対して、アプリおよびFWの更新のために、配信システム10へリモート配信の設定操作を行うサービスマンである。サービスマン402は、Webブラウザ302を利用して、配信システム10のユーザインタフェース部311にアクセスしてアプリ更新予約設定を実施する(430)。例えば、このアプリ更新予約設定(430)は、後述する図11(a)又は図13(a)に示すUI画面から行うものとする。なお、本実施例では、デバイスにインストールされているアプリを、そのデバイスでバージョンアップが可能なアプリとする。
配信システム10は、デバイス400から取得したインストール済みアプリ情報(表9)から、デバイス400にインストールされているアプリのアプリIDを特定し、該アプリを配信するアプリのバージョンの候補とする。あるいは、配信システム10は、サービスマン402から入力されたアプリのバージョンを識別する登録番号に従って、配信するアプリのバージョンを特定する。インストール済みアプリ情報からアプリIDを特定して配信するアプリのバージョンの候補とする場合、配信システム10は、インストール済みアプリ情報から特定したアプリIDをライセンス管理システム40へ送信し、配信するアプリのバージョンの情報を問い合わせる(431)。また、登録番号に従って、配信するアプリのバージョンを特定する場合、配信システム10は、入力された登録番号をライセンス管理システム40へ送信し、配信するアプリのバージョンの情報を問い合わせる(431)。
ライセンス管理システム40は、上記431の問い合わせを受けたアプリIDに対応するアプリの全バージョンの情報の一覧(該アプリIDに対応するアプリの配信可能なバージョンの情報の一覧)、あるいは登録番号に対応するアプリのバージョンの情報を、登録アプリ管理テーブル361(表1)から検索し、該検索結果を配信システム10へ返す(432)。
433において、配信システム10は、サービスマン402へ、ライセンス管理システム40から返却されたバージョン一覧、あるいはアプリのバージョンの情報を、検索条件、更新可能バージョン候補として提示する。例えば、後述する図11(b)又は図13(b)のように提示する。さらに、サービスマン402からのデバイス検索指示に応じて、検索条件に合致するデバイス一覧と、上述の更新可能バージョン候補を提示する。例えば、後述する図12又は図14のように提示する。なお、配信システム10からサービスマン402への情報提示は、ユーザインタフェース部311からWebブラウザ302を利用して行われるものとする。
サービスマン402は、上記433の提示に応じて、更新するアプリのバージョンと配信対象デバイスを選択する(434)。
配信システム10は、上記434においてサービスマン402から指定されたデバイスと更新するアプリの情報を、ライセンス管理システム40へ送り、各デバイスがそのアプリへ更新可能(適用可能)かを問い合わせる(435)。
ライセンス管理システム40は、上記435の問合わせに応じて、各デバイスがそのアプリへ更新可能か判断し、判断結果を配信システム10に応答する(436)。
配信システム10は、上記436で受け取った応答に応じて、各デバイスがそのアプリへ更新可能かの判断結果をサービスマン402へ提示する(437)。上記選択された全てのデバイスについて、指定されたアプリの更新が可能な場合には、後述する図15のような画面を提示し、選択されたデバイスに対して選択されたアプリの配信設定を可能にする。一方、上記選択されたデバイスの中に、指定されたアプリの更新が不可のデバイスが存在する場合には、後述する図7(c)のように判断結果を提示した後に、後述する図15のような画面を提示する。
上記437の提示に応じて、サービスマン402は、選択されたデバイス、アプリで配信設定を設定、登録するように、配信システム10に指示する(438)。例えば、図15のように指示する。
配信システム10は、上記438のサービスマン402からの指示に従って、アプリ更新の予約登録を実行する(445)。すなわち、配信システム10は、上記438の指示に従って、アプリの配信情報をアプリ配信管理テーブル336(表10)に登録する。
デバイス400は、配信予約あるいは定期アップデート設定の更新が入っているかを確認するため、定期的に配信システム10へ、配信設定確認の問い合わせを実行する(446)。配信システム10は、サービスマン402によるアプリの更新予約設定(430)によりアプリ更新予約登録(445)がされている場合、その後のデバイス400からの配信設定確認(446)に応じて、配信設定情報をデバイス400に応答する(447)。該447で応答される配信設定情報には、配信日時情報、配信識別情報(配信ID)及び更新後の実行状態指示情報(配信後状態)等が含まれる。
デバイス400は、上記447で受け取った配信設定情報で指定される配信予約日時(450)になると、配信システム10へ配信識別情報を送り、対応するアプリを要求する(451)。
上記451の要求に応じて、配信システム10は、該要求で渡される配信識別情報(配信ID)からアプリ配信管理テーブル336(表10)を検索して、アプリIDとバージョンを特定し、さらにアプリファイル管理テーブル331(表6)からアプリのURLを検索する。そして、配信システム10は、上記検索したURLを、プログラムファイルをダウンロードするためのURLとして、デバイス400へ返却する(452)。
デバイス400は、上記452で返却されたURLを用いてコンテンツサーバ20にアクセスし、インストールするアプリのファイルを要求する(453)。この453の要求に応じて、コンテンツサーバ20は、対応するアプリのファイルをデバイス400に応答する(454)。
デバイス400は、上記454で取得したアプリのファイルを使用してアプリの更新処理を実行する(455)。
その後、デバイス400は、配信システム10へ、上記455で更新したアプリの更新完了及び更新後の実行状態を通知する(456)。この時、更新されたアプリのバージョンを含め、その時点でデバイス400にインストールされているアプリとバージョンの一覧情報を、配信システム10へ通知する。
上記456でアプリ更新通知を受けた配信システム10は、それを記録し、対象アプリの動作状態を更新する(457)。そして、配信システム10は、デバイス400へ応答を返して(458)、このシーケンスは終了する。
図6は、サービスマンが、FWの配信予約設定あるいはFWの定期アップデート設定を実行した場合の流れを例示するシーケンス図である。
サービスマン402が、FWの配信予約設定あるいは定期アップデート設定を実施する(460)。サービスマン402による配信システム10への操作は、上述のようにWebブラウザ302を利用して行われるものとする。例えば、このFW更新予約設定(460)は、後述する図7〜図9又は図10A〜図10Bに示すUI画面から行うものとする。
上記460の予約設定に応じて、配信システム10は、461において、FWの配信予約の場合、その予約設定の内容をFW配信管理テーブル337(表11)へ記録しておき、定期アップデート設定の場合、定期アップデート設定管理テーブル338(表12)へ記録しておく。
図5に示した場合と同様に、デバイス400は、配信予約あるいは定期アップデート設定の更新が入っているかを確認するため、定期的に配信システム10へ、配信設定確認の問い合わせを実行する(446)。配信システム10は、サービスマン402による更新予約設定により更新予約登録がされている場合、その後のデバイス400からの配信設定確認(446)に応じて、対応する配信設定情報をデバイス400に応答する(447)。図6のシーケンスでは、配信システム10は、デバイス400からの配信設定確認(446)に応じて、配信設定情報をデバイス400に応答する(447)。この応答される配信設定情報には、配信設定の場合、配信日時情報、配信識別情報(配信ID)が含まれ、定期アップデート設定の場合、定期アップデートの定期確認情報(確認時間)、配信識別情報(配信ID)が含まれる。
配信設定の場合、デバイス400は、上記447で受け取った配信設定情報で指定される配信予約日時(配信日時)(470)になると、配信システム10へ配信識別情報を送り、対応するFWを要求する(471)。なお、定期アップデート設定の場合には、デバイス400は、設定に従った所定の周期(確認時間)で、470からのシーケンスを繰り返すことになる。
上記471の要求に応じて、配信システム10は、該要求で渡される配信識別情報からFW配信管理テーブル337(表11)を検索して、バージョンを特定し、さらに登録FW管理テーブル333(表7)からFWのURLを検索する。そして、配信システム10は、上記検索したURLを、プログラムファイルをダウンロードするためのURLとして、デバイス400へ返却する(472)。
デバイス400は、上記472で返却されたURLを用いてコンテンツサーバ20にアクセスし、インストールするFWのファイルを要求する(473)。この473の要求に応じて、コンテンツサーバ20は、対応するFWのファイルをデバイス400に応答する(474)。
デバイス400は、上記474で取得したFWのファイルを使用してFWの更新処理を実行し(475)、再起動する(476)。
該再起動後、デバイス400は、配信システム10へ、上記475で更新した更新後のバージョン情報を含めたFWの更新通知を送信する(476)。
上記476でFW更新通知を受けた配信システム10は、該FW更新通知によって渡された更新後バージョンの情報でデバイス管理テーブル334を更新する(478)。これにより、配信システム10に保持している、デバイス400のFWの現在バージョンの情報が更新される。そして、配信システム10は、デバイス400へ応答を返して(479)、このシーケンスは終了する。
次に、図7〜図15を用いて、図5の430〜438および図6の460等に示したサービスマン402による配信設定について説明する。
図7〜図15は、本実施例の配信設定のためのユーザインタフェース画面(UI画面)を例示する図である。これらのUI画面は、配信システム10から提供されWebブラウザ302で表示される。
図7(a)は、サービスマン402がWebブラウザ302を使用して、配信システム10にアクセスし、デバイスモデルを指定(選択)した後、アプリあるいはFWの更新のために配信設定を行うために最初に表示されるUI画面の例である。
図7(a)において、500は配信設定の種別を選択するラジオボタンである。500では、FWの配信設定(「FW配信」)、FWの定期アップデート設定(「FW定期」)、アプリの配信設定(「アプリ配信」)の3種類から配信設定を選ぶことができる。
図7(a)は「FW配信」が選択されている場合に対応する。500で「FW定期」を選択すると、後述の図10A(a)の画面へ遷移する。また、500で「アプリ配信」を選択すると、後述の図11(a)の画面へ遷移する。後述の画面を含め、いずれの画面で500の種別を選択することで、配信システム10の制御により、図7(a)、図10A(a)、図11(a)の画面へ遷移する。
まず、図7〜図9を用いて、FWの配信設定について説明する。
図7(a)では、まずFWの配信設定を行う対象デバイスを複数選択するため、特定条件のデバイスを絞り込むための検索条件(501〜503)を入力する。
501は、各対象デバイスの現在の配信状況を指定するチェックボックスである。図7(a)の例における501では、「配信待ち」、「配信中」、「完了」、「失敗」、「キャンセル」から配信状況を複数選択して指定できる。例えば、図に示すように「失敗」を選択することで、配信に失敗したデバイスに限定して配信設定を行うことができる。
502は、各対象デバイスにインストールされているFWの公開区分を指定するラジオボタンである。公開区分は、一般的にどのデバイスにもインストールされるFW(「通常FW」)、商談用等特定の顧客のデバイスにだけインストールされるFW(「特定FW」)、の2種類から選ぶことができる。
503は、各対象デバイスにインストールされているFWのバージョンの範囲を指定するドロップダウンメニューである。
上記501〜503で対象デバイスの条件を指定した後、「検索」ボタン504を押下することで、配信システム10のユーザインタフェース部311が、図7(b)の画面に画面を遷移させ、510に、検索条件に一致したデバイス一覧(対象デバイス一覧)を表示させるように制御する。また、「リセット」ボタン505が押下されると、配信システム10は、501〜503で設定された検索条件をリセットし、図7(a)の初期画面に画面を戻すように制御する。
図7(b)における、500〜505の動作は、図7(a)と同じであり、検索条件を変えながら図7(b)に表示するデバイス一覧を更新していくことができる。これにより、配信設定対象のデバイスを試行錯誤で探しながら選択することも可能な操作方法となっている。
図7(b)では、検索条件で絞り込んだデバイス一覧(対象デバイス一覧)510の中から、さらに配信設定対象のデバイスを選択する。対象デバイス一覧510は、上述の条件で検索された複数デバイスについて、以下の情報を左から順に表示している。例えば、「デバイスID」、「現在FW Ver.」、「公開区分」、「適用後FW Ver.」、「適用状況(配信)」、「適用状況(設定)」、「配信予約日時」、「適用予約日時」、「配信方法」、「FW配信状況」、「FW定期更新状況」、「アプリ配信状況」等の情報を表示している。
「デバイスID」は、そのデバイスの識別子を示す。「現在FW Ver.」は、そのデバイスに現在インストールされているFWのバージョンを示す。「公開区分」は、そのデバイスに現在インストールされているFWの公開区分を示す。
「適用後FW Ver.」は、そのデバイスに対して予約(例えば図6の461)されたFW配信設定において、そのデバイスに配信して適用された(又は適用される)FWのバージョンを示す。
「適用状況(配信)」は、FWの配信設定における、そのデバイスのFW適用可否状況を示す。すなわち、そのデバイスに配信可能なFWのバージョンが存在するか否かを示す。例えば、そのデバイスに配信可能なFWのバージョンが存在しない場合には「適用不可」と表示される。なお、そのデバイスの情報が取得できておらず、適用可否を判断出来ない場合には「対象外」と表示され、それ以外の場合には空欄で表示される。
「適用状況(設定)」は、FWの定期アップデート設定における、そのデバイスの定期アップデート設定可否状況を示す。例えば、そのデバイスの情報が取得できておらず、適用可否を判断出来ない場合には「対象外」と表示され、それ以外の場合には空欄で表示される。
「配信予約日時」は、そのデバイスに対して予約されたFW配信設定におけるFWの配信予約日時を示す。「適用予約日時」は、そのデバイスに対して予約されたFW配信設定におけるFWの更新を実施する予約日時を示す。「配信方法」は、そのデバイスに対して予約されたFW配信設定において、FW一式全てを配信するか更新のあるモジュールだけを配信するかを示す。
「FW配信状況」は、そのデバイスに対して予約されたFW配信設定におけるFWの配信状況を示す。「FW定期更新状況」は、そのデバイスに対して予約されたFWの定期アップデート設定におけるFWの定期アップデート状況を示す。「アプリ配信状況」は、そのデバイスに対して予約登録(例えば図5の445)されたアプリ配信設定におけるアプリの配信状況を示す。
さらに、対象デバイス一覧510には、配信設定対象デバイスを選択するためのチェックボックスが備えられている。対象デバイス一覧510に表示されたデバイスの情報を確認し、選択するデバイスの行のチェックボックスを操作することにより、配信対象のデバイスを複数選択することができる。この際、操作者は、対象デバイス一覧510の「FW定期更新状況」、「アプリ配信状況」に表示されている情報を同時に確認することにより、他の種別の配信設定(ここではアプリ配信設定)あるいは定期アップデート設定の途中であるか否かを確認できる。一般に、FWの更新には、デバイスの再起動を伴うため、FWとアプリの更新タイミングを適切にずらす必要がある。このため、FWの配信設定とアプリの配信設定は、排他的に設定されるように構成される。
本実施例においては、配信システム10では、設定が競合する場合、次に示す図7(c)へ画面遷移し、各対象デバイスに対応してエラーを表示し、設定対象デバイス群から除外するものとする。なお、設定が競合する場合とは、例えば、FWの配信設定の際に、予約された(例えば「配信待ち」や「配信中」の)FW定期アップデート設定やアプリ配信設定が存在するデバイスが対象デバイスとして選択されている場合を示す。この場合、配信システム10では、図7(c)において、設定が競合するデバイスに対応してエラーを表示し、設定対象デバイス群から除外制御する。これは、FWの配信設定の際にはアプリ配信管理テーブル336(表10)や定期アップデート設定管理テーブル338(表12)、アプリの配信設定の際にはFW配信管理テーブル337(表11)や定期アップデート設定管理テーブル338(表12)を参照し、各対象デバイスに対して種別の異なる設定が存在するかを確認することで判断する。この判断処理は、後述の図16のS1008、図17のS1204とS1205の間(不図示のステップ)及び図18のS1417のタイミング等で実施される。このような構成により、本実施例によれば、他の設定種別の競合する設定中であるデバイスを適切に判断しデバイスを選択することが可能となる。
また、上記「FW定期更新状況」、「アプリ配信状況」に表示は、別の実施例として、例えば配信システム10が異なる種別の設定が存在するか否かの判断(競合の判断)を行わず、他の設定種別の競合する既存の設定がある場合には、該既存の設定を新たな設定で上書きする実施例にも有効である。つまり、操作者が上記「FW定期更新状況」、「アプリ配信状況」の表示を参照することにより注意喚起して、例えば配信システム10が異なる種別の設定が存在するか否かの判断(競合の判断)を行わない場合でも、誤って設定を上書きすることを防ぐことが可能となる。
対象デバイス一覧510において、配信対象のデバイスを複数選択し、「次へ」ボタン506を押下することにより、配信システム10は、選択された各デバイスに対して、配信設定可否の判断(上述した競合の判断)を行う。ここで、配信不可のデバイスが存在する場合には、配信システム10は図7(c)の画面に遷移するよう制御する。一方、全てのデバイスが配信可能な場合には、配信システム10は図8に示す画面へ遷移するよう制御する。
図7(c)では、配信設定が不可と判断されたデバイスの一覧と各デバイスが配信設定不可となったエラー理由が520に表示される。
操作者がエラーの内容を確認した後、「戻る」ボタン523を押下することにより、配信システム10は図7(a)や図7(b)の画面に戻し、再度デバイスの選択等を操作者に促すことができる。また、エラーの内容を確認するために、「結果出力」ボタン522を押下することにより、デバイスとエラー理由の一覧を出力したファイルをWebブラウザ302等が動作するPC等にダウンロードすることができる。なお、選択したデバイス群の中に、配信可能なデバイスが存在する場合には、「次へ」ボタン521が有効となり、「次へ」ボタン521を押下することにより、配信可能なデバイス一覧を対象として図8に示す画面へ遷移する。
図8、図9は、図7(b)で選択したデバイス群に対してFWの配信設定を行うための画面の例である。なお、図8は配信するFWが指定される前の画面に対応し、図9は配信するFWが指定された後の画面に対応する。図9の画面は、配信するFWの指定がされている点を除いて、図8と同じ画面であり、同じ番号は同じ機能を示すため、図8と図9を合わせて説明する。
まず、図8の画面において、サービスマンは、選択されたデバイス群に対して配信するFWのバージョンを指定する。公開区分530は、選択するFWの公開区分を選択するラジオボタンである。「通常FW」531を選択した場合には、「配信するファームウェアVer.」メニューからFWのバージョンを選択することにより、配信するFWのバージョンを指定する。一方、「特定FW」532を選択した場合はに、特定FWを指定する「取得ID」と取得IDに対応する「パスワード」を入力することで、配信するFWのバージョンを指定する。いずれの場合もFWのバージョンを指定する情報を入力して、「検索」ボタン533を押下することで、配信システム10が、対象FWのバージョンを検索し、図9に示す画面へ遷移させる。
図9の画面では、上記530〜532の指定に基づいて検索されたFWバージョンの情報によって534および535が更新される。534は、配信するバージョンのFWの名称である。535は、配信するFWのバージョンである。このように、配信するFWのバージョンが決定し、534および535が表示された図9の状態になると、図8では無効であった、FW配信設定の「登録」ボタン547が有効になる。
545では、配信対象のデバイス一覧が、各デバイスのデバイスIDおよび現在FWバージョン(「現在FW Ver.」)と共に表示され、対象デバイス毎に「配信日時」と「適用日時」を入力することが可能となっている。545では、デバイス毎に個々の値(配信日時、適用日時)を入力することもできるが、540〜544を用いて、全対象デバイスに対して一括入力することもできる。
540は、配信日時を一括設定するための基準配信日時の入力部である。また、541は、複数デバイスに対する配信日時の設定間隔である。540および541に値を入力した後に「適用」ボタン(542)を押下することにより、545の「配信日時」の値を一括で設定することができる。
543は、適用日時を一括設定するための適用日時の入力部である。543を入力した後に「適用」ボタン(544)を押下することにより、545の「適用日時」の値を一括で設定することができる。このように配信設定を入力した後に、「登録」ボタン547を押下することで、FW配信設定の登録が完了する。すなわち、配信システム10が、入力されたFW配信設定をFW配信管理テーブル337に登録する(例えば図6のFW更新予約登録461)。
なお、546は、前の画面へ戻るための「戻る」ボタンである。「戻る」ボタン546を押下することにより、図7(a)の画面に戻り、デバイスを選択し直すことができる。
また、548は、選択されたデバイスの配信設定を登録削除するための「登録削除」ボタンである。「登録削除」ボタン548を押下することにより、選択されたデバイス(すなわち545に表示されている各デバイス)のFW配信設定の登録を削除することができる。
図9に示す画面においてFWの配信設定が登録されると、FW配信管理テーブル337337(表11)のFW配信情報のレコードが追加される。
表11に示したように、FW配信情報は、配信ID、デバイスID、デバイスモデル、バージョン、配信日時、適用日時、配信状況等の組合せの一覧から成る。配信IDは、FW配信情報のレコードが追加される時に一意の識別子が生成されて設定される。
次に、図10A、図10Bを用いて、FWの定期アップデート設定について説明する。
図10A(a)は、FWの定期アップデート設定を行うための画面例である。
図10A(a)では、まず551、552において、FWの定期アップデート設定を行う対象デバイスを複数選択するため、特定条件のデバイスを絞り込むための検索条件を入力する。
551は、各対象デバイスの現在のFW定期アップデート設定における配信状況を指定するチェックボックスである。552は、現在のFW定期アップデート設定の状態(定期アップデートを行うか否か設定状態)を指定するチェックボックスである。551、552で対象デバイスの条件を指定した後、「検索」ボタン553を押下することで、配信システム10は、図10A(b)の画面に遷移させ、検索条件に一致したデバイス一覧が560に表示させる。
なお、「リセット」ボタン(554)を押下すると、配信システム10は、551、552で設定した検索条件をリセットし、図10A(a)の初期画面へ戻す。
図10A(b)における、500〜554の動作は、図10A(a)と同じであり、検索条件を変えながら図10A(b)に表示するデバイス一覧を更新していくことができる。これにより、定期アップデート設定対象のデバイスを試行錯誤で探しながら選択することも可能な操作方法となっている。
図10A(b)では、検索条件で絞り込んだデバイス一覧(対象デバイス一覧)560の中から、さらに配信設定対象のデバイスを選択する。対象デバイス一覧560では、上述した条件で検索された複数デバイスの、以下の情報を左から順に表示している。例えば、「デバイスID」、「現在FW Ver.」、「適用後FW Ver.」、「適用状況(配信)」、「適用状況(設定)」、「FW配信状況」、「FW定期更新状況」、「アプリ配信状況」、「定期更新設定」、「確認時間」「適用時間」等の情報を表示している。
なお、「デバイスID」、「現在FW Ver.」、「適用後FW Ver.」、「適用状況(配信)」、「適用状況(設定)」、「FW配信状況」、「FW定期更新状況」、「アプリ配信状況」は、図7(b)に表示する内容として説明したものと同じであるので説明を省略する。
「定期更新設定」は、定期アップデート設定の状態を示す。「定期更新設定」は、定期アップデートをする設定の場合に「ON」、しない設定の場合に「OFF」が表示される。「確認時間」は、定期アップデート設定における、デバイス400が配信システム10へ更新版のFWがあるか否かを確認する時間設定を示す。「確認時間」には、「毎週月曜日4時〜7時」や「隔週土曜日22時〜1時」のように、定期的に確認する周期と曜日、時間が表示される。「適用時間」は、FWが配信された場合のインストール実施時間を示す。
また、対象デバイス一覧560には、図7(b)の510と同様に、定期アップデート設定対象デバイスを選択するためのチェックボックスがつけられている。対象デバイス一覧560において、定期アップデート設定対象のデバイスを複数選択し、「次へ」ボタン555を押下することにより、図10B(c)に示す画面へ遷移する。なお、「次へ」ボタン555を押下することにより、配信システム10が、FW配信設定の場合と同様に、選択された各デバイスに対して、配信設定可否の判断を行うようにしてもよい。配信設定可否判断は、FW配信管理テーブル337やアプリ配信管理テーブル336等を参照した種別の異なる配信設定の存在確認等によって行われる。
図10B(c)は、選択したデバイス群に対して定期アップデート設定を行う画面の例である。
定期アップデート設定では、576にて、各デバイスについて、定期アップデートをするか否か(「ON」/「OFF」)、及び、定期確認の周期、メール送信の設定を行う。「定期アップデート設定」で、定期アップデートをするか否か(「ON」/「OFF」)を設定する。
「確認時間」で、定期確認の周期(「毎週」/「隔週」)と曜日、確認時間を設定する。「適用日時」で、インストール実施時間を設定する。「Eメールアドレス」で、定期確認によって、FWの配信が実施された際のメール送信宛先を設定し、「コメント」で、メール送信時のメール内容に含まれるコメントを設定する。
なお、これらの設定は、576に一覧表示されるデバイス全体に対して、一括設定することもできる。570で、定期アップデートをするか否か(「ON」/「OFF」)を設定する。571で、定期確認の周期(「毎週」/「隔週」)と曜日、確認時間を設定する。572で、インストール実施時間を設定する。573で、定期確認によって、FWの配信が実施された際のメール送信宛先を設定し、574で、メール送信時のメール内容に含まれるコメントを設定する。以上を設定した上で、「適用」ボタン575を押下することにより、576に一覧表示されるデバイス全体に同じ値が一括設定される。このように定期アップデート設定を入力した後、「登録」ボタン578を押下することで、定期アップデート設定の登録が完了する。すなわち、配信システム10が、入力された定期アップデート情報を定期アップデート設定管理テーブル338に登録する(例えば図6のFW更新予約登録461)。
なお、577は、前の画面へ戻るための「戻る」ボタンである。「戻る」ボタン577を押下することにより、図7(a)の画面に戻り、デバイスを選択し直すことができる。
また、579は、選択されたデバイスの定期アップデート設定を登録削除するための「登録削除」ボタンである。「登録削除」ボタン579を押下することにより、選択されたデバイス(すなわち576に表示されている各デバイス)の定期アップデート設定の登録を削除することができる。
図10B(c)に示す画面においてFWの定期アップデート設定が登録されると、定期アップデート設定管理テーブル338(表12)に、定期アップデート情報のレコードが追加される。
表12に示したように、定期アップデート情報は、配信ID、デバイスID、定期アップデート設定、確認時間、適用時間、Eメールアドレス、コメント、配信状況等の組合せの一覧から成る。配信IDは、定期アップデート情報のレコードが追加される時に一意の識別子が生成されて設定される。
次に、図11〜図15を用いて、アプリの配信設定について説明する。
図11(a)は、アプリの配信設定を行うための画面例である。
図11(a)において、まずアプリの配信設定を行う対象デバイスを複数選択するため、特定条件のデバイスを絞り込むための検索条件を入力する。
580は、各対象デバイスの現在のアプリの配信設定の配信状況を指定するチェックボックスである。
581、600、601は、デバイスにインストールされているアプリとバージョンによってデバイスを絞り込むための検索条件を入力する項目である。本実施例において、アプリとバージョンを特定する方法は、名称とバージョン番号指定による方法と、アプリのバージョンを一意に特定するアプリ登録番号を指定する方法の二種類から選べる。581は、これらの方法を選択する検索種別を指定するラジオボタンである。581において、「アプリ名」を選択した場合には、図11(a)に示す画面で、アプリの名称とバージョンを指定してデバイスを絞り込む。581において、「登録番号」を選択した場合には、図13(a)に示す画面へ遷移する。また、図13(a)に示す画面で、581において、「アプリ名」を選択した場合には、図11(a)に示す画面へ遷移する。
600は、現在デバイスにインストールされているアプリから、アプリ名一覧を表示、選択するドロップダウンメニューである。また、601は、600で選択した名称のアプリに対応するバージョンを選択するチェックボックスである。600および601でアプリ名とバージョンを複数選択した後、「検索」ボタン586を押下することで、指定されたアプリとバージョンがインストールされたデバイスを対象として絞り込むことができる。すなわち、後述の図12に示すような画面が表示される。
また、図11に示す画面では、配信対象アプリも指定する。つまり、アップデート対象のアプリは、デバイス側にもインストールされているものである必要があるため、配信対象アプリを指定することは、そのアプリがインストールされているデバイスを絞り込むことにもなる。図11(a)に示す画面において、600でアプリ名を選択した後、「候補検索」ボタンを押下することにより、図11(b)に示す画面へ遷移する。
図11(b)に示す画面では、584にて、600で指定されたアプリ名に対応して、ライセンス管理システム40から返された、更新可能な別バージョンの一覧情報が選択可能となっている。584は、配信対象のアプリのバージョンを指定するためのドロップダウンメニューである。584で選択されたアプリのバージョンに対応して、583にはライセンス管理システム40で管理するアプリ名を表示し、585にはアプリの登録番号を表示する。
580、581、600、601で対象デバイスの条件を指定した後、「検索」ボタン586を押下することで、図12の画面に遷移し、検索条件に一致したデバイス一覧(対象デバイス一覧)が589に表示される。「リセット」ボタン587を押下すると、580、581、600、601で設定した検索条件をリセットし、図11(a)の初期画面へ戻る。
図12における、580、581、600、601、586、587の動作は、図11と同じであり、検索条件を変えながら図12に表示するデバイス一覧を更新していくことができる。これにより、アプリ配信設定対象のデバイスを試行錯誤で探しながら選択することも可能な操作方法となっている。
図12では、検索条件で絞り込んだデバイス一覧(対象デバイス一覧)589の中から、さらにアプリ配信設定対象のデバイスを選択する。対象デバイス一覧589は、上述の条件で検索された複数デバイスの、以下の情報を左から順に表示している。例えば、「デバイスID」、「現在アプリ名:Ver.」、「適用後アプリ名:Ver.」、「適用状況(配信)」、「配信予約日時」、「FW配信状況」、「FW定期更新状況」、「アプリ配信状況」、「配信後状況」、「リモート配信」、「FW Ver.」等の情報を表示している。
「デバイスID」は、図7(b)に表示する内容として説明したものと同じである。「現在アプリ名:Ver.」は、そのデバイスに現在インストールされているアプリの名称とバージョンの組合せを複数示す。「適用後アプリ名:Ver.」は、そのデバイスに配信して適用された最後のアプリの名称とバージョンの組合せを一つ示す。
「適用状況(配信)」は、アプリ配信設定における、そのデバイスのアプリ配信可否状況を示す。そのデバイスのアプリ情報が取得できておらず、配信可否を判断出来ない場合には、「対象外」と表示される。それ以外の場合には、空欄で表示される。
「配信予約日時」は、そのデバイスに対して予約(例えば図5の445)されたアプリ配信設定におけるアプリの配信予約日時を示す。
なお、「FW配信状況」、「FW定期更新状況」、「アプリ配信状況」は、図7(b)に表示する内容として説明したものと同じであるので説明を省略する。
「配信後状態」は、そのデバイスに対して予約されたアプリ配信設定における、そのデバイスへのアプリの配信後のアプリの起動状態を示す。起動状態としては、「起動」、「停止」、「不明」のいずれかが表示される。
「リモート配信」は、そのデバイスへのアプリのリモート配信設定が許可されているか否かを示す。「FW Ver.」は、図7(b)に表示する内容として説明した「現在FW Ver.」と同じものであるので説明を省略する。
また、対象デバイス一覧589では、510と同様にアプリ配信設定対象デバイスを選択するためのチェックボックスが備えられている。
図13(a)は、検索種別として登録番号を指定する場合の、アプリの配信設定を行うための画面例である。580、581は、図11(a)に示す画面で説明した通りである。また、図13(a)において、582は、アプリの登録番号を指定することにより、デバイスにインストールされているアプリによってデバイスを絞り込むための検索条件を入力する項目である。582において、アプリの登録番号とパスワードを入力し、「登録番号検索」ボタンを押下することにより、図13(b)に示す画面へ遷移する。
図13(b)に示す画面では、583、584、585へ、アプリの登録番号に対応するアプリ名、バージョン、登録番号が表示される。この状態で、583、584、585に表示された内容で配信対象アプリが指定されたことになる。また、指定されたアプリがインストールされたデバイスを対象として絞り込む検索条件も指定されたことになる。ここで「検索」ボタン586を押下することで、図14に示す画面へ遷移し、検索条件に一致したデバイス一覧が589に表示される。「リセット」ボタン587を押下すると、580、581、582で設定した検索条件をリセットし、図13(a)の初期画面へ戻る。
図14における、580、581、582、586、587の動作は、図13と同じであり、検索条件を変えながら図14に表示するデバイス一覧を更新していくことができる。これにより、アプリ配信設定対象のデバイスを試行錯誤で探しながら選択することも可能な操作方法となっている。
また、図14に示す画面では、図12で示した内容と同じ情報を表示している。検索種別が登録番号であることだけが違いである。
図12又は図14に示す589において、配信対象のデバイスを複数選択し、「次へ」ボタン588を押下することにより、配信システム10は、選択された各デバイスに対して、配信設定可否の判断を行う。配信設定可否判断は、FW配信管理テーブル337や定期アップデート設定管理テーブルを参照した種別の異なる配信設定の存在確認、および、図5における435、436に対応するライセンス管理システム40への問い合わせによって行われる。
ここで、配信不可のデバイスが存在する場合には、配信システム10は、図7(c)の画面に遷移させ、一方、全てのデバイスが配信可能な場合には、図15に示す画面へ遷移させる。
図7(c)では、FW配信の場合と同様に、配信設定が不可と判断されたデバイスの一覧と各デバイスが配信設定不可となったエラー理由が520に表示される。この場合、エラーの内容を確認した後、「戻る」ボタン523を押下することにより、図14の画面に戻り、デバイスを選択し直すことができる。なお、選択したデバイス群の中に、配信可能なデバイスが存在する場合には、「次へ」ボタン521が有効となり、「次へ」ボタン521を押下することにより、配信可能なデバイス一覧を対象として図15に示す画面へ遷移する。
図15は、選択したデバイス群に対して、アプリの配信設定を行う画面の例である。
アプリの配信設定では、デバイスの選択段階で配信対象アプリが決定しているため、その情報を、アプリケーション名590、バージョン591、登録番号592に表示している。
596にて、各デバイスについて、デバイスIDとそのデバイスにインストールされている対象アプリの名称とバージョンが表示される。さらに、596では、「配信日」、「配信時間」、「配信後状態」を個別に設定することができる。「配信後状態」としては、「起動」、「停止」、「継続」のいずれかを指定することができる。
これらの設定は、596に一覧表示されるデバイス全体に対して、一括設定することもできる。593で、「配信日」と「配信時間」を設定する。594で、「配信後状態」を設定する。以上を設定した上で、「適用」ボタン595を押下することにより、596に一覧表示されるデバイス全体に同じ値が一括設定される。このようにアプリ配信設定を入力した後、598を押下することで、アプリ配信設定の登録が完了する。すなわち、配信システム10が、入力されたアプリ配信設定をアプリ配信管理テーブル336に登録する。
なお、597は、前の画面へ戻るための「戻る」ボタンである。「戻る」ボタン597を押下することにより、図7(a)の画面に戻り、デバイスを選択し直すことができる。
また、599は、選択されたデバイスのアプリ配信設定を登録削除するための「登録削除」ボタンである。「登録削除」ボタン599を押下することにより、選択されたデバイス(すなわち596に表示されている各デバイス)のアプリ配信設定の登録を削除することができる。
図15に示す画面においてアプリの配信設定が登録されると、アプリ配信管理テーブル336(表10)のアプリ配信情報のレコードが追加される。
表10に示したように、アプリ配信情報は、配信ID、デバイスID、アプリID、バージョン、ファイルID、配信日時、配信後状態、配信状況等の組合せの一覧から成る。配信IDは、アプリ配信情報のレコードが追加される時に一意の識別子が生成されて設定される。
次に、図16〜図18を用いて、配信システムの配信予約処理について説明する。
図16は、配信システム10によるFW配信予約処理を例示するフローチャートである。なお、図16に示す処理は、図6のシーケンスにおける460〜461に対応して配信設定制御部314で処理される内容であり、Webブラウザ302に表示制御される画面表示は図7〜図9に示した画面表示に対応する。
また、図16及び後述する図17、図18の処理は、配信システム10を構成するサーバのCPUがHDD等に記憶されたプログラムを読み出して実行することにより実現されるものである。
図6のシーケンスにおける460に対応して、配信設定制御部314は、S1000からの処理を開始する。
まず、S1001において、配信設定制御部314は、図7(a)の画面における設定種別500の入力に対応する各配信設定種別に基づいて処理を分岐する。FW配信設定を進める場合には、配信設定制御部314は、S1004へ処理を進める。FW定期アップデート設定が選択された場合には、配信設定制御部314は、S1200へ処理を進める。なお、S1200以降の処理は図17にて後述する。また、アプリ配信設定が選択された場合には、配信設定制御部314は、S1400へ処理を進める。なお、S1400以降の処理は図18にて後述する。
S1004において、配信設定制御部314は、図7の「検索」ボタン504が押下された(すなわちデバイス検索が指示された)か否かを判定する(S1004)。そして、図7の「検索」ボタン504が押下されていないと判定した場合(S1004でNoの場合)、配信設定制御部314は、「検索」ボタン504が押下されるまで、引き続き、図7(a)あるいは図7(b)のような画面において、検索条件の入力を受け付ける。
一方、「検索」ボタン504が押下されたと判定した場合(S1004でYesの場合)、配信設定制御部314は、S1005へ処理を進める。
S1005において、配信設定制御部314は、図7(b)のように、検索条件に応じたデバイス一覧をWebブラウザ302に表示するように制御する。ここでは、以前にFWの更新が行われた際に図6の477でデバイスから取得した情報に従って検索を行い、対象デバイス一覧を表示する。
次に、S1006において、配信設定制御部314は、図7(b)のような画面において、デバイス選択の入力を受け付ける。
次に、S1007において、配信設定制御部314は、図7(b)における「次へ」ボタン506が押下されたか否かを判定する。そして、「次へ」ボタン506が押下されていないと判定した場合(S1007でNoの場合)、配信設定制御部314は、S1006に処理を戻し、デバイス選択の入力を受け付ける。
一方、「次へ」ボタン506が押下されたと判定した場合(S1007でYesの場合)、配信設定制御部314は、S1008に処理を進める。
S1008において、配信設定制御部314は、上記S1006で選択された各デバイスについて、以前にFWの更新が行われた際に図6の477でデバイスから取得した情報、および種別の異なる配信設定の有無に従って、配信設定が可能か否かを判断する。例えば、上記の情報が取得できていないデバイスについては配信設定不可と判断する。また、「配信待ち」又は「配信中」のアプリ配信設定又は定期アップデート設定が予約されているデバイスについては配信設定不可と判断する。また、上記以外のデバイスについては配信設定可能と判断する。また、配信設定制御部314は、上記選択されたデバイス群に対して共通に更新可能なFWのバージョンを選択する処理も行う。
S1009において、配信設定制御部314は、上記S1008の判断において、配信設定が不可能なデバイスがあったか否かを判定する。そして、配信設定が不可能なデバイスがあったと判定した場合(S1009でYesの場合)、配信設定制御部314は、S1010へ処理を進める。
S1010では、配信設定制御部314は、図7(c)の画面に示すように、配信設定が不可能なデバイスについての情報を、Webブラウザ302に表示するように制御する。そして、配信設定制御部314は、図7(c)の画面で、「次へ」ボタン521が押下されたと判定した場合、S1011へ処理を進める。
一方、配信設定が不可能なデバイスがなかったと判定した場合(S1009でNoの場合)、すなわち選択された全てのデバイスについて配信設定が可能な場合、配信設定制御部314は、そのままS1011へ処理を進める。
S1011において、配信設定制御部314は、図8のような配信設定画面をWebブラウザ302に表示するように制御する。この際、配信設定制御部314は、上記選択されたデバイス群に対して共通に更新可能なFWのバージョンを、配信するファームウェアのバージョンの候補とするように制御する。
次に、S1012において、配信設定制御部314は、図8の画面で「登録削除」ボタン548が押下されたか否かを判定する。
上記S1012において、「登録削除」ボタン548が押下されたと判定した場合(S1012でYesの場合)、配信設定制御部314は、S1213に処理を進める。
S1013において、配信設定制御部314は、上記S1006で選択されたデバイスの配信設定の登録を削除する処理を行い、本フローチャートの処理を終了する(S1018)。
また、上記S1012において、「登録削除」ボタン548が押下されていないと判定した場合(S1012でNoの場合)、配信設定制御部314は、S1214に処理を進める。
S1014において、配信設定制御部314は、配信するFWバージョンの入力を受け付け、「検索」ボタン533が押下されると、S1015へ処理を進める。
S1015において、配信設定制御部314は、図9のような配信設定画面をWebブラウザ302に表示し、該配信設定画面を介して配信設定の入力を受け付けるように制御する。
また、配信設定制御部314は、「登録」ボタン547が押下されたか否かを判定する(S1016)。「登録」ボタン547が押下されていないと判定した場合(S1016のNoの場合)、配信設定制御部314は、S1012に処理を戻し、引き続き、バージョンの選択、配信設定の入力を受け付ける。
そして、「登録」ボタン547が押下されたと判定した場合(S1016のYesの場合)、配信設定制御部314は、S1017に処理を進める。
S1017において、配信設定制御部314は、上記S1006で選択されたデバイスに対して、配信するFWバージョンの配信設定を登録する処理を行う。なお、選択されたデバイスについて、他の配信設定が存在する場合には、その配信設定をキャンセルしてから改めてここでの配信設定を登録するようにしてもよい。S1017の処理の後、配信設定制御部314は、本フローチャートの処理を終了する(S1018)。
図17は、配信システム10によるFW定期アップデート設定処理を例示するフローチャートである。なお、図17に示す処理は、図6のシーケンスにおける460〜461に対応して配信設定制御部314で処理される内容であり、Webブラウザ302に表示制御される画面表示は図10A、図10Bに示した画面表示に対応する。
図16のS1001からS1200へ処理が進むと、配信設定制御部314は、図10A(a)のような画面をWebブラウザ302に表示するように制御し、S1201へ処理を進める。なお、図7において説明した通り、図17からでも、設定種別500を選択することで、図16あるいは図18の処理へ進むことができるが、本フローチャートでは省略するものとする。
図17のS1201において、配信設定制御部314は、図10Aの「検索」ボタン553が押下された(すなわちデバイス検索が指示された)か否かを判定する。そして、図10Aの「検索」ボタン553が押下されていないと判定した場合(S1202でNoの場合)、配信設定制御部314は、「検索」ボタン553が押下されるまで、図10A(a)あるいは図10A(b)の画面において、検索条件の入力を受け付けるように制御する。
一方、「検索」ボタン553が押下されたと判定した場合(S1201でYesの場合)、配信設定制御部314は、S1202へ処理を進める。
S1202において、配信設定制御部314は、図10A(b)に示した画面のように、検索条件に応じたデバイス一覧をWebブラウザ302に表示するように制御する。ここでは、以前にFWの更新が行われた際に図6の477でデバイスから取得した情報に従って検索を行い、対象デバイス一覧を表示する。
次に、S1202において、配信設定制御部314は、図10A(b)のような画面において、デバイス選択の入力を受け付ける。
次に、S1203において、配信設定制御部314は、図10A(b)の「次へ」ボタン555が押下されたか否かを判定する。そして、「次へ」ボタン555が押下されていないと判定した場合(S1203でNoの場合)、配信設定制御部314は、1203に処理を戻し、デバイス選択の入力を受け付ける。
一方、「次へ」ボタン555が押下されたと判定した場合(S1204でYesの場合)、配信設定制御部314は、S1205に処理を進める。
なお、図示しないが、S1204とS1205の間のステップにおいて、配信設定制御部314が、以下の処理を行うようにしてもよい。
例えば、配信設定制御部314は、上記S1203で選択された各デバイスについて、種別の異なる配信設定の有無に従って定期アップデート設定が可能か否かを判断する。例えば、「配信待ち」又は「配信中」のアプリ配信設定又はFW配信設定が予約されているデバイスについては定期アップデート設定不可と判断し、それらの配信設定が予約されていないデバイスについては定期アップデート設定可能と判断する。そして、定期アップデート設定が不可能なデバイスがあったと判定した場合、配信設定制御部314は、図7(c)の画面に示すように、定期アップデート設定が不可能なデバイスについての情報を、Webブラウザ302に表示するように制御する。そして、配信設定制御部314は、図7(c)のような画面で、「次へ」ボタン521が押下されたと判定した場合、S1205に処理を進める。一方、選択した全デバイスについて定期アップデート設定が可能な場合、そのままS1205に処理を進めるものとする。
S1205において、配信設定制御部314は、図10B(c)のような定期アップデート設定画面をWebブラウザ302に表示するように制御する。
次に、S1206において、配信設定制御部314は、定期アップデート設定画面で「登録削除」ボタン579が押下されたか否かを判定する。
上記S1206において、「登録削除」ボタン579が押下されたと判定した場合(S1206でYesの場合)、配信設定制御部314は、S1207に処理を進める。
S1207において、配信設定制御部314は、上記S1203で選択されたデバイスの配信設定の登録を削除する処理を行い、本フローチャートの処理を終了する(S1211)。
また、上記S1206において、「登録削除」ボタン548が押下されていないと判定した場合(S1206でNoの場合)、配信設定制御部314は、S1208に処理を進める。
S1208において、配信設定制御部314は、図10B(c)の画面を介して定期設定の入力を受け付けるように制御する。
また、配信設定制御部314は、「登録」ボタン578が押下されたか否かを判定する(S1209)。「登録」ボタン578が押下されていないと判定した場合(S1209のNoの場合)、配信設定制御部314は、S1206に処理を戻し、引き続き、定期設定の入力を受け付ける。
そして、「登録」ボタン578が押下されたと判定した場合(S1209のYesの場合)、配信設定制御部314は、S1210に処理を進める。
S1210において、配信設定制御部314は、上記S1203で選択されたデバイスに対して、定期アップデート設定を登録する処理を行う。S1210の処理の後、配信設定制御部314は、本フローチャートの処理を終了する(S1211)。
図18は、配信システム10によるアプリ配信予約処理を例示するフローチャートである。なお、図18に示す処理は、図5のシーケンスにおける440〜445に対応して配信設定制御部314で処理される内容であり、Webブラウザ302に表示制御される画面表示は図11〜図15に示した画面表示に対応する。
図16のS1001からS1400へ処理が進むと、配信設定制御部314は、図11(a)のような画面をWebブラウザ302に表示するように制御し、S1401へ処理を進める。なお、図7において説明した通り、図18からでも、設定種別500を選択することで、図16あるいは図17の処理へ進むことができるが、本フローチャートでは省略するものとする。
S1401において、配信設定制御部314は、図11の検索種別581の入力に対応する各検索種別の画面処理に分岐する。アプリ名で検索を進める場合には、配信設定制御部314は、S1402へ処理を進める。一方、登録番号で検索を進める場合には、配信設定制御部314は、S1409へ処理を進める。
S1402において、配信設定制御部314は、図11(a)の画面における600でデバイスにインストールされているアプリ名の一覧をメニュー表示する。ここでは、以前にアプリの更新が行われた際等に、図4の418あるいは図5の456でデバイスから取得した情報に従って、アプリ名一覧を表示する。
次に、S1403において、配信設定制御部314は、600からアプリ名の選択入力を受け付ける。
また、S1404において、配信設定制御部314は、600の「候補検索」が押下されたか否かを判定する。600の「候補検索」が押下されていないと判定した場合(S1404でNoの場合)、配信設定制御部314は、S1403に処理を戻し、引き続き、600からアプリ名の選択入力を受け付ける。
そして、上記S1404において、600の「候補検索」が押下されたと判定した場合(S1404でYesの場合)、配信設定制御部314は、S1405に処理を進める。
S1405において、配信設定制御部314は、上記S1403で選択されたアプリ名のアプリIDを渡して、ライセンス管理システム40へ問い合わせを行い、そのアプリIDで別バージョンのアプリの情報を全て取得する。この処理は、図5における431、432に対応する。上記問い合わせに応じて、ライセンス管理システム40は、登録アプリ管理テーブル361から、アプリIDの一致するアプリの情報を検索して、配信システム10へ返す。
次に、S1406において、配信設定制御部314は、図11(b)の画面における584に、上記S1406の問合わせで取得したバージョンの一覧をメニュー表示し、584で選択されているバージョンに対応するアプリ名を583、登録番号を585へ表示する。
S1407において、配信設定制御部314は、584からバージョンの選択入力を受け付ける。
また、S1408において、配信設定制御部314は、「検索」ボタン586が押下されたか否かを判定する。「検索」ボタン586が押下されていないと判定した場合(S1408でNoの場合)、配信設定制御部314は、S1407に処理を戻し、引き続き、バージョンの選択を受け付ける。
一方、S1408において、「検索」ボタン586が押下されたと判定した場合(S1408でYesの場合)、配信設定制御部314は、S1414に処理を進める。S1414以降の処理については後述する。
また、上記S1401において、登録番号で検索を進める場合には、配信設定制御部314は、S1409において、図13(a)のような画面をWebブラウザ302に表示するように制御し、図13(a)の582からアプリの登録番号とパスワードの入力を受け付ける。
また、S1410において、配信設定制御部314は、582の「登録番号検索」が押下されたか否かを判定する。582の「登録番号検索」が押下されていないと判定した場合(S1410でNoの場合)、配信設定制御部314は、S1409に処理を戻し、引き続き、582からアプリの登録番号とパスワードの入力を受け付ける。
そして、582の「登録番号検索」が押下されたと判定した場合(S1410でYesの場合)、配信設定制御部314は、S1411に処理を進める。
S1411において、配信設定制御部314は、指定されたアプリの登録番号とパスワードを渡して、ライセンス管理システム40へ問い合わせ、対応するアプリの情報を取得する。この処理は、図5における431、432に対応する。ライセンス管理システム40は、登録アプリ管理テーブル361から、登録番号とパスワードに一致するアプリの情報を検索して、配信システム10へ返す。
S1412において、配信設定制御部314は、上記S1411の問合わせで取得したアプリの情報に基づいて、図13(b)の画面における583に取得したアプリ名、584にバージョン、585に登録番号を表示するように制御する。
また、S1413において、配信設定制御部314は、「検索」ボタン586が押下されたか否かを判定する。「検索」ボタン586が押下されていないと判定した場合(S1413でNoの場合)、配信設定制御部314は、S1409に処理を戻し、引き続き、登録番号の入力を受け付ける。
一方、S1413において、「検索」ボタン586が押下されたと判定した場合(S1413でYesの場合)、配信設定制御部314は、S1414に処理を進める。
S1414において、配信設定制御部314は、図11(b)あるいは図13(b)で指定された検索条件および指定されたアプリがインストールされているデバイスを検索して絞り込み、図12あるいは図14で例示した画面の589へデバイス一覧として表示するように制御する。ここでは、以前にアプリの更新が行われた際に図4の418あるいは図5の456でデバイスから取得した情報に従って検索を行い、対象デバイス一覧を表示する。
次に、S1415において、配信設定制御部314は、図12あるいは図14に例示した画面において、デバイス選択の入力を受け付ける。
また、S1416において、配信設定制御部314は、「次へ」588が押下されたか否かを判定する。「次へ」588が押下されていないと判定した場合(S1416でNoの場合)、配信設定制御部314は、S1415に処理を戻し、引き続き、デバイス選択の入力を受け付ける。
そして、「次へ」588が押下されたと判定した場合(S1416でYesの場合)、配信設定制御部314は、S1417に処理を進める。
S1417において、配信設定制御部314は、上記S1415で選択された各デバイスについて、種別の異なる配信設定の有無に従って、配信設定が可能か否かを判断する。例えば、「配信待ち」又は「配信中」のFW配信設定又は定期アップデート設定が予約されているデバイスについては、配信設定不可と判断し、「配信待ち」又は「配信中」のFW配信設定又は定期アップデート設定が予約されていないデバイスについては配信設定可能と判断する。
さらに、S1418において、配信設定制御部314は、配信するアプリの登録番号と選択されたデバイスIDの一覧を渡して、ライセンス管理システム40へ問い合わせ、各デバイスIDについて配信設定が可能か否かの判断結果を取得する。この処理は、図5における435、436に対応する。ライセンス管理システム40は、上記S1418の問い合わせに応じて、図19に示す処理を行い、各デバイスIDについて配信設定が可能か否かの判断結果を、配信システム10に応答する。
次に、S1419において、配信設定制御部314は、上記S1417及びS1418の処理結果に基づいて、配信設定が不可能なデバイスがあったか否かを判定する。そして、配信設定が不可能なデバイスがあったと判定した場合(S1419でYesの場合)、配信設定制御部314は、S1420へ処理を進める。
S1420において、配信設定制御部314は、図7(c)の画面に示すように、配信設定が不可能なデバイスについての情報を表示する。ここで、「次へ」ボタン521が押下されたと判定した場合、配信設定制御部314は、S1421へ処理を進める。
一方、上記S1419において、配信設定が不可能なデバイスがなかったと判定した場合(S1419でYesの場合)、すなわち選択された全てのデバイスについて配信設定が可能な場合、配信設定制御部314は、そのままS1421へ処理を進める。
S1421において、配信設定制御部314は、図15に例示したような配信設定画面をWebブラウザ302に表示するように制御する。
S1422において、配信設定制御部314は、上記配信設定画面で「登録削除」ボタン599が押下されたか否かを判定する。
上記S1422において、「登録削除」ボタン599が押下されたと判定した場合(S1422でYesの場合)、配信設定制御部314は、S1423に処理を進める。
S1423において、配信設定制御部314は、上記S1415で選択されたデバイスのアプリ配信設定の登録を削除する処理を行い、本フローチャートの処理を終了する(S1427)。
一方、上記S1422において、「登録削除」ボタン599が押下されていないと判定した場合(S1422でNoの場合)、配信設定制御部314は、S1424に処理を進める。
S1424において、配信設定制御部314は、アプリ配信設定の入力を受け付けるように制御する。
また、配信設定制御部314は、「登録」ボタン598が押下されたか否かを判定する(S1425)。「登録」ボタン598が押下されていないと判定した場合(S1425のNoの場合)、配信設定制御部314は、S1422に処理を戻し、引き続き、配信設定の入力を受け付ける。
そして、「登録」ボタン598が押下されたと判定した場合(S1425のYesの場合)、配信設定制御部314は、S1426に処理を進める。
S1426において、配信設定制御部314は、上記S1415で選択されたデバイスに対して、アプリ配信設定を登録する処理を行う。なお、選択された各デバイスについて、他の配信設定が存在する場合には、その配信設定をキャンセルしてから改めてここでの配信設定を登録するようにしてもよい。S1426の処理の後、配信設定制御部314は、本フローチャートの処理を終了する(S1427)。
図19は、ライセンス管理システム40によるデバイスへのアプリ配信可否判断を行う処理を例示するフローチャートである。なお、図19に示す処理は、図18のS1418の問合わせに対応して、ライセンス管理部353で処理される内容に対する。また、図19の処理は、ライセンス管理システム40を構成するサーバのCPUがHDD等に記憶されたプログラムを読み出して実行することにより実現されるものである。
S1600において、ライセンス管理部353は、配信システム10からの問い合わせで(例えば図18の1418)、配信するアプリの登録番号とデバイスIDのリストを受け取る。ライセンス管理部353は、上記リストで受け取ったデバイスID全てに対して、S1601〜S1608の処理を繰り返すように制御する。
S1601において、ライセンス管理部353は、上記リストから順に一つの未処理のデバイスIDを取り出し(以下「現在処理中のデバイスID」)、以降の処理を進める。
S1602において、ライセンス管理部353は、デバイス単位ライセンス管理テーブル365を検索し、現在処理中のデバイスIDからライセンスIDのリストを取得する。
次に、S1603において、ライセンス管理部353は、ライセンス管理テーブル364を検索し、上記S1602で取得したライセンスIDのリストから、商品IDのリストを取得する。
次に、S1604において、ライセンス管理部353は、インストール可能バージョン管理テーブル363を検索し、上記S1603で取得した商品IDのリストから登録番号のリストを取得する。
次に、S1605において、ライセンス管理部353は、上記S1604で取得した登録番号のリストに、配信システム10から渡された登録番号が含まれているか否かを判定する。そして、上記登録番号のリストに配信システム10から渡された登録番号が含まれていると判定した場合(S1605でYesの場合)、ライセンス管理部353は、S1606へ処理を進める。
S1606において、ライセンス管理部353は、現在処理中のデバイスIDを「配信可能リスト」に追加し、S1608に処理を進める。
一方、上記登録番号のリストに配信システム10から渡された登録番号が含まれていないと判定した場合(S1605でNoの場合)、ライセンス管理部353は、S1607へ処理を進める。
S1607において、ライセンス管理部353は、現在処理中のデバイスIDを「配信不可リスト」に追加し、S1608に処理を進める。
S1608において、ライセンス管理部353は、全デバイスIDについて上記S1601〜S1607の処理を行ったか否かを判定する。そして、まだ上記S1601〜S1607の処理を行っていないデバイスIDが存在すると判定した場合(S1608でNoの場合)、ライセンス管理部353は、S1601に処理を戻し、次の未処理のデバイスIDに処理を移行する。
一方、S1608において、全デバイスIDについて上記S1601〜S1607の処理を行ったと判定した場合(S1608でYesの場合)、ライセンス管理部353は、S1609へ処理を進め、「配信可能リスト」および「配信不可リスト」を配信システム10へ返却する。
以上、説明したように、異なるソフトウェア種別の配信設定を受け付ける本実施例の配信システムは、同じ画面の中で複数デバイスを対象デバイスとして選択する構成を有する。しかし、ソフトウェアを配信する対象となるデバイスを選択するためにデバイスの絞り込みを行う検索画面については、ソフトウェア種別ごとに画面切り替える構成である。また、絞り込み検索後のデバイス一覧においては、デバイス毎に、各々のソフトウェア種別の設定状況を表示する構成を有する。このような構成により、いずれのソフトウェア配信設定の種別においても、設定画面が煩雑にならず、かつ、デバイス選択の段階では、異なる配信設定種別間で配信設定が競合しないように考慮することが容易となる。その結果、複数デバイス選択による異なるソフトウェア種別の配信設定の操作性を十分に向上することができる。
なお、複数デバイスを選択して一括配信設定する場合、各種配信設定の状況が各デバイスで異なるため、配信設定が競合する可能性がある。本実施例の配信システムでは、各種配信設定の状況を配信設定におけるデバイス一覧に表示することにより、配信設定におけるデバイス一覧の表示を確認可能にし、個別に明示的なキャンセル、つまり配信設定登録の削除できるように構成する。このように、本実施例の配信システムでは、デバイスの配信設定状況を適切に判断しながら、配信設定を行うことができる。なお、配信設定が競合した場合には、後から設定した配信設定で上書きすることで既存の配信設定をキャンセルするように構成してよい。
また、本実施例によれば、アプリのようにデバイス個別に更新可能なバージョンの判断が異なるようなソフトウェアを複数デバイスまとめて配信設定する場合の画面表示パフォーマンスも改善することができる。例えば、デバイスの絞り込み検索を行う中で全デバイスについて配信可否判断を実施すると、デバイスの台数に応じた時間がかかってしまう。しかし、本実施例のように、アプリとバージョンを選択する段階ではデバイス単位の配信可否判断は行わず、デバイスにインストールされているアプリだけで検索を実施することで、対象デバイス選択の画面表示処理の負荷が軽減され操作性を向上することができる。さらに、対象デバイスを選択した後の段階で、各デバイスについての配信可否を判断することで、デバイス選択の操作性を低下させることなく、従来通り配信可能デバイスだけを配信対象とするように設定可能になった。
なお、上記実施例では、複合機等の画像形成デバイスに対してソフトウェアを配信するシステムを例に説明したが、本発明のシステムがソフトウェアを配信するデバイスは、画像形成デバイスに限定されるものではない。アプリケーションソフトウェア及びファームウェア等の複数種別のソフトウェアの配信を受けることが可能なネットワークデバイスであれば、どのようなデバイスであってもよい。例えば、ネットワーク家電であっても、ナビゲーションシステム、ネットワークカメラ、パーソナルコンピュータ等の情報処理装置等であってもよい。
以上のように、対象デバイスの絞り込み検索においては、配信するコンテンツ(ソフトウェア等)の種別に応じた条件のみを表示して簡素化する一方、対象デバイス選択の際には、他のコンテンツ種別の配信設定状況を同時に表示する構成を有する。このような構成により、異なるコンテンツ種別の配信が混在する環境であっても、操作性を低下させることなく、複数デバイスに対する配信を競合なく設定することを可能にする。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。