JP2021043545A - 管理システムおよびその制御方法、並びにプログラム - Google Patents

管理システムおよびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2021043545A
JP2021043545A JP2019163276A JP2019163276A JP2021043545A JP 2021043545 A JP2021043545 A JP 2021043545A JP 2019163276 A JP2019163276 A JP 2019163276A JP 2019163276 A JP2019163276 A JP 2019163276A JP 2021043545 A JP2021043545 A JP 2021043545A
Authority
JP
Japan
Prior art keywords
software
cached
manager
agent
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019163276A
Other languages
English (en)
Other versions
JP7374675B2 (ja
Inventor
中澤 紀之
Noriyuki Nakazawa
紀之 中澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019163276A priority Critical patent/JP7374675B2/ja
Priority to US17/010,280 priority patent/US11194571B2/en
Publication of JP2021043545A publication Critical patent/JP2021043545A/ja
Application granted granted Critical
Publication of JP7374675B2 publication Critical patent/JP7374675B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】マネージャとエージェントにより構成されるデバイス管理システムにおいて、アプリケーションやファームウェアの取得処理を行う際に、マネージャへのアクセスの集中を回避する。【解決手段】ソフトウェアを管理するマネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントであって、前記マネージャからの指示に基づいて、位置情報をデバイスに送信し、ソフトウェアを記憶領域にキャッシュし、前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアがキャッシュされているか否かを判定し、キャッシュされていると判定された場合、キャッシュされているソフトウェアを前記デバイスに配信し、キャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得してキャッシュした上で、前記デバイスに配信する。【選択図】 図1

Description

本発明は、管理システムおよびその制御方法、並びにプログラムに関する。
従来、ネットワークを介して接続された複数の画像形成装置(以下、デバイスと呼ぶ)を管理する管理システムが知られている。管理システムは、例えば、様々なプロトコルによる通信を使用してデバイスから情報を取得したり、デバイスに対して処理を指示したりする。デバイスにアプリケーションをインストールしたり、デバイスのファームウェアを更新したりする場合、デバイスに対してアプリケーションやファームウェアを送信する代わりに、デバイスに対してアプリケーションやファームウェアを取得するためのアドレスを指示することがある。この場合、デバイスは、指定されたアドレスからコンテンツを取得する。
また、WEBサーバに、複数のクライアントからのアクセスが集中しないようにする技術として、例えば、特許文献1の方法が挙げられる。特許文献1では、中継サーバが、コンテンツキャッシュサーバにコンテンツのキャッシュを指示するとともに、クライアントに対して、WEBサーバ上のコンテンツの所在情報をキャッシュサーバ上の所在情報で置き換える。
特開2009−140115号公報
管理するデバイスの数が多い場合、デバイス管理システムを、全体の管理を行う一台の管理サーバ(マネージャ)と、管理サーバの指示に従ってデバイスに対する処理を実行する複数のエージェントとにより構成することがある。このような構成においてアプリケーションやファームウェアの取得処理が行われた場合、管理サーバにデバイスからのアクセスが集中するという問題がある。
管理サーバへのアクセスの集中を回避するために、特許文献1のように中継サーバを用いた場合、中継サーバが、事前にキャッシュサーバにコンテンツのキャッシュを指示する必要がある。また、中継サーバはキャッシュサーバの構成やアドレスを事前に知る必要があり、構成や制御が複雑になるという問題がある。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、ソフトウェアを管理するマネージャと、前記マネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとを含む管理システムであって、前記マネージャは、前記エージェントに対し、ソフトウェアを取得するための位置情報をデバイスに送信する指示を行う指示手段を有し、前記エージェントは、前記マネージャからの指示に基づいて、位置情報をデバイスに送信する送信手段と、ソフトウェアをキャッシュするキャッシュ手段と、前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアが前記キャッシュ手段にてキャッシュされているか否かを判定する判定手段と、前記判定手段にてキャッシュされていると判定された場合、前記キャッシュ手段にてキャッシュされているソフトウェアを前記デバイスに配信する第1の配信手段と、前記判定手段にてキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段にてキャッシュさせた上で、前記デバイスに配信する第2の配信手段とを有する。
本発明により、アプリケーションやファームウェアの取得処理を行う際に、マネージャへのアクセスの集中を回避することが可能となる。
本願発明の一実施形態に係るシステムの全体構成の例を示す図。 本願発明に係る情報処理装置のハードウェア構成の例を示す図。 本願発明に係るマネージャ及びエージェントのソフトウェア構成の例を示す図。 本願発明に係るデータ取得処理のフローチャート。 第1の実施形態に係るアプリケーションのインストール処理のシーケンス図。 第1の実施形態に係るアプリケーションのインストール処理(キャッシュ済み)のシーケンス図。 第2の実施形態に係るマネージャのソフトウェア構成の例を示す図。 第2の実施形態に係るファームウェア更新処理のシーケンス図。 第2の実施形態に係るファームウェア更新処理(キャッシュ済み)のシーケンス図。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<第1の実施形態>
[システム構成]
図1は、本実施形態に係るマネージャ/エージェントシステムが含まれるネットワークシステムの全体の構成の一例を示す図である。ネットワークシステムは、1つの管理サーバ(以下「マネージャ」と記す)101と、複数のエージェント装置(以下「エージェント」記す)102、103を含んで構成されるデバイスの管理システムとして機能する。マネージャ101は、ネットワークデバイス(以下「デバイス」と記す)104〜107を管理する。マネージャ101、エージェント102、103、デバイス104〜107は、ネットワーク108により相互に通信可能に接続されている。
マネージャ101は、情報処理装置にデバイス管理アプリケーションをインストールすることで実現される装置である。エージェントは、情報処理装置にデバイスエージェントアプリケーションをインストールすることで実現される装置である。1台の情報処理装置にデバイス管理アプリケーションとデバイスエージェントアプリケーションとの両方をインストールすることで、該装置でマネージャの機能に加え、エージェントの機能を実現することも可能である。そのような場合には、マネージャは、自装置内のエージェント、およびネットワーク上の他の装置で実現されている1以上のエージェントを介して複数台のデバイスを管理する。
以下では、エージェント102はデバイス104、105を監視対象とし、エージェント103はデバイス106、107を監視対象とするものとして説明を行う。そして、以降では、エージェントの代表としてエージェント102を用い、デバイスの代表としてデバイス104を用いて、具体的な説明を行う。なお、他のエージェント及びデバイスも同等の動作を行うものとする。
マネージャ101は、エージェント102に対して、デバイス104に対する操作を指示する。エージェント102は、マネージャ101からの指示に従いデバイス104に対して要求を送信する等の処理を行い、その処理結果をマネージャ101に送信する。エージェント102による処理の例としては、デバイス104からの機器情報や稼働情報の取得がある。その他、デバイス104の設定値の変更、デバイス104へのアプリケーションのインストール指示等がある。
図1では、エージェントが2台、管理対象のデバイスは4台の構成を示しているが、この数は一例であり、増減してよい。したがって、数万台のデバイスを十数台のエージェントを介して管理する場合であっても、構成や動作は、以下に述べる説明と同様である。
また、各機器を通信可能に接続するネットワーク108の構成は特に限定するものでは無い。ネットワーク108は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などが組み合わされてよく、また、通信規格や有線/無線も問わない。
[ハードウェア構成]
図2は、本実施形態に係る、マネージャ101やエージェント102、103として動作可能な情報処理装置のハードウェア構成の一例を示す図である。情報処理装置200は、CPU201、RAM202、ROM203、KBDC204、VC205、DC206、および、NIC207を含んで構成される。CPU201は、システムバス208を介して接続された各部位を総括的に制御する。CPU201は、ROM203や外部記憶装置211に記憶された、或いはネットワーク212を介してダウンロードしたソフトウェア(プログラム)を必要に応じてRAM202にロードして実行することで、各種機能を実現する。
RAM202は、揮発性の記憶領域であり、CPU201の主メモリあるいはワークエリアなどとして機能する。外部記憶装置211は、ハードディスク(HD)やソリッドステートドライブ(SSD)等から構成される。外部記憶装置211は、ブートプログラム、オペレーティングシステム(OS)、認証サーバ、認証クライアント等を含む各種のアプリケーション、データベースデータ、ユーザファイル等を記憶する。前述した通り、本実施形態において、マネージャ101として動作する情報処理装置200のCPU201は、デバイス管理アプリケーションプログラムを実行する。また、エージェント102、103として動作する情報処理装置200のCPU201は、エージェントアプリケーションプログラムを実行する。
KBDC204は、キーボードコントローラーであり、キーボードやポインティングデバイス等の入力装置209からの入力情報をCPU201に送る。VC205は、ビデオコントローラーであり、LCD等から構成される表示装置210の表示を制御する。DC206は、ディスクコントローラーであり、外部記憶装置211とのアクセスを制御する。NIC207は、通信コントローラーであり、ネットワーク212に接続され、外部装置との通信を制御する。なお、図2に示す情報処理装置の構成は一例であり、マネージャ101とエージェント102それぞれが動作する情報処理装置の構成が異なっていてもよい。
[ソフトウェア構成]
図3(a)は、本実施形態に係るマネージャ101のソフトウェア構成の例を示す図である。本実施形態では、マネージャ101として動作する情報処理装置200が、デバイス管理アプリケーションのプログラムを読み出して実行することにより、各部位の機能が実現される。エージェント管理部301は、エージェント102、103に関する情報を管理する。デバイス管理部302は、管理対象であるデバイス104〜107に関する情報を管理する。デバイスに関する情報には、デバイスとエージェントとの対応関係の情報を含む。タスク管理部303は、デバイスに対する処理の内容や結果を管理したり、各エージェントに対して各デバイスへの処理を指示したりする。これらの管理情報は、データベース(不図示)に格納される。また、マネージャ101は、各デバイスに提供可能なアプリケーションのプログラムデータを外部記憶装置211にて保持し、その位置情報(格納先)等を管理しているものとする。HTTP/HTTPSサーバ304は、HTTPやHTTPSの通信を用いて、エージェントやデバイスからの要求を受信したり、マネージャ101をユーザが操作するためのWEB UIを提供したりする。
図3(b)は、本実施形態に係るエージェント102のソフトウェア構成の例を示す図である。本実施形態では、エージェント102として動作する情報処理装置200が、デバイスエージェントアプリケーションのプログラムを読み出して実行することにより、各部位の機能が実現される。タスク実行部310は、マネージャ101からの指示に従い、デバイス104に対する処理を実行した後、その処理結果をマネージャ101に送信する。HTTP/HTTPSサーバ311は、HTTPやHTTPSの通信を用いて、マネージャ101やデバイス104からの要求を受信する。キャッシュ制御部312は、マネージャ101内のコンテンツのキャッシュ機能を提供する。
[データ取得処理]
図4は、図3(b)に示すエージェント102が備えるキャッシュ制御部312によるデータ取得処理の流れを示すフローチャートである。データ取得処理は、パスが特定の文字列(例えば、「/cache/」)で始まるGETリクエストをHTTP/HTTPSサーバ311が受信した際に、このパスを引数にして呼び出される。パスの例を以下に示す。
/cache/applications/ocr.jar
/cache/firmwares/4cb89c08-76a4-4caa-8c9d-2aa1021faac5
また、本実施形態において、エージェント102は、以下の表1に示すテーブル構造によりデータを管理している。
Figure 2021043545
表1に示すテーブルにおいて、パスは、引数で渡されたパス、即ちHTTP/HTTPSサーバ311が受信したGETリクエストにて指定されたパスを示す。ファイル名は、パスで示されるデータを取得し、エージェント102にて保存した際のファイルのファイル名を示す。最終アクセス日時は、パスを引数にしてデータ取得処理が呼び出された日時を示す。コンテンツタイプは、データの型を示す文字列である。
S401にて、キャッシュ制御部312は、引数で渡されたパスで示されるデータが、キャッシュ済みか否かを確認する。ここで、表1に示すテーブルを参照し、引数で渡されたパスが存在する場合はキャッシュ済み、存在しない場合はキャッシュ済みではないと判定される。要求されたデータがキャッシュ済みである場合(S401にてYES)S405へ進み、キャッシュ済みでない場合(S401にてNO)S402へ進む。
S402にて、キャッシュ制御部312は、要求されたパスに対応するマネージャ101のURL(Uniform Resource Locator)を作成する。例えば、要求されたパスが「/cache/applications/sso.jar」の場合、作成されるパスは「/public/applications/sso.jar」となる。この様に、要求されたパスの一部の文字列(cache)が、別の文字列(public)で置き換えられる。
S403にて、キャッシュ制御部312は、HTTP/HTTPSサーバ311を介して、S402にて作成したURLに対してHTTP或いはHTTPSのGET要求を、マネージャ101のHTTP/HTTPSサーバ304に対して送信する。そして、キャッシュ制御部312は、その要求に対する応答に含まれるデータをファイルに保存する。
S404にて、キャッシュ制御部312は、マネージャ101から取得したデータに関するエントリを表1に示すテーブルに追加する。ここでの追加において、コンテンツタイプは、マネージャ101内のHTTP/HTTPSサーバ304からの応答におけるHTTPヘッダにて示されるコンテンツタイプが設定される。
S405にて、キャッシュ制御部312は、表1に示すテーブルにおける最終アクセス日時の値を現在日時で更新する。
S406にて、キャッシュ制御部312は、表1に示すテーブルのファイル名で示されるファイルのデータと、コンテンツタイプとをHTTP/HTTPSサーバ311に返す。このとき、HTTP/HTTPSサーバ311は、コンテンツタイプの値を、デバイスへの応答のHTTPヘッダに設定し、また、対応するデータを応答の本文に設定する。その後、HTTP/HTTPSサーバ311は、GETリクエストの呼出し元(デバイス)にその応答を返す。
[処理シーケンス]
(キャッシュ前)
図5Aは、マネージャ101が、エージェント102に対応付けられたデバイス104に対して、アプリケーションのインストールを指示する際の処理の流れを示すシーケンス図である。本処理シーケンスの開始時点では、エージェント102はインストールするアプリケーションのデータをキャッシュしていないものとする。また、マネージャ101とエージェント102のIPアドレスはそれぞれ、“192.168.10.100”、“192.168.10.200”であるとする。
まず、マネージャ101は、エージェント102のHTTP/HTTPSサーバ311に対して、デバイス104に対してアプリケーションのインストールの指示を含む要求を送信する(S501)。ここでの指示には、デバイス104がアプリケーションを取得するためのURL502(例えば、「http://192.168.10.100/public/applications/ocr.jar」)が含まれる。ここでのURLは、マネージャ101が管理するアプリケーションのプログラムデータの格納先を示す。
エージェント102のHTTP/HTTPSサーバ311は、マネージャ101からの要求を受信すると、要求された指示を実行するためにタスク実行部310を呼び出す。タスク実行部310は、上記要求に含まれるURL502をエージェント102のキャッシュ用のURL504(例えば、「http://192.168.10.200/cache/applications/ocr.jar」に置換する。ここで、マネージャ101とエージェント102が同じ情報処理装置で動作している場合、上記置換を行わない。同じ情報処理装置で動作している場合とは、即ち、URL502のホストアドレス部分(上記URLのIPアドレス部分に相当)が、エージェント102の動作するホストのアドレスと同じ場合に相当する。
次に、タスク実行部310は、デバイス104に対し、要求を送信する(S503)。ここでの要求には、デバイス104が、置換後のURL504を用いてアプリケーションを取得し、インストールするような指示を含む。
エージェント102からの要求を受信したデバイス104は、当該要求に含まれるURL504に対して、アプリケーションを取得するための取得要求をエージェント102に対して送信する(S505)。
エージェント102のHTTP/HTTPSサーバ311は、デバイス104からの取得要求を受信すると、図4で説明したデータ取得処理を呼び出す。この時点では、エージェント103は、URL504で示されるデータをキャッシュしていないため、図4に示した処理に従い、マネージャ101のURLに対して、アプリケーションを取得するための要求を送信する(S506)。ここで、図4のS402で生成されるURLは、URL502と同じである。
マネージャ101のHTTP/HTTPSサーバ304は、URLで要求されたデータ508をエージェント102に返す(S507)。
エージェント102のキャッシュ制御部312は、図4に記載の処理に従って、マネージャ101から取得したデータ508をキャッシュする。更に、エージェント102のHTTP/HTTPSサーバ311は、デバイス104に対してキャッシュしたデータ508を返信することで、ソフトウェアの配信を行う(S510)。その後、デバイス104では、エージェント102から受信したデータ508を用いてアプリケーションのインストールが行われる。そして、本処理シーケンスが終了する。なお、マネージャ101とエージェント102が同じ情報処理装置で動作している場合には、エージェント101において、ソフトウェアのキャッシュ動作を省略してよい。例えば、図4の処理の開始前にマネージャ101とエージェント102それぞれが動作する情報処理装置を特定し、その特定結果に応じて、図4の処理の内容を変更してもよい。具体的には、図4の処理に代えて、エージェント102は、マネージャ101から取得したソフトウェアのデータをそのままデバイス104に転送するように処理してもよい。
(キャッシュ後)
図5Bは、図5Aに示す処理の後に、マネージャ101が、エージェント102に対応付けられたデバイス105に対して、同じアプリケーションのインストールを指示する際の処理の流れを示すシーケンス図である。本処理シーケンスの開始時点では、エージェント102は、図5Aに示す処理の結果、アプリケーションのデータをキャッシュしていることとなる。
S521〜S523の処理は、図5AのS501〜S505と同様であるため、説明は省略する。図5BのS523でデバイス105から送信された要求にて指定されるURLは、図5AのS505の要求のURL(URL504)と同じである。この要求を受信したエージェント102のHTTP/HTTPSサーバ311は、図4で説明したデータ取得処理を呼び出す。ここで、URL504に対応するデータ508は図5AのS506〜S507の処理により、すでにエージェント102内にキャッシュされている。
エージェント102のキャッシュ制御部312は、キャッシュされたデータ508をHTTP/HTTPSサーバ311によりデバイス105に返信する(S524)。その後、デバイス105では、エージェント102から受信したデータ508を用いてアプリケーションのインストールが行われる。そして、本処理シーケンスが終了する。
図5Aおよび図5Bでは、マネージャ101とエージェント102との間、及び、エージェント102とデバイス104、105との間の通信は、HTTPを使用している。両通信が共にHTTPSを用いて行われてもよい。もしくは、マネージャ101とエージェント102との間の通信を、HTTPSを用いて行い、エージェント102とデバイス104との間の通信を、HTTPを用いて行ってもよい。この場合、URL502とURL504のプロトコル部はいずれも「http」であるが、エージェント102のキャッシュ制御部312が図4のS402で生成するURLは、URL502のプロトコル部を「https」で置き換えたものとなる。また、通信において、他のプロトコル(例えば、FTP:File Transfer Protocol)が用いられてもよい。
図5Aおよび図5Bでは、デバイス104、105がアプリケーションを取得するためのURLの置き換えを、エージェント102が処理している。この置き換え処理をマネージャ101で実行してもよい。この場合、先ず、マネージャ101は、デバイス104に対応付けられたエージェント102のホストアドレスを取得する。次に、マネージャ101からアプリケーションのデータを取得するためのURL502を、エージェント102のキャッシュ取得用のURL504で置き換える。この場合でも、エージェント102とマネージャ101が同じホスト上で動作する場合は、上記の置き換えは行われない。マネージャ101は、URL504を、図5AのS501及び図5BのS521で、エージェント102に送信する。この場合、エージェント102は、URLの置き換えをせず、図5AのS503及び図5BのS522で、デバイス104、105に送信する。その後、エージェント102がURL504に基づいてソフトウェアの取得要求をデバイスから受信した際に、対応するソフトウェアがキャッシュされていない場合には、エージェント102は、URL504をマネージャ101のURL502に変換する。そして、URL502を用いてソフトウェアを取得する。以降の処理は、上記と同様であるため、説明を省略する。
エージェント102は、表1に示すテーブルのキャッシュ管理情報を定期的にメンテナンスする処理を行ってよい。例えば、テーブルに登録されてから一定の時間が経過したエントリおよびそのデータは削除してよい。具体的には、最終アクセス日時と現在日時とが指定値(例えば、24時間)以上のエントリに関し、そのエントリのファイルパスで示されるエージェント102内のファイルを削除するとともに、表1の対応するエントリを削除する処理を行ってよい。
以上、本実施形態では、エージェントに対してソフトウェアのキャッシュ機能を設ける。これにより、アプリケーションやファームウェアの取得を行う際に、マネージャへのアクセスの集中を回避し、マネージャの負荷を軽減することが可能となる。
<第2の実施形態>
最近のデバイスはファームウェアのサイズが肥大化しており、デバイスのファームウェアを更新する際に、ファームウェア全体を転送すると、データの転送に関する多くの通信負荷がかかってしまう。これを回避するために、デバイスがサーバに対して自身の現在のファームウェア情報を送信することで、サーバはファームウェアの更新に必要な差分ファイルを取得するためのアドレスを返信するものがある。
本実施形態では、第1の実施形態の構成に加え、ネットワークデバイスのファームウェア更新機能を備えた形態について説明する。以下、第1の実施形態と同じ構成要素に関しては同じ符号を用い、差分を中心に説明するものとする。
図6は、本実施形態に係るマネージャ101のソフトウェア構成の例を示す図である。第1の実施形態にて図3(a)を用いて説明した構成との差分として、ファームウェア管理部601が更に備えられている。
ファームウェア管理部601は、デバイスのファームウェアの管理を行う。HTTP/HTTPSサーバ304は、要求にて示されるURLに従って、ファームウェア管理部601を呼び出す。ファームウェア管理部601は、各種デバイスのファームウェアに関する情報を保持、管理する。また、マネージャ101は、各デバイスに提供可能なファームウェアのプログラムデータを外部記憶装置211にて保持し、管理しているものとする。ファームウェア管理部601は、HTTP/HTTPSサーバ304を介してデバイスから受け付けた要求に応じて、ファームウェア更新機能を提供する。このとき、デバイスからの要求には、当該デバイスの製品情報とファームウェアのバージョン情報が含まれる。ファームウェア管理部601は、要求内の製品情報とバージョン情報とから、デバイスが自身のファームウェアを更新するために必要なデータを取得するためのアドレス(URL)を返信する。デバイスは、マネージャ101から取得したアドレスに対してHTTP/HTTPS要求を送信することにより、ファームウェア更新に必要なデータを受信し、自身のファームウェアの更新を行う。
[処理シーケンス]
(キャッシュ前)
図7Aは、マネージャ101が、エージェント102に対応付けられたデバイス104に対して、ファームウェアの更新を指示する際の処理の流れを示すシーケンス図である。本処理シーケンスの開始時点では、エージェント102は、デバイス104のファームウェアの更新に必要なデータをキャッシュしていないものとする。また、マネージャ101のファームウェア管理部601には、デバイス104のファームウェアを更新するためのファームウェアプログラムの情報が登録済みであるものとする。また、マネージャ101とエージェント102のIPアドレスはそれぞれ、“192.168.10.100”、“192.168.10.200”であるとする。
まず、マネージャ101は、エージェント102のHTTP/HTTPSサーバ311に対して、デバイス104に対してファームウェアの更新の指示を含む要求を送信する(S701)。ここで指示は、デバイス104がファームウェアの更新を開始するためのURL702(例えば、「https://192.168.10.100/api/firmware/update」)を含む。
エージェント102のHTTP/HTTPSサーバ311は、マネージャ101からの要求を受信すると、要求された指示を実行するためにタスク実行部310を呼び出す。タスク実行部310は、上記要求に含まれるURL702を含むファームウェア更新要求をデバイス104に送信する(S703)。
デバイス104は、エージェント102からのファームウェア更新要求を受信すると、当該要求に含まれるURL702に対して、自身の製品情報とファームウェアのバージョン情報を含むHTTP/HTTPS要求を送信する(S704)。これにより、デバイス104にて、ファームウェアの更新処理が開始される。
マネージャ101のHTTP/HTTPSサーバ304は、デバイス104からの要求を受信すると、ファームウェア管理部601によるファームウェア更新処理を開始する。ファームウェア管理部601は、要求中に含まれる製品情報とデバイス104のファームウェアのバージョン情報に基づいて、ファームウェアを更新するために必要なデータを決定する。次に、ファームウェア管理部601は、デバイス104がファームウェアの更新に必要なデータを取得するためのURL(例えば、「https://192.168.10.100/public/firmwares/ca071592-3a64-4c88-9013-cd28a73a7901」)を作成する。更に、ファームウェア管理部601は、デバイス管理部302を介してデバイス104が対応付けられているエージェント102を特定する。更に、ファームウェア管理部601は、エージェント管理部301を介してエージェント102のアドレスを取得し、URLをエージェント102のキャッシュ用のURL706で置き換える。URL706は、例えば、「https://192.168.10.200/cache/firmwares/ca071592-3a64-4c88-9013-cd28a73a7901」である。ここで、マネージャ101とエージェント102が同じ情報処理装置で動作している場合、上記置換を行わない。同じ情報処理装置で動作している場合とは、即ち、URLのホストアドレス部分(上記URLのIPアドレス部分に相当)が、エージェント102の動作するホストのアドレスと同じ場合に相当する。
マネージャ101のHTTP/HTTPSサーバ304は、S704のデバイス104からの要求に対し、作成したURL706を含む応答を返信する(S705)。
デバイス104は、マネージャ101からの応答を受信すると、当該応答に含まれるURL706に対して、ファームウェアの更新に必要なデータを取得するための要求を送信する(S707)。
エージェント102のHTTP/HTTPSサーバ311は、デバイス104からの要求を受信すると、図4で説明したデータ取得処理を呼び出す。以降の処理は、第1の実施形態にて述べた図5AのS506以降の処理と同様であるため、説明は省略する。
本処理シーケンスの後、デバイス104は、S711にて受信したデータ709を用いて、自身のファームウェアの更新処理を実行する。そして、本処理シーケンスは終了する。
(キャッシュ後)
図7Bは、図7Aの処理の後に、マネージャ101が、エージェント102に対応付けられたデバイス105に対して、ファームウェアの更新を指示する場合の処理の流れを示すシーケンス図である。ここで、デバイス105は、デバイス104と同じ製品であり、且つ、図7Aの処理の開始前のデバイス104と同じファームウェアのバージョンを持つものとする。つまり、同じ製品の同じバージョンのファームウェアの更新処理であるため、更新に必要なデータ709は、図7Aに示すものと同じである。本処理シーケンスの開始時点では、エージェント102は、図7Aに示す処理の結果、デバイス105のファームウェアの更新に必要なデータ709をキャッシュしていることとなる。
S720〜S723の処理は、図7AのS701〜S704と同様であるため、説明は省略する。
デバイス105は、マネージャからの応答を受信すると、当該応答中に含まれるURL706に対して、ファームウェアの更新に必要なデータを取得するための要求を送信する(S724)。
エージェント102は、デバイス105からのデータ取得要求に対して、キャッシュに保持しているデータ709を返信する(S725)。
本処理シーケンスの後、デバイス105は、S725にて受信したデータ709を用いて、自身のファームウェアの更新処理を実行する。そして、本処理シーケンスは終了する。
以上、本実施形態では、デバイスのインストール対象のソフトウェアがファームウェアである場合に、その更新に必要な差分ファイルをキャッシュしておく。これにより、ファームウェアの取得を行う際に、マネージャへのアクセスの集中を回避し、マネージャの負荷を軽減することが可能となる。
なお、本実施形態では、更新対象のソフトウェアとしてファームウェアを例に挙げて説明したが、これに限定するものではない。例えば、他のプログラムにおいてもバージョン管理や差分データに関する管理および扱いが可能なプログラムについては同様の処理が可能である。
<その他の実施形態>
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101…管理サーバ(マネージャ)、102,103…エージェント装置(エージェント)、104〜107…デバイス、301…エージェント管理部、302…デバイス管理部、303…タスク管理部、304…HTTP/HTTPSサーバ、310…タスク実行部、311…HTTP/HTTPSサーバ、312…キャッシュ制御部

Claims (13)

  1. ソフトウェアを管理するマネージャと、前記マネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとを含む管理システムであって、
    前記マネージャは、
    前記エージェントに対し、ソフトウェアを取得するための位置情報をデバイスに送信する指示を行う指示手段を有し、
    前記エージェントは、
    前記マネージャからの指示に基づいて、位置情報をデバイスに送信する送信手段と、
    ソフトウェアをキャッシュするキャッシュ手段と、
    前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアが前記キャッシュ手段にてキャッシュされているか否かを判定する判定手段と、
    前記判定手段にてキャッシュされていると判定された場合、前記キャッシュ手段にてキャッシュされているソフトウェアを前記デバイスに配信する第1の配信手段と、
    前記判定手段にてキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段にてキャッシュさせた上で、前記デバイスに配信する第2の配信手段と
    を有することを特徴とする管理システム。
  2. 前記ソフトウェアは、デバイスにインストールされるファームウェア、または、アプリケーションであることを特徴とする請求項1に記載の管理システム。
  3. 前記送信手段は、前記デバイスに位置情報を送信する際に、前記マネージャからの指示にて示される位置情報を前記キャッシュ手段に対応する位置情報に変換した上で送信することを特徴とする請求項1または2に記載の管理システム。
  4. 前記指示手段は、ソフトウェアを取得するための位置情報として、前記エージェントの前記キャッシュ手段に対応する位置情報を指定し、
    前記第2の配信手段は、前記判定手段にて前記ソフトウェアがキャッシュされていないと判定された場合、前記位置情報に基づいて前記マネージャに当該ソフトウェアを要求することを特徴とする請求項1または2に記載の管理システム。
  5. ソフトウェアを管理するマネージャと、前記マネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとを含む管理システムであって、
    前記マネージャは、
    前記エージェントに対し、ソフトウェアの更新要求をデバイスに送信する指示を行う指示手段と、
    前記更新要求に基づいて、前記デバイスから当該デバイスにインストールされているソフトウェアの情報を取得する取得手段と、
    前記取得手段にて取得した情報に基づいて、前記デバイスにインストールされているソフトウェアの更新に用いられるデータを特定する特定手段と、
    前記特定手段にて特定されたデータの位置情報を前記デバイスに送信する送信手段と
    を有し、
    前記エージェントは、
    前記マネージャからの指示に基づいて、ソフトウェアの更新要求をデバイスに送信する送信手段と、
    ソフトウェアをキャッシュするキャッシュ手段と、
    前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアが前記キャッシュ手段にてキャッシュされているか否かを判定する判定手段と、
    前記判定手段にてキャッシュされていると判定された場合、前記キャッシュ手段にてキャッシュされているソフトウェアを前記デバイスに配信する第1の配信手段と、
    前記判定手段にてキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段にてキャッシュさせた上で、前記デバイスに配信する第2の配信手段と
    を有することを特徴とする管理システム。
  6. 前記ソフトウェアは、ファームウェアであり、
    前記特定手段は、前記取得手段にて取得した情報に基づいて、前記デバイスにインストールされているファームウェアの更新に用いられる差分データを特定し、
    前記送信手段は、前記特定手段にて特定された差分データの位置情報を前記デバイスに送信する
    ことを特徴とする請求項5に記載の管理システム。
  7. 前記送信手段にて送信される位置情報は、前記エージェントの前記キャッシュ手段に対応する位置情報であることを特徴とする請求項5または6に記載の管理システム。
  8. 前記マネージャと前記エージェントが同一の情報処理装置にて動作している場合、前記エージェントの前記キャッシュ手段によるキャッシュは行われないことを特徴とする請求項1乃至7のいずれか一項に記載の管理システム。
  9. 前記キャッシュ手段は、キャッシュしてから一定の時間が経過したソフトウェアを削除することを特徴とする請求項1乃至8のいずれか一項に記載の管理システム。
  10. ソフトウェアを管理するマネージャと、前記マネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとを含む管理システムの制御方法であって、
    前記マネージャにおいて、前記エージェントに対し、ソフトウェアを取得するための位置情報をデバイスに送信する指示を行い、
    前記エージェントにおいて、前記マネージャからの指示に基づいて、位置情報をデバイスに送信し、
    前記エージェントにおいて、前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアがキャッシュ手段にてキャッシュされているか否かを判定し、
    前記エージェントにおいて、前記ソフトウェアがキャッシュされていると判定された場合、前記キャッシュ手段にてキャッシュされているソフトウェアを前記デバイスに配信し、
    前記エージェントにおいて、前記ソフトウェアがキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段にてキャッシュさせた上で、前記デバイスに配信することを特徴とする管理システムの制御方法。
  11. ソフトウェアを管理するマネージャと、前記マネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとを含む管理システムの制御方法であって、
    前記マネージャにおいて、前記エージェントに対し、ソフトウェアの更新要求をデバイスに送信する指示を行い、
    前記エージェントにおいて、前記マネージャからの指示に基づいて、ソフトウェアの更新要求をデバイスに送信し、
    前記マネージャにおいて、前記更新要求に基づいて、前記デバイスから当該デバイスにインストールされているソフトウェアの情報を取得し、
    前記マネージャにおいて、前記取得したソフトウェアの情報に基づいて、前記デバイスにインストールされているソフトウェアの更新に用いられるデータを特定し、
    前記特定されたデータの位置情報を前記デバイスに送信し、
    前記エージェントにおいて、前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアがキャッシュ手段にてキャッシュされているか否かを判定し、
    前記エージェントにおいて、前記ソフトウェアがキャッシュされていると判定された場合、前記キャッシュ手段にてキャッシュされているソフトウェアを前記デバイスに配信し、
    前記エージェントにおいて、前記ソフトウェアがキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段にてキャッシュさせた上で、前記デバイスに配信することを特徴とする管理システムの制御方法。
  12. ソフトウェアを管理するマネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとして機能するコンピューターを、
    前記マネージャからの指示に基づいて、ソフトウェアを取得するための位置情報をデバイスに送信する送信手段、
    ソフトウェアを記憶領域にキャッシュするキャッシュ手段、
    前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアが前記記憶領域にてキャッシュされているか否かを判定する判定手段、
    前記判定手段にてキャッシュされていると判定された場合、前記記憶領域にてキャッシュされているソフトウェアを前記デバイスに配信する第1の配信手段、
    前記判定手段にてキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段により前記記憶領域にキャッシュさせた上で、前記デバイスに配信する第2の配信手段
    として機能させるためのプログラム。
  13. ソフトウェアを管理するマネージャの指示に基づいて1または複数のデバイスとネットワークを介して通信を行うエージェントとして機能するコンピューターを、
    前記マネージャからの指示に基づいて、ソフトウェアの更新要求をデバイスに送信する送信手段、
    ソフトウェアを記憶領域にキャッシュするキャッシュ手段、
    前記更新要求に対応して、前記デバイスからソフトウェアの取得要求を受け付けた際に、当該取得要求にて示される位置情報に対応するソフトウェアが前記記憶領域にてキャッシュされているか否かを判定する判定手段、
    前記判定手段にてキャッシュされていると判定された場合、前記記憶領域にてキャッシュされているソフトウェアを前記デバイスに配信する第1の配信手段、
    前記判定手段にてキャッシュされていないと判定された場合、前記取得要求にて示される位置情報に基づいてソフトウェアを取得して前記キャッシュ手段により前記記憶領域にキャッシュさせた上で、前記デバイスに配信する第2の配信手段
    として機能させるためのプログラム。
JP2019163276A 2019-09-06 2019-09-06 管理システムおよびその制御方法、並びにプログラム Active JP7374675B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019163276A JP7374675B2 (ja) 2019-09-06 2019-09-06 管理システムおよびその制御方法、並びにプログラム
US17/010,280 US11194571B2 (en) 2019-09-06 2020-09-02 Management system and method for controlling same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019163276A JP7374675B2 (ja) 2019-09-06 2019-09-06 管理システムおよびその制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2021043545A true JP2021043545A (ja) 2021-03-18
JP7374675B2 JP7374675B2 (ja) 2023-11-07

Family

ID=74849735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019163276A Active JP7374675B2 (ja) 2019-09-06 2019-09-06 管理システムおよびその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US11194571B2 (ja)
JP (1) JP7374675B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024047779A1 (ja) * 2022-08-31 2024-03-07 楽天モバイル株式会社 仮想環境のための大容量ファイルのダウンロードの効率化

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7353836B2 (ja) * 2019-07-16 2023-10-02 キヤノン株式会社 情報処理装置、方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008542907A (ja) * 2005-06-02 2008-11-27 トムソン ライセンシング コンテンツ・タイミング方法およびシステム
JP2009187070A (ja) * 2008-02-01 2009-08-20 Canon Inc 通知方法、管理装置及びクライアント装置
JP2009271904A (ja) * 2008-04-10 2009-11-19 Hitachi Ltd 配布管理方法、配布管理システム、および配布管理サーバ
JP2010231781A (ja) * 2009-03-27 2010-10-14 Samsung Electronics Co Ltd Urlを利用した分散コントロール方法及び装置
WO2011135629A1 (ja) * 2010-04-28 2011-11-03 株式会社日立製作所 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324565B1 (en) * 1997-07-28 2001-11-27 Qwest Communications International Inc. Dynamically generated document cache system
JP2009140115A (ja) * 2007-12-05 2009-06-25 Fujitsu Ltd 中継サーバおよび中継サーバプログラム
US20150195340A1 (en) * 2010-09-30 2015-07-09 Google Inc. Determining if an Application is Cached

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008542907A (ja) * 2005-06-02 2008-11-27 トムソン ライセンシング コンテンツ・タイミング方法およびシステム
JP2009187070A (ja) * 2008-02-01 2009-08-20 Canon Inc 通知方法、管理装置及びクライアント装置
JP2009271904A (ja) * 2008-04-10 2009-11-19 Hitachi Ltd 配布管理方法、配布管理システム、および配布管理サーバ
JP2010231781A (ja) * 2009-03-27 2010-10-14 Samsung Electronics Co Ltd Urlを利用した分散コントロール方法及び装置
WO2011135629A1 (ja) * 2010-04-28 2011-11-03 株式会社日立製作所 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024047779A1 (ja) * 2022-08-31 2024-03-07 楽天モバイル株式会社 仮想環境のための大容量ファイルのダウンロードの効率化

Also Published As

Publication number Publication date
US20210072978A1 (en) 2021-03-11
US11194571B2 (en) 2021-12-07
JP7374675B2 (ja) 2023-11-07

Similar Documents

Publication Publication Date Title
US8010635B2 (en) Method and system for thin client configuration
JP2012173835A (ja) Webサービスシステム、サーバ管理装置およびWebサービス提供方法
JP5623205B2 (ja) 画像形成装置、ネットワークシステム、制御方法、およびコンピュータプログラム
JP2006285601A (ja) ファイル配信方法とそれを実現するクライアント端末
JP5459983B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP7374675B2 (ja) 管理システムおよびその制御方法、並びにプログラム
JP2006285316A (ja) サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム
CN102811252A (zh) 提供客户端所请求的服务的设备装置所用的系统及方法
US8867073B2 (en) Server apparatus, network system, job processing method, and storage medium
EP3101539A1 (en) Selection of compatible resources after updating web application servers
US11558391B2 (en) System, control method, and storage medium
JP7214517B2 (ja) システム、管理装置、方法及びプログラム
US11042424B1 (en) Pipelined request processing using shared memory
JP6562744B2 (ja) システム、及び制御方法
JP7514140B2 (ja) 管理システム、情報処理装置、管理システムにおける方法、情報処理装置における方法およびプログラム
JP5287623B2 (ja) 仮想サーバ管理システム、画像処理システム、仮想サーバ管理装置及び制御プログラム
US8788630B2 (en) System and method for proxy address neutrality
JPH0764926A (ja) 分散サーバ装置
JP2016212852A (ja) 情報処理装置、情報処理システムおよび方法
JP5787688B2 (ja) サーバ装置、クライアント装置、情報処理方法及びプログラム
JP6632394B2 (ja) ネットワークシステム、情報処理装置、情報処理装置における制御方法、及びプログラム
US20230086437A1 (en) Name resolution result control system, name resolution result control method and program
JP2014052751A (ja) プロキシを使用したネットワーク印刷システム
JP7010028B2 (ja) 画像処理装置および制御プログラム
CN114466065B (zh) 网关的代理方法及装置、电子设备、存储介质

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231025

R151 Written notification of patent or utility model registration

Ref document number: 7374675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151