(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-09
(45)【発行日】2024-07-18
(54)【発明の名称】情報処理装置、情報処理システム、およびデータ提供プログラム
(51)【国際特許分類】
H04L 67/60 20220101AFI20240710BHJP
G06F 11/30 20060101ALI20240710BHJP
H04L 67/125 20220101ALI20240710BHJP
H04L 67/5651 20220101ALI20240710BHJP
H04L 67/567 20220101ALI20240710BHJP
H04L 67/5683 20220101ALI20240710BHJP
【FI】
H04L67/60
G06F11/30 140A
G06F11/30 155
H04L67/125
H04L67/5651
H04L67/567
H04L67/5683
(21)【出願番号】P 2024000028
(22)【出願日】2024-01-04
【審査請求日】2024-01-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】池田 勇一朗
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2018-116417(JP,A)
【文献】特開2020-169789(JP,A)
【文献】特開2018-113493(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/60
G06F 11/30
H04L 67/125
H04L 67/5651
H04L 67/567
H04L 67/5683
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
前記情報処理装置に適用される複数のサービスのいずれかを提供する複数のサーバと、前記複数のサーバそれぞれがサービス提供のために使用する前記情報処理装置内部のデータと、
前記情報処理装置内部から取得してからの前記データの有効期間と、前記複数のサーバそれぞれへの前記データの送信タイミングとを示すサービス情報に基づいて、前記複数のサーバのいずれかへの前記データの前記送信タイミングになったことを検出し、前記送信タイミングとなった第1のサーバが第1のサービスの提供のために使用する送信対象データのうち、取得済みでかつ取得から前記有効期間内の第1のデータ以外の第2のデータを取得し、前記第1のサーバへ前記第1のデータと前記第2のデータとを送信する処理部、
を有する情報処理装置。
【請求項2】
前記処理部は、複数の前記第1のサーバが同時に前記送信タイミングとなり、複数の前記第1のサーバそれぞれが前記第1のサービスの提供のために使用する前記送信対象データのうちの前記第2のデータが共通する場合、1回の取得処理で前記第2のデータを取得して、1回の取得処理で取得した前記第2のデータを複数の前記第1のサーバそれぞれへ送信する、
請求項1記載の情報処理装置。
【請求項3】
前記サービス情報には、前記複数のサーバそれぞれがサービス提供のために使用する前記データについて、サービスごとの前記有効期間が示されており、
前記処理部は、前記送信タイミングとなった前記第1のサーバが前記第1のサービスの提供のために使用する前記送信対象データのうちの取得済みの第3のデータについて、前記第1のサービスについての前記有効期間に基づいて前記第1のデータか否かを判断する、
請求項1記載の情報処理装置。
【請求項4】
前記サービス情報には、前記複数のサーバそれぞれがサービス提供のために使用する前記データのデータ項目ごとに異なる前記有効期間が示されており、
前記処理部は、前記送信タイミングとなった前記第1のサーバが前記第1のサービスの提供のために使用する前記送信対象データのうちの取得済みの第3のデータについて、該当するデータ項目の前記有効期間に基づいて前記第1のデータか否かを判断する、
請求項3記載の情報処理装置。
【請求項5】
複数のサービスのいずれかを提供する複数のサーバと、
前記複数のサーバのうちの自装置が提供を受けるサービスを提供する複数の対象サーバと、前記複数の対象サーバそれぞれがサービス提供のために使用する自装置内部のデータと、
前記自装置内部から取得してからの前記データの有効期間と、前記複数の対象サーバそれぞれへの前記データの送信タイミングとを示すサービス情報に基づいて、前記複数の対象サーバのいずれかへの前記データの前記送信タイミングになると、前記送信タイミングとなった第1のサーバが第1のサービスの提供のために使用する送信対象データのうち、取得済みでかつ取得から前記有効期間内の第1のデータ以外の第2のデータを取得し、前記第1のサーバへ前記第1のデータと前記第2のデータとを送信する、複数の情報処理装置と、
前記複数の情報処理装置それぞれへ、提供するサービスに対応する前記サービス情報を配信する管理サーバと、
を有する情報処理システム。
【請求項6】
コンピュータに、
前記コンピュータに適用される複数のサービスのいずれかを提供する複数のサーバと、前記複数のサーバそれぞれがサービス提供のために使用する前記コンピュータ内部のデータと、
前記コンピュータ内部から取得してからの前記データの有効期間と、前記複数のサーバそれぞれへの前記データの送信タイミングとを示すサービス情報に基づいて、前記複数のサーバのいずれかへの前記データの前記送信タイミングになったことを検出し、前記送信タイミングとなった第1のサーバが第1のサービスの提供のために使用する送信対象データのうち、取得済みでかつ取得から前記有効期間内の第1のデータ以外の第2のデータを取得し、前記第1のサーバへ前記第1のデータと前記第2のデータとを送信する、
処理を実行させるデータ提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、およびデータ提供プログラムに関する。
【背景技術】
【0002】
PC(personal computer)、スマートフォンなどの多くの情報処理装置がネットワークに接続可能である。ネットワークに接続された情報処理装置は、ネットワークを介してリモートで管理することができる。例えばテレワークに使用されている多数の情報処理装置の資産管理、またはそれらの情報処理装置の稼働状況監視をリモートで行うことができる。このようなリモートでの情報処理装置の管理技術を用いて、例えばLCM(Life Cycle Management)サービスが提供されている。
【0003】
情報処理装置をリモートで管理するために、サーバによって情報処理装置からのデータ収集が行われる。例えばサーバは、所定のタイミングで、各情報処理装置から稼働状況など情報を示すデータを取得する。
【0004】
情報処理装置の管理技術としては、例えば部品交換などの保守発生時に正しい装置情報を管理する管理プログラムが提案されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットワークに接続された情報処理装置を対象とするサービスには様々なものがあり、1つの情報処理装置に対して複数のサービスが提供される場合もある。複数のサービスの提供を受ける情報処理装置は、複数のサービスそれぞれのサーバにデータを送信することとなる。このとき、サービスごとにデータの送信先および送信タイミングが異なる。そのため情報処理装置には、例えばサービスそれぞれに対応するデータ送信用のアプリケーションソフトウェア(以下、単に「アプリ」と呼ぶこともある)がインストールされる。そして情報処理装置は、サービスに対応するアプリを実行することで、そのサービスの仕様に沿ったデータ送信を行う。
【0007】
しかし、サービスごとのアプリを情報処理装置にインストールして各アプリを実行すると、複数のサービス向けにデータを送信するための情報処理装置の処理負荷が増大する。処理負荷の増大により、情報処理装置を用いた業務の効率が低下する。
【0008】
また、サービスごとのアプリを利用する場合、複数サービスの追加、削除、更新があるたびに、情報処理装置に対してアプリのインストール、アンインストール、アップデートの作業を行うこととなる。これによって、多くの管理作業が発生する。このような管理作用の増加により、システム管理業務の効率が低下する。
【0009】
1つの側面では、本件は、複数のサービスを提供することによる業務効率の低下を軽減することを目的とする。
【課題を解決するための手段】
【0010】
1つの案では、以下のような処理部を有する情報処理装置が提供される。
処理部は、情報処理装置に適用される複数のサービスのいずれかを提供する複数のサーバと、複数のサーバそれぞれがサービス提供のために使用する情報処理装置内部のデータと、データの有効期間と、複数のサーバそれぞれへのデータの送信タイミングとを示すサービス情報に基づいて、複数のサーバのいずれかへのデータの送信タイミングになったことを検出する。処理部は、送信タイミングとなった第1のサーバが第1のサービスの提供のために使用する送信対象データのうち、取得済みでかつ取得から有効期間内の第1のデータ以外の第2のデータを取得する。そして処理部は、第1のサーバへ第1のデータと第2のデータとを送信する。
【発明の効果】
【0011】
1態様によれば、複数のサービスを提供することによる業務効率の低下が軽減される。
【図面の簡単な説明】
【0012】
【
図1】第1の実施の形態に係る情報処理装置の一例を示す図である。
【
図2】第2の実施の形態のコンピュータネットワークシステムの一例を示す図である。
【
図4】サービスで利用するデータ送信のために各装置が有する機能の一例を示すブロック図である。
【
図5】サービス情報と取得データリストとの一例を示す図である。
【
図6】PCからサーバへのデータ送信の一例を示す図である。
【
図7】データ提供部の処理手順の一例を示すフローチャートである。
【
図8】送信タイミングが異なるサービスシステムを送信先とするサービス情報の一例を示す図である。
【
図9】サービスを提供する複数のサーバへのデータ送信の一例を示す図である。
【
図10】データ単位でのキャッシュ管理の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
第1の実施の形態は、複数のサーバからサービスの提供を受けることによる業務効率の低下を軽減する情報処理装置である。
【0014】
図1は、第1の実施の形態に係る情報処理装置の一例を示す図である。情報処理装置10は、例えば単一のデータ配信プログラムを実行することにより、複数のサービスに利用するデータ5を効率的に送信することができる。
【0015】
情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。
【0016】
情報処理装置10は、情報処理装置10に適用される複数のサービスのいずれかを提供する複数のサーバ1~3に、例えばネットワークを介して接続されている。
記憶部11は、サービス情報4を記憶する。サービス情報4は、複数のサーバ1~3と、複数のサーバ1~3それぞれがサービス提供のために使用する情報処理装置10内部のデータ5と、データ5の有効期間と、複数のサーバ1~3それぞれへのデータ5の送信タイミングとを示す。データ5の有効期間は、サーバに送信するデータとして、どの程度前に取得したデータまでを許容するのかを示す。
【0017】
処理部12は、サービス情報4に基づいて、複数のサーバ1~3のいずれかへのデータ送信タイミングになったことを検出する。すると処理部12は、送信タイミングとなった第1のサーバが第1のサービスの提供のために使用する送信対象データのうち、取得済みでかつ取得から有効期間内の第1のデータ以外の第2のデータを取得する。そして処理部12は、第1のサーバへ第1のデータと第2のデータとを送信する。
【0018】
なお処理部12は、取得した第2のデータに取得日時を付与してキャッシュ領域6に格納する。キャッシュ領域6に格納されたデータは、以後の送信タイミングの検知の際には、取得済みのデータとなる。
【0019】
これにより、複数のサーバ1~3への効率的なデータ送信が行われる。
図1の例では、サーバ1はサービスAを提供し、サーバ2はサービスBを提供し、サーバ3はサービスCを提供する。サービス情報4には、サービスAを提供するサーバ1へ送信するデータは「data1,data2」であり、送信タイミングは「毎日0時」であることが設定され、サーバ1へ送信するデータの有効期間は設定されていない。サービスで使用するデータの有効期間が設定されていない場合、処理部12は、そのサービスを提供するサーバへ、送信タイミングになったときに取得したデータを送信する。
【0020】
またサービス情報4には、サービスBを提供するサーバ2へ送信するデータは「data1,data3」であり、送信タイミングは「毎日0時」であることが設定され、サーバ2へ送信するデータの有効期間は設定されていない。さらにサービス情報4には、サービスCを提供するサーバ3へ送信するデータは「data2,data3」であり、送信タイミングは「毎日4時」であり、サーバ3へ送信するデータの有効期間は「1日」であることが設定されている。
【0021】
この場合、処理部12は、毎日0時になると、サービスAのサーバ1とサービスBのサーバ2とへのデータ送信タイミングであると判断する。そして処理部12は、「data1,data2,data3」を取得する。例えば処理部12は、「data1,data2,data3」それぞれについて、データの属性に応じた手続きでデータを取得する。例えばOS(Operating System)が管理するデータであれば、処理部12はOSにデータを要求する。またアプリが管理するデータであれば、処理部12は、そのアプリにデータを要求する。また所定のメモリ、ストレージ領域、またはレジスタに格納されているデータであれば、処理部12は、格納されている場所からデータを読み出す。
【0022】
処理部12は、取得したデータのうち「data1,data2」をサーバ1に送信し、「data1,data3」をサーバ2に送信する。また処理部12は、取得したデータをキャッシュ領域6に保持する。キャッシュ領域6は、例えば情報処理装置10のメモリ内のデータ提供処理用に確保された記憶領域である。
【0023】
その後、4時になると、処理部12は、サービスCのサーバ3へのデータ送信タイミングであると判断する。ここでサーバ3に送信するデータは「data2,data3」である。これらのデータはキャッシュ領域6に格納されている。またサービスCに送信するデータの有効期間は1日である。すなわちデータの取得日時から送信タイミングまで24時間以上経過していなければ、キャッシュ領域6のデータを利用できる。4時の時点でキャッシュ領域6に格納されている「data2,data3」は4時間前に取得されたものであり、キャッシュ領域6に保持されたデータは有効である。そこで処理部12は、キャッシュ領域6に保持されている「data2,data3」を、サーバ3に送信する。
【0024】
このように、処理部12が複数のサービスで利用するデータを一括して管理して複数のサーバ1~3に送信することで、処理部12によるデータ取得処理の頻度が少なくて済む。データ取得処理の頻度が少ないことで情報処理装置10の負荷が少なくて済み、複数のサービスを提供することによる情報処理装置10を利用した業務効率の低下が軽減される。
【0025】
例えば処理部12は、複数の第1のサーバが同時に送信タイミングとなり、複数の第1のサーバそれぞれがサービスの提供のために使用するデータのうちの第2のデータが共通する場合がある。この場合、処理部12は、1回の取得処理で第2のデータを取得して、取得した第2のデータを複数の第1のサーバそれぞれへ送信する。
【0026】
図1の例では、毎日0時に2台のサーバ1,2へのデータの送信タイミングとなる。このときサーバ1,2それぞれに送信するデータのうち「data1」は共通する。この場合、「data1」については1回の取得手続きで取得され、両方のサーバ1,2に送信される。そのため、サービスAとサービスBとで別々にデータ取得およびデータ送信を行う場合に比べ、データ取得の回数が減る。その結果、情報処理装置10の負荷が低減する。
【0027】
また処理部12は、取得したデータはキャッシュ領域6に保持しておき、提供されるサービスにおいて許容される期間内であれば、キャッシュ領域6に保持したデータを送信する。例えば毎日4時にはサービスCを提供するサーバ3へのデータの送信タイミングとなる。サービスCで利用するデータについては有効期間が「1日」と設定されている。そのため処理部12は、4時間前に取得した「data2,data3」をキャッシュ領域6から読み出し、サーバ3に送信する。これにより、新たに「data2,data3」の取得処理を実行せずに済み、データ取得回数が低減する。
【0028】
また記憶部11に格納されているサービス情報4には、複数のサーバ1~3それぞれがサービス提供のために使用するデータについて、サービスごとの有効期間が示されている。処理部12は、送信タイミングとなった第1のサーバがサービス提供のために使用する取得済みのデータについて、提供するサービスについての有効期間に基づいて、有効期間内の第1のデータか否かを判断する。これにより、サービスごとに、許容できる有効期間を設定し、データ取得の効率化を図ることができる。
図1の例であれば、サービスCはデータの有効期間が「1日」あるため、サービスCを提供するサーバ3へのデータ送信時には、4時間前に取得したデータの再利用が可能である。その結果、データ取得処理の回数が低減され、情報処理装置10の負荷が軽減される。
【0029】
なお、記憶部11に格納されているサービス情報4には、複数のサーバ1~3それぞれがサービス提供のために使用するデータについての有効期間は、データ項目ごとに設定してもよい。その場合、処理部12は、送信タイミングとなった第1のサーバがサービス提供のために使用する取得済みのデータのデータ項目の有効期間に基づいて、有効期間内の第1のデータか否かを判断する。
【0030】
これにより、同じサービスに使用するデータであっても、データ項目に応じて、有効期間を変えることができる。例えば機器のハードウェアIDのように変更されることが少ないデータは、有効期間を長く設定することで、データ取得処理の頻度を低減することができる。また、動作しているアプリのリストのようなデータは、運用中に動的に変化するため、有効期間を短く設定することで、リアルタイムの状態を示すデータがサーバに送信される。
【0031】
なおサーバ1~3は、情報処理装置10以外の情報処理装置にもサービスを提供することができる。その場合、多数の情報処理装置にサービス情報4を配信することとなる。例えば管理用のサーバが、情報処理装置10を含む多数の情報処理装置に、その情報処理装置が提供を受けるサービスに関するサービス情報を送信する。
【0032】
提供するサービスの追加、変更、削除をサービス情報4の追加、変更、削除で実現できることにより、多数の情報処理装置それぞれに複数のサービスを適用するための管理負担が軽減される。その結果、複数のサービスの提供に伴う業務効率の低下が軽減される。
【0033】
〔第2の実施の形態〕
第2の実施の形態は、PC、スマートフォンなどの多数の情報処理装置に対する複数のシステムによる管理を効率的に行うことを可能とするコンピュータネットワークシステムである。
【0034】
図2は、第2の実施の形態のコンピュータネットワークシステムの一例を示す図である。ネットワーク20には、複数のPC100,100a,・・・が、有線または無線で接続されている。例えばPC100は、ノートPCである。またPC100aは、タブレットPCである。PC100,100a,・・・は、ネットワーク20に接続される情報処理装置の一例である。ネットワーク20には、PC100,100a,・・・以外にも、スマートフォン、スマートスピーカなどの様々な情報処理装置を接続可能である。
【0035】
ネットワーク20には、さらにサービス提供用の複数のサーバ200,200a,・・・と、サービス管理用のサーバ300とが接続されている。サーバ200,200a,・・・で提供されるサービスには、例えばPC100,100a,・・・のハードウェア資源またはソフトウェア資源の管理サービスがある。サーバ200,200a,・・・は、PC100,100a,・・・の運用状態を管理するサービスを提供することもできる。
【0036】
管理用のサーバ300は、PC100,100a,・・・に対して提供するサービスを管理する。例えばサーバ300は、各PC100,100a,・・・に対して、サーバ200,200a,・・・にサーバに送信するデータの種別、送信するタイミングなどを示すサービス情報を送信する。PC100,100a,・・・は、受信したサービス情報に従って、サーバ200,200a,・・・に対して、サービスの提供に用いられるデータを送信する。
【0037】
図3は、PCのハードウェアの一例を示す図である。PC100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0038】
メモリ102は、PC100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0039】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0040】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、PC100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0041】
GPU104は画像処理を行う演算装置である。GPU104は、グラフィックコントローラの一例である。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0042】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0043】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0044】
機器接続インタフェース107は、PC100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0045】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0046】
PC100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。他のPC100a,・・・もPC100と同様のハードウェアにより実現することができる。なおタブレットPCの場合、モニタ21はPCと一体に設けられ、キーボード22とマウス23に代えてモニタ21の画面上にタッチパネルが設けられる。サービス提供用のサーバ200,200a,・・・、サーバ300もPC100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した情報処理装置10も、PC100と同様のハードウェアにより実現することができる。
【0047】
PC100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。PC100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、PC100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またPC100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0048】
次に、サービスで利用するデータ送信のための各装置の機能について説明する。
図4は、サービスで利用するデータ送信のために各装置が有する機能の一例を示すブロック図である。サーバ300は、記憶部310とサービス管理部320とを有する。
【0049】
記憶部310は、PC100,100a,・・・に適用可能なサービスごとのサービス情報311a,311b,・・・と適用サービス情報312とを記憶する。サービス情報311a,311b,・・・それぞれは、対応するサービス提供のために、そのサービスを適用するPCから、そのサービスを提供するサーバに送信するデータの種別を示す情報である。適用サービス情報312は、PC100,100a,・・・それぞれに対して適用するサービスを示す情報である。例えば適用サービス情報312には、ネットワーク上でPCを識別するPC名に対応づけて、そのPCに適用するサービスのリストが設定されている。
【0050】
サービス管理部320は、適用サービス情報312に基づいて、サービス情報311a,311b,・・・をPC100,100a,・・・に送信する。例えばサービス管理部320は、適用サービス情報312を参照し、PC100,100a,・・・それぞれに対して、そのPCに適用するサービスに対するサービス情報を送信する。
【0051】
PC100は、記憶部110とデータ提供部120とを有する。なお、PC100以外のPC100a,・・・も、PC100と同様の機能を有する。
記憶部110は、サービス情報111と取得データリスト112とを記憶する。PC100の記憶部110が記憶するサービス情報111は、PC100に適用されるすべてのサービスのサービス情報を統合した情報である。取得データリスト112は、サービスの提供に使用するために取得可能なPC100内のデータのリストである。
【0052】
データ提供部120は、PC100に提供されるサービスを提供するサーバへのデータ送信を行う。例えばデータ提供部120は、サーバ300から受信したサービス情報を記憶部110に格納する。PC100が複数のサービスの提供を受ける場合、データ提供部120は、提供を受ける複数のサービスそれぞれのサービス情報を1つに統合したサービス情報111を生成し、記憶部110に格納する。またデータ提供部120は、サービス情報111に基づいて、取得データリスト112に示されているデータの少なくとも一部を取得し、そのデータをサービスに使用するサーバに送信する。なお、データ提供部120は、例えば複数のサービスで共通に使用される共通アプリとして、PC100にインストールされている。
【0053】
サーバ200は、PC100,100a,・・・の少なくとも1台に対するサービス210を提供する。サービス210は、例えば複数のサービスシステム211,212,・・・によって提供される。サーバ200以外の各サーバ200a,・・・も、サーバ200と同様に、1または複数のサービスシステムによってサービスを提供する。
【0054】
サービスシステム211,212,・・・は、サービスを適用するPCからデータを取得し、そのデータに基づいてサービスに係る処理を実行する。例えばサービスシステム211はハードウェア資源を管理し、サービスシステム212はソフトウェア資源を管理する。
【0055】
サービスシステム211は、サービスを適用するPCのデータを管理するための管理テーブル211aを有する。例えばサービス211は、サービスを適用するPCから受信したデータを管理テーブル211aに格納する。他のサービスシステム212,・・・も、サービスシステム211と同様に管理テーブルを有する。
【0056】
このようなシステムにより、PC100,100a,・・・それぞれは、サーバ200,200a,・・・いずれか1以上からサービスの提供を受けることができる。例えばPC100,100a,・・・それぞれは、資源管理サービスとメンテナンスサービスとの提供を受けることができる。
【0057】
次に、PC100に格納されているサービス情報111と取得データリスト112とについて具体的に説明する。
図5は、サービス情報と取得データリストとの一例を示す図である。例えばサービス情報111は、サービス基本情報111a、サービスシステム情報111b、および送信データリスト111cを含む。
【0058】
サービス基本情報111aには、PC100に適用されるサービスそれぞれを一意に識別するためのサービスIDに対応づけて、そのサービスのサービス名が設定されている。例えば、サービスID「0001」は資源管理サービスであり、そのサービスのサービス名は「F通標準PC資産管理サービス」である。サービスID「0002」はPCの運用管理サービスであり、そのサービスのサービス名は「メンテナンスサービス」である。
【0059】
サービスシステム情報111bには、データの送信先となるサービスシステムごとに、サービスID、サービスシステムID,サービスシステム名、送信先URL(Uniform Resource Locator)、送信フォーマット、行構造タイプ、送信タイミング、キャッシュ利用可否、有効期間などが設定されている。
【0060】
サービスシステム情報111bのサービスIDは、送信先のサービスシステムを用いて提供されるサービスのサービスIDである。
サービスシステムIDは、サービスの提供に使用されるサービスシステムを一意に識別する識別子である。
【0061】
サービスシステム名は、サービスシステムの名称である。送信先URLは、サービスシステムで使用するデータの送信先のURLである。
送信フォーマットは、サービスシステムに送信するデータのデータフォーマットである。送信フォーマットとしては、例えばJSON(JavaScript Object Notation)、CSV(Comma-Separated Values)、XML(Extensible Markup Language)などのデータフォーマットが指定される。
【0062】
行構造タイプは、1回のデータ送信当たりのデータが、1行のデータか、複数行のデータかを示す。例えばPC100は、項目名と項目値との組を複数並べたデータであれば、1行のデータとして送信することができる。このようなデータの行構造タイプは「1行」となる。またPC100は、例えばログデータのように、異なる共通の項目を含む多数のレコードを含むデータの場合、項目の並びだけを定義して、複数の項目値を1行とする複数行のデータとすることで、少ないデータ量でデータを送信することができる。このようなデータの場合、行構造タイプは「複数行」となる。
【0063】
送信タイミングは、PC100からサーバへデータを送信するタイミングを示す。送信タイミングとしては、例えば毎月の所定日時、毎週の所定曜日の所定日時、毎日の所定時刻、毎時の所定の分秒などが設定される。
【0064】
キャッシュ利用可否は、対応するサービスシステムに送信するデータすべてについて、キャッシュしておき、再利用することを許容するか否かを示す。すべてのデータのキャッシュが許容される場合、キャッシュ利用可否「利用可能」となる。すべてのデータのキャッシュが許容されない場合、キャッシュ利用可否「利用不可」となる。
【0065】
有効期間は、キャッシュが許容される場合において、データをキャッシュしておくことができる期間を示す。例えばキャッシュの有効期間として、「1週」(604,800秒)、「1日」(86,400秒)、「1時間」(3600秒)などの期間が設定される。
【0066】
送信データリスト111cには、送信対象のデータごとに、サービスID、サービスシステムID、データID、データ項目名、必須情報、キャッシュ利用可否、有効期間などが設定されている。
【0067】
送信データリスト111cのサービスIDは、データを利用するサービスのサービスIDである。
送信データリスト111cのサービスシステムIDは、データの送信先となるサービスシステムのサービスシステムIDである。
【0068】
データIDは、サービスシステムに送信するデータを一意に示す識別子である。
データ項目名は、送信するデータに付与する項目名である。
例えば送信フォーマットが「JSON」の場合、データ項目名としてキー名が用いられる。また送信フォーマットが「CSV」の場合、データ項目名としてインデックスが設けられる。
【0069】
必須情報は、対応するデータの送信が必須か否かを示す。例えば必須のデータの必須情報は「TRUE」である。また必須ではないデータの必須情報は「FALSE」である。送信タイミングにおいて必須のデータが取得できなかった場合、データ送信はエラー終了する。送信タイミングにおいて必須ではないデータが取得できなかった場合、取得できたデータのみが送信される。
【0070】
送信データリスト111cにおけるキャッシュ利用可否は、対応するデータについて、キャッシュしておき、再利用することを許容するか否かを示す。データのキャッシュが許容される場合、キャッシュ利用可否「利用可能」となる。データのキャッシュが許容されない場合、キャッシュ利用可否「利用不可」となる。特定のデータについてのキャッシュ利用可否と、そのデータの送信先となるサービスシステムについてのキャッシュ利用可否とが食い違う場合、送信データリスト111cに示されるそのデータについてのキャッシュ利用可否の設定が有効となる。
【0071】
また、サービスシステム情報111bにおいてキャッシュ利用可能とされているサービスシステムに対して、送信データリスト111cにおいてもキャッシュ利用可能とされているデータを送信する場合にのみ、キャッシュされているデータを利用可能としてもよい。
【0072】
送信データリスト111cにおける有効期間は、対応するデータについてキャッシュ利用が許容される場合における、そのキャッシュされたデータの有効期間を示す。
サービス情報111内のサービス基本情報111aの各レコード(各行)とサービスシステム情報の各レコードとは、サービスIDで関連づけられている。サービス情報111内のサービスシステム情報111bの各レコードと送信データリスト111cとの各レコードとは、サービスシステムIDで関連づけられている。
【0073】
取得データリスト112には、PC100で取得可能なデータ種別ごとに、そのデータのデータID、データ名、フォーマットなどが設定されている。
取得データリスト112のデータIDは、取得可能なデータをPC100内で一意に識別する識別子である。
【0074】
データ名は、取得可能なデータの名称である。データ名としては、「型名」、「号機」などがある。
フォーマットは、取得可能なデータのデータフォーマットである。フォーマットとしては、「文字列」、「整数」、「実数」などがある。
【0075】
サービス情報111内の送信データリスト111cの各レコードと取得データリスト112の各レコードとは、データIDで関連付けられている。
PC100のデータ提供部120は、
図5に示すようなサービス情報111と取得データリスト112とに基づいて、所定のタイミングで、サービスを提供するサーバにデータを送信する。
【0076】
図6は、PCからサーバへのデータ送信の一例を示す図である。例えばサーバ300のサービス管理部320からPC100に対して、サービス情報の追加・変更・削除などの要求が送信される。例えばサービス管理部320は、PC100に適用するサービスの追加・変更・削除があった場合、またはPC100に適用しているサービスのサービス情報の変更があった場合に、サービス情報の追加・変更・削除などの要求を送信する。
【0077】
PC100のデータ提供部120は、サービス管理部320からの要求に従って、記憶部110に格納されているサービス情報111を更新する。
図6の例では、サーバ200で提供されるサービス210とサーバ200aで提供されるサービス210aとが、PC100に適用されるものとする。データ提供部120は、サービス情報111に基づいてサーバ200,200aへのデータ送信を行う。例えば、PC100のデータ提供部120は、サービス情報111に示される送信タイミングで、送信対象のデータをPC100内から取得する。そしてデータ提供部120は、取得したデータをサーバ200またはサーバ200aに送信する。
【0078】
データ提供部120は、取得したデータを、データ提供部120が管理するキャッシュ領域121に格納する。キャッシュ領域121に格納したデータは、次の送信タイミングに送信するデータとなったとき、利用するサービスに指定された有効期間内であれば、そのサービスを提供するサーバに送信される。
【0079】
例えばPC100の型名や号機のデータは、運用中に変わることはないため、キャッシュ可能と設定される。また、PC100の運用中に適宜更新されるデータ(例えばCPU使用率、イベントログなど)は、例えばキャッシュ不可と設定される。
【0080】
このようにして、PC100は、複数のサービス210,210aの提供を受けるためのデータ送信を効率的に行うことができる。すなわち、データ提供部120は、サービス情報111に基づいて、サービス210,210aそれぞれに送信するデータと送信タイミングを把握し、データ送信を行うことができる。データ提供部120は、複数のサービス210,210aで共通で利用される共通アプリであり、サービスごとのアプリを利用する場合に比べてPC100で消費する資源が少なくて済む。そのためPC100の処理負荷が低減する。データ提供部120が共通アプリであることは、データ提供部120の機能改善などの修正作業の手間の低減にもなる。
【0081】
さらにデータ提供部120は、取得したデータをキャッシュしておくことができる。異なる送信タイミングで共通のデータを複数のサーバに送信する場合、送信タイミングが後のデータ送信では、ストレージ装置103などからのデータ取得はせずに、キャッシュしたデータを送信することができる。これにより、データ取得頻度が低減し、データ送信処理が効率化される。
【0082】
次にデータ提供部120の処理について具体的に説明する。
図7は、データ提供部の処理手順の一例を示すフローチャートである。以下、
図7に示す処理をステップ番号に沿って説明する。
【0083】
[ステップS101]データ提供部120は、サービス情報111を参照し、データの送信タイミングのサービスシステムがあるか否かを判断する。データ提供部120は、送信タイミングとなったサービスシステムがある場合、処理をステップS102に進める。またデータ提供部120は、送信タイミングとなったサービスシステムがなければ、ステップS101の処理を繰り返す。ステップS101の処理より、送信タイミングとなったサービスシステムが検知される。
【0084】
[ステップS102]データ提供部120は、送信対象のデータのデータIDのリストを取得する。例えばデータ提供部120は、送信データリスト111cに基づいて、送信タイミングとなったサービスシステムのサービスシステムIDに対応付けられているデータIDをリストアップする。
【0085】
[ステップS103]データ提供部120は、送信するデータのデータIDのうち、未処理のデータのデータIDを1つ選択する。
[ステップS104]データ提供部120は、取得したデータIDに対応するデータがキャッシュされており、現在の日時がキャッシュの有効期限内か否かを判断する。データ提供部120は、期限が有効なデータがキャッシュされている場合、処理をステップS105に進める。またデータ提供部120は、期限が有効なデータがキャッシュされていない場合、処理をステップS106に進める。
【0086】
[ステップS105]データ提供部120は、選択したデータIDに対応するデータをキャッシュ領域121から抽出し、そのデータを指定された形式(送信フォーマット、行構造タイプ)に変換する。その後、データ提供部120は、処理をステップS109に進める。
【0087】
[ステップS106]データ提供部120は、ストレージ装置103、または他のソフトウェアが管理するメモリ102内の記憶領域から、選択したデータIDに対応するデータを取得する。このときデータの取得に失敗する場合もあり得る。データ提供部120は、データの取得に失敗した場合には、ステップS107~S108の処理をスキップする。
【0088】
[ステップS107]データ提供部120は、取得したデータをキャッシュ領域121に格納する。
[ステップS108]データ提供部120は、取得したデータを指定された形式(送信フォーマット、行構造タイプ)に変換する。
【0089】
[ステップS109]データ提供部120は、送信するデータのうち未処理のデータがあるか否かを判断する。データ提供部120は、未処理のデータがある場合、処理をステップS103に進める。またデータ提供部120は、送信するデータのすべてについて処理が終了した場合、処理をステップS110に進める。
【0090】
[ステップS110]データ提供部120は、送信するデータのうちの、送信データリスト111cにおいて必須(必須情報「TRUE」)のデータをすべて取得できたか否かを判断する。データ提供部120は、必須のすべてのデータを取得できた場合、処理をステップS111に進める。またデータ提供部120は、必須のデータのうちの少なくとも一部が取得できなかった場合、処理をステップS112に進める。
【0091】
[ステップS111]データ提供部120は、送信タイミングとなったサービスシステムを有するサーバへ、取得したデータを送信する。データの送信先は、サービスシステム情報111bにおいて該当サービスシステムに対応付けられた送信先URLである。その後、データ提供部120は、処理をステップS113に進める。
【0092】
[ステップS112]データ提供部120は、エラー通知処理を行う。例えばデータ提供部120は、必須のデータの取得に失敗したことを示すエラー情報を、送信タイミングとなったサービスシステムを有するサーバへ送信する。
【0093】
[ステップS113]データ提供部120は、共通アプリ停止の指示があったか否かを判断する。データ提供部120は、共通アプリ停止の指示がなければ、処理をステップS101に進める。またデータ提供部120は、共通アプリ停止の指示がある場合、処理を終了する。
【0094】
このようにしてPC100は、共通アプリであるデータ提供部120により、複数のサービスそれぞれのサービスシステムに対して、サービスに使用するデータを効率的に送信することができる。例えば送信タイミングが異なる複数のサービスシステムでデータを送信する場合には、データ提供部120は、キャッシュされているデータについてはデータ取得処理をせずに済み、取得するデータ量が削減される。
【0095】
図8は、送信タイミングが異なるサービスシステムを送信先とするサービス情報の一例を示す図である。
図8に示すサービス情報111-1では、PC100がサービスAとサービスBとの適用を受ける。
【0096】
サービスAには、サービスID「0001」のサービスシステムが含まれる。サービスID「0001」のサービスシステムへのデータの送信タイミングは「毎日0時」である。サービスID「0001」のサービスシステムへ送信するデータについては、キャッシュ利用不可である。サービスID「0001」のサービスシステムに送信するデータには、型名、号機、インストールアプリリスト、サービスA用データなどが含まれる。
【0097】
サービスBには、サービスID「0002」のサービスシステムが含まれる。サービスID「0002」のサービスシステムへのデータの送信タイミングは「毎日4時」である。サービスID「0002」のサービスシステムへ送信するデータについては、キャッシュ利用可能であり、キャッシュ有効期間は1日(86400秒)である。サービスID「0002」のサービスシステムに送信するデータには、型名、号機、インストールアプリリスト、サービスB用データなどが含まれる。
【0098】
なお、
図8の例では、データごとのキャッシュ利用可否は設定されていないものとする。そのためサービスシステムに設定されたキャッシュ利用可否が有効となる。
図9は、サービスを提供する複数のサーバへのデータ送信の一例を示す図である。
図9には、
図8に示すサービス情報111-1に基づくデータ送信処理の例が示されている。例えばデータ提供部120は、毎日0時になると、サーバ200で提供されるサービスAのサービスシステムに対するデータの送信タイミングであると判断する。そしてデータ提供部120は、該当サービスシステムに送信する「型名」、「号機」、「インストールアプリリスト」、「サービスA用データ」を、PC100内から取得する。そしてデータ提供部120は、取得したデータをサーバ200に送信する。
【0099】
このとき「型名」、「号機」、「インストールアプリリスト」については、キャッシュ領域121に格納される。格納された各データには、例えば取得時刻と有効期限が付与される。
【0100】
その後、時刻が4時になると、データ提供部120は、サーバ200aで提供されるサービスBのサービスシステムに対するデータの送信タイミングであると判断する。データ提供部120は、送信するデータのうち「型名」、「号機」、「インストールアプリリスト」はすでにキャッシュ領域121に保持している。これらのデータは、取得時刻から4時間しか経過しておらず、有効期限(1日)内である。そこで、データ提供部120は、キャッシュしていない「サービスB用データ」を、PC100内から取得する。そしてデータ提供部120は、キャッシュ領域121内の「型名」、「号機」、「インストールアプリリスト」と、取得した「サービスB用データ」とをサーバ200aに送信する。
【0101】
サービスAは毎日0時、サービスBは毎日4時が送信タイミングなので、サービスごとのアプリでデータ送信を行うと、「型名」、「号機」、「インストールアプリリスト」について、1日に2回のデータ取得が実行される。それに対して、データ提供部120のような共通アプリを用いることで、2つのサーバ200,200aに両方に送信するデータは、1日に1回だけ取得すればよくなる。そのためデータ取得効率が向上する。
【0102】
なお、
図9の例では、サービスシステムごとにキャッシュ可否と有効期間を設定しているが、データごとにキャッシュ可否と有効期間を設定することで、より細かなキャッシュデータの管理が可能となる。
【0103】
図10は、データ単位でのキャッシュ管理の一例を示す図である。例えば「型名」、「号機」、メモリ、ストレージなどのスペック情報は、ほとんど変更されることはないため、キャッシュ可能として、キャッシュの有効期間は1週間とすることができる。「インストールアプリリスト」は、運用中に変更されることはあるものの変更頻度は高くないため、例えばキャッシュ可能として、キャッシュの有効期間は1日とすることができる。
【0104】
「実行中アプリリスト」は、リアルタイムの状態をサービスで利用するのであれば、キャッシュ不可とされる。またサービスにおいて一定の時間帯内で利用されたアプリのリストが利用される場合、「実行中アプリリスト」はキャッシュ可能として、キャッシュの有効期間は1時間程度とすることができる。
図10の例では、「実行中アプリリスト」はキャッシュ不可である。
【0105】
このとき、サーバ200で提供されるサービスAのサービスシステムに対しては、毎日0時に、「型名」、「号機」、「インストールアプリリスト」、「実行中アプリリスト」を送信することになっているものとする。またサーバ200aで提供されるサービスBのサービスシステムに対しては、毎時0分に、「型名」、「号機」、「インストールアプリリスト」、「実行中アプリリスト」を送信することになっているものとする。
【0106】
この場合、データ提供部120は、「型名」、「号機」については、1週間に1回ずつ取得し、その都度、キャッシュ領域121に格納(キャッシュ)する。またデータ提供部120は、「インストールアプリリスト」については、1日に1回ずつ取得し、その都度、キャッシュ領域121に格納(キャッシュ)する。さらにデータ提供部120は、「実行中アプリリスト」については、毎時の0分に取得する。そしてデータ提供部120は、毎日0時にサーバ200へのデータ送信を行い、毎時0分にサーバ200aへのデータ送信を行う。
【0107】
図10に示すように、複数のサービスシステムに同じデータを重複して送信する場合であっても、キャッシュ可能なデータについてはキャッシュすることで、データ取得の頻度が少なくて済む。例えば「型名」、「号機」は1週間に1回の取得で済み、「インストールアプリリスト」は1日に1回の取得で済む。
【0108】
しかも「インストールアプリリスト」は、OSが管理しているインストール済みアプリの情報を解析して取得することとなり、取得にもある程度の時間がかかる。そのため、キャッシュを利用可能であれば、処理が効率化される。
【0109】
また
図10の例では「実行中アプリリスト」はキャッシュ不可であるが、サービス内容によっては、1時間程度の有効期間でのキャッシュは許容できる場合もある。「実行中アプリリスト」は高度な手続きを経てOSから取得することとなり、取得の処理負荷が他のデータに比べて大きい。そのため、「実行中アプリリスト」をキャッシュしておき、キャッシュした「実行中アプリリスト」をサーバ200,200aに送信することで、PC100の処理負荷を軽減することができる。
【0110】
なお、複数のサービスでイベントログが使用される場合もある。イベントログはデータ量が多く、データ取得にも時間がかかる。共通アプリであるデータ提供部120を用いて複数のサービスそれぞれのサーバにイベントログを送信するようにすれば、データ取得の処理負荷が大幅に低減される。
【0111】
さらに、共通アプリであるサービス提供部120は、サービスごとのサービス情報に基づいて、複数のサービスそれぞれに対して、サービスごとのタイミングでそのサービスが要求するデータを送信する。これにより、複数サービスの追加、削除、更新がある場合には、サーバ300からデータ提供部120に対するサービス情報の追加、変更、削除を行えばよくなる。そのため、サービスごとのアプリのインストール、アンインストール、アップデートなどの作業が不要となり、複数のサービスを提供するための管理作業が軽減される。
【0112】
〔その他の実施の形態〕
第2の実施の形態では、サービスを提供するサーバ200,200a,・・・とは別に管理用のサーバ300が設けられているが、例えばサーバ200,200a,・・・のうちの1台にサーバ300の機能を実装してもよい。またサーバ200,200a,・・・それぞれが、自身が提供するサービスのサービス情報を、そのサービスが適用されるPCなどの情報処理装置に送信するようにしてもよい。
【0113】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0114】
1~3 サーバ
4 サービス情報
5 データ
6 キャッシュ領域
10 情報処理装置
11 記憶部
12 処理部
【要約】
【課題】複数のサービスを提供することによる業務効率の低下を軽減する。
【解決手段】情報処理装置10に適用される複数のサービスのいずれかを提供する複数のサーバ1~3と、複数のサーバそれぞれがサービス提供のために使用する情報処理装置10内部のデータと、データの有効期間と、複数のサーバ1~3それぞれへのデータの送信タイミングとが、サービス情報4に示されている。情報処理装置10は、サービス情報4に基づいて、複数のサーバのいずれかへのデータの送信タイミングになると、送信タイミングとなった第1のサーバがサービス提供のために使用するデータのうち、取得済みでかつ取得から有効期間内の第1のデータ以外の第2のデータを取得する。そして処理部12は、第1のサーバへ第1のデータと第2のデータとを送信する。
【選択図】
図1