JP2008158711A - ファイル配信プログラム、ファイル配信装置および分散ファイルシステム - Google Patents
ファイル配信プログラム、ファイル配信装置および分散ファイルシステム Download PDFInfo
- Publication number
- JP2008158711A JP2008158711A JP2006345237A JP2006345237A JP2008158711A JP 2008158711 A JP2008158711 A JP 2008158711A JP 2006345237 A JP2006345237 A JP 2006345237A JP 2006345237 A JP2006345237 A JP 2006345237A JP 2008158711 A JP2008158711 A JP 2008158711A
- Authority
- JP
- Japan
- Prior art keywords
- file
- server
- client
- information
- unit
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】シンクライアントがファイルを取得する際に、通常時にはキャッシュサーバに接続し、キャッシュサーバの故障時にはファイルサーバに接続できるようにする。
【解決手段】ファイル記憶手段1aは、ファイルサーバ2が保持するファイルの複製を記憶する。サーバ情報記憶手段1bは、ファイルサーバ2と通信を行う場合の通信方法を定義したサーバ情報を記憶する。制御情報記憶手段1cは、キャッシュサーバ1が稼働中の場合はキャッシュサーバ1に、稼働中でない場合はファイルサーバ2にファイル取得要求を送信するように制御する制御情報を記憶する。起動情報送信手段1dは、クライアント3から起動通知が入力されると、制御情報とサーバ情報とをクライアント3に送信する。ファイル送信手段1eは、クライアント3からファイル取得要求が入力されると、ファイルをクライアント3に送信する。
【選択図】図1
【解決手段】ファイル記憶手段1aは、ファイルサーバ2が保持するファイルの複製を記憶する。サーバ情報記憶手段1bは、ファイルサーバ2と通信を行う場合の通信方法を定義したサーバ情報を記憶する。制御情報記憶手段1cは、キャッシュサーバ1が稼働中の場合はキャッシュサーバ1に、稼働中でない場合はファイルサーバ2にファイル取得要求を送信するように制御する制御情報を記憶する。起動情報送信手段1dは、クライアント3から起動通知が入力されると、制御情報とサーバ情報とをクライアント3に送信する。ファイル送信手段1eは、クライアント3からファイル取得要求が入力されると、ファイルをクライアント3に送信する。
【選択図】図1
Description
本発明はファイル配信プログラム、ファイル配信装置および分散ファイルシステムに関し、特にファイルの複製を保持して配信するファイル配信プログラム、ファイル配信装置および分散ファイルシステムに関する。
現在、ネットワーク技術の発達に伴い、ネットワーク型のファイルシステムが普及している。ネットワーク型のファイルシステムでは、ファイルサーバがファイルを管理し、クライアントが必要に応じてネットワーク経由でファイルサーバからファイルを取得する。ファイルサーバにファイルを配置することで、ファイルの管理や共有が容易となる(例えば、特許文献1参照)。
特に、オペレーティングシステム(OS:Operating System)のプログラムを含む大部分のファイルを、クライアントには配置せず、ファイルサーバに配置することも行われている。この場合、クライアントは、起動時にファイルサーバからOSプログラムを取得して起動処理を行い、その後、追加で必要なファイルをファイルサーバから適宜取得する。このような振る舞いをするクライアントは、シンクライアントと呼ばれる。シンクライアントは、ハードディスクドライブ(HDD:Hard Disk Drive)などの補助記憶装置にファイルを保持しないことから、情報漏洩リスクの低減に寄与する。
ところで、大規模な組織では、地理的に離れた場所にあるコンピュータ同士を、広域ネットワークで接続することが多い。すなわち、ファイルサーバとシンクライアントとが、地理的に離れた場所に存在することも考えられる。この場合、広域ネットワークを介した通信はローカルネットワーク内の通信と比べて遅延が大きいため、ファイル取得に要する時間が大きくなるという問題がある。そこで、ローカルネットワーク内に設けたキャッシュサーバが、ファイルサーバからファイルの複製を取得して保持する技術が知られている(例えば、特許文献2,3参照)。これにより、シンクライアントは同一ネットワーク内にあるキャッシュサーバと通信を行えばよく、ファイル取得に要する時間を短縮できる。
一方、シンクライアントを含むシステムでは、上記問題とは別に、ファイルサーバの可用性を高める必要があるという問題もある。すなわち、シンクライアントは、起動時には処理に必要なファイルをほとんど保持していない。このため、ファイルサーバに障害が発生すると、シンクライアントは処理を続行することが困難となる。これに対し、ファイルサーバを多重化して可用性を向上させる技術が知られている(例えば、特許文献4参照)。シンクライアントは、主サーバが正常な場合には主サーバからファイルを取得し、主サーバに障害が発生すると代替サーバからファイルを取得するようにする。これにより、シンクライアントが処理を続行できなくなるリスクを低減できる。
特表2005−538432号公報
特開2002−123400号公報
特開2005−339097号公報
特開2001−344141号公報
ここで、広域ネットワーク上で、可用性が高いシンクライアントのシステムを実現しようとする場合、特許文献2,3記載の技術と特許文献4記載の技術とを組み合わせることが考えられる。すなわち、ローカルネットワーク内にキャッシュサーバを設けることでファイル取得に要する時間を短縮し、更にキャッシュサーバを多重化することで可用性を向上させることが考えられる。しかし、個々のローカルネットワーク内に複数のキャッシュサーバを設けることは、導入コストおよび維持コストが極めて高く、現実的でない。
そこで、キャッシュサーバを主サーバ、ファイルサーバを代替サーバとして使用したいという要求がある。すなわち、シンクライアントは、通常時には同一ネットワーク内にあるキャッシュサーバに接続し、キャッシュサーバの故障時には広域ネットワーク経由でファイルサーバに接続できるようにしたいという要求がある。しかし、このような処理は、特許文献2,3,4記載の技術では実現することはできなかった。その理由は、以下の通りである。
通常、ローカルネットワーク内での通信と、広域ネットワークを介した通信とは、用いられる通信方法の規約(通信プロトコル)が異なる。例えば、ローカルネットワーク内での通信には、通信エラーの発生が少ないことが前提の“軽い”通信プロトコルが用いられる。一方、広域ネットワークを介した通信には、通信エラーの発生が多いことが前提の“強固な”通信プロトコルが用いられる。更に、広域ネットワークの通信に用いられる通信プロトコルには、さまざまな種類のものが存在する。
従って、シンクライアントは、接続先のサーバに応じて適切に通信方法を切り替えて通信を行う必要がある。しかし、従来、シンクライアントがこのような処理を行うことは困難であった。
本発明はこのような点に鑑みてなされたものであり、クライアントが、通常時にはキャッシュサーバに接続し、キャッシュサーバの故障時には広域ネットワーク経由でファイルサーバに接続できるようにするファイル配信プログラム、ファイル配信装置および分散ファイルシステムを提供することを目的とする。
本発明では上記課題を解決するために、図1に示すようなファイル配信プログラムが提供される。本発明に係るファイル配信プログラムは、ファイルサーバが管理するファイルの複製を保持してクライアントに配信するものである。このファイル配信プログラムを実行するコンピュータであるキャッシュサーバ1は、ファイル記憶手段1a、サーバ情報記憶手段1b、制御情報記憶手段1c、起動情報送信手段1dおよびファイル送信手段1eを有する。ファイル記憶手段1aは、キャッシュサーバ1とネットワーク4で接続されたファイルサーバ2が保持するファイルの複製を記憶する。サーバ情報記憶手段1bは、ファイルサーバ2とネットワーク4経由で通信を行う場合の通信方法を定義したサーバ情報を記憶する。制御情報記憶手段1cは、ファイル取得時に、キャッシュサーバ1が稼働中の場合はキャッシュサーバ1にファイル取得要求を送信し、稼働中でない場合はサーバ情報に基づいてファイルサーバ2にファイル取得要求を送信するようにクライアント3を制御する制御情報を記憶する。起動情報送信手段1dは、クライアント3の起動時に入力される起動通知に応答して、制御情報記憶手段1cが記憶する制御情報とサーバ情報記憶手段1bが記憶するサーバ情報とを、クライアント3に送信する。ファイル送信手段1eは、クライアント3の起動後に入力されるファイル取得要求に応答して、ファイル記憶手段1aが記憶する対応するファイルを、クライアント3に送信する。
このようなファイル配信プログラムを実行するキャッシュサーバ1によれば、ファイル記憶手段1aに、ファイルサーバ2が保持するファイルの複製が記憶される。サーバ情報記憶手段1bに、ファイルサーバ2と通信を行う場合の通信方法を定義したサーバ情報が記憶される。制御情報記憶手段1cに、キャッシュサーバ1が稼働中の場合はキャッシュサーバ1に、稼働中でない場合はファイルサーバ2にファイル取得要求を送信するように制御する制御情報が記憶される。ここで、クライアント3の起動通知が入力されると、起動情報送信手段1dにより、制御情報とサーバ情報とがクライアント3に送信される。クライアント3の起動後にファイル取得要求が入力されると、ファイル送信手段1eにより、ファイルがクライアント3に送信される。
また、上記課題を解決するために、ファイルの複製を保持して配信するファイル配信装置において、ファイル配信装置とネットワークで接続されたファイルサーバが保持するファイルの複製を記憶するファイル記憶手段と、ファイルサーバとネットワーク経由で通信を行う場合の通信方法を定義したサーバ情報を記憶するサーバ情報記憶手段と、ファイル取得時に、ファイル配信装置が稼働中の場合はファイル配信装置にファイル取得要求を送信し、稼働中でない場合はサーバ情報に基づいてファイルサーバにファイル取得要求を送信するようにクライアントを制御する制御情報を記憶する制御情報記憶手段と、クライアントの起動時に入力される起動通知に応答して、制御情報記憶手段が記憶する制御情報とサーバ情報記憶手段が記憶するサーバ情報とを、クライアントに送信する起動情報送信手段と、クライアントの起動後に入力されるファイル取得要求に応答して、ファイル記憶手段が記憶する対応するファイルを、クライアントに送信するファイル送信手段と、を有することを特徴とするファイル配信装置が提供される。
このようなファイル配信装置によれば、ファイル記憶手段に、ファイルサーバが保持するファイルの複製が記憶される。サーバ情報記憶手段に、ファイルサーバと通信を行う場合の通信方法を定義したサーバ情報が記憶される。制御情報記憶手段に、キャッシュサーバが稼働中の場合はキャッシュサーバに、稼働中でない場合はファイルサーバにファイル取得要求を送信するように制御する制御情報が記憶される。ここで、クライアントの起動通知が入力されると、起動情報送信手段により、制御情報とサーバ情報とがクライアントに送信される。クライアントの起動後にファイル取得要求が入力されると、ファイル送信手段により、ファイルがクライアントに送信される。
また、上記課題を解決するために、ファイルの複製を保持して配信する分散ファイルシステムにおいて、ファイルを記憶する第1のファイル記憶手段と、ネットワーク経由で入力されるファイル取得要求に応答して、第1のファイル記憶手段が記憶する対応するファイルを、ファイル取得要求の送信元に送信する第1のファイル送信手段と、を備えるファイルサーバと、ファイルサーバが保持するファイルの複製を記憶する第2のファイル記憶手段と、入力されるファイル取得要求に応答して、第2のファイル記憶手段が記憶する対応するファイルを、ファイル取得要求の送信元に送信する第2のファイル送信手段と、ファイルサーバとネットワーク経由で通信を行う場合の通信方法を定義したサーバ情報を記憶するサーバ情報記憶手段と、ファイル取得時に、第2のファイル送信手段が実行可能の場合は複製されたファイルを取得し、実行可能でない場合はサーバ情報に基づいてファイルサーバからファイルを取得するようにコンピュータを制御する制御情報を記憶する制御情報記憶手段と、入力される起動通知に応答して、制御情報記憶手段が記憶する制御情報とサーバ情報記憶手段が記憶するサーバ情報とを、起動通知の送信元に送信する起動情報送信手段と、を備えるキャッシュサーバと、起動時に、キャッシュサーバに起動通知を送信して、制御情報とサーバ情報とを取得する起動手段と、起動後に未取得のファイルが必要になると、キャッシュサーバの稼働状態を確認し、起動情報取得手段が取得した制御情報とサーバ情報とに基づいて、キャッシュサーバまたはファイルサーバにファイル取得要求を送信して、ファイルを取得するファイル取得手段と、を備えるクライアントと、を有することを特徴とする分散ファイルシステムが提供される。
このような分散ファイルシステムによれば、ファイルサーバにファイルが保持される。キャッシュサーバに、ファイルサーバが保持するファイルの複製と、ファイルサーバと通信を行う場合の通信方法を定義したサーバ情報と、キャッシュサーバが稼働中の場合はキャッシュサーバに、稼働中でない場合はファイルサーバにファイル取得要求を送信するように制御する制御情報とが記憶される。ここで、クライアントが起動すると、キャッシュサーバにより、制御情報とサーバ情報とがクライアントに送信される。その後、クライアントにより、キャッシュサーバが稼働中の場合には、キャッシュサーバにファイル取得要求が送信され、キャッシュサーバが稼働中でない場合には、ファイルサーバにファイル取得要求が送信されて、ファイルが取得される。
本発明では、クライアントの起動時に、ファイルサーバと通信を行う場合の通信方法を定義したサーバ情報と、キャッシュサーバが稼働中の場合はキャッシュサーバに、稼働中でない場合はファイルサーバにファイル取得要求を送信するように制御する制御情報とを、クライアントに送信することとした。これにより、クライアントが、通常時にはキャッシュサーバに接続し、キャッシュサーバの故障時には接続先が要求する通信方法に従ってファイルサーバに接続できるようになる。従って、広域ネットワークを利用したシステムでも、可用性の高いファイルシステムを低廉かつ容易に構築することができる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示す分散ファイルシステムは、ファイルサーバ2が管理するファイルの複製をキャッシュサーバ1が保持し、クライアント3に配信するものである。キャッシュサーバ1、ファイルサーバ2およびクライアント3は、それぞれ1台のコンピュータである。キャッシュサーバ1およびクライアント3は、ネットワーク4を介して、ファイルサーバ2と接続されている。
図1は、本実施の形態の概要を示す図である。図1に示す分散ファイルシステムは、ファイルサーバ2が管理するファイルの複製をキャッシュサーバ1が保持し、クライアント3に配信するものである。キャッシュサーバ1、ファイルサーバ2およびクライアント3は、それぞれ1台のコンピュータである。キャッシュサーバ1およびクライアント3は、ネットワーク4を介して、ファイルサーバ2と接続されている。
キャッシュサーバ1は、ファイル記憶手段1a、サーバ情報記憶手段1b、制御情報記憶手段1c、起動情報送信手段1dおよびファイル送信手段1eを有する。
ファイル記憶手段1aは、ファイルサーバ2が保持するファイルの複製を記憶する。記憶されるファイルは、クライアント3が使用する可能性のあるファイルである。例えば、プログラムファイル、プログラムの初期状態を定義する設定ファイル、データファイルなどである。ファイルの複製は、例えば、予めファイルサーバ2からネットワーク4経由で取得しておく。
ファイル記憶手段1aは、ファイルサーバ2が保持するファイルの複製を記憶する。記憶されるファイルは、クライアント3が使用する可能性のあるファイルである。例えば、プログラムファイル、プログラムの初期状態を定義する設定ファイル、データファイルなどである。ファイルの複製は、例えば、予めファイルサーバ2からネットワーク4経由で取得しておく。
サーバ情報記憶手段1bは、ファイルサーバ2についてのサーバ情報を記憶する。サーバ情報は、ファイルサーバ2からネットワーク4経由でファイルを取得する際の通信方法を定義する。サーバ情報には、例えば、ファイルサーバ2のアドレス、ファイル取得時に使用する通信プロトコルおよびポート番号が含まれる。
制御情報記憶手段1cは、制御情報を記憶する。制御情報は、未取得のファイルが必要になった際に、キャッシュサーバ1が稼働中の場合はキャッシュサーバ1からファイルを取得し、稼働中でない場合はファイルサーバ2からファイルを取得するように、コンピュータを制御する情報である。制御情報は、例えば、上記の処理手順を定義したプログラムまたはプログラム部品(モジュール)などである。
起動情報送信手段1dは、クライアント3が送信する起動通知に応答して、制御情報記憶手段1cが記憶する制御情報とサーバ情報記憶手段1bが記憶するサーバ情報とを、クライアント3に送信する。
ファイル送信手段1eは、クライアント3が送信するファイル取得要求に応答して、ファイル記憶手段1aから、ファイル取得要求に対応するファイルを抽出する。そして、ファイル送信手段1eは、抽出したファイルをクライアント3に送信する。なお、ファイル取得要求に対応するファイルがファイル記憶手段1aにない場合、ファイル送信手段1eは、ファイルサーバ2からネットワーク4経由でファイルを取得し、ファイル記憶手段1aに格納する。その際、ファイル送信手段1eは、サーバ情報記憶手段1bが記憶するサーバ情報を参照する。
ファイルサーバ2は、ファイル記憶手段2aおよびファイル送信手段2bを有する。
ファイル記憶手段2aは、ファイルの原本を記憶する。ファイル記憶手段2aが記憶するファイルの種類は、ファイル記憶手段1aが記憶するファイルの種類と同じである。
ファイル記憶手段2aは、ファイルの原本を記憶する。ファイル記憶手段2aが記憶するファイルの種類は、ファイル記憶手段1aが記憶するファイルの種類と同じである。
ファイル送信手段2bは、キャッシュサーバ1またはクライアント3が送信するファイル取得要求に応答して、ファイル記憶手段2aから、ファイル取得要求に対応するファイルを抽出する。そして、ファイル送信手段2bは、抽出したファイルをファイル取得要求の送信元に送信する。
クライアント3は、起動手段3aおよびファイル取得手段3bを有する。
起動手段3aは、クライアント3の起動を検知すると、キャッシュサーバ1に起動通知を送信する。そして、起動手段3aは、起動通知に応答してキャッシュサーバ1が送信するサーバ情報と制御情報とを受信し、受信したサーバ情報と制御情報とを利用可能な状態にする。例えば、制御情報がプログラムである場合、起動手段3aは、ファイル取得時に制御情報が示す処理手順が実行されるように、メモリ上にそのプログラムを展開する。
起動手段3aは、クライアント3の起動を検知すると、キャッシュサーバ1に起動通知を送信する。そして、起動手段3aは、起動通知に応答してキャッシュサーバ1が送信するサーバ情報と制御情報とを受信し、受信したサーバ情報と制御情報とを利用可能な状態にする。例えば、制御情報がプログラムである場合、起動手段3aは、ファイル取得時に制御情報が示す処理手順が実行されるように、メモリ上にそのプログラムを展開する。
ファイル取得手段3bは、起動後に未取得のファイルが必要になると、制御情報が示す処理手順に従って、キャッシュサーバ1またはファイルサーバ2からファイルを取得する。具体的には、ファイル取得手段3bは、キャッシュサーバ1が稼働中の場合は、キャッシュサーバ1にファイル取得要求を送信する。一方、キャッシュサーバ1が稼働中でない場合は、ファイルサーバ2にファイル取得要求を送信する。後者の場合、ファイル取得手段3bは、サーバ情報が示す通信方法に従って、ネットワーク4経由でファイルサーバ2と通信を行う。
このような分散ファイルシステムによれば、ファイルサーバ2にファイルの原本が保持される。キャッシュサーバ1に、ファイルサーバ2が保持するファイルの複製と、ファイルサーバ2と通信を行う場合の通信方法を定義したサーバ情報と、キャッシュサーバ1が稼働中の場合はキャッシュサーバ1に、稼働中でない場合はファイルサーバ2にファイル取得要求を送信するように制御する制御情報とが記憶される。ここで、クライアント3が起動すると、キャッシュサーバ1により、制御情報とサーバ情報とがクライアントに送信される。その後、クライアント3により、キャッシュサーバ1が稼働中の場合には、キャッシュサーバ1にファイル取得要求が送信され、キャッシュサーバ1が稼働中でない場合には、ファイルサーバ2にファイル取得要求が送信されて、ファイルが取得される。
これにより、クライアント3が、通常時にはキャッシュサーバ1に接続し、キャッシュサーバ1の故障時にはファイルサーバ2が要求する通信方法に従ってファイルサーバ2に接続できるようになる。従って、ファイルサーバ2およびネットワーク4の種類にかかわらず、高い応答性能と可用性とを兼ね備えた分散ファイルシステムを実現できる。
特に、キャッシュサーバ1とファイルサーバ2とを使い分ける処理を定義した情報を、予めクライアント3に組み込んでおく必要がないため、補助記憶装置をもたないシンクライアントをクライアント3として使用できる。以下に述べる本実施の形態では、すべてのクライアントは、補助記憶装置をもたないシンクライアントであるものとする。
[第1の実施の形態]
以下、第1の実施の形態を図面を参照して詳細に説明する。
図2は、第1の実施の形態のシステム構成を示す図である。図2に示す分散ファイルシステムは、本社構内に設置されたサーバが管理するファイルを、支社構内に設置されたクライアントから利用できるようにするシステムである。このように、クライアントが利用するファイルをサーバが一括管理することで、ファイル管理が容易になると共に、ファイルの不正利用の防止にも寄与する。
以下、第1の実施の形態を図面を参照して詳細に説明する。
図2は、第1の実施の形態のシステム構成を示す図である。図2に示す分散ファイルシステムは、本社構内に設置されたサーバが管理するファイルを、支社構内に設置されたクライアントから利用できるようにするシステムである。このように、クライアントが利用するファイルをサーバが一括管理することで、ファイル管理が容易になると共に、ファイルの不正利用の防止にも寄与する。
本社構内には、ネットワーク32、ルータ41および管理サーバ200が設置されている。ネットワーク32は、本社構内のローカルネットワークである。ルータ41は、広域ネットワークであるネットワーク31と本社構内のネットワーク32とを接続する。管理サーバ200は、ネットワーク32に接続されている。
支社A構内には、ネットワーク33、ルータ42、中継サーバ100およびクライアント300,300−2,・・・,300−nが設置されている。ネットワーク33は、支社A構内のローカルネットワークである。ルータ42は、広域ネットワークであるネットワーク31と支社A構内のネットワーク33とを接続する。中継サーバ100およびクライアント300,300−2,・・・,300−nは、ネットワーク33に接続されている。支社B構内および支社C構内も、支社A構内と同様のシステム構成となっている。
ここで、管理サーバ200は、クライアント300,300−2,・・・,300−nが利用するファイルの原本を保持するファイルサーバである。中継サーバ100は、管理サーバ200に対するキャッシュサーバである。すなわち、中継サーバ100は、クライアント300,300−2,・・・,300−nから過去に要求されたファイルの複製を保持する。要求されたファイルの複製を保持していない場合は、管理サーバ200からファイルを適宜取得する。クライアント300,300−2,・・・,300−nは、中継サーバ100が正常に稼働している場合は、中継サーバ100からファイルを取得する。中継サーバ100が正常に稼働していない場合は、管理サーバ200からファイルを取得する。
次に、中継サーバ100、管理サーバ200およびクライアント300,300−2,・・・,300−nのハードウェア構成について説明する。
図3は、第1の実施の形態の中継サーバのハードウェア構成を示す図である。中継サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、HDD103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
図3は、第1の実施の形態の中継サーバのハードウェア構成を示す図である。中継サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、HDD103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOSプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSプログラムやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク33に接続されている。
図4は、第1の実施の形態のクライアントのハードウェア構成を示す図である。クライアント300は、CPU301によって装置全体が制御されている。CPU301には、バス307を介してRAM302、ROM(Read Only Memory)303、グラフィック処理装置304、入力インタフェース305および通信インタフェース306が接続されている。
RAM302には、CPU301に実行させるOSプログラムやアプリケーションプログラムが一時的に格納される。また、RAM302には、CPU301による処理に必要な各種データが格納される。ROM303には、クライアント300の起動時、すなわち、クライアント300の電源がオンになったときに、最初に中継サーバ100にアクセスするための基本的なプログラムが格納されている。
グラフィック処理装置304には、モニタ21が接続されている。グラフィック処理装置304は、CPU301からの命令に従って、画像をモニタ21の画面に表示させる。入力インタフェース305には、キーボード22とマウス23とが接続されている。入力インタフェース305は、キーボード22やマウス23から送られてくる信号を、バス307を介してCPU301に送信する。通信インタフェース306は、ネットワーク33に接続されている。
管理サーバ200は、中継サーバ100と同様のハードウェア構成によって実現できる。クライアント300−2,・・・,300−nは、クライアント300と同様のハードウェア構成によって実現できる。なお、クライアント300,300−2,・・・,300−nは、HDDを搭載していてもよい。また、フラッシュメモリなどの不揮発性の半導体メモリを搭載していてもよい。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、中継サーバ100、管理サーバ200およびクライアント300,300−2,・・・,300−nのモジュール構成について説明する。
次に、中継サーバ100、管理サーバ200およびクライアント300,300−2,・・・,300−nのモジュール構成について説明する。
図5は、第1の実施の形態の管理サーバおよび中継サーバの機能を示すブロック図である。
中継サーバ100は、制御情報記憶部110、サーバ情報記憶部120、複製ファイル記憶部130、起動情報管理部140、複製ファイル管理部150および状態通知部160を有する。起動情報管理部140および複製ファイル管理部150は、管理サーバ200と通信が可能である。また、起動情報管理部140、複製ファイル管理部150および状態通知部160は、クライアント300,300−2,・・・,300−nと通信が可能である。
中継サーバ100は、制御情報記憶部110、サーバ情報記憶部120、複製ファイル記憶部130、起動情報管理部140、複製ファイル管理部150および状態通知部160を有する。起動情報管理部140および複製ファイル管理部150は、管理サーバ200と通信が可能である。また、起動情報管理部140、複製ファイル管理部150および状態通知部160は、クライアント300,300−2,・・・,300−nと通信が可能である。
制御情報記憶部110には、クライアント300,300−2,・・・,300−nが起動時に必要とする情報が格納される。具体的には、制御情報記憶部110には、OSプログラム、OSの起動を開始するプログラムであるブートローダ、RAMをファイル記憶装置として使用するプログラムであるRAMディスクドライバが格納される。
また、制御情報記憶部110には、ネットワーク経由でファイルを入出力するプログラムである入出力ドライバも格納される。入出力ドライバは、ファイルを操作する際に中継サーバ100の稼働状態を確認して、中継サーバ100が正常に稼働している場合は中継サーバ100のファイルを操作し、中継サーバ100が正常に稼働していない場合は管理サーバ200のファイルを操作するように、コンピュータを制御する。
サーバ情報記憶部120には、クライアント300,300−2,・・・,300−nが、中継サーバ100および管理サーバ200にアクセスする際の通信方法を定義したサーバ情報が格納される。サーバ情報には、中継サーバ100および管理サーバ200が使用する通信プロトコルの情報が含まれる。なお、中継サーバ100が使用する通信プロトコルと管理サーバ200が使用する通信プロトコルとは、同一であるとは限らない。
複製ファイル記憶部130には、管理サーバ200が保持するファイルの複製が格納される。具体的には、複製ファイル記憶部130には、アプリケーションプログラムのファイル、設定ファイル、データファイルが格納される。複製ファイル記憶部130では、管理サーバ200におけるディレクトリ構造(ファイルの階層構造)が維持されて、ファイルが管理される。
起動情報管理部140は、管理サーバ200から、クライアント300,300−2,・・・,300−nの起動時に送信すべき情報を記載した初期ファイルを受信する。初期ファイルには、制御情報記憶部110およびサーバ情報記憶部120に格納すべき情報の少なくとも一部が記載されている。起動情報管理部140は、受信した初期ファイルに応じて、制御情報記憶部110およびサーバ情報記憶部120に格納された情報を更新する。
また、起動情報管理部140は、クライアント300,300−2,・・・,300−nが起動時に送信する起動通知を受信する。起動情報管理部140は、起動通知に応答して、制御情報記憶部110およびサーバ情報記憶部120に格納された情報を、起動情報として起動通知の送信元に送信する。
複製ファイル管理部150は、クライアント300,300−2,・・・,300−nが送信するファイル操作要求を受信する。ファイル操作要求は、ファイル取得要求またはファイル更新要求である。
ファイル取得要求を受信すると、複製ファイル管理部150は、複製ファイル記憶部130に格納されたファイルの中から、指定されたファイルを検索する。ここで、指定されたファイルが複製ファイル記憶部130に存在しない場合、複製ファイル管理部150は、サーバ情報記憶部120に格納されたサーバ情報に従って、管理サーバ200からファイルを取得し、複製ファイル記憶部130に格納する。その後、複製ファイル管理部150は、指定されたファイルを要求元のクライアントに送信する。
ファイル更新要求を受信すると、複製ファイル管理部150は、複製ファイル記憶部130に格納された対応するファイルを更新する。そして、要求元のクライアントに、ファイル更新の結果を通知する。また、複製ファイル管理部150は、複製ファイル記憶部130に格納されたファイルの更新状況を定期的に確認する。更新されたファイルがある場合、複製ファイル管理部150は、管理サーバ200に更新内容を送信する。これにより、管理サーバ200が保持するファイルの原本に更新内容が反映される。
状態通知部160は、クライアント300,300−2,・・・,300−nが定期的に送信する状態確認要求に応答して、中継サーバ100のすべての機能が正常に動作しているか検査する。そして、検査結果を状態確認要求の送信元に送信する。また、状態通知部160は、中継サーバ100の稼働状態が異常から正常へと復旧した時点で、復旧を示すパケットをネットワーク33にブロードキャストする。
管理サーバ200は、初期ファイル記憶部210、原本ファイル記憶部220、初期ファイル送信部230および原本ファイル管理部240を有する。
初期ファイル記憶部210には、初期ファイルが格納される。前述の通り、初期ファイルに記載される情報は、中継サーバ100の制御情報記憶部110およびサーバ情報記憶部120に格納されるべき情報である。初期ファイルは、管理者によって予め作成される。また、管理者によって必要に応じて更新される。
初期ファイル記憶部210には、初期ファイルが格納される。前述の通り、初期ファイルに記載される情報は、中継サーバ100の制御情報記憶部110およびサーバ情報記憶部120に格納されるべき情報である。初期ファイルは、管理者によって予め作成される。また、管理者によって必要に応じて更新される。
原本ファイル記憶部220には、クライアント300,300−2,・・・,300−nが使用するアプリケーションプログラムのファイル、設定ファイルおよびデータファイルの原本が格納される。
初期ファイル送信部230は、管理者による配信指示の入力に応答して、初期ファイル記憶部210に格納された初期ファイルを、中継サーバ100に送信する。
原本ファイル管理部240は、中継サーバ100またはクライアント300,300−2,・・・,300−nが送信するファイル操作要求を受信する。ファイル操作要求は、ファイル取得要求またはファイル更新要求である。
原本ファイル管理部240は、中継サーバ100またはクライアント300,300−2,・・・,300−nが送信するファイル操作要求を受信する。ファイル操作要求は、ファイル取得要求またはファイル更新要求である。
ファイル取得要求を受信すると、原本ファイル管理部240は、原本ファイル記憶部220から指定されたファイルを取得し、要求元の中継サーバ100またはクライアントに送信する。ファイル更新要求を受信すると、原本ファイル管理部240は、原本ファイル記憶部220に格納された対応するファイルを更新する。そして、要求元の中継サーバ100またはクライアントに、ファイルの更新が完了した旨を通知する。
図6は、第1の実施の形態のクライアントの機能を示すブロック図である。クライアント300は、起動部310およびファイル入出力部320を有する。
起動部310は、クライアント300の起動信号、すなわち、クライアント300の電源がオンになったことを示す信号に応答して、動作を開始する。起動部310は、起動信号を検知すると、起動通知を示すパケットをネットワーク33にブロードキャストする。これは、起動部310は、起動時には中継サーバ100のアドレスを知らないためである。ブロードキャストされたパケットは、中継サーバ100に到達する。
起動部310は、クライアント300の起動信号、すなわち、クライアント300の電源がオンになったことを示す信号に応答して、動作を開始する。起動部310は、起動信号を検知すると、起動通知を示すパケットをネットワーク33にブロードキャストする。これは、起動部310は、起動時には中継サーバ100のアドレスを知らないためである。ブロードキャストされたパケットは、中継サーバ100に到達する。
起動部310は、起動通知に応答して中継サーバ100が送信した起動情報を受信すると、起動情報に基づいてクライアント300を起動する。具体的には、起動部310は、取得したブートローダ、OSプログラム、RAMディスクドライバを、RAM302上に展開する。そして、起動部310は、ブートローダを実行してOSの起動を開始する。また、起動部310は、取得した入出力ドライバおよびサーバ情報を、RAM302上に展開する。
なお、起動部310は、ROM303に格納されたプログラムによって実現される。ネットワーク経由でのブート処理の詳細は、PXE(Preboot eXecution Environment)の仕様で定義されている。
ファイル入出力部320は、ネットワーク33経由でファイルを入出力する。ただし、ファイル入出力部320が備える具体的な機能は、クライアント300の起動前は定義されていない。ファイル入出力部320の機能は、起動部310がRAM302上に展開する入出力ドライバおよびサーバ情報によって定義される。
起動完了後におけるファイル入出力部320は、サーバ情報記憶部321、状態確認部322および要求送信部323を有する。
サーバ情報記憶部321には、起動部310が取得したサーバ情報が格納される。
サーバ情報記憶部321には、起動部310が取得したサーバ情報が格納される。
状態確認部322は、サーバ情報記憶部321に格納されたサーバ情報に従って、中継サーバ100に状態確認要求を送信する。状態確認部322は、中継サーバ100から正常である旨の応答を得ている間は、定期的に状態確認要求を送信する。一方、中継サーバ100から異常である旨の応答を得ると、状態確認要求の送信を停止する。その場合、状態確認部322は、中継サーバ100から復旧した旨の通知を得たときに、状態確認要求の送信を再開する。
要求送信部323は、OSプログラムまたはアプリケーションプログラムからファイル入出力命令を受け付ける。ファイル入出力命令は、OSやアプリケーションが未取得のファイルを必要とした場合、および、RAM302上でファイルが更新された場合に発行される。
ファイル入出力命令を受け付けると、要求送信部323は、状態確認部322に中継サーバ100の稼働状態を問い合わせる。中継サーバ100が正常に稼働中である場合、要求送信部323は、ファイル入出力命令に対応するファイル操作要求を中継サーバ100に送信する。一方、中継サーバ100が正常に稼働していない場合、要求送信部323は、ファイル操作要求を管理サーバ200に送信する。ファイル操作要求の送信方法は、サーバ情報記憶部321に格納されたサーバ情報が示す通信方法に従う。
なお、クライアント300−2,・・・,300−nも、クライアント300と同様のモジュール構成によって実現できる。
図7は、第1の実施の形態のサーバ情報テーブルのデータ構造を示す図である。図7に示すサーバ情報テーブル121は、中継サーバ100のサーバ情報記憶部120に格納されている。サーバ情報テーブル121には、中継サーバ100および管理サーバ200に関する情報が、それぞれ関連付けられてテーブル化されて格納されている。
図7は、第1の実施の形態のサーバ情報テーブルのデータ構造を示す図である。図7に示すサーバ情報テーブル121は、中継サーバ100のサーバ情報記憶部120に格納されている。サーバ情報テーブル121には、中継サーバ100および管理サーバ200に関する情報が、それぞれ関連付けられてテーブル化されて格納されている。
サーバ情報テーブル121には、サーバ種別を示す項目、アドレスを示す項目、通信プロトコルを示す項目およびポート番号を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
サーバ種別の項目には、“管理サーバ”または“中継サーバ”のいずれか一方が設定される。アドレスの項目には、サーバのFQDN(Fully-Qualified Domain Name)が設定される。FQDNは、サーバが属するドメインのドメイン名とサーバ名とから成り、サーバを一意に識別する。通信プロトコルの項目には、ファイル操作要求を送信する際に使用すべき通信プロトコルの名称が設定される。ポート番号の項目には、ファイル操作要求を受け付けるためにサーバが用意している通信ポートのポート番号が設定される。
サーバ情報テーブル121に格納される情報は、起動情報管理部140によって、適宜登録および更新がなされる。例えば、管理サーバ200について、サーバ種別が“管理サーバ”、アドレスが“hq.example.com”、通信プロトコルが“WebDAV”、ポート番号が“80”という情報が登録される。
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。なお、クライアント300,300−2,・・・,300−nのうち、代表して、クライアント300が、中継サーバ100および管理サーバ200と通信を行う場合について説明する。
最初に、クライアント300が起動した際に実行される処理について説明する。
図8は、第1の実施の形態の起動処理の手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
図8は、第1の実施の形態の起動処理の手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
[ステップS11]起動部310は、起動信号、すなわち、クライアント300の電源がオンになった旨の信号を検知する。
[ステップS12]起動部310は、ネットワーク33に起動通知を示すパケットをブロードキャストする。
[ステップS12]起動部310は、ネットワーク33に起動通知を示すパケットをブロードキャストする。
[ステップS13]起動情報管理部140は、ネットワーク33にブロードキャストされたパケットを受信し、起動通知を取得する。そして、起動情報管理部140は、制御情報記憶部110からブートローダ、OSプログラム、RAMディスクドライバおよび入出力ドライバを抽出する。また、サーバ情報記憶部120から、サーバ情報を抽出する。
[ステップS14]起動情報管理部140は、ステップS13で抽出した情報を起動情報として、起動部310に送信する。
[ステップS15]起動部310は、起動情報を受信する。そして、起動部310は、ブートローダ、OSプログラムおよびRAMディスクドライバをRAM302上に展開し、ブートローダを実行してOSを起動する。
[ステップS15]起動部310は、起動情報を受信する。そして、起動部310は、ブートローダ、OSプログラムおよびRAMディスクドライバをRAM302上に展開し、ブートローダを実行してOSを起動する。
[ステップS16]起動部310は、入出力ドライバおよびサーバ情報をRAM302上に展開し、ファイル入出力部320の機能を実現する。
このようにして、クライアント300は、起動時に起動通知を中継サーバ100に送信する。中継サーバ100は、起動通知に応答して、クライアント300の起動に必要な起動情報をクライアント300に送信する。
このようにして、クライアント300は、起動時に起動通知を中継サーバ100に送信する。中継サーバ100は、起動通知に応答して、クライアント300の起動に必要な起動情報をクライアント300に送信する。
次に、クライアント300でファイル入出力命令が発生した際に実行される処理について説明する。
図9は、第1の実施の形態のファイル操作処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
図9は、第1の実施の形態のファイル操作処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS21]要求送信部323は、OSプログラムまたはアプリケーションプログラムが発生したファイル入出力命令を検知する。
[ステップS22]要求送信部323は、状態確認部322に問い合わせて、中継サーバ100の現在の稼働状態を示す情報を取得する。
[ステップS22]要求送信部323は、状態確認部322に問い合わせて、中継サーバ100の現在の稼働状態を示す情報を取得する。
[ステップS23]要求送信部323は、ステップS22で取得した情報に基づいて、中継サーバ100が正常に稼働しているか否か判断する。正常に稼働している場合は、処理がステップS24aに進められる。正常に稼働していない場合は、処理がステップS24bに進められる。
[ステップS24a]要求送信部323は、サーバ情報記憶部321から中継サーバ100に関するサーバ情報を取得する。これにより、中継サーバ100にアクセスするためのFQDN、通信プロトコルおよびポート番号が特定される。そして、要求送信部323は、図示しないDNS(Domain Name System)サーバを用いて、FQDNに対応するIP(Internet Protocol)アドレスを特定する。
[ステップS25a]要求送信部323は、ステップS24aで特定したIPアドレス、通信プロトコルおよびポート番号に基づいて、ファイル入出力命令に対応するファイル操作要求を複製ファイル管理部150に送信する。
[ステップS26a]複製ファイル管理部150は、受信したファイル操作要求に対応するファイル操作を実行する。すなわち、ファイル操作要求がファイル取得要求である場合、複製ファイル管理部150は、指定されたファイルを複製ファイル記憶部130または原本ファイル管理部240から取得する。ファイル更新要求である場合、複製ファイル管理部150は、複製ファイル記憶部130に格納された指定のファイルを更新する。
[ステップS27a]複製ファイル管理部150は、ステップS26aでのファイル操作の結果を、要求送信部323に通知する。すなわち、ファイル操作要求がファイル取得要求である場合、複製ファイル管理部150は、取得したファイルまたは取得失敗を通知する。ファイル更新要求である場合、複製ファイル管理部150は、更新完了または更新失敗を通知する。
[ステップS24b]要求送信部323は、サーバ情報記憶部321から管理サーバ200に関するサーバ情報を取得する。これにより、管理サーバ200にアクセスするためのFQDN、通信プロトコルおよびポート番号が特定される。そして、要求送信部323は、図示しないDNSサーバを用いて、FQDNに対応するIPアドレスを特定する。
[ステップS25b]要求送信部323は、ステップS24bで特定したIPアドレス、通信プロトコルおよびポート番号に基づいて、ファイル入出力命令に対応するファイル操作要求を原本ファイル管理部240に送信する。
[ステップS26b]原本ファイル管理部240は、受信したファイル操作要求に対応するファイル操作を実行する。すなわち、ファイル操作要求がファイル取得要求である場合、原本ファイル管理部240は、指定されたファイルを原本ファイル記憶部220から取得する。ファイル更新要求である場合、原本ファイル管理部240は、原本ファイル記憶部220に格納された指定のファイルを更新する。
[ステップS27b]原本ファイル管理部240は、ステップS26bでのファイル操作の結果を、要求送信部323に通知する。すなわち、ファイル操作要求がファイル取得要求である場合、原本ファイル管理部240は、取得したファイルまたは取得失敗を通知する。ファイル更新要求である場合、原本ファイル管理部240は、更新完了または更新失敗を通知する。
[ステップS28]要求送信部323は、中継サーバ100または管理サーバ200から通知された操作結果を、ファイル入出力命令の発行元に応答する。
このようにして、クライアント300は、ファイル入出力命令を検知すると、中継サーバ100の稼働状態を確認する。ここで、中継サーバ100が正常に稼働している場合、クライアント300は、中継サーバ100にファイル操作要求を送信する。一方、中継サーバ100が正常にしていない場合、クライアント300は、管理サーバ200にファイル操作要求を送信する。ファイル操作要求を受信した中継サーバ100または管理サーバ200は、ファイルの取得または更新を行い、クライアント300に応答する。
このようにして、クライアント300は、ファイル入出力命令を検知すると、中継サーバ100の稼働状態を確認する。ここで、中継サーバ100が正常に稼働している場合、クライアント300は、中継サーバ100にファイル操作要求を送信する。一方、中継サーバ100が正常にしていない場合、クライアント300は、管理サーバ200にファイル操作要求を送信する。ファイル操作要求を受信した中継サーバ100または管理サーバ200は、ファイルの取得または更新を行い、クライアント300に応答する。
なお、第1の実施の形態では、管理サーバ200が中継サーバ100に初期ファイルを送信するようにしたが、中継サーバ100が定期的に管理サーバ200にアクセスして、初期ファイルを取得するようにしてもよい。
また、第1の実施の形態では、中継サーバ100が保持する複製ファイルに対する更新を、管理サーバ200が保持する原本ファイルに定期的に反映させるようにしたが(ライトバック型処理)、複製ファイルの更新時に同時に原本ファイルも更新するようにしてもよい(ライトスルー型処理)。
また、第1の実施の形態では、クライアント300,300−2,・・・,300−nそれぞれが常に定期的に中継サーバ100にアクセスして稼働状態を確認するようにしたが、中継サーバ100の異常が発生した場合には、異常を最初に検知したクライアントが他のクライアントに異常が発生したことを示すパケットをブロードキャストし、クライアントが中継サーバ100に対する稼動状態の確認を抑制するようにしてもよい。あるいは、クライアントが中継サーバ100に稼動状態を確認する代わりに、中継サーバ100が稼働状態を示すパケットをネットワーク33にブロードキャストするようにしてもよい。
このような分散ファイルシステムを用いることで、クライアントは、通常時にはローカルネットワークを介して複製ファイルに対して操作を行い、複製ファイルを利用できない場合には広域ネットワークを介して原本ファイルに対して操作を行うことができる。特に、クライアントは、通信方法に関する情報が予め組み込まれていなくても、ローカルネットワークと広域ネットワークとで、それぞれ異なる通信方法を用いて通信を行うことができる。従って、クライアントとしてシンクライアントを採用しても、高い応答性能と可用性とを維持することができる。
[第2の実施の形態]
次に、第2の実施の形態を図面を参照して詳細に説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
次に、第2の実施の形態を図面を参照して詳細に説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
図10は、第2の実施の形態のシステム構成を示す図である。図10に示す分散ファイルシステムは、第1の実施の形態と同様、本社構内に設置されたサーバが管理するファイルを、支社構内に設置されたクライアントから利用できるようにするシステムである。ただし、第2の実施の形態では、本社構内に複数のサーバを設置している。このように、ファイルの種類毎にサーバを用意することで、ファイルの管理をより柔軟に行える。
本社構内には、ネットワーク32、ルータ41および管理サーバ400,500,500aが設置されている。管理サーバ400,500,500aは、ローカルネットワークであるネットワーク32に接続されている。
支社A構内には、ネットワーク33、ルータ42、中継サーバ100aおよびクライアント300a,300a−2,・・・,300a−nが設置されている。中継サーバ100aおよびクライアント300a,300a−2,・・・,300a−nは、ローカルネットワークであるネットワーク33に接続されている。
ここで、管理サーバ400,500,500aは、クライアント300a,300a−2,・・・,300a−nが利用するファイルの原本を、ファイルの種類に応じて分担して保持するファイルサーバである。中継サーバ100aは、管理サーバ400,500,500aが保持するファイルの複製を一括して管理するキャッシュサーバである。クライアント300a,300a−2,・・・,300a−nは、中継サーバ100aが正常に稼働している場合は、中継サーバ100aからファイルを取得する。中継サーバ100aが正常に稼働していない場合は、必要なファイルを保持している管理サーバからファイルを取得する。
中継サーバ100aおよび管理サーバ400,500,500aは、第1の実施の形態の中継サーバ100と同様のハードウェア構成によって実現できる。クライアント300a,300a−2,・・・,300a−nは、第1の実施の形態のクライアント300と同様のハードウェア構成によって実現できる。
図11は、第2の実施の形態の管理サーバおよび中継サーバの機能を示すブロック図である。
中継サーバ100aは、制御情報記憶部110a、サーバ情報記憶部120a、複製ファイル記憶部130、起動情報管理部140、複製ファイル管理部150aおよび状態通知部160を有する。複製ファイル記憶部130、起動情報管理部140および状態通知部160の処理機能は、第1の実施の形態のものと同様である。
中継サーバ100aは、制御情報記憶部110a、サーバ情報記憶部120a、複製ファイル記憶部130、起動情報管理部140、複製ファイル管理部150aおよび状態通知部160を有する。複製ファイル記憶部130、起動情報管理部140および状態通知部160の処理機能は、第1の実施の形態のものと同様である。
制御情報記憶部110aには、OSプログラム、ブートローダ、RAMディスクドライバおよび入出力ドライバが格納される。ここで、第2の実施の形態の入出力ドライバは、中継サーバ100aが正常に稼働していない場合、操作対象のファイルを保持する管理サーバにアクセスするように、コンピュータを制御する。
サーバ情報記憶部120aには、中継サーバ100aおよび管理サーバ400,500,500aにアクセスする際の通信方法を定義したサーバ情報が格納される。ここで、第2の実施の形態のサーバ情報には、個々の管理サーバが保持するファイルの種類を示す情報が更に含まれる。
複製ファイル管理部150aは、クライアント300a,300a−2,・・・,300a−nが送信するファイル操作要求に応答して、複製ファイル記憶部130に格納されたファイルに対して操作を行う。ここで、複製ファイル管理部150aは、指定されたファイルが複製ファイル記憶部130に存在しない場合、サーバ情報記憶部120aに格納されたサーバ情報に従って、操作対象のファイルを保持する管理サーバからファイルを取得する。
管理サーバ400は、初期ファイル記憶部410および初期ファイル送信部420を有する。初期ファイル記憶部410の処理機能は、第1の実施の形態の初期ファイル記憶部210と同様である。初期ファイル送信部420の処理機能は、第1の実施の形態の初期ファイル送信部230と同様である。
管理サーバ500は、原本ファイル記憶部510および原本ファイル管理部520を有する。原本ファイル記憶部510の処理機能は、第1の実施の形態の原本ファイル記憶部220と同様である。ただし、原本ファイル記憶部510には、クライアント300a,300a−2,・・・,300a−nが使用するファイルのうち、一部の種類のファイルが格納される。原本ファイル管理部520の処理機能は、第1の実施の形態の原本ファイル管理部240と同様である。
クライアント300a,300a−2,・・・,300a−nは、図6に示した第1の実施の形態のクライアント300と基本的に同じモジュール構成で実現できる。ただし、クライアント300a,300a−2,・・・,300a−nが保持するサーバ情報には、個々の管理サーバが保持するファイルの種類を示す情報が更に含まれる。また、クライアント300a,300a−2,・・・,300a−nは、中継サーバ100aが正常に稼働していない場合、操作対象ファイルに応じた管理サーバにファイル操作要求を送信する。
以下、クライアント300aは、第1の実施の形態のサーバ情報記憶部321および要求送信部323に代えて、それぞれ、サーバ情報記憶部321aおよび要求送信部323aを有しているものとする。
図12は、第2の実施の形態のサーバ情報テーブルのデータ構造を示す図である。図12に示すサーバ情報テーブル122は、中継サーバ100aのサーバ情報記憶部120aに格納されている。サーバ情報テーブル122には、中継サーバ100aおよび管理サーバ400,500,500aに関する情報が、それぞれ関連付けられてテーブル化されて格納されている。
サーバ情報テーブル122には、サーバ種別を示す項目、アドレスを示す項目、通信プロトコルを示す項目、ポート番号を示す項目、ファイルパスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。サーバ種別、アドレス、通信プロトコルおよびポート番号の意味は、それぞれ第1の実施の形態のサーバ情報テーブル121のものと同様である。
ファイルパスの項目には、管理サーバがファイルの保持を担当するディレクトリ名が設定される。すなわち、設定されたディレクトリ名より下の階層にあるファイルを、その管理サーバが保持していることを意味する。ただし、中継サーバ100aについては、管理サーバ400,500,500aが保持するファイルの複製を一括して保持するため、ファイルパスの項目は設定されない。
例えば、管理サーバ400は、“/boot/”より下の階層に配置されたファイルを保持している。ここで、“/boot/”は、初期ファイルを格納するディレクトリを意味する。また、管理サーバ500は、“/usr/data1/”より下の階層に配置されたアプリケーションプログラムのファイル、設定ファイルおよびデータファイルを保持している。管理サーバ500aは、“/usr/data2/”より下の階層に配置されたアプリケーションプログラムのファイル、設定ファイルおよびデータファイルを保持している。
次に、クライアント300aでファイル入出力命令が発生した際に実行される処理について説明する。
図13は、第2の実施の形態のファイル操作処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
図13は、第2の実施の形態のファイル操作処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS31]要求送信部323は、OSプログラムまたはアプリケーションプログラムが発生したファイル入出力命令を検知する。ここで、ファイル入出力命令には、操作対象のファイルの絶対パス名(ディレクトリ名とファイル名とから成るファイルを一意に識別する情報)が含まれている。
[ステップS32]要求送信部323aは、状態確認部322に問い合わせて、中継サーバ100aの現在の稼働状態を示す情報を取得する。
[ステップS33]要求送信部323aは、ステップS32で取得した情報に基づいて、中継サーバ100aが正常に稼働しているか否か判断する。正常に稼働している場合は、処理がステップS35aに進められる。正常に稼働していない場合は、処理がステップS34に進められる。
[ステップS33]要求送信部323aは、ステップS32で取得した情報に基づいて、中継サーバ100aが正常に稼働しているか否か判断する。正常に稼働している場合は、処理がステップS35aに進められる。正常に稼働していない場合は、処理がステップS34に進められる。
[ステップS34]要求送信部323aは、サーバ情報記憶部321aに格納されたサーバ情報を参照し、ファイル入出力命令で指定された絶対パス名に対応する管理サーバが存在するか否か判断する。存在する場合は、処理がステップS35bに進められる。存在しない場合は、処理がステップS39に進められる。
[ステップS35a]要求送信部323aは、サーバ情報記憶部321aから中継サーバ100aに関するサーバ情報を取得し、FQDN、通信プロトコルおよびポート番号を特定する。そして、要求送信部323aは、図示しないDNSサーバを用いて、FQDNに対応するIPアドレスを特定する。
[ステップS36a]要求送信部323aは、ステップS35aで特定したIPアドレス、通信プロトコルおよびポート番号に基づいて、ファイル入出力命令に対応するファイル操作要求を複製ファイル管理部150aに送信する。
[ステップS37a]複製ファイル管理部150aは、受信したファイル操作要求に対応するファイル操作を実行する。すなわち、ファイル操作要求がファイル取得要求である場合、複製ファイル管理部150aは、指定されたファイルを複製ファイル記憶部130、管理サーバ500,500aのいずれかから取得する。ファイル更新要求である場合、複製ファイル管理部150aは、複製ファイル記憶部130に格納された指定のファイルを更新する。
[ステップS38a]複製ファイル管理部150aは、ステップS37aでのファイル操作の結果を、要求送信部323aに通知する。
[ステップS35b]要求送信部323aは、サーバ情報記憶部321aから操作対象のファイルを保持している管理サーバに関するサーバ情報を取得し、FQDN、通信プロトコルおよびポート番号を特定する。そして、要求送信部323aは、図示しないDNSサーバを用いて、FQDNに対応するIPアドレスを特定する。
[ステップS35b]要求送信部323aは、サーバ情報記憶部321aから操作対象のファイルを保持している管理サーバに関するサーバ情報を取得し、FQDN、通信プロトコルおよびポート番号を特定する。そして、要求送信部323aは、図示しないDNSサーバを用いて、FQDNに対応するIPアドレスを特定する。
[ステップS36b]要求送信部323aは、ステップS35bで特定したIPアドレス、通信プロトコルおよびポート番号に基づいて、ファイル入出力命令に対応するファイル操作要求を管理サーバ500,500aのいずれかに送信する。以下では、管理サーバ500にファイル操作要求を送信すると仮定する。
[ステップS37b]原本ファイル管理部520は、受信したファイル操作要求に対応するファイル操作を実行する。すなわち、ファイル操作要求がファイル取得要求である場合、原本ファイル管理部520は、指定されたファイルを原本ファイル記憶部510から取得する。ファイル更新要求である場合、原本ファイル管理部520は、原本ファイル記憶部510に格納された指定のファイルを更新する。
[ステップS38b]原本ファイル管理部520は、ステップS37bでのファイル操作の結果を、要求送信部323aに通知する。
[ステップS39]要求送信部323aは、ファイル入出力命令に対する処理結果を、命令の発行元に応答する。具体的には、ステップS34で絶対パス名に対応する管理サーバが存在しないと判断したときは、絶対パス名が無効である旨を応答する。中継サーバ100aまたはいずれかの管理サーバから操作結果の通知を受けたときは、その通知内容を応答する。
[ステップS39]要求送信部323aは、ファイル入出力命令に対する処理結果を、命令の発行元に応答する。具体的には、ステップS34で絶対パス名に対応する管理サーバが存在しないと判断したときは、絶対パス名が無効である旨を応答する。中継サーバ100aまたはいずれかの管理サーバから操作結果の通知を受けたときは、その通知内容を応答する。
このようにして、クライアント300aは、ファイル入出力命令を検知すると、中継サーバ100aの稼働状態を確認する。ここで、中継サーバ100aが正常に稼働している場合、クライアント300aは、中継サーバ100aにファイル操作要求を送信する。一方、中継サーバ100aが正常にしていない場合、クライアント300aは、操作対象のファイルを保持している管理サーバを特定し、特定した管理サーバにファイル操作要求を送信する。ファイル操作要求を受信した中継サーバ100aまたは管理サーバ500,500aは、ファイルの取得または更新を行い、クライアント300aに応答する。
このような分散ファイルシステムを用いることで、第1の実施の形態の分散ファイルシステムを用いた場合と同様の効果が得られる。更に、第2の実施の形態の分散ファイルシステムを用いることで、クライアントは、複製ファイルを利用できない場合に、操作対象の原本ファイルを保持している管理サーバに対して直接、ファイル操作要求を送信することができる。従って、クライアントとしてシンクライアントを採用しても、ファイルの管理をより柔軟に行うことができる。
[第3の実施の形態]
次に、第3の実施の形態を図面を参照して詳細に説明する。前述の第1および第2の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第3の実施の形態の分散ファイルシステムは、本社構内に設置されたサーバを動的に入れ替えられるようにしたものである。
次に、第3の実施の形態を図面を参照して詳細に説明する。前述の第1および第2の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第3の実施の形態の分散ファイルシステムは、本社構内に設置されたサーバを動的に入れ替えられるようにしたものである。
第3の実施の形態のシステム構成は、図10に示した第2の実施の形態のものと基本的に同じである。ただし、第3の実施の形態では、第2の実施の形態の中継サーバ100aに代えて、中継サーバ100bがネットワーク33に接続されている。また、管理サーバ400に代えて、管理サーバ400aがネットワーク32に接続されている。クライアント300a,300a−2,・・・,300a−nに代えて、クライアント300b,300b−2,・・・,300b−nがネットワーク33に接続されている。
ここで、中継サーバ100bおよび管理サーバ400aは、第1の実施の形態の中継サーバ100と同様のハードウェア構成によって実現できる。クライアント300b,300b−2,・・・,300b−nは、第1の実施の形態のクライアント300と同様のハードウェア構成によって実現できる。
図14は、第3の実施の形態の管理サーバおよび中継サーバの機能を示すブロック図である。
中継サーバ100bは、制御情報記憶部110b、サーバ情報記憶部120b、複製ファイル記憶部130、起動情報管理部140b、複製ファイル管理部150b、状態通知部160、クライアント情報記憶部170および変更通知部180を有する。
中継サーバ100bは、制御情報記憶部110b、サーバ情報記憶部120b、複製ファイル記憶部130、起動情報管理部140b、複製ファイル管理部150b、状態通知部160、クライアント情報記憶部170および変更通知部180を有する。
制御情報記憶部110b、サーバ情報記憶部120b、複製ファイル記憶部130、複製ファイル管理部150bおよび状態通知部160の処理機能は、それぞれ、第2の実施の形態の制御情報記憶部110a、サーバ情報記憶部120a、複製ファイル記憶部130、複製ファイル管理部150aおよび状態通知部160と同様である。
起動情報管理部140bは、クライアント300b,300b−2,・・・,300b−nが起動時に送信する起動通知を受信する。起動情報管理部140bは、起動通知に応答して、制御情報記憶部110bおよびサーバ情報記憶部120bに格納された情報を、起動情報として起動通知の送信元に送信する。
その後、起動情報管理部140bは、クライアント情報記憶部170に、クライアントが起動したことを示す情報を登録する。起動したクライアントは、起動通知に含まれるMAC(Media Access Control)アドレスによって特定する。なお、DHCP(Dynamic Host Configuration Protocol)の機能を用いて、起動したクライアントにIPアドレスを動的に割り当てた場合、起動情報管理部140bは、割り当てたIPアドレスもクライアント情報記憶部170に登録する。
また、起動情報管理部140bは、クライアント300b,300b−2,・・・,300b−nが終了時に送信する終了通知を受信する。起動情報管理部140bは、終了通知に応答して、クライアント情報記憶部170に、クライアントが終了したことを示す情報を登録する。
また、起動情報管理部140bは、管理サーバ400aから初期ファイルまたは更新通知を受信すると、制御情報記憶部110bおよびサーバ情報記憶部120bに格納された情報を更新する。このとき、サーバ情報の変更を検知すると、起動情報管理部140bは、変更通知部180に変更後のサーバ情報を通知する。
クライアント情報記憶部170には、クライアント300b,300b−2,・・・,300b−nのクライアント情報が格納される。クライアント情報には、個々のクライアントのアドレスの情報と、起動状態を示す情報とが含まれる。
変更通知部180は、起動情報管理部140bからサーバ情報の通知を受けると、クライアント情報記憶部170に格納されたクライアント情報を検索して、起動しているクライアントを特定する。そして、変更通知部180は、特定したクライアントに変更後のサーバ情報を送信する。
管理サーバ400aは、初期ファイル記憶部410および初期ファイル送信部420aを有する。初期ファイル記憶部410の処理機能は、第1の実施の形態の初期ファイル記憶部210と同様である。初期ファイル送信部420aは、管理者による配信指示の入力に応答して、初期ファイル記憶部410に格納された初期ファイルを、中継サーバ100bに送信する。また、管理者によるサーバ情報の再配布指示の入力に応答して、初期ファイル記憶部410からサーバ情報を抽出し、中継サーバ100bに送信する。
図15は、第3の実施の形態のクライアントの機能を示すブロック図である。クライアント300bは、起動部310およびファイル入出力部320bを有する。起動部310の処理機能は、第1の実施の形態のものと同様である。
ファイル入出力部320bは、ネットワーク33経由でファイルを入出力する。ただし、ファイル入出力部320bが備える具体的な機能は、起動部310がRAM302上に展開する入出力ドライバおよびサーバ情報によって定義される。
起動完了後におけるファイル入出力部320bは、サーバ情報記憶部321b、状態確認部322、要求送信部323bおよびサーバ情報更新部324を有する。サーバ情報記憶部321bの処理機能は、第2の実施の形態のサーバ情報記憶部321aと同様である。状態確認部322の処理機能は、第1の実施の形態のものと同様である。
要求送信部323bは、ファイル入出力命令を受け付けると、状態確認部322に中継サーバ100bの稼働状態を問い合わせる。そして、中継サーバ100bが正常に稼働中である場合、ファイル入出力命令に対応するファイル操作要求を中継サーバ100bに送信する。中継サーバ100bが正常に稼働していない場合、操作対象ファイルに応じた管理サーバにファイル操作要求を送信する。
また、要求送信部323bは、OSプログラムからOSを終了して電源をオフにすることを示す終了準備命令を受け付けると、中継サーバ100bに終了通知を送信する。
サーバ情報更新部324は、中継サーバ100bから変更後のサーバ情報を受信すると、サーバ情報記憶部321bに格納された変更前のサーバ情報を更新する。
サーバ情報更新部324は、中継サーバ100bから変更後のサーバ情報を受信すると、サーバ情報記憶部321bに格納された変更前のサーバ情報を更新する。
なお、クライアント300b−2,・・・,300b−nも、クライアント300bと同様のモジュール構成によって実現できる。
図16は、第3の実施の形態のクライアント情報テーブルのデータ構造を示す図である。図16に示すクライアント情報テーブル171は、中継サーバ100bのクライアント情報記憶部170に格納されている。クライアント情報テーブル171には、クライアント300b,300b−2,・・・,300b−nに関する情報が、それぞれ関連付けられてテーブル化されて格納されている。
図16は、第3の実施の形態のクライアント情報テーブルのデータ構造を示す図である。図16に示すクライアント情報テーブル171は、中継サーバ100bのクライアント情報記憶部170に格納されている。クライアント情報テーブル171には、クライアント300b,300b−2,・・・,300b−nに関する情報が、それぞれ関連付けられてテーブル化されて格納されている。
クライアント情報テーブル171には、MACアドレスを示す項目、IPアドレスを示す項目、ポート番号を示す項目、状態を示す項目および更新時刻を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
MACアドレスの項目には、クライアントを一意に識別するMACアドレスが設定される。IPアドレスの項目には、クライアントに割り当てられたIPアドレスが設定される。ポート番号の項目には、変更後のサーバ情報を受信するためにクライアントが用意している通信ポートの番号が設定される。状態の項目には、クライアントの起動状態を示す値が設定される。具体的には、起動中であることを示す“open”または起動していないことを示す“closed”のいずれか一方が設定される。更新時刻の項目には、状態の項目の値が変化した時刻が設定される。
クライアント情報テーブル171に格納される情報は、予め管理者によって既定値が登録される。その後、起動情報管理部140bによって、適宜更新がなされる。例えば、クライアント300bについて、MACアドレスが“00e000010203”、IPアドレスが“192.168.1.50”、ポート番号が“5060”、状態が“open”、更新時刻が“2006−09−23 10:21:47”という情報が登録される。
次に、管理サーバの入れ替えが発生した際に実行される処理について説明する。
図17は、第3の実施の形態のサーバ変更処理の手順を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
図17は、第3の実施の形態のサーバ変更処理の手順を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS41]初期ファイル送信部420aは、管理者によるサーバ情報の再配信指示の入力があると、初期ファイル記憶部410からサーバ情報を抽出する。ここで、初期ファイルに記載されたサーバ情報は、予め管理者によって更新されている。そして、初期ファイル送信部420aは、起動情報管理部140bに変更後のサーバ情報を送信する。
[ステップS42]起動情報管理部140bは、受信したサーバ情報に基づいて、サーバ情報記憶部120bに格納された情報を更新する。また、起動情報管理部140bは、変更後のサーバ情報を、変更通知部180に通知する。
[ステップS43]変更通知部180は、サーバ情報を取得すると、クライアント情報記憶部170に格納されたクライアント情報を参照し、起動中のクライアントのIPアドレスとポート番号とを特定する。
[ステップS44]変更通知部180は、ステップS43で特定したIPアドレスとポート番号とを宛先として、取得したサーバ情報を送信する。以下では、クライアント300bにサーバ情報を送信したものと仮定する。
[ステップS45]サーバ情報更新部324は、受信した変更後のサーバ情報を用いて、サーバ情報記憶部321bに格納された情報を更新する。
このようにして、管理サーバ400aは、変更後のサーバ情報を中継サーバ100bに送信する。中継サーバ100bは、クライアント300b,300b−2,・・・,300b−nの起動状態を確認し、起動中のクライアントに変更後のサーバ情報を送信する。変更後のサーバ情報を受信したクライアントは、自身が保持するサーバ情報を更新する。
このようにして、管理サーバ400aは、変更後のサーバ情報を中継サーバ100bに送信する。中継サーバ100bは、クライアント300b,300b−2,・・・,300b−nの起動状態を確認し、起動中のクライアントに変更後のサーバ情報を送信する。変更後のサーバ情報を受信したクライアントは、自身が保持するサーバ情報を更新する。
このような分散ファイルシステムを用いることで、第2の実施の形態の分散ファイルシステムを用いた場合と同様の効果が得られる。更に、第3の実施の形態の分散ファイルシステムを用いることで、クライアント300b,300b−2,・・・,300b−nに影響を与えることなく、管理サーバ400a,500,500aの保守を行うことができる。従って、より可用性の高い分散ファイルシステムを提供することができる。
[第4の実施の形態]
次に、第4の実施の形態を図面を参照して詳細に説明する。前述の第1、第2および第3の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第4の実施の形態の分散ファイルシステムは、中継サーバの稼働状態にかかわらず、本社構内に設置されたサーバを動的に入れ替えられるようにしたものである。
次に、第4の実施の形態を図面を参照して詳細に説明する。前述の第1、第2および第3の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第4の実施の形態の分散ファイルシステムは、中継サーバの稼働状態にかかわらず、本社構内に設置されたサーバを動的に入れ替えられるようにしたものである。
第4の実施の形態のシステム構成は、図10に示した第2の実施の形態のものと基本的に同じである。ただし、第4の実施の形態では、第2の実施の形態の中継サーバ100aに代えて、中継サーバ100cがネットワーク33に接続されている。また、クライアント300a,300a−2,・・・,300a−nに代えて、クライアント300c,300c−2,・・・,300c−nがネットワーク33に接続されている。管理サーバ400に代えて、管理サーバ400bがネットワーク32に接続されている。
ここで、中継サーバ100cおよび管理サーバ400bは、第1の実施の形態の中継サーバ100と同様のハードウェア構成によって実現できる。クライアント300c,300c−2,・・・,300c−nは、第1の実施の形態のクライアント300と同様のハードウェア構成によって実現できる。
図18は、第4の実施の形態の管理サーバおよび中継サーバの機能を示すブロック図である。
中継サーバ100cは、制御情報記憶部110c、サーバ情報記憶部120c、複製ファイル記憶部130、起動情報管理部140c、複製ファイル管理部150cおよび状態通知部160を有する。
中継サーバ100cは、制御情報記憶部110c、サーバ情報記憶部120c、複製ファイル記憶部130、起動情報管理部140c、複製ファイル管理部150cおよび状態通知部160を有する。
制御情報記憶部110c、サーバ情報記憶部120c、複製ファイル記憶部130、複製ファイル管理部150cおよび状態通知部160の処理機能は、それぞれ、第2の実施の形態の制御情報記憶部110a、サーバ情報記憶部120a、複製ファイル記憶部130、複製ファイル管理部150aおよび状態通知部160と同様である。
起動情報管理部140cは、クライアント300c,300c−2,・・・,300c−nが起動時に送信する起動通知に応答して、制御情報記憶部110cおよびサーバ情報記憶部120cに格納された情報を、起動情報として起動通知の送信元に送信する。また、起動情報管理部140cは、管理サーバ400bから初期ファイルまたは更新通知を受信すると、制御情報記憶部110cおよびサーバ情報記憶部120cに格納された情報を更新する。
管理サーバ400bは、初期ファイル記憶部410、初期ファイル送信部420b、クライアント情報記憶部430およびクライアント管理部440を有する。初期ファイル記憶部410の処理機能は、第1の実施の形態の初期ファイル記憶部210と同様である。
初期ファイル送信部420bは、管理者による配信指示の入力に応答して、初期ファイル記憶部410に格納された初期ファイルを、中継サーバ100cに送信する。また、管理者によるサーバ情報の再配布指示の入力に応答して、初期ファイル記憶部410からサーバ情報を抽出し、中継サーバ100cに送信する。このとき、初期ファイル送信部420bは、クライアント管理部440にサーバ情報を通知する。
クライアント情報記憶部430には、第3の実施の形態のクライアント情報テーブル171と同様のクライアント情報テーブル431が格納される。
クライアント管理部440は、クライアント300c,300c−2,・・・,300c−nが送信する登録要求を受信する。登録要求には、MACアドレス、IPアドレス、ポート番号、起動または終了を示す状態情報および起動時刻が含まれる。クライアント管理部440は、登録要求に応答して、クライアント情報記憶部430に格納されたクライアント情報を更新する。
クライアント管理部440は、クライアント300c,300c−2,・・・,300c−nが送信する登録要求を受信する。登録要求には、MACアドレス、IPアドレス、ポート番号、起動または終了を示す状態情報および起動時刻が含まれる。クライアント管理部440は、登録要求に応答して、クライアント情報記憶部430に格納されたクライアント情報を更新する。
また、クライアント管理部440は、初期ファイル送信部420bからサーバ情報の通知を受けると、クライアント情報記憶部430に格納されたクライアント情報を検索して、起動しているクライアントを特定する。そして、クライアント管理部440は、特定したクライアントに変更後のサーバ情報を送信する。
図19は、第4の実施の形態のクライアントの機能を示すブロック図である。クライアント300cは、起動部310およびファイル入出力部320cを有する。起動部310の処理機能は、第1の実施の形態のものと同様である。
ファイル入出力部320cは、ネットワーク33経由でファイルを入出力する。ただし、ファイル入出力部320cが備える具体的な機能は、起動部310がRAM302上に展開する入出力ドライバおよびサーバ情報によって定義される。
起動完了後におけるファイル入出力部320cは、サーバ情報記憶部321c、状態確認部322、要求送信部323cおよびサーバ情報更新部324cを有する。サーバ情報記憶部321cの処理機能は、第2の実施の形態のサーバ情報記憶部321aと同様である。状態確認部322の処理機能は、第1の実施の形態のものと同様である。
要求送信部323cは、起動が完了すると、サーバ情報記憶部321cから管理サーバ400bのサーバ情報を取得し、起動した旨の登録要求を管理サーバ400bに送信する。また、要求送信部323cは、OSプログラムからOSを終了して電源をオフにすることを示す終了準備命令を受け付けると、管理サーバ400bに終了する旨の登録要求を送信する。
また、要求送信部323cは、ファイル入出力命令を受け付けると、状態確認部322に中継サーバ100cの稼働状態を問い合わせる。そして、中継サーバ100cが正常に稼働中である場合、ファイル入出力命令に対応するファイル操作要求を中継サーバ100cに送信する。中継サーバ100cが正常に稼働していない場合、操作対象ファイルに応じた管理サーバにファイル操作要求を送信する。
サーバ情報更新部324cは、管理サーバ400bから変更後のサーバ情報を受信すると、サーバ情報記憶部321cに格納された変更前のサーバ情報を更新する。
なお、クライアント300c−2,・・・,300c−nも、クライアント300cと同様のモジュール構成によって実現できる。
なお、クライアント300c−2,・・・,300c−nも、クライアント300cと同様のモジュール構成によって実現できる。
次に、クライアント300cが起動した際に実行される処理について説明する。
図20は、第4の実施の形態の起動処理の手順を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
図20は、第4の実施の形態の起動処理の手順を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS51]起動部310は、起動信号、すなわち、クライアント300cの電源がオンになった旨の信号を検知する。
[ステップS52]起動部310は、ネットワーク33に起動通知を示すパケットをブロードキャストする。
[ステップS52]起動部310は、ネットワーク33に起動通知を示すパケットをブロードキャストする。
[ステップS53]起動情報管理部140cは、ネットワーク33にブロードキャストされたパケットを受信し、起動通知を取得する。そして、起動情報管理部140cは、制御情報記憶部110cからブートローダ、OSプログラム、RAMディスクドライバおよび入出力ドライバを抽出する。また、サーバ情報記憶部120cから、サーバ情報を抽出する。
[ステップS54]起動情報管理部140cは、ステップS53で抽出した情報を起動情報として、起動部310に送信する。
[ステップS55]起動部310は、起動情報を受信する。そして、起動部310は、ブートローダ、OSプログラムおよびRAMディスクドライバをRAM302上に展開し、ブートローダを実行してOSを起動する。
[ステップS55]起動部310は、起動情報を受信する。そして、起動部310は、ブートローダ、OSプログラムおよびRAMディスクドライバをRAM302上に展開し、ブートローダを実行してOSを起動する。
[ステップS56]起動部310は、入出力ドライバおよびサーバ情報をRAM302上に展開し、ファイル入出力部320cの機能を実現する。
[ステップS57]要求送信部323cは、サーバ情報記憶部321cから管理サーバ400bに関するサーバ情報を取得し、アドレスを特定する。そして、要求送信部323cは、起動した旨の登録要求を管理サーバ400bに送信する。
[ステップS57]要求送信部323cは、サーバ情報記憶部321cから管理サーバ400bに関するサーバ情報を取得し、アドレスを特定する。そして、要求送信部323cは、起動した旨の登録要求を管理サーバ400bに送信する。
[ステップS58]クライアント管理部440は、受信した登録要求に従って、クライアント情報記憶部430に格納されたクライアント情報を更新する。
このようにして、クライアント300cは、起動時に起動通知を中継サーバ100cに送信して起動処理を行う。起動完了後、クライアント300cは、管理サーバ400bに登録要求を送信する。これにより、管理サーバ400bは、クライアント300cが起動したことを検知し、クライアント300cに関するクライアント情報を保持する。
このようにして、クライアント300cは、起動時に起動通知を中継サーバ100cに送信して起動処理を行う。起動完了後、クライアント300cは、管理サーバ400bに登録要求を送信する。これにより、管理サーバ400bは、クライアント300cが起動したことを検知し、クライアント300cに関するクライアント情報を保持する。
なお、クライアント300cに割り当てられたIPアドレスが支社A構内でのみ有効なプライベートアドレスである場合、ルータ42のNAPT(Network Address Port Translation)機能によって、登録要求に含まれるIPアドレスとポート番号とが、グローバルなIPアドレスとポート番号とに変換される。これにより、管理サーバ400bからクライアント300cへのアクセスが可能となる。
図21は、第4の実施の形態の登録要求のデータ構造を示す図である。図21に示すメッセージ910は、起動完了後にクライアント300cが管理サーバ400bに送信する登録要求の内容である。ここでは、登録要求の送受信に使用する通信プロトコルとして、SIP(Session Initiation Protocol)を使用している。
メッセージ910の項目911は、管理サーバ400bを宛先とする登録要求であることを示している。項目912は、管理サーバ400bがクライアント300cにメッセージを送信する場合に使用すべきアドレスを示している。具体的には、“@”の前がMACアドレスであり、“@”と“:”との間がIPアドレスであり、“:”の後がポート番号である。なお、項目912に含まれるIPアドレスとポート番号とは、ルータ43のNAPT機能によって変換された後のものである。項目913は、クライアント300cの状態が起動中の状態になったことを示している。項目914は、クライアント300cが起動した時刻を示している。
次に、管理サーバの入れ替えが発生した際に実行される処理について説明する。
図22は、第4の実施の形態のサーバ変更処理の手順を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
図22は、第4の実施の形態のサーバ変更処理の手順を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS61]初期ファイル送信部420bは、管理者によるサーバ情報の再配信指示の入力があると、初期ファイル記憶部410からサーバ情報を抽出する。そして、初期ファイル送信部420bは、起動情報管理部140cに変更後のサーバ情報を送信する。
[ステップS62]起動情報管理部140cは、受信したサーバ情報に基づいて、サーバ情報記憶部120cに格納された情報を更新する。
[ステップS63]初期ファイル送信部420bは、変更後のサーバ情報をクライアント管理部440に通知する。クライアント管理部440は、クライアント情報記憶部430に格納されたクライアント情報を参照し、起動中のクライアントに対応するMACアドレス、IPアドレスおよびポート番号を特定する。
[ステップS63]初期ファイル送信部420bは、変更後のサーバ情報をクライアント管理部440に通知する。クライアント管理部440は、クライアント情報記憶部430に格納されたクライアント情報を参照し、起動中のクライアントに対応するMACアドレス、IPアドレスおよびポート番号を特定する。
[ステップS64]クライアント管理部440は、ステップS63で特定したMACアドレス、IPアドレスおよびポート番号を宛先として、取得したサーバ情報を送信する。以下では、クライアント300cにサーバ情報を送信したものと仮定する。
[ステップS65]サーバ情報更新部324cは、受信した変更後のサーバ情報を用いて、サーバ情報記憶部321cに格納された情報を更新する。
このようにして、管理サーバ400bは、変更後のサーバ情報を中継サーバ100cに送信する。中継サーバ100cは、自身が保持するサーバ情報を更新する。また、管理サーバ400bは、起動中のクライアントに変更後のサーバ情報を送信する。変更後のサーバ情報を受信したクライアントは、自身が保持するサーバ情報を更新する。
このようにして、管理サーバ400bは、変更後のサーバ情報を中継サーバ100cに送信する。中継サーバ100cは、自身が保持するサーバ情報を更新する。また、管理サーバ400bは、起動中のクライアントに変更後のサーバ情報を送信する。変更後のサーバ情報を受信したクライアントは、自身が保持するサーバ情報を更新する。
なお、クライアント情報記憶部430に格納されたIPアドレスとポート番号とが、ルータ42のNAPT機能によって変換された後のものである場合、管理サーバ400bが送信したサーバ情報は、ルータ42に届けられる。ここで、ルータ42は、NAPT機能によって、グローバルなIPアドレスとポート番号とを、プライベートなIPアドレスとポート番号とに逆変換する。そして、ルータ42は、逆変換後のIPアドレスとポート番号とを宛先として、サーバ情報を転送する。
図23は、第4の実施の形態の変更通知のデータ構造を示す図である。図23に示すメッセージ920は、管理サーバ500を他のコンピュータと入れ替える際に、管理サーバ400bがクライアント300cに送信するメッセージの内容である。ここでは、登録要求の送受信と同様、通信プロトコルとしてSIPを使用している。
メッセージ920の項目921は、クライアント300cに対するメッセージであることを示している。ただし、直接の宛先はルータ42に設定されている。項目922は、入れ替え対象の管理サーバが保持するファイルのファイルパスを示している。項目923は、入れ替え後の管理サーバのFQDNを示している。項目924は、入れ替え後の管理サーバが使用する通信プロトコルの名称を示している。項目925は、入れ替え後の管理サーバが使用する通信ポートのポート番号を示している。
このような分散ファイルシステムを用いることで、第2の実施の形態の分散ファイルシステムを用いた場合と同様の効果が得られる。更に、第4の実施の形態の分散ファイルシステムを用いることで、中継サーバ100cが故障しても、クライアント300c,300c−2,・・・,300c−nに確実にサーバ情報の変更を通知できる。従って、より可用性の高い分散ファイルシステムを提供することができる。
[第5の実施の形態]
次に、第5の実施の形態を図面を参照して詳細に説明する。前述の第1、第2、第3および第4の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
次に、第5の実施の形態を図面を参照して詳細に説明する。前述の第1、第2、第3および第4の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
第5の実施の形態の分散ファイルシステムは、第3の実施の形態と第4の実施の形態とを組み合わせたものである。すなわち、本社構内に設置されたサーバを入れ替える際に、中継サーバが正常に稼働しているときは中継サーバ経由で、中継サーバが正常に稼働していないときは個々のクライアントに直接、通知を行うようにしたものである。
第5の実施の形態のシステム構成は、図10に示した第2の実施の形態のものと基本的に同じである。ただし、第5の実施の形態では、第2の実施の形態の中継サーバ100aに代えて、第3の実施の形態の中継サーバ100bがネットワーク33に接続されている。また、クライアント300a,300a−2,・・・,300a−nに代えて、第4の実施の形態のクライアント300c,300c−2,・・・,300c−nがネットワーク33に接続されている。更に、管理サーバ400に代えて、管理サーバ400cがネットワーク32に接続されている。
ここで、管理サーバ400cは、第1の実施の形態の中継サーバ100と同様のハードウェア構成によって実現できる。
また、管理サーバ400cは、図18に示した第4の実施の形態の管理サーバ400bと基本的に同じモジュール構成で実現できる。ただし、管理サーバ400cは、管理者によるサーバ情報の再配信指示の入力に応答して、中継サーバ100bへのサーバ情報の送信を試み、中継サーバ100bが正常に稼働していない場合にのみ、クライアント300c,300c−2,・・・,300c−nに直接サーバ情報を送信する。
また、管理サーバ400cは、図18に示した第4の実施の形態の管理サーバ400bと基本的に同じモジュール構成で実現できる。ただし、管理サーバ400cは、管理者によるサーバ情報の再配信指示の入力に応答して、中継サーバ100bへのサーバ情報の送信を試み、中継サーバ100bが正常に稼働していない場合にのみ、クライアント300c,300c−2,・・・,300c−nに直接サーバ情報を送信する。
以下、管理サーバ400cは、第4の実施の形態の初期ファイル送信部420bに代えて、初期ファイル送信部420cを有しているものとする。
図24は、第5の実施の形態のサーバ変更処理の手順を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
図24は、第5の実施の形態のサーバ変更処理の手順を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
[ステップS71]初期ファイル送信部420cは、管理者によるサーバ情報の再配信指示の入力があると、中継サーバ100bへのアクセスを試み、中継サーバ100bが正常に稼働しているか否か判断する。正常に稼働している場合は、処理がステップS72に進められる。正常に稼働していない場合は、処理がステップS76に進められる。
[ステップS72]初期ファイル送信部420cは、初期ファイル記憶部410からサーバ情報を抽出する。そして、初期ファイル送信部420cは、起動情報管理部140bに変更後のサーバ情報を送信する。
[ステップS73]起動情報管理部140bは、受信したサーバ情報に基づいて、サーバ情報記憶部120bに格納された情報を更新する。また、起動情報管理部140bは、変更後のサーバ情報を、変更通知部180に通知する。
[ステップS74]変更通知部180は、サーバ情報を取得すると、クライアント情報記憶部170に格納されたクライアント情報を参照し、起動中のクライアントのIPアドレスとポート番号とを特定する。
[ステップS75]変更通知部180は、ステップS74で特定したIPアドレスとポート番号とを宛先として、取得したサーバ情報を送信する。
[ステップS76]初期ファイル送信部420cは、変更後のサーバ情報をクライアント管理部440に通知する。クライアント管理部440は、クライアント情報記憶部430に格納されたクライアント情報を参照し、起動中のクライアントに対応するMACアドレス、IPアドレスおよびポート番号を特定する。
[ステップS76]初期ファイル送信部420cは、変更後のサーバ情報をクライアント管理部440に通知する。クライアント管理部440は、クライアント情報記憶部430に格納されたクライアント情報を参照し、起動中のクライアントに対応するMACアドレス、IPアドレスおよびポート番号を特定する。
[ステップS77]クライアント管理部440は、ステップS76で特定したMACアドレス、IPアドレスおよびポート番号を宛先として、取得したサーバ情報を送信する。以下では、クライアント300cにサーバ情報が送信されたものと仮定する。
[ステップS78]サーバ情報更新部324cは、受信した変更後のサーバ情報を用いて、サーバ情報記憶部321cに格納された情報を更新する。
このようにして、管理サーバ400cは、中継サーバ100bが正常に稼働している場合、中継サーバ100bにサーバ情報を送信する。サーバ情報を受信した中継サーバ100bは、自身が保持するサーバ情報を更新すると共に、起動中のクライアントにサーバ情報を送信する。一方、管理サーバ400cは、中継サーバ100bが正常に稼働していない場合、起動中のクライアントに直接サーバ情報を送信する。そして、サーバ情報を受信したクライアントは、自身が保持するサーバ情報を更新する。
このようにして、管理サーバ400cは、中継サーバ100bが正常に稼働している場合、中継サーバ100bにサーバ情報を送信する。サーバ情報を受信した中継サーバ100bは、自身が保持するサーバ情報を更新すると共に、起動中のクライアントにサーバ情報を送信する。一方、管理サーバ400cは、中継サーバ100bが正常に稼働していない場合、起動中のクライアントに直接サーバ情報を送信する。そして、サーバ情報を受信したクライアントは、自身が保持するサーバ情報を更新する。
このような分散ファイルシステムを用いることで、第2の実施の形態の分散ファイルシステムを用いた場合と同様の効果が得られる。更に、第5の実施の形態の分散ファイルシステムを用いることで、管理サーバ400c,500,500aの保守を運用を継続しつつ行うことができる。
特に、中継サーバ100bの稼働状態にかかわらず、クライアント300c,300c−2,・・・,300c−nに確実にサーバ情報の変更を通知することができる。また、中継サーバ100bが正常に稼働している場合は、ネットワーク31上の通信量を抑制することができる。従って、より柔軟で応答性能の高い分散ファイルシステムを提供することができる。
以上、本発明のファイル配信プログラム、ファイル配信装置および分散ファイルシステムを図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、中継サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
1 キャッシュサーバ
1a ファイル記憶手段
1b サーバ情報記憶手段
1c 制御情報記憶手段
1d 起動情報送信手段
1e ファイル送信手段
2 ファイルサーバ
2a ファイル記憶手段
2b ファイル送信手段
3 クライアント
3a 起動手段
3b ファイル取得手段
4 ネットワーク
1a ファイル記憶手段
1b サーバ情報記憶手段
1c 制御情報記憶手段
1d 起動情報送信手段
1e ファイル送信手段
2 ファイルサーバ
2a ファイル記憶手段
2b ファイル送信手段
3 クライアント
3a 起動手段
3b ファイル取得手段
4 ネットワーク
Claims (7)
- ファイルの複製を保持して配信するファイル配信プログラムにおいて、
コンピュータを、
前記コンピュータとネットワークで接続されたファイルサーバが保持するファイルの複製を記憶するファイル記憶手段、
前記ファイルサーバと前記ネットワーク経由で通信を行う場合の通信方法を定義したサーバ情報を記憶するサーバ情報記憶手段、
ファイル取得時に、前記コンピュータが稼働中の場合は前記コンピュータにファイル取得要求を送信し、稼働中でない場合は前記サーバ情報に基づいて前記ファイルサーバに前記ファイル取得要求を送信するようにクライアントを制御する制御情報を記憶する制御情報記憶手段、
前記クライアントの起動時に入力される起動通知に応答して、前記制御情報記憶手段が記憶する前記制御情報と前記サーバ情報記憶手段が記憶する前記サーバ情報とを、前記クライアントに送信する起動情報送信手段、
前記クライアントの起動後に入力される前記ファイル取得要求に応答して、前記ファイル記憶手段が記憶する対応するファイルを、前記クライアントに送信するファイル送信手段、
として機能させることを特徴とするファイル配信プログラム。 - 前記ファイル送信手段は、前記ファイル取得要求に対応するファイルが前記ファイル記憶手段にない場合、前記サーバ情報に基づいて前記ファイルサーバからファイルを取得して、前記ファイル記憶手段に格納することを特徴とする請求項1記載のファイル配信プログラム。
- 前記コンピュータを、更に、前記コンピュータの稼働状態を前記クライアントに継続的に通知する状態通知手段として機能させることを特徴とする請求項1記載のファイル配信プログラム。
- 前記ファイル記憶手段は、複数の前記ファイルサーバが保持するファイルの複製を記憶しており、
前記サーバ情報には、前記ファイルサーバと前記ファイルサーバが保持するファイルとの対応関係を示す情報が更に含まれており、
前記制御情報は、前記コンピュータが稼働中でない場合は、取得すべきファイルに対応する前記ファイルサーバに前記ファイル取得要求を送信するように前記クライアントを制御する情報である、
ことを特徴とする請求項1記載のファイル配信プログラム。 - 前記コンピュータを、更に、ファイルを保持する前記ファイルサーバが変更されたことを検知すると、前記サーバ情報記憶手段が記憶する前記サーバ情報を更新すると共に、前記クライアントに更新後の前記サーバ情報を送信するサーバ情報変更手段として機能させることを特徴とする請求項1記載のファイル配信プログラム。
- ファイルの複製を保持して配信するファイル配信装置において、
前記ファイル配信装置とネットワークで接続されたファイルサーバが保持するファイルの複製を記憶するファイル記憶手段と、
前記ファイルサーバと前記ネットワーク経由で通信を行う場合の通信方法を定義したサーバ情報を記憶するサーバ情報記憶手段と、
ファイル取得時に、前記ファイル配信装置が稼働中の場合は前記ファイル配信装置にファイル取得要求を送信し、稼働中でない場合は前記サーバ情報に基づいて前記ファイルサーバに前記ファイル取得要求を送信するようにクライアントを制御する制御情報を記憶する制御情報記憶手段と、
前記クライアントの起動時に入力される起動通知に応答して、前記制御情報記憶手段が記憶する前記制御情報と前記サーバ情報記憶手段が記憶する前記サーバ情報とを、前記クライアントに送信する起動情報送信手段と、
前記クライアントの起動後に入力される前記ファイル取得要求に応答して、前記ファイル記憶手段が記憶する対応するファイルを、前記クライアントに送信するファイル送信手段と、
を有することを特徴とするファイル配信装置。 - ファイルの複製を保持して配信する分散ファイルシステムにおいて、
ファイルを記憶する第1のファイル記憶手段と、
ネットワーク経由で入力されるファイル取得要求に応答して、前記第1のファイル記憶手段が記憶する対応するファイルを、前記ファイル取得要求の送信元に送信する第1のファイル送信手段と、
を備えるファイルサーバと、
前記ファイルサーバが保持するファイルの複製を記憶する第2のファイル記憶手段と、
入力される前記ファイル取得要求に応答して、前記第2のファイル記憶手段が記憶する対応するファイルを、前記ファイル取得要求の送信元に送信する第2のファイル送信手段と、
前記ファイルサーバと前記ネットワーク経由で通信を行う場合の通信方法を定義したサーバ情報を記憶するサーバ情報記憶手段と、
ファイル取得時に、前記第2のファイル送信手段が実行可能の場合は複製されたファイルを取得し、実行可能でない場合は前記サーバ情報に基づいて前記ファイルサーバからファイルを取得するようにコンピュータを制御する制御情報を記憶する制御情報記憶手段と、
入力される起動通知に応答して、前記制御情報記憶手段が記憶する前記制御情報と前記サーバ情報記憶手段が記憶する前記サーバ情報とを、前記起動通知の送信元に送信する起動情報送信手段と、
を備えるキャッシュサーバと、
起動時に、前記キャッシュサーバに前記起動通知を送信して、前記制御情報と前記サーバ情報とを取得する起動手段と、
起動後に未取得のファイルが必要になると、前記キャッシュサーバの稼働状態を確認し、前記起動情報取得手段が取得した前記制御情報と前記サーバ情報とに基づいて、前記キャッシュサーバまたは前記ファイルサーバに前記ファイル取得要求を送信して、ファイルを取得するファイル取得手段と、
を備えるクライアントと、
を有することを特徴とする分散ファイルシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006345237A JP2008158711A (ja) | 2006-12-22 | 2006-12-22 | ファイル配信プログラム、ファイル配信装置および分散ファイルシステム |
US11/907,129 US20080155082A1 (en) | 2006-12-22 | 2007-10-09 | Computer-readable medium storing file delivery program, file delivery apparatus, and distributed file system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006345237A JP2008158711A (ja) | 2006-12-22 | 2006-12-22 | ファイル配信プログラム、ファイル配信装置および分散ファイルシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008158711A true JP2008158711A (ja) | 2008-07-10 |
Family
ID=39544516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006345237A Pending JP2008158711A (ja) | 2006-12-22 | 2006-12-22 | ファイル配信プログラム、ファイル配信装置および分散ファイルシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080155082A1 (ja) |
JP (1) | JP2008158711A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010079772A1 (ja) * | 2009-01-07 | 2010-07-15 | 日本電気株式会社 | シンクライアントシステム、シンクライアント実施方法、及びシンクライアント用プログラム |
JP2011248794A (ja) * | 2010-05-31 | 2011-12-08 | Fujitsu Component Ltd | 電源制御システム、電源制御システムの制御方法、電源制御装置及びプログラム |
JP2014102602A (ja) * | 2012-11-19 | 2014-06-05 | Hitachi Ltd | シンクライアント端末を介したデータ送受信システム及び方法 |
JP2014524061A (ja) * | 2011-06-15 | 2014-09-18 | アマゾン テクノロジーズ インク | 遠隔ネットワークストレージシステムにリンクされるローカルネットワークストレージ |
JP2015039097A (ja) * | 2012-10-17 | 2015-02-26 | 三菱電機インフォメーションシステムズ株式会社 | スイッチ及び通信システム |
JP2020155031A (ja) * | 2019-03-22 | 2020-09-24 | 富士通株式会社 | 並列コンピュータシステム |
JP2021518933A (ja) * | 2018-04-04 | 2021-08-05 | オラクル・インターナショナル・コーポレイション | マルチテナントアイデンティティクラウドサービスのためのローカル書込 |
US11528262B2 (en) | 2018-03-27 | 2022-12-13 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11652685B2 (en) | 2018-04-02 | 2023-05-16 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2432174B1 (en) * | 2009-05-15 | 2018-09-19 | Murata Machinery, Ltd. | Relay communication system and first relay server |
JP5360978B2 (ja) * | 2009-05-22 | 2013-12-04 | 株式会社日立製作所 | ファイルサーバ、及びファイルサーバにおけるファイル操作通知方法 |
KR101658485B1 (ko) * | 2009-06-18 | 2016-09-22 | 삼성전자주식회사 | 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치 |
WO2012042617A1 (ja) * | 2010-09-29 | 2012-04-05 | 富士通株式会社 | 中継システム、中継装置、中継装置の制御方法及び制御プログラム |
US20120215908A1 (en) * | 2011-02-18 | 2012-08-23 | Hitachi, Ltd. | Method and system for detecting improper operation and computer-readable non-transitory storage medium |
KR101694978B1 (ko) * | 2013-04-29 | 2017-01-11 | 한국전자통신연구원 | 네트워크 선택 장치 및 그 동작방법 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142680A (en) * | 1989-04-26 | 1992-08-25 | Sun Microsystems, Inc. | Method for loading an operating system through a network |
US5887164A (en) * | 1997-06-06 | 1999-03-23 | National Instruments Corporation | System and method for enabling a target computer to use storage resources of a host computer |
US6029203A (en) * | 1997-09-26 | 2000-02-22 | 3Com Corporation | Apparatus and methods for use therein for an ISDN LAN modem that provides enhanced network activity |
US6330573B1 (en) * | 1998-08-31 | 2001-12-11 | Xerox Corporation | Maintaining document identity across hierarchy and non-hierarchy file systems |
US20020120741A1 (en) * | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7313614B2 (en) * | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US8949471B2 (en) * | 2000-11-02 | 2015-02-03 | Oracle America, Inc. | TCP/UDP acceleration |
US20030088650A1 (en) * | 2001-07-30 | 2003-05-08 | Lockheed Martin Corporation | Using a diskless client network topology for disk duplication and configuration |
AU2002313583A1 (en) * | 2001-08-01 | 2003-02-17 | Actona Technologies Ltd. | Virtual file-sharing network |
US6922761B2 (en) * | 2002-03-25 | 2005-07-26 | Emc Corporation | Method and system for migrating data |
US20040024808A1 (en) * | 2002-08-01 | 2004-02-05 | Hitachi, Ltd. | Wide area storage localization system |
US7552223B1 (en) * | 2002-09-16 | 2009-06-23 | Netapp, Inc. | Apparatus and method for data consistency in a proxy cache |
JP4274523B2 (ja) * | 2003-01-24 | 2009-06-10 | 株式会社日立製作所 | 記憶装置システム、及び記憶装置システムの起動方法 |
US7254636B1 (en) * | 2003-03-14 | 2007-08-07 | Cisco Technology, Inc. | Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy |
EP1503570A3 (en) * | 2003-07-29 | 2005-07-27 | Ricoh Company, Ltd. | Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium |
US20050091226A1 (en) * | 2003-10-23 | 2005-04-28 | Yun Lin | Persistent caching directory level support |
US7546324B2 (en) * | 2003-11-13 | 2009-06-09 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
US20050204013A1 (en) * | 2004-03-05 | 2005-09-15 | International Business Machines Corporation | Portable personal computing environment technologies |
-
2006
- 2006-12-22 JP JP2006345237A patent/JP2008158711A/ja active Pending
-
2007
- 2007-10-09 US US11/907,129 patent/US20080155082A1/en not_active Abandoned
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5477660B2 (ja) * | 2009-01-07 | 2014-04-23 | 日本電気株式会社 | ネットブート型シンクライアントシステム、コンピュータ、シンクライアント実施方法、及びシンクライアント用プログラム |
WO2010079772A1 (ja) * | 2009-01-07 | 2010-07-15 | 日本電気株式会社 | シンクライアントシステム、シンクライアント実施方法、及びシンクライアント用プログラム |
US8954960B2 (en) | 2009-01-07 | 2015-02-10 | Nec Corporation | Thin client system and method of implementing thin client system |
JP2011248794A (ja) * | 2010-05-31 | 2011-12-08 | Fujitsu Component Ltd | 電源制御システム、電源制御システムの制御方法、電源制御装置及びプログラム |
US8707067B2 (en) | 2010-05-31 | 2014-04-22 | Fujitsu Component Limited | Power supply controlling system, control method for power supply controlling system, and power supply controlling apparatus |
US11403262B2 (en) | 2011-06-15 | 2022-08-02 | Amazon Technologies, Inc. | Local networked storage linked to remote networked storage system |
JP2014524061A (ja) * | 2011-06-15 | 2014-09-18 | アマゾン テクノロジーズ インク | 遠隔ネットワークストレージシステムにリンクされるローカルネットワークストレージ |
US9747300B2 (en) | 2011-06-15 | 2017-08-29 | Amazon Technologies, Inc. | Local networked storage linked to remote networked storage system |
JP2015039097A (ja) * | 2012-10-17 | 2015-02-26 | 三菱電機インフォメーションシステムズ株式会社 | スイッチ及び通信システム |
JP2014102602A (ja) * | 2012-11-19 | 2014-06-05 | Hitachi Ltd | シンクライアント端末を介したデータ送受信システム及び方法 |
US11528262B2 (en) | 2018-03-27 | 2022-12-13 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11652685B2 (en) | 2018-04-02 | 2023-05-16 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
JP2021518933A (ja) * | 2018-04-04 | 2021-08-05 | オラクル・インターナショナル・コーポレイション | マルチテナントアイデンティティクラウドサービスのためのローカル書込 |
JP7202317B2 (ja) | 2018-04-04 | 2023-01-11 | オラクル・インターナショナル・コーポレイション | マルチテナントアイデンティティクラウドサービスのためのローカル書込 |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
JP2020155031A (ja) * | 2019-03-22 | 2020-09-24 | 富士通株式会社 | 並列コンピュータシステム |
JP7279450B2 (ja) | 2019-03-22 | 2023-05-23 | 富士通株式会社 | 並列コンピュータシステム |
Also Published As
Publication number | Publication date |
---|---|
US20080155082A1 (en) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008158711A (ja) | ファイル配信プログラム、ファイル配信装置および分散ファイルシステム | |
US11570249B2 (en) | Redundant storage gateways | |
US10326846B1 (en) | Method and apparatus for web based storage on-demand | |
US11881989B2 (en) | Remote storage gateway management using gateway-initiated connections | |
US7254636B1 (en) | Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy | |
US8914429B2 (en) | Method for creating global distributed namespace | |
US9379968B2 (en) | Redundancy support for network address translation (NAT) | |
JP4690461B2 (ja) | ブランチオフィスdns格納及び解決 | |
US7856488B2 (en) | Electronic device profile migration | |
EP1770508B1 (en) | Blade-based distributed computing system | |
US20040098458A1 (en) | Distributed computing infrastructure including multiple collaborative sessions | |
US8078754B2 (en) | Group access privatization in clustered computer system | |
JP2007220140A (ja) | ロード・バランシング連携キャッシュ・サーバ | |
JP2004524602A (ja) | ピアツーピア環境においてキャッシュされた資源間における資源の相同性 | |
JP2007328778A (ja) | リモートミラーされたクラスタファイルサーバでのフェイルオーバ方法 | |
US7003556B2 (en) | Storage system and a method for unilaterally administering data exchange with the storage system | |
JP2005128731A (ja) | 記憶装置を複数の計算機で共用する計算機システム | |
US7818390B2 (en) | Method for transferring data between terminal apparatuses in a transparent computation system | |
US20060168145A1 (en) | Method for creating a secure and reliable content distribution framework | |
JP4874807B2 (ja) | サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置 | |
JP2003101590A (ja) | ネットワーク・ルータを越えてプライベート・アドレスを持つ機器とグローバル・アドレスを持つ機器との間で動的に双方向データ交換を行う装置、機構、方法およびこれらを記録した媒体 | |
JP2008186222A (ja) | アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム | |
JP4910274B2 (ja) | プログラム及びサーバ装置 | |
JP2006003962A (ja) | ネットワークストレージシステム | |
JP2004072453A (ja) | ネットワーク管理システムおよびネットワーク管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090615 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090811 |