JP5333772B2 - ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム - Google Patents

ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム Download PDF

Info

Publication number
JP5333772B2
JP5333772B2 JP2009261241A JP2009261241A JP5333772B2 JP 5333772 B2 JP5333772 B2 JP 5333772B2 JP 2009261241 A JP2009261241 A JP 2009261241A JP 2009261241 A JP2009261241 A JP 2009261241A JP 5333772 B2 JP5333772 B2 JP 5333772B2
Authority
JP
Japan
Prior art keywords
patch
terminal device
group
file
terminal
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.)
Expired - Fee Related
Application number
JP2009261241A
Other languages
English (en)
Other versions
JP2011107907A (ja
Inventor
陽 伊藤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009261241A priority Critical patent/JP5333772B2/ja
Publication of JP2011107907A publication Critical patent/JP2011107907A/ja
Application granted granted Critical
Publication of JP5333772B2 publication Critical patent/JP5333772B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の端末装置に向けて、配布ファイル、特にパッチを送信するための、ファイル配布システム、サーバ装置、ファイル配布方法、及びこれらを実現するプログラムに関する。
一般に、プログラムにおいては、出荷後に、バグやセキュリティホール等が発見されることがあるため、ベンダーは、定期的に、又は必要に応じて、これらを修正するパッチをWebサイト上で公開している。この場合、利用者が、コンピュータによって、パッチが公開されているWebサイトにアクセスすると、パッチ配布用のサーバ(配布サーバ)から当該コンピュータにパッチが配布される。
また、多数のコンピュータによって構成された企業のコンピュータシステムでは、端末装置(クライアントコンピュータ)に対するパッチの配布を効率的に行うようにするため、コンピュータシステム内に、社内専用の配布サーバが構築される場合もある。この場合は、パッチは、社内の配布サーバから各クライアントへと配布される。
更に、このようなファイルの配布は、パッチに関わらず、ウィルス定義ファイル、更にはコンテンツファイル等を対象としても行われている。但し、このようなファイル配布システムでは、多数の端末装置が同時にファイルを必要とした場合に、配布サーバにアクセスが集中し、配布サーバのダウン、ファイルのダウンロード速度の低下等の問題が発生する可能性がある。このような問題を解決するため、従来から、種々のファイル配布システムが提案されている(例えば、特許文献1及び特許文献2参照)。
具体的には、特許文献1は、P2P(Peer To Peer)グループを構成する複数の端末装置と、配布サーバとを備えたファイル配布システムを開示している。このファイル配布システムでは、端末装置から配布サーバに対して配布ファイルの問い合わせが行われると、先ず、配布サーバは、端末装置に、問い合わせ対象となった配布ファイルを有するP2Pグループを通知する。
そして、端末装置は、P2Pグループ内の端末装置を検索対象として、当該配布ファイルを保持する端末装置の検索を実行する。検索がヒットした場合は、端末装置は、検索によって特定された端末装置から、当該配布ファイルを取得する。検索がミスヒットの場合は、端末装置は、配布サーバから当該配布ファイルを取得する。
このように、特許文献1に開示のファイル配布システムでは、端末装置間でファイルのやり取りが行われるので、配布サーバへのアクセスが軽減され、上述した問題は解消されると考えられる。
また、特許文献2は、配布サーバと複数の端末装置とを備え、これらが、配布サーバをルートとしたツリー構造を構築する、ファイル配布システムを開示している。特許文献2に開示のファイル配布システムでは、ファイルは、上層の端末装置から下層の端末装置へと送信されるので、配布サーバへのアクセスは軽減される。特許文献2に開示のファイル配布システムを用いた場合も、特許文献1に開示のファイル配布システムを用いた場合と同様に、上述した問題は解消されると考えられる。
特開2006−285601号公報 特開2008−035337号公報
しかしながら、特許文献1に開示のファイル配布システムには、一部の端末装置に負荷が集中するという問題がある。これは、グループ内で最初にファイルを取得した端末装置に、他の端末装置からのアクセスが集中してしまうからである。
更に、特許文献1に開示のファイル配布システムでは、端末装置が保持しているファイルが多ければ多い程、別の端末装置がファイル取得にかかる時間の短縮化は図られるが、この場合は端末装置の記憶容量が圧迫されるという問題が発生する。また、逆に、端末装置が保持する配布ファイルを少なくすると、ファイル取得にかかる時間が長くなるという別の問題が発生してしまう。
これに対して、特許文献2に開示のファイル配布システムでは、上述したように、配布ファイルは上層の端末装置から下層の端末装置へと送信されるので、一部の端末装置に負荷が集中するという問題が発生することはないと考えられる。しかしながら、特許文献2に開示のファイル配布システムは、下層の端末装置からの要求に応じてファイルを配布することを目的としたシステムではないため、クライアントコンピュータからの要求に応じてファイルを配布するシステムには不適である。
一方、仮に、特許文献2に開示のファイル配布システムが、下層の端末装置からの要求に応じたファイル配布が可能となるように構築されている態様を想定する。そして、ファイルの配布を求めた端末装置の直上の端末装置が、求められたファイルを有していないとする。この場合、下層の端末装置は、ツリーを辿り、更に上層に位置する端末装置又は配布サーバにファイル配布を要求する必要がある。更に、場合によってはサブツリーが異なる端末装置にファイル配布を要求する必要がある。このため、特許文献2に開示のファイル配布システムにおいても、特許文献1に開示のファイル配布システムと同様に、ファイル取得にかかる時間が長くなるという問題が発生してしまう。
本発明の目的は、上記問題を解消し、端末装置間でのファイル配布が可能なシステムにおいて、端末装置の記憶容量の圧迫を抑制しつつ、端末装置がファイル取得にかかる時間の短縮化を図り得る、ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明におけるファイル配布システムは、複数の端末装置と、前記複数の端末装置に配布ファイルを送信するサーバ装置とを備え、
前記サーバ装置は、
前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割し、更に、前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築し、
そして、前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れ、
前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行
う、ことを特徴とする。
上記目的を達成するため、本発明におけるサーバ装置は、複数の端末装置に配布ファイルを送信するサーバ装置であって、
前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割し、更に、前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築し、
そして、前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れる、端末管理部と、
前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、接続先通知部と、を備えていることを特徴とする。
また、上記目的を達成するため、本発明におけるファイル配布方法は、複数の端末装置に配布ファイルを送信するための方法であって、
(a)前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割する、ステップと、
(b)前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築する、ステップと、
(c)前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れる、ステップと、
(d)前記(c)のステップの実行後に、前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、ステップと、を有することを特徴とする。
更に、上記目的を達成するため、本発明におけるプログラムは、複数の端末装置への配布ファイルの送信をコンピュータによって実行するためのプログラムであって、
前記コンピュータに、
(a)前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割する、ステップと、
(b)前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築する、ステップと、
(c)前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れる、ステップと、
(d)前記(c)のステップの実行後に、前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、ステップと、を実行させる、ことを特徴とする。
以上の特徴により、本発明によれば、端末装置間でのファイル配布が可能なシステムにおいて、端末装置の記憶容量の圧迫を抑制しつつ、端末装置がファイル取得にかかる時間の短縮化を図ることができる。
図1は、本発明の実施の形態におけるファイル配布システムの全体構成を示す図である。 図2は、本発明の実施の形態におけるファイル配布システムを構成するサーバ装置及び端末装置の構成を示すブロック図である。 図3は、本発明の実施の形態においてサーバ装置によって保持される情報の一例を示す図である。 図4は、本発明の実施の形態におけるファイル配布システムの動作を示すアクティビィティ図である。 図5は、図4に示したツリー再構築処理におけるファイル配布システムの動作を具体的に示すアクティビィティ図である。
(実施の形態)
以下、本発明の実施の形態におけるファイル配布システム、サーバ装置、ファイル配布方法、及びプログラムについて、図1〜図4を参照しながら説明する。最初に、本実施の形態におけるファイル配布システム及びファイル配布装置の構成を図1及び図2を用いて説明する。図1は、本発明の実施の形態におけるファイル配布システムの全体構成を示す図である。図2は、本発明の実施の形態におけるファイル配布システムを構成するサーバ装置及び端末装置の構成を示すブロック図である。
図1に示すように、ファイル配布システム3は、サーバ装置1と、複数の端末装置2とを備えている。サーバ装置1は、端末装置2に配布ファイルを送信する。但し、後述するように、配布ファイルは、一部の端末装置2に対しては、サーバ装置1から直接送信されるが、他の端末装置2に対しては、端末装置2間の通信によって送信される。また、本実施の形態では、端末装置2としてはパーソナルコンピュータ(PC)が用いられている。このため、図1では、端末装置は「PC」と表されている。
図2に示すように、サーバ装置1は、接続先通知部15と、端末管理部16とを備えている。端末管理部16は、複数の端末装置2を、それぞれで利用された配布ファイルの公開日に基づいて、幾つかのグループに分割する。また、端末管理部16は、グループ毎に、各グループに属する端末装置2によってツリー構造(図1参照)を構築する。端末管理部16は、各端末装置2をノードとするツリー構造によって、複数の端末装置2を管理している。
なお、図1に示すように、グループ毎のツリー構造は、サーバ装置1の直下のノード(端末装置2)をルート(root)としていることから、サーバ装置1をルートとするツリー構造の「サブツリー」と捉えることもできる。このため、以降の説明では、グループ毎のツリー構造を「サブツリー」と表すことがある。図1には、サブツリー1〜サブツリー4が示されている。
更に、端末管理部16は、いずれかの端末装置2から、配布ファイルの送信が求められた場合は、求められた配布ファイルを有するグループを特定し、配布ファイルの送信を求めた端末装置を、このグループのツリー構造に組み入れる。
接続先通知部15は、配布ファイルの送信を求めた端末装置2に対して、特定したグループ内の当該端末装置2の上層に位置する端末装置2から、求められた配布ファイルを取得するように指示を行う。本実施の形態では、接続先通知部15は、配布ファイルの送信を求めた端末装置2の親ノードを、配布ファイルの取得先(接続ノード)として通知し、通知した親ノードから配布ファイルを取得するように指示を行う。
このように、ファイル配布システム3は、端末装置2間での配布ファイルの送信が可能なシステムである。そして、端末装置2間での配布ファイルの送信はグループ単位で行われるので、グループ内で配布元となる端末装置2は、他のグループ内で保持される配布ファイルを保持する必要がない。このため、ファイル配布システム3によれば、端末装置2の記憶容量の圧迫が抑制され、同時に、端末装置2がファイル取得にかかる時間の短縮化も図られる。
ここで、図1及び図2に加えて図3を用いて、ファイル配布システム3、サーバ装置1、及び端末装置2の構成を更に具体的に説明する。図3は、本発明の実施の形態においてサーバ装置によって保持される情報の一例を示す図である。また、以降の説明は、配布ファイルが、端末装置2に対して適用されるパッチである場合について説明する。なお、本実施の形態では、配布ファイルは、パッチ以外の配布ファイル、例えば、ウィルスパターン定義ファイル、コンテンツファイル等であっても良い。
本実施の形態では、端末管理部16は、サーバ直下のノードをルートとする各サブツリーに対して、各サブツリーを一意に識別するためのサブツリーIDを付与し、サブツリーIDによってサブツリーを管理している。また、端末管理部16は、各端末装置2における適用済みの最新のパッチの公開日からの経過時間(以下、単に「経過時間」とする。)に基づき、グループ分割を行う。
また、本実施の形態では、グループ(サブツリー)毎に、グループに所属可能な端末装置2の経過時間について上限が設定されている。端末管理部16は、各端末装置2の経過時間が、各グループに設定されている上限以下となるようにグループ分割を行う。また、このようにして設定された各グループにおいて、当該グループに所属する端末装置2が有する適用済みのパッチは、当該グループにおいて共有されるパッチとなる。
更に、端末装置2では、パッチは、一旦、端末装置のキャッシュメモリに格納され、その後、端末装置2に適用される。よって、グループで共有されるパッチとは、グループを構成する端末装置のキャッシュメモリに格納されているパッチをいう。また、共有されるパッチは、グループを構成する全ての端末装置によって保持されていても良いし、グループを構成する一の端末装置のみによって保持されていても良い。例えば、サブツリーのルートとなる端末装置2のみが、共有されるパッチを保持し、他の端末装置はパッチの適用後にキャッシュメモリからパッチを削除する態様であっても良い。
具体的には、図1に示す例において、サブツリー1〜サブツリー4それぞれに上限として、「3日」、「1週間」、「1カ月」、「無期限」が設定されているとする。この場合、各サブツリーで共有されるパッチファイルに対して認められる経過時間の範囲(以下「共有されるパッチファイルの範囲」)は、それぞれ「公開日から3日以内」、「公開日から1週間以内」、「公開日から1カ月」、「公開日から無期限」となる。従って、公開日から4日以内に全てのパッチが適用されている端末装置は、サブツリー2に所属することになる。
また、本実施の形態では、端末管理部16は、端末装置2が適用済みでないパッチの送信を求めると、この端末装置2における、適用済みでないパッチのうち、公開日が最も古いパッチを特定する。そして、端末管理部16は、特定されたパッチの公開日(最も古い公開日)からの経過時間が上限以下となり、且つ、上限の値が最も小さくなるようにグループを選択し、選択したグループのツリー構造に、要求を行った端末装置2を組み入れる。
言い換えると、端末管理部16は、端末装置2が未適用のパッチを全て取得でき、且つ、端末装置2が所属することとなるグループの「共有されるパッチの範囲」が小さくなるように、所属先のサブツリー(グループ)を選択する。その後、端末管理部16は、選択したグループのツリー構造に、適用済みでないパッチを求めた端末装置2を組み入れる。
具体的には、図1の例において、2週間前に公開された一部のパッチのみが適用済みでない端末装置2が、この適用済みでないパッチの送信を要求したとする。この場合、端末管理部16は、当該端末装置2をサブツリー3に組み入れる。このような端末管理部16による処理により、サブツリー毎に共有が必要なパッチは最小限となるため、端末装置2がキャッシュとして保持するパッチのサイズを小さくすることができる。
また、図2に示すように、本実施の形態では、サーバ装置1は、接続先通知部15及び端末管理部16に加えて、パッチ削除指示部17と、パッチ情報管理部18と、パッチ送信部19と、記憶部10とを備えている。また、記憶部10は、ツリー情報保管部11と、端末情報保管部12と、パッチ情報保管部13と、パッチ保管部14とを備えている。
記憶部10において、ツリー情報保管部11は、サブツリー毎に、各サブツリーの情報(以下「サブツリー情報」)を格納している。図3に示すように、サブツリー情報には、各サブツリーを一意に識別するための「サブツリーID」、及びサブツリー毎の「共有されるパッチの範囲」が含まれる。
また、記憶部10において、端末情報保管部12は、ファイル配布システム3上に存在する端末装置2毎の情報(以下「端末情報」)を格納している。図3に示すように、端末情報には、端末装置2を一意に識別するための「端末ID」、端末装置2に付与されている「IPアドレス」、端末装置2で未適用のパッチのIDのリスト、端末装置2が所属するサブツリーの「所属サブツリーID」、及び端末装置2の親ノードとなる端末装置のIDが含まれる。
更に、記憶部10において、パッチ情報保管部13は、ファイル配布システム3で配布対象となるパッチ毎の情報(以下「パッチ情報」)を格納している。図3に示すように、パッチ情報には、パッチを一意に識別するための「パッチID」、パッチの「ハッシュ値」、パッチが公開された日を表す「公開日」、及び「適用条件」が含まれる。なお、パッチ情報には、公開日の代わりに、パッチが公開された日及び時を表す「公開日時」が含まれていても良い。また、適用条件は、パッチを端末装置2に適用する必要があるかどうかを調査するための条件である。
また、記憶部10において、パッチ保管部14は、配布対象となるパッチを格納している。サーバ装置1から端末装置2へのパッチの送信が必要になった場合は、パッチ送信部19が、パッチ保管部14からパッチを取り出し、取り出したパッチを端末装置2へと送信する。
パッチ削除指示部17は、端末装置2に対して、端末装置2がキャッシュメモリに保持しているパッチのうち、削除が可能なパッチを通知する。つまり、パッチ削除指示部17は、先ず、各端末装置2について、この端末装置2の有するパッチの公開日からの経過期間が、この端末装置2が所属するグループに設定されている上限を超えているかどうかを判定する。そして、パッチ削除指示部17は、判定の結果、超えている場合に、端末装置2に、公開日からの経過期間が上限を超えているパッチを削除させる。
また、パッチ情報管理部18は、公開されているパッチに関する情報(パッチ情報)を管理している。そして、パッチ情報管理部18は、端末装置2がパッチ情報を要求すると
、パッチ情報保管部13からパッチ情報を取り出し、これを、要求を行った端末装置2に送信する。これにより、端末装置2は、後述するように、パッチ情報に基づき、適用の必要のあるパッチが存在しているかどうかを判断し、存在している場合は、未適用のパッチの送信をサーバ装置1に対して要求する。
続いて、図2を用いて端末装置2の構成を説明する。図2に示すように、端末装置2は、接続先取得部23と、パッチ適用状況調査部24と、パッチ削除部25と、パッチ情報取得部26と、パッチ送受信部27と、記憶部20とを備えている。記憶部20は、更に、パッチ情報保管部21と、パッチ保管部22とを備えている。
接続先取得部23は、サーバ装置1から、パッチを取得するための接続先ノードが指示された通知を取得する。本実施の形態では、接続先取得部23は、サーバ装置1の接続先通知部15が送信する通知を受信する。
パッチ情報取得部26は、サーバ装置1に対して、パッチの適用状況を調査するため、パッチ情報を要求し、これをサーバ装置1から取得する。本実施の形態では、パッチ情報取得部26は、サーバ装置1のパッチ情報管理部18が送信したパッチ情報を受信し、受信したパッチ情報を記憶部20に送る。パッチ情報は、記憶部20においては、パッチ情報保管部21に格納される。
パッチ適用状況調査部24は、パッチ情報取得部26が取得したパッチ情報に基づいて、未適用であって、適用の必要あるパッチの存在の有無を調査する。そして、パッチ適用状況調査部24は、調査結果から、パッチの適用状況を特定するパッチ適用情報を作成し、これをサーバ装置1に送信する。また、パッチ適用状況調査部24は、適用の必要のあるパッチが存在している場合は、パッチ適用情報によって、未適用のパッチの送信をサーバ装置1に要求する。サーバ装置1では、要求があると、上述したように端末管理部16による処理が実行される。
パッチ削除部25は、サーバ装置1のパッチ削除指示部17からの通知に従って、キャッシュとして保存しているパッチを削除する。また、パッチ送受信部27は、親ノード又はサーバ装置1から送信されるパッチを受信し、受信したパッチを記憶部20に送信する。記憶部20においては、パッチ保管部22が、受信したパッチを格納する。また、パッチ送受信部27は、端末装置2が子ノードからパッチの送信を要求された場合は、パッチ保管部22からパッチを取得し、取得したパッチを要求元の子ノードに送信する。
次に、ファイル配布システム3の動作について図4及び図5を用いて説明する。最初に図4を用いてファイル配布システム3の全体の動作を説明する。図4は、本発明の実施の形態におけるファイル配布システムの動作を示すアクティビィティ図である。以下の説明においては、適宜図1及び図2を参酌する。また、本実施の形態では、ファイル配布システム3を動作させることによって、ファイル配布方法が実施される。よって、本実施の形態におけるファイル配布方法の説明は、以下のファイル配布システムの動作説明に代える。
図4に示すように、先ず、端末装置2において、パッチ情報取得部26が、サーバ装置1のパッチ情報管理部18に対して、パッチ情報の送信を要求する(ステップB1)。ステップB1は、例えば、端末装置2の起動時、又は端末装置2におけるユーザのログオン時等において、定期的に実行される。
次に、サーバ装置1において、パッチ情報管理部18は、パッチ情報保管部13にアクセスしてパッチ情報を取得し、取得したパッチ情報を、端末装置2のパッチ情報取得部2
6に送信する(ステップA1)。ステップA1の実行により、端末装置2では、パッチ情報取得部26が、送信されたパッチ情報をパッチ情報保管部21に格納する。なお、ステップA1において、パッチ情報管理部18は、パッチ情報保管部13に格納されている全てのパッチ情報を送信しても良い。また、ステップA1において、パッチ情報管理部18は、端末装置2のOSの種類毎に、送信するパッチ情報を制限する等しても良い。
次に、端末装置2において、パッチ適用状況調査部24は、ステップA1によってパッチ保管部22に格納されたパッチ情報を取り出す。そして、パッチ適用状況調査部25は、取り出したパッチ情報に含まれる適用条件(図3参照)に基づいて、端末装置2に適用する必要のあるパッチの存在有無を調査する(ステップB2)。
続いて、パッチ適用状況調査部24は、ステップB2によって得られた調査結果からパッチ適用情報を作成し、これを、サーバ装置1の端末管理部16に送信する(ステップB3)。また、ステップB3では、パッチ適用状況調査部24は、未適用であって、適用の必要があるパッチが存在する場合は、パッチ適用情報によってパッチの送信をサーバ装置1に要求する。
次に、サーバ装置1において、端末管理部16は、ステップB3で送信された端末装置2のパッチ適用情報(未適用パッチの送信要求)に基づいて、サーバ装置1をルートとするツリーを再構築する(ステップA2)。具体的には、ステップB3によってパッチ適用情報を送信した端末装置2を組み入れるツリーを特定し、この端末装置2を特定したツリーに組み入れる。なお、ステップA2については、図5を用いて後述する。
更に、端末管理部16は、ステップA2で受け取ったパッチ適用情報に基づいて、未適用のパッチが存在するかどうかを判定する。そして、未適用のパッチが存在する場合は、サーバ装置1によりステップA3が実行され、未適用のパッチが存在しない場合は、サーバ装置1によりステップA4が実行される。
ステップA3では、サーバ装置1の接続先通知部15は、端末情報保管部12から、端末情報(図3参照)を取り出し、取り出した端末情報から、ステップB1でパッチ情報の送信を要求した端末装置2の親ノードを特定する。そして、接続先通知部15は、特定した親ノードを接続先ノードとした通知を、端末装置2の接続先取得部23に送信して、接続先ノードからのパッチのダウンロードを指示する。
次に、ステップA3の実行後、端末装置2において、パッチ送受信部27は、ステップA3で通知された接続先ノードのパッチ送受信部27に対して、ステップB2で未適用と判定され、且つ、パッチ保管部22に格納されていないパッチを要求する(ステップB4)。ステップB4の実行により、パッチのダウンロードが行われる。
なお、ステップB4において、要求を受けた親ノードは、要求されたパッチを所持していれば、要求元の端末装置2に、パッチを送信する。一方、要求を受けた親ノードは、要求されたパッチを所持していなければ、更にその上層に位置する親ノードに対して、パッチを送信するよう要求する。
また、ステップB4において、パッチを受け取ったパッチ送受信部27は、受け取ったパッチをパッチ保管部22に格納する。更に、ステップB4において、パッチ送受信部27は、通知された接続先ノードへのアクセスに失敗した場合は、サーバ装置の接続先通知部15に対して、別の接続先ノード(親ノード)を要求する。これにより、新規の接続先ノードが通知された場合は、パッチ送受信部27は、新規に通知された接続先ノードに対してパッチを要求する。
また、ステップA4では、サーバ装置1のパッチ削除指示部17は、ツリー情報保管部11にアクセスし、ステップB1でパッチ情報を要求した端末装置2のグループ(サブツリー)で共有されるパッチの範囲を取得する。そして、パッチ削除指示部17は、この端末装置2がキャッシュメモリに保持しているパッチのうち、削除が可能なパッチを特定し、特定したパッチを削除するように端末装置2のパッチ削除部25に対して指示を行う。なお、本実施の形態では、ステップA4において、パッチ削除指示部17は、取得した「共有されるパッチの範囲」を特定する情報を端末装置2に送信することができる。
次に、端末装置2において、パッチ削除部25は、サーバ装置1のパッチ削除指示部17からパッチ削除の指示を受けると、指示されたパッチの削除を実行する(ステップB5)。
また、ステップB5では、パッチ削除部25が、ステップA4で送信された「共有されパッチの範囲」と、パッチ情報保管部21に保管されている「パッチ情報」とから、公開日からの経過期間が「共有されるパッチの範囲」の範囲外となっているパッチを確認しても良い。この場合、パッチ削除部25は、公開日からの経過期間が「共有されるパッチの範囲」の範囲外であることを確認できたパッチを削除する。なお、ステップB5におけるパッチの削除は、削除対象となるパッチが、パッチ保管部22に存在する場合にのみ行われる。
ここで、図4に示したツリーの再構築処理(ステップA2)について図5を用いて更に具体的に説明する。図5は、図4に示したツリー再構築処理におけるファイル配布システムの動作を具体的に示すアクティビィティ図である。
図5に示すように、先ず、サーバ装置1において、端末管理部16は、端末装置2のパッチ適用状況調査部24から、端末装置2のパッチ適用状況を特定するパッチ適用情報を受信する(ステップC1)。本実施の形態では、パッチ適用情報には、端末装置2における、端末ID、IPアドレス、未適用パッチのIDのリストが含まれている。
次に、端末管理部16は、端末情報保管部12において、ステップC1で受信したパッチ適用情報に含まれる端末IDが、エントリとして格納されているか(登録されているか)どうかを判定する。判定の結果、端末IDが登録されていない場合は、ステップC2が実行され、端末IDが登録されている場合は、ステップC3が実行される。
ステップC2では、端末管理部16は、端末装置2を新規のエントリとして登録するため、端末装置2の端末情報(図3参照)を端末情報保管部12に格納させる。また、端末管理部16は、新規の端末装置2を「共有されるパッチの範囲」が「全て」となっているサブツリー4に組み入れる。
このとき、端末情報において、端末ID及びIPアドレスとしては、ステップB1で受信された端末ID及びIPアドレスが用いられる。また、端末情報において、未適用パッチのIDのリストは「ID無し」、所属サブツリーのサブツリーIDは「共有されるパッチの範囲が全てとなっているサブツリーのID」、親ノードの端末IDは「所属サブツリーに含まれる任意のノードのID」とされる。
ステップC3では、端末管理部16は、端末情報保管部12に格納されている端末情報の未適用パッチのIDのリストを、ステップC1で受信したパッチ適用情報に基づいて更新する。
次に、端末管理部16は、端末装置2が所属するべきグループ(サブツリー)を特定する(ステップC4)。具体的には、ステップC4では、端末管理部16は、端末装置2で適用済みでないパッチの内、最も公開日が古いパッチを特定する。更に、端末管理部16は、ツリー情報保管部11に格納されているサブツリー情報に基づき、サブツリーの内、適用済みでないパッチの公開日を「共有されるパッチの範囲」内に含み、且つ、「共有されるパッチの範囲」が最も小さいサブツリーを特定する。そして、端末管理部16は、特定したサブツリーのグループを、端末装置2が所属するべきグループに設定する。
続いて、端末管理部16は、端末装置2が現在所属しているサブツリーと、ステップC4で特定したサブツリーとが同一であるかどうかを判定する。判定の結果、同一である場合は、ステップA2における処理が完了する。一方、判定の結果、異なる場合は、ステップC5が実行される。
ステップC5では、端末管理部16は、処理対象となっている端末装置2の端末情報を端末情報保管部12から取り出し、取り出した端末情報の所属サブツリーIDを、ステップC4で特定したサブツリーのサブツリーIDに変更する。更に、端末管理部16は、同端末情報の親ノードの端末IDを、変更後のサブツリーに所属する任意のノードの端末IDに変更する。
次に、端末管理部16は、ステップC5で端末装置2が脱退したサブツリーに対して、サブツリーの再構築を行う(ステップC6)。具体的には、端末管理部16は、脱退した端末装置2の子ノードから任意のノードを一つ選択し、選択した子ノードの端末情報を書き換え、これを、脱退した端末装置2の親ノードの子ノードとする。更に、端末管理部16は、先の選択で選択されなかったノードの端末情報を書き換え、この(又はこれらの)ノードの親ノードを選択されたノードとする。以上で、ステップA2における処理は完了する。
また、本発明の実施の形態におけるプログラムは、コンピュータに、図4に示すステップA1〜A4、図5に示すステップC1〜C6を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるサーバ装置1を実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、接続先通知部15、端末管理部16、パッチ削除指示部17、パッチ情報管理部18、パッチ送信部19として機能し、処理を行なう。更に、コンピュータに備えられたハードディスク等の記憶装置は、記憶部10として機能する。
更に、本実施の形態では、コンピュータに、図4に示すステップB1〜B5を実行させるプログラムをインストールし、これを実行すれば、端末装置2を実現することができる。この場合、コンピュータのCPUは、接続先取得部23、パッチ適用状況調査部24、パッチ削除部25、パッチ情報取得部26、及びパッチ送受信部27として機能し、処理を行う。また、コンピュータに備えられたハードディスク等の記憶装置は、記憶部20として機能する。
以上のように、本実施の形態によれば、サブツリー構成するグループ内でパッチの送信が行われるので、各端末装置2はグループの条件に合致するファイルのみを有していれば良い。更に、不要なパッチかどうかが判断され、不要と判断されたパッチは端末装置2から削除される。このため、各端末装置2において、必要となる記憶容量を節約することができる。また、パッチを求める端末装置2は、親ノードからパッチを取得できるので、パッチ取得にかかる時間の軽減も図られる。
以上のように、本発明によれば、端末装置間でのファイル配布が可能なシステムにおいて、端末装置の記憶容量の圧迫を抑制でき、しかも、端末装置がファイル取得にかかる時間の短縮化も図られる。本発明は、ファイル配布システム、これを構成するサーバ装置に有用である。
1 サーバ装置
2 端末装置
3 ファイル配布システム
10 サーバ装置の記憶部
11 ツリー情報保管部
12 端末情報保管部
13 パッチ情報保管部
14 パッチ保管部
15 接続先通知部
16 端末管理部
17 パッチ削除指示部
18 パッチ情報管理部
19 パッチ送信部
20 端末装置の記憶部
21 パッチ情報保管部
22 パッチ保管部
23 接続先取得部
24 パッチ適用状況調査部
25 パッチ削除部
26 パッチ情報取得部
27 パッチ送受信部

Claims (21)

  1. 複数の端末装置と、前記複数の端末装置に配布ファイルを送信するサーバ装置とを備え、
    前記サーバ装置は、
    前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割し、更に、前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築し、
    そして、前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れ、
    前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、ことを特徴とするファイル配布システム。
  2. 前記配布ファイルが、前記端末装置に対して適用されるパッチであり、
    前記サーバ装置が、前記複数の端末装置それぞれにおける適用済みの最新のパッチの公開日からの経過時間に基づき、それぞれの前記経過時間が、前記グループ毎に設定されている前記経過時間の上限以下となるように、前記グループへの分割を行う、請求項1に記載のファイル配布システム。
  3. 前記グループそれぞれにおいて、当該グループを構成している端末装置の一つが、当該グループを構成している端末装置における適用済みの前記パッチを保持している、請求項2に記載のファイル配布システム。
  4. 前記サーバ装置が、公開されている前記パッチに関する情報を管理しており、そして、前記複数の端末装置のいずれかが、前記情報を要求した場合に、要求を行った端末装置に前記情報を送信し、
    前記要求を行った端末装置が、前記情報に基づいて、適用済みでない前記パッチを特定し、前記サーバ装置に対して、適用済みでない前記パッチの送信を求める、請求項2または3に記載のファイル配布システム。
  5. 前記サーバ装置が、前記要求を行った端末装置における、適用済みでない前記パッチにおける最も古い公開日を特定し、そして、前記最も古い公開日からの経過時間が前記上限以下となり、且つ、前記上限の値が最も小さくなるように前記グループを選択し、選択した前記グループの前記ツリー構造に、前記要求を行った端末装置を組み入れる、請求項4に記載のファイル配布システム。
  6. 前記サーバ装置が、
    前記複数の端末装置それぞれについて、当該端末装置の有する前記パッチの前記公開日からの経過期間が、当該端末装置が所属するグループに設定されている前記上限を超えているかどうかを判定し、
    判定の結果、超えている場合に、当該端末装置に、前記公開日からの経過期間が前記上限を超えている前記パッチを削除させる、請求項2〜5のいずれかに記載のファイル配布システム。
  7. 複数の端末装置に配布ファイルを送信するサーバ装置であって、
    前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割し、更に、前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築し、
    そして、前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れる、端末管理部と、
    前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、接続先通知部と、を備えていることを特徴とするサーバ装置。
  8. 前記配布ファイルが、前記端末装置に対して適用されるパッチであり、
    前記端末管理部が、前記複数の端末装置それぞれにおける適用済みの最新のパッチの公開日からの経過時間に基づき、それぞれの前記経過時間が、前記グループ毎に設定されている前記経過時間の上限以下となるように、前記グループへの分割を行う、請求項7に記載のサーバ装置。
  9. 公開されている前記パッチに関する情報を管理し、且つ、前記複数の端末装置のいずれかが、前記情報を要求した場合に、要求を行った端末装置に前記情報を送信する、パッチ情報管理部を更に備え、
    前記端末管理部は、前記要求を行った端末装置が、当該サーバ装置に対して、前記情報から特定された、適用済みでない前記パッチの送信を求めた場合に、前記ツリー構造への組み入れを行う、請求項8に記載のサーバ装置。
  10. 前記端末管理部が、前記要求を行った端末装置における、適用済みでない前記パッチのうち、公開日が最も古いパッチを特定し、特定したパッチの公開日からの経過時間が前記上限以下となり、且つ、前記上限の値が最も小さくなるように前記グループを選択し、選択した前記グループの前記ツリー構造に、前記要求を行った端末装置を組み入れる、請求項9に記載のサーバ装置。
  11. 前記複数の端末装置それぞれについて、当該端末装置の有する前記パッチの前記公開日からの経過期間が、当該端末装置が所属するグループに設定されている前記上限を超えているかどうかを判定し、判定の結果、超えている場合に、当該端末装置に、前記公開日からの経過期間が前記上限を超えている前記パッチを削除させる、パッチ削除指示部を、更に備えている、請求項8〜10のいずれかに記載のサーバ装置。
  12. 複数の端末装置に配布ファイルを送信するための方法であって、
    (a)前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割する、ステップと、
    (b)前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築する、ステップと、
    (c)前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れる、ステップと、
    (d)前記(c)のステップの実行後に、前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、ステップと、を有することを特徴とするファイル配布方法。
  13. 前記配布ファイルが、前記端末装置に対して適用されるパッチであり、
    前記(a)のステップにおいて、前記複数の端末装置それぞれにおける適用済みの最新のパッチの公開日からの経過時間に基づき、それぞれの前記経過時間が、前記グループ毎
    に設定されている前記経過時間の上限以下となるように、前記グループへの分割を行う、請求項12に記載のファイル配布方法。
  14. (e)公開されている前記パッチに関する情報を管理する、ステップと、
    (f)前記複数の端末装置のいずれかが、前記情報を要求した場合に、要求を行った端末装置に前記情報を送信する、ステップと、を更に有し、
    前記(c)のステップは、前記要求を行った端末装置が、当該サーバ装置に対して、前記情報から特定された、適用済みでない前記パッチの送信を求めた場合に、実行される、請求項13に記載のファイル配布方法。
  15. 前記(a)のステップにおいて、前記要求を行った端末装置における、適用済みでない前記パッチのうち、公開日が最も古いパッチを特定し、特定したパッチの公開日からの経過時間が前記上限以下となり、且つ、前記上限の値が最も小さくなるように前記グループを選択し、選択した前記グループの前記ツリー構造に、前記要求を行った端末装置を組み入れる、請求項14に記載のファイル配布方法。
  16. (g)前記複数の端末装置それぞれについて、当該端末装置の有する前記パッチの前記公開日からの経過期間が、当該端末装置が所属するグループに設定されている前記上限を超えているかどうかを判定し、判定の結果、超えている場合に、当該端末装置に、前記公開日からの経過期間が前記上限を超えている前記パッチを削除させる、ステップを、更に有している、請求項13〜15のいずれかに記載のファイル配布方法。
  17. 複数の端末装置への配布ファイルの送信をコンピュータによって実行するためのプログラムであって、
    前記コンピュータに、
    (a)前記複数の端末装置を、それぞれで利用された前記配布ファイルの公開日に基づいて、グループに分割する、ステップと、
    (b)前記グループ毎に、当該グループに属する端末装置によってツリー構造を構築する、ステップと、
    (c)前記複数の端末装置のいずれかから、前記配布ファイルの送信が求められた場合に、求められた前記配布ファイルを有する前記グループを特定し、前記配布ファイルの送信を求めた端末装置を、特定した前記グループの前記ツリー構造に組み入れる、ステップと、
    (d)前記(c)のステップの実行後に、前記配布ファイルの送信を求めた端末装置に対して、特定した前記グループ内の当該端末装置の上層に位置する端末装置から、求められた配布ファイルを取得するように指示を行う、ステップと、を実行させる、ことを特徴とするプログラム。
  18. 前記配布ファイルが、前記端末装置に対して適用されるパッチであり、
    前記(a)のステップにおいて、前記複数の端末装置それぞれにおける適用済みの最新のパッチの公開日からの経過時間に基づき、それぞれの前記経過時間が、前記グループ毎に設定されている前記経過時間の上限以下となるように、前記グループへの分割を行う、請求項17に記載のプログラム。
  19. (e)公開されている前記パッチに関する情報を管理する、ステップと、
    (f)前記複数の端末装置のいずれかが、前記情報を要求した場合に、要求を行った端末装置に前記情報を送信する、ステップと、を更に前記コンピュータに実行させ、
    前記(c)のステップは、前記要求を行った端末装置が、当該サーバ装置に対して、前記情報から特定された、適用済みでない前記パッチの送信を求めた場合に、実行される、請求項18に記載のプログラム。
  20. 前記(a)のステップにおいて、前記要求を行った端末装置における、適用済みでない前記パッチのうち、公開日が最も古いパッチを特定し、特定したパッチの公開日からの経過時間が前記上限以下となり、且つ、前記上限の値が最も小さくなるように前記グループを選択し、選択した前記グループの前記ツリー構造に、前記要求を行った端末装置を組み入れる、請求項19に記載のプログラム。
  21. (g)前記複数の端末装置それぞれについて、当該端末装置の有する前記パッチの前記公開日からの経過期間が、当該端末装置が所属するグループに設定されている前記上限を超えているかどうかを判定し、判定の結果、超えている場合に、当該端末装置に、前記公開日からの経過期間が前記上限を超えている前記パッチを削除させる、ステップを、更に前記コンピュータに実行させる、請求項18〜20のいずれかに記載のプログラム。
JP2009261241A 2009-11-16 2009-11-16 ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム Expired - Fee Related JP5333772B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009261241A JP5333772B2 (ja) 2009-11-16 2009-11-16 ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009261241A JP5333772B2 (ja) 2009-11-16 2009-11-16 ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2011107907A JP2011107907A (ja) 2011-06-02
JP5333772B2 true JP5333772B2 (ja) 2013-11-06

Family

ID=44231314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009261241A Expired - Fee Related JP5333772B2 (ja) 2009-11-16 2009-11-16 ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5333772B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9319474B2 (en) * 2012-12-21 2016-04-19 Qualcomm Incorporated Method and apparatus for content delivery over a broadcast network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178752A (ja) * 2004-12-22 2006-07-06 Fuji Xerox Co Ltd 情報配布方法、ネットワーク、情報配布装置、情報配布プログラム、情報処理装置及び情報処理プログラム
JP2006285601A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd ファイル配信方法とそれを実現するクライアント端末
JP4604919B2 (ja) * 2005-08-31 2011-01-05 ブラザー工業株式会社 コンテンツ配信システム、コンテンツ配信方法、接続管理装置、配信装置、端末装置、及びそのプログラム

Also Published As

Publication number Publication date
JP2011107907A (ja) 2011-06-02

Similar Documents

Publication Publication Date Title
US11089117B2 (en) Discovery of remote storage services and associated applications
US8219632B2 (en) Efficient use of peer cache space in large scale file distributions
EP2946290B1 (en) Peer-to-peer software updates
JP2006285601A (ja) ファイル配信方法とそれを実現するクライアント端末
US10462250B2 (en) Distributed caching cluster client configuration
US10887333B1 (en) Multi-tenant threat intelligence service
US20200409584A1 (en) Load balancing for scalable storage system
US20120179778A1 (en) Applying networking protocols to image file management
US9529772B1 (en) Distributed caching cluster configuration
KR101086393B1 (ko) 웹 하드 혹은 웹 디스크에서의 토렌트 프로토콜 기반의 피투피-그리드 파일 공유 방법 및 장치와 그 시스템
US11030046B1 (en) Cluster diagnostics data for distributed job execution
KR101600717B1 (ko) P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치
US20150095496A1 (en) System, method and medium for information processing
JP5333772B2 (ja) ファイル配布システム、サーバ装置、ファイル配布方法、及びプログラム
US11586515B1 (en) Data ingestion replication and disaster recovery
KR101436406B1 (ko) P2p기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법
JP2013003768A (ja) 状態管理方法、処理装置、および状態管理プログラム
KR20210142829A (ko) 복수의 엣지 디바이스에게 애플리케이션을 배포하는 엣지 컴퓨팅 시스템 및 방법
JP5037545B2 (ja) 情報処理システムおよび制御プログラム
US20240143548A1 (en) Continuous ingestion of custom file formats
KR20060028261A (ko) 패치 자동 관리/분배 시스템 및 이를 이용한 패치 분배 방법
US20170286490A1 (en) Implicit subscriptions in the connection protocol of a network switch
US11625367B1 (en) Schema evolution
US11921700B1 (en) Error tables to track errors associated with a base table
US10284673B2 (en) Interface for a client of a network device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130627

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: 20130703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130716

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees