JP5030791B2 - ネットワークファイルシステム - Google Patents

ネットワークファイルシステム Download PDF

Info

Publication number
JP5030791B2
JP5030791B2 JP2007550169A JP2007550169A JP5030791B2 JP 5030791 B2 JP5030791 B2 JP 5030791B2 JP 2007550169 A JP2007550169 A JP 2007550169A JP 2007550169 A JP2007550169 A JP 2007550169A JP 5030791 B2 JP5030791 B2 JP 5030791B2
Authority
JP
Japan
Prior art keywords
client
server
clients
network
file
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.)
Active
Application number
JP2007550169A
Other languages
English (en)
Other versions
JPWO2007069576A1 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2007550169A priority Critical patent/JP5030791B2/ja
Publication of JPWO2007069576A1 publication Critical patent/JPWO2007069576A1/ja
Application granted granted Critical
Publication of JP5030791B2 publication Critical patent/JP5030791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワーク上の端末の余剰記憶領域を有効活用する技術に関し、特に、前記端末が常時稼動していない場合にも有効なネットワークファイルシステム技術に係る。
従来から、ネットワーク上の端末を利用したファイルシステムの技術としては、大きく分けてネットワークファイルシステム型とピアツーピア型とが存在する。
図20は、ネットワークファイルシステム型のファイルシステムを示す概念図である。このファイルシステムは、複数のシェアサーバとマネジメント・サーバとがネットワークで接続されている。また、各シェアサーバはそれぞれ物理的な補助記憶装置を備えている。このファイルシステムに対してクライアントがサービスを要求する場合には、マネジメント・サーバは複数の補助記憶装置により、論理的なファイルシステムをクライアントに対して提供する。なお、各シェアサーバは、基本的に常に稼動していることが予定されている。このようなファイルシステムの例としては、NFS(Network File System)、AFS(Andrew File System)などを挙げることができる。特許文献1に開示されているファイルシステムもこの一例である。
図21は、ピアツーピア型のファイルシステムを示す概念図である。このファイルシステムには、全体を管理する管理サーバは存在せず、ネットワークに接続されている複数のコンピュータが全体的に仮想的なファイルシステムを構成していると評価することができる。また、各コンピュータにはそれぞれ部率的な補助記憶装置を備えている。このファイルシステムに対してクライアントがサービスを要求する場合には、クライアントとコンピュータとが一対一でファイルを転送する。なお、各コンピュータは基本的に常に稼動していることは予定されていない。このようなファイルシステムの例としては、Gnutella、Napsterなどを挙げることができる。
特開2003−248611号公報
図20に示したネットワークファイルシステムは、常に稼動している複数のシェアサーバを前提としているため、例えば、一般ユーザにより電源のオンオフが行われるパーソナルコンピュータを利用したネットワークファイルシステムを提供するものではない。一方、図21に示したピアツーピアシステムは、各パーソナルコンピュータが自身が記憶するファイルを一方的に公開するのみであり、クライアントからファイルが書き込まれることは予定していない。
本発明はこのような技術的課題に鑑みてなされたものであり、その目的は、常に稼動しているとは限らないクライアントを前提しつつ、高い可用性でファイルを書き込み及び読み出しすることができるファイルシステムに適用可能な方法、ファイルシステム、ファイルシステムのサーバ用プログラムなどを提供することにある。
本発明は、第1にサーバに適用される方法として把握することができる。
すなわち本発明は、サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムの前記サーバに適用される方法であり、一のクライアントからのデータの書き込み要求を受信する第1受信ステップと、予め記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断ステップと、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信ステップとを備える方法である。
本発明は、第2にネットワークファイルシステムのサーバとして把握することができる。
すなわち本発明は、サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバであり、前記一のクライアントからのデータの書き込み要求を受信する第1受信手段と、予め記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断手段と、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信手段とを備えるサーバである。
本発明は、第3にネットワークファイルシステムのサーバ用プログラムとして把握することができる。
すなわち本発明は、サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバとしてコンピュータを機能させるコンピュータプログラムであり、前記コンピュータに、前記一のクライアントからのデータの書き込み要求を受信する第1受信機能と、予め記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断機能と、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信機能とを実現させるコンピュータプログラムである。
本発明は、第4にネットワークシステムをファイルシステムとして利用する方法として把握することもできる。
すなわち本発明は、複数のクライアントがネットワークで接続されたネットワークシステムをファイルシステムとして利用する方法であり、前記ネットワークシステムにサーバを導入する導入ステップを備え、前記サーバは、前記一のクライアントからのデータの書き込み要求を受信する第1受信手段と、予め記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断手段と、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する第1送信手段とを備える方法である。
常に稼動しているとは限らないクライアントを前提しつつ、前記クライアントに高い可用性でファイルを書き込み及び読み出しすることができるファイルシステムの利用方法、ファイルシステム、ファイルシステム用プログラムなどを提供することができる。
発明の実施形態
以下、図面を参照しつつ、本発明の例示的な実施形態を説明する。
図1は、本発明が適用されるネットワークシステムを説明する概念図である。
Y社はシステムインテグレータ(顧客の業務内容を分析し、問題に合わせた情報システムの企画、構築、運用などの業務を一括して請け負う業者)であり、X社はY社の顧客である。Y社は、後述の情報システムをX社へ提供する。X社の社内ネットワークシステム(ネットワークシステム)100は、イントラネットワーク(ネットワーク)30とネットワーク30に接続された(N+1)台のパーソナルコンピュータ(複数のクライアント、以下「PC」と記す)1(1)〜(N+1)とを備えている。全体のPC状況の数(N+1)は、例えば、数十、数百、数千など、十分に多い。また各PC1(1)〜(N+1)には、メール送受信、ワードプロセッサ、表計算、プレゼンテーションなどのビジネス・ソフトウェアがインストールされている。これらのPCは、原則としてX社の従業員x(1)〜(M+1)がその業務に使用する。したがって、一般的に、それぞれの従業員x(1)〜(M+1)は出社時に各自のPC1(1)〜(N+1)の電源をONし、退社時にそのPC1(1)〜(M+1)の電源をOFFする。そして、従業員x(1)〜(M+1)の多くは、朝出社し夕方から夜にかけて退社する勤務形態であるが、従業員x(1)〜(M+1)の中には、より長く勤務する者、より短く勤務する者、夕方から夜にかけて出社し朝退社する者など、様々な勤務形態の者が存在する。なお、必ずしも従業員x(1)〜(M+1)と各PC1(1)〜(N+1)とが一対一に対応する必要はない。
図2は、サーバ2の接続形態を説明するものである。
社内ネットワークシステム100にはサーバ2が接続される。接続方法としては、図2Aに示すとおり、サーバ2がイントラネットワーク30へ直接接続されてもよいし(本実施形態)。また、図2Bに示すとおり、サーバ2はY社のイントラネットワーク(第二のネットワーク)32に直接接続され、X社のイントラネットワーク(第一のネットワーク)30とY社のイントラネットワーク32とが、インタネットワーク(相互接続ネットワーク)31を介して接続され、結果としてサーバ2がイントラネットワーク30へ間接接続されてもよい。さらに、図示しないが、サーバ2はX社及びY社以外の第三者のイントラネットワークに直接接続され、第三者のイントラネットワークとX社のイントラネットワーク30とが、インタネットワーク31を介して接続され、結果としてサーバ2がイントラネットワーク30へ間接接続されてもよい。これら、インタネットを介して間接的にサーバ2と社なしネットワークシステムとが接続される場合、イントラネットワーク30(32)とインタネット31との間にファイアーウォールを設けることが情報セキュリティ上好ましい。
図3は、イントラネットワーク30のより具体的な構成を示したものである。
イントラネットワーク30は、単一のLAN(ローカル・エリア・ネットワーク、部分ネットワーク)として構成することもできるし、図3に示すように、複数のLAN30A,B,Cを含むWAN(ワイド・エリア・ネットワーク、全体ネットワーク)として構成することもできる(本実施形態)。ファイルシステムの障害耐性を考慮すると、各LAN30A,B,Cは災害(火事、水害、地震等)の影響を互いに受けないように構成することが好ましい。
図4は、サーバ2及びPC1のハードウェア構成を説明する概略図である。
サーバ2及びPC1は、ホストコントローラ110により相互に接続されるCPU101、RAM120、グラフィックコントローラ146を有するCPU周辺部と、入出力コントローラ140によりホストコントローラ110に接続される通信インターフェイス144、ハードディスクドライブ(補助記憶装置)124、及びCD−ROMドライブ126を有する入出力部と、入出力コントローラ140に接続されるROM122、入出力チップ142を有するレガシー入出力部(フレキシブルディスクドライブ128など)とを備える。
ホストコントローラ110は、RAM120と、高い転送レートでRAM120をアクセスするCPU100及びグラフィックコントローラ146とを接続する。CPU101は、ROM122及びRAM120に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ146は、CPU101等がRAM120内に設けたフレームバッファ上に生成する画像データを取得し、表示装置148上に表示させる。これに代えて、グラフィックコントローラ146は、CPU101等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ140は、ホストコントローラ110と、比較的高速な入出力装置である通信インターフェイス144、ハードディスクドライブ124、及びCD−ROMドライブ126を接続する。通信インターフェイス144は、ネットワークを介して他の装置と通信する。ハードディスクドライブ124は、コンピュータが使用するプログラム及びデータを格納する。CD−ROMドライブ126は、CD−ROM130からプログラム又はデータを読み取り、RAM120を介して入出力チップ142に提供する。
また、入出力コントローラ140には、ROM122と、入出力チップ142等の比較的低速な入出力装置(例えば、フレキシブルディスクドライブ128)とが接続される。ROM122は、コンピュータの起動時にCPU101が実行するブートプログラムや、コンピュータのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ128は、フレキシブルディスク132からプログラム又はデータを読み取り、RAM120を介して入出力チップ142に提供する。入出力チップ142は、フレキシブルディスクドライブ128や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。なお、本実施態様では、PC1とサーバ2とを同様の構成としたが、それぞれを異なる構成のコンピュータとすることができる。また、各PC1(1)〜(N+1)を異なる構成のコンピュータとすることもできる。
次に、サーバ2及びPC1のソフトウェア構成について説明する。サーバ2及びPC1に提供されるコンピュータプログラム(オペレーティングシステム及び上述のビジネス・ソフトウェアなどのアプリケーションプログラム)は、フレキシブルディスク132、CD−ROM130、DVD−ROM、ICカード等の記録媒体に格納されて、或いはネットワークを介して提供される。プログラムは、記録媒体から読み出され入出力チップ142を介してサーバ2及びPC1にインストールされ、又はネットワーク上の他のコンピュータから読み出され通信インタフェイス144を介してサーバ2及びPC1にインストールされ、それぞれサーバ2及びPC1において実行される。
ここで、PC1は、単一のハードディスクドライブ124を備えるが、複数のハードディスクドライブを備えることもできる。また、このハードディスクドライブ124の記憶容量は、例えば、数百GB以上とすることができ、その空き記憶容量は、例えば、数十〜数百GB程度となる。
図5等は、この実施形態の実施手順を説明するフローチャートである。図5は、基本的は実施手順を説明するフローチャートである。図6は、図5の「(システムの)導入(S1)」の手順をさらに詳細に説明するフローチャートである。図8は、図5の「(システムの)調査(S2)」の手順をさらに詳細に説明するフローチャートである。図11は、図5の「(システムの)実働(S3)」の手順をさらに詳細に説明するフローチャートである。以下、これらのフローチャートに基づいて、この実施形態の実施手順を説明する。
システムの導入(S1:導入ステップ)は、次の通りである。
まずY社がPC用プログラム(コンピュータをネットワークファイルシステムのクライアントして機能させるプログラム)とサーバ用プログラム(コンピュータをネットワークファイルシステムのサーバとして機能させるプログラム)を開発する(図6のS11)。各プログラムの機能は、後述の実施手順を説明する中で明らかとなる。なお、このプログラムを開発するステップ(S11)は、初めてPC用プログラム、サーバ用プログラムを開発する場合に必要なステップである。したがって、これらのプログラムが既に存在する場合(例えば、X社に対してこのサービスを提供する以前に、Y社が同様のサービスを他社(例えば、Z社)に提供しており、プログラムの開発の一部又は全部が終了しているような場合)には、Y社は、システムの準備(S1)として、プログラムの開発(S11)の一部又は全部を省略することができる。
次に、Y社がX社の社内ネットワークシステム100を調査し、導入計画を策定する(図6のS12、評価ステップ)。調査の際には、X社の従業員x(1)〜(M+1)に対して各自のPCの使用態様を含めた調査を行うことができる。そして、導入計画に基づいて、X社の社内ネットワークシステム100のPCの一部又は全部に対して、前記PC用プログラムをインストールする(図6のS13:インストールするサブステップ)。なお本実施形態では、社内ネットワークシステム100中の(N+1)台のPC1(1)〜(N+1)に対して、前記PC用プログラムがインストールされる。
次に、Y社がX社の社内ネットワークシステム100の一部にサーバ2を設置する(図6のS14)。このサーバ2の構成は、上述のPC1と同様とすることができるし、異なる構成(例えば、CPUやハードディスクドライブをそれぞれ複数備え、多重化する等)とすることもできる。また、このサーバ2の所有権はX社、Y社のいずれが有していてもよい。さらに。Y社がサーバ2の所有権を有する場合には、提供されるITサービスの一環としてサーバ2はX社へレンタルされる。
次に、新たに設置したサーバ2に対してサーバ用プログラム(コンピュータ・プログラム)をインストールする(図6のS15:インストールするサブステップ)。インストールの作業は、Y社の社員が行っても良いし、X社の従業員が行っても良い。より具体的なインストール作業方法としては、予めサーバ2にPC用プログラムのファイルをコピーしておき、イントラネットワーク30を介して当該PC用プログラムを各PCへインストールすることもできる。なお、本実施態様ではサーバ2を新たに設置する場合について説明しているが、X社の社内ネットワークシステム100内の既存のサーバに上述のサーバ用プログラムをインストールしてサーバ2とすることもできる。各イントールが終了した後、各プログラムが正常に動作するかテストを行うことが好ましい(図6のS16)
図7は、システムの導入(S1)が終了した後のサーバ2を模式的に説明するものである。
このサーバ2には、管理テーブルTが生成されている。この管理テーブルTは、各PC1を特定するIDフィールド「PC」、各PC1が接続されるLANを特定するネットワークフィールド「NW」、各PC1がネットワークファイルシステムへ提供するディスク容量を示すディスク容量フィールド「C」、各PCの電源のオン/オフ状態を示す稼働フィールド「ON/OFF」、各PC1の24時間毎の稼働確率を示す確率フィールド「P(t)」を含む。また、管理テーブルTは、書き込み要求があったファイルを特定するファイルフィールド「F」、そのファイルの容量を示すファイル容量フィールド「S」、そのファイルを保存する際に満たすべきサービスレベルを示すサービスレベルフィールド「SL」を含む。さらに管理テーブルTは、その書き込み要求があったファイルの複製ファイルを記憶するPC1を特定する複製ファイルフィールド「f」を含む。
図8は、図5の「(システムの)調査(S2):第1調査ステップ」の手順をさらに詳細に説明するフローチャートである。
各PC1は、各PC1を特定する情報と、各PC1のネットワーク構成をネットワーク30を介してサーバ2へ送信する。サーバ2は、ネットワーク30を介して各PCを特定する情報と、各PCのネットワーク構成を受信し、管理テーブルTへ記憶する(図8のS21)。例えば、PC1(j)は、自らを特定する情報「j」と接続されているLAN(LAN30)を特定する情報「A」をサーバ2へ送信する。サーバ2はそれらの情報「j」「A」を受信し、管理テーブルTの該当するそれぞれのフィールドへ記憶する。他のPC1も同様である。
次に、X社の従業員が各自のPC1がファイルシステムへ提供するディスク容量(利用可能な記憶容量)を設定する(図8のS22:第2調査ステップ)。例えば、X社の従業員x(j)は自らが主に使用するPC1(j)のハードディスクドライブ124(j)の空き容量100GBのうち、50GBをファイルシステム用に設定する。他のPC1も同様である。サーバ2は、ネットワーク30を介してディスク容量を受信し、管理テーブルTの該当するフィールド「C」へ記憶する(図8のS23)。なお、本実施形態では、X社の従業員が個別にディスク容量を設定したが、これに限らず、Y社の従業員がディス容量を設定することもできるし、画一的にディスク容量を設定しておくこともできる。
次に、十分な稼働実績が得られるまで(図8のS26)、X社の各従業員x(1)〜(M+1)に各PC1(1)〜(N+1)を通常業務で使用させる(図8のS24)。その間、サーバ2はネットワーク30を介してその稼働実績を受信し、管理テーブルTの該当するフィールド「ON/OFF」へ記憶する(図8のS25)。例えば、サーバ2は、一時間おきに各PC1へ問い合わせを送信し、応答のあるPCは電源がオンされていると判断し、応答のないPCは電源がオフされていると判断して、その稼働実績をそれぞれ記憶する。これを十分な稼働実績が得られるまで、例えば、一ヶ月間続ける。
次に、サーバ2は一定周期毎の各PC1の稼働確率を算出し、それを管理テーブルTの該当するフィールド「p(t)」へ記憶する(図8のS27)。本実施形態では、一週間を平日と休日に分けて、さらに平日24時間の一時間毎の稼働確率、休日24時間の一時間毎の稼働確率をそれぞれフィールド「p(t)」へ記憶する。
図9は、PC1の稼働確率p(t)の態様を説明するグラフ群である。各グラフの縦軸はあるPC1の(平日における)稼働確率、横軸は時間をそれぞれ示す。図9Aは、常に電源がオン状態のPCの稼働確率を示している。稼働確率p(t)のグラフは一定値(=1)をとる。一方図9Bは、日中に電源がオン状態、夜間は電源がオフ状態となる傾向のPCの稼働確率を示している。稼働確率p'(t)のグラフは山型となる。他方、図9Cは、日中に電源がオフ状態、夜間は電源がオン状態となる傾向のPCの稼働確率を示している。稼働確率p"(t)のグラフは谷型となる。
図10は、システムの調査(S2)が終了した後の社内ネットワークシステム100を模式的に説明するものである。
システムの調査(S2)により、各PCから様々な情報がサーバ2へ送信され、サーバ2の管理テーブルTへ情報が蓄積されている。すなわち、サーバ2の管理テーブルTの(N+1)台のPCをを特定するIDフィールド「PC」、各PCが接続されるLANを特定するネットワークフィールド「NW」、各PCがネットワークファイルシステムへ提供するディスク容量を示すディスク容量フィールド「C」、(各PCの電源のオン/オフ状態を示す稼働フィールド「ON/OFF」)、各PCの24時間毎の稼働確率を示す確率フィールド「p(t)」にそれぞれの値、又は関数が入力されている。例えば、PC1(i)に対応するIDフィールドには「i」が、ネットワークフィールドにはLAN30Aを示す「A」が、ディスク容量フィールドには「50GB」が、稼働フィールドには電源がオンされていることを示す「ON」が、確率フィールドには確率関数「pi(t)」がそれぞれ入力、記憶されている。
図11は、図5の「(システムの)実働(S3):提供ステップ」の手順をさらに詳細に説明するフローチャートである。また図12は、書き込み処理を行う社内ネットワークシステム100を模式的に説明するものである。
一のPC(一のクライアント)1(i)からファイルの書き込み要求をサーバ2が受信すると(図11のS31:第1受信ステップ)、書き込み処理が開始され、さらにサーバ2は当該PC1(i)から当該ファイルの容量とサービスレベル(データ多重度、可用性基準)を受信する(図11のS32:第2受信ステップ)。この際、サーバ2は、管理テーブルT の書き込み要求があったファイルを特定するファイルフィールド「F」、そのファイルの容量を示すファイル容量フィールド「S」、そのファイルを保存する際に満たすべきサービスレベルを示すサービスレベルフィールド「SL」にそれぞれの値を入力する。例えば、一のPC1(i)からファイルの書き込み要求があった場合、サーバ2は、PC1(j)から送信された情報に基づいて、管理テーブルTのファイルフィールドに「i」を、ファイル容量フィールドにそのファイルの容量を示す「Si」を、サービスレベルフィールドに「SLi」がそれぞれ入力、記憶される。なお、ファイルの書き込み要求は、当該PC1(i)のユーザであるX社の従業員x(i)が明示的に行っても良いし、例えば、一定期間毎に自動的にPC1(i)から送信されるものでもよい。また、サービスレベルは、当該ファイルの読み出し要求の実行を保証する確率を示す。ここで、当該PC1(i)のユーザであるX社の従業員x(i)が当該サービスレベルSLiを各ファイル毎、又はユーザ毎に指定しても良いし、当該サービスレベルSLiを予め設定しておくこともできる。
次に、他のPC1(1)〜(N+1)の中から、すなわち(N+1)台のPC1から一のPC1(i)を除いたN台のPC1の中から書込対象のPC1(j)をサーバ2が決定する(図11のS33:第1判断ステップ)。
図13は、サービスレベルを満たす書込対象のPC1(j)の決定方法を概念的に説明するものである。
例えば、3台のPC1(j)〜(j+2)の稼働確率をそれぞれpj(t),pj+1(t),pj+2(t)とする。各PC1(j)〜(j+2)の稼働実績(各PC1(j)〜(j+2)の電源のオン、オフの実績、換言すれば各PC1(j)〜(j+2)を使用するX社の従業員x(j)〜(j+2)の勤務実績)を反映して、各稼働確率のグラフの形状は様々である。これらの稼働確率pj(t),pj+1(t),pj+2(t)に基づいて、PC1(j)〜(j+2)のうち少なくとも一台のPCが稼働している確率p(t)を求める。この確率p(t)は、当然ながら各pi(t),pi+1(t),pi+2(t)単独の確率よりもいずれの時間でも高い値を示す。一方、書き込み要求を送信した側のPC1(i)の稼働確率をpi(t)とする。そして、これらPC1(j)〜(j+2)のうち少なくとも一台のPCが稼働している確率p(t)と書き込み要求を送信した側のPC1(i)が稼働している確率pi(t)とに基づいて、PC1(i)が稼働しており、かつPC1(j)〜(j+2)のうち少なくとも一台のPCが稼働している確率Pを求める。この確率Pは、いずれの時間においても予め設定されたSLiを上回っている。つまり、PC1(i)が複数(ここでは3台)のPC1(j)〜(j+2)にファイルの複製を書き込んでおけば、後にSLiを上回る確率Pでそのファイルの複製を読み出すことができる。これが書込対象のPC1(j)の決定方法の概念的な説明である。なお、本実施形態では、一のPC1(i)と書込対象のPC1(j)との両方の稼働確率を考慮したが、一方のみを考慮して書込対象のPC1(j)を決定してもよい。
図14及び図15は、書込対象のPC1(j)のより具体的な決定方法を説明するものである。本実施態様では、最適配置法に基づいて書込対象のPC1(j)を決定する。最適配置法の実施例としては、第1に、与えられたサービスレベルSLを満足する条件の下、各PCに書き込まれる総ファイル容量を最小化するもの(実施例1:第1モード)と、第2に、各PCに書き込まれる総ファイル容量が各PCからファイルシステムへ提供される総ディスク容量を下回る条件の下、サービスレベルを最大化するもの(実施例2:第2モード)と、実施例1と実施例2との中間的なもの(実施例3:第3モード)がある。図14は、書込対象のPC1(j)の実施例1に係る決定方法を説明するものである。また、図15は、書込対象のPC1(j)の実施例2に係る決定方法を説明するものである。これらのように定数記号を定義し、決定変数をxij(m×n行列)とし、これらの制約条件(容量制約及びサービスレベル制約)の下で、目的関数を最小化する決定変数を求めることになる。
その後、書込対象のPC1(j)に対して、当該ファイルの書き込み要求をサーバ2が送信する(図11のS34、第1送信ステップ)。それに応答して、書き込み要求を送信したPC1(i)から書込対象のPC1(j)(設定するサービスレベルによるが、多くの場合、複数)へ当該ファイルの複製が送信され、記憶される。ここで、当該ファイルの複製はPC1(i)からサーバ2を介してPC1(j)へ送信されてもよいし、PC1(i)から直接PC1(j)へ送信されてもよい。その後、PC1(i)から当該ファイルの複製の読み出し要求をサーバ2が受信すると(図11のS35)、サーバは管理テーブルTを参照し、当該ファイルの複製が書き込まれているPC1(j)に対して、当該ファイルの複製をPC1(i)へ読み出す要求を送信する(図11のS36)。それに応答して、読み出し要求を受信したPC1(j)は、記憶している当該ファイルの複製をPC1(i)へ送信する。なお、当該ファイルの複製をPC1(i)へ送信した後、PC1(j)は、当該ファイルの複製を自己のハードディスクドライブ124から消去することもできるし、そのまま記憶しておくこともできる。
また、読み出し要求の際、電源がオン状態のPC(j)が複数台存在する場合には、任意のPC1(j)から当該ファイルの複製を送信することもできるし、ネットワーク負荷がより低いPC1(j)から当該ファイルの複製を送信することもできる。例えば、当該ファイルの複製を記憶しており、読み出し要求の際に電源がオン状態であるPCがPC1(j)〜(j+2)の3台存在し、各PC1(j)〜(j+2)がそれぞれLAN30A,30A,30Bに接続され、PC1(i)がLAN30Aに接続されている場合には、サーバ2はPC1(j)やPC1(j+1)をPC1(j+2)よりも優先的に選択して、当該ファイルの複製をPC1(i)へ送信させる。一方、読み出し要求の際、電源がオン状態のPC1(j)が存在しない場合には、サーバ2は読み出し要求を実行することができない旨のメッセージをPC1(i)へ送信する。
一旦PC1(j)に書き込まれたファイルの複製の移転が必要な場合には(図11のS37)、サーバ2は他のPC1の中から移転対象のPC1(k)を決定し(同S38:第2判断ステップ)、移転対象のPC1(k)へ移転要求を送信する(同S39:第2送信ステップ)。このファイルの複製の移転のより具体的な態様を実施例A,実施例Bとして説明する。
実施例A
図16は、実施例Aに係るファイルの複製の移転態様を説明するフローチャートである。また図17は、実施例Aに係るファイルの複製の移転態様を説明する概念図である。
書込対象のPC1(j)は、自己のハードディスク容量124(j)の空き容量の減少を検出すると(図16のS501)、空き容量とディスク容量(ファイルシステム用として設定した容量)とを比較し(同S502)、空き容量がディス容量よりも小さい場合には、サーバ2に対してその旨を通知する(同S503)。
サーバ2は、PC1(j)から空き容量が減少した旨の通知を受信し(図16のS504:監視ステップ)、当該PC1(j)に書き込んだファイルの複製を管理テーブルT上で検索し(同S505)、当該ファイルの複製がPC1(j)以外のPC(例えば、PC1(j+1)やPC1(j+2))に存在するか否かを判断する(同S506)。当該ファイルの複製が存在する場合には(同S506)、サーバ2は、当該ファイルの複製を削除する旨の命令をPC1(j)へ送信し(同S507)、当該ファイルの移転先のPC1(k)を決定し(同S510)、PC1(j)以外のPC(例えば、PC1(j+1)やPC1(j+2))からPC1(k)へ当該ファイルの複製を書き込む要求を送信する(同S511)。当該ファイルを削除する旨の命令を受信したPC1(j)は(同S508)、ハードディスクドライブ124(j)から当該ファイルの複製を削除し(同S509)、S502の判断へ移行する。なお、PC1(j)以外の複数のPC1に当該ファイルが存在する場合には、移転先のPC1(k)と同一のLANに接続されているPC1から優先して当該ファイルを送信することがネットワーク負荷を低減する観点から好ましい。例えば、図17に示すように、PC1(k)とPC1(j+2)とが同一の部分ネットワークLAN30Bに接続されており、PC1(j+1)が異なる部分ネットワークLAN30Aに接続されている場合には、PC1(j+1)よりもPC1(j+2)を優先して当該ファイルの複製をPC1(k)へ送信することが好ましい。
一方、当該ファイルの複製がPC1(j)以外のPC内に存在しない場合(当該ファイルはPC1(j)のみが記憶している場合)には(同S506)、サーバ2は、当該ファイルの複製の移転先のPC1(k)を決定し(同S512)、PC1(k)へ当該ファイルの複製を書き込む要求をPC1(j)へ送信する(同S513)。それに応答して、当該ファイルの複製を書き込む旨の命令を受信したPC1(j)は、当該PC1(k)へファイルの複製を書き込む要求を送信し、S502の判断へ移行する。
実施例B
図18は、実施例Bに係るファイルの複製の移転態様を説明するフローチャートである。また図19は、実施例Bに係るファイルの複製の移転態様を説明する概念図である。
サーバ2は、イントラネットワーク30の断線を検出すると(図18のS601:監視ステップ)、断線により通信不能となったPC(例えば、PC1(j)及びPC1(j+1))にファイルの複製が保存されているか否かを判断し(同S602)、ファイルのコピーが保存されていなかった場合にはそのまま処理を終了し、ファイルのコピーが保存されていた場合には、予め設定されたサービスレベルと(断線により低下した)現在のサービスレベルとを比較する(同S603)。なお、サーバ2は、イントラネットワーク30の断線を、当該イントラネットワーク30を構成するネットワーク機器(ルータ等)から受信する異常信号に基づいて判断してもよいし、部分ネットワークに接続されているPC1からの応答の有無に基づいて判断してもよい。比較の結果、現在のサービスレベルが設定値を満足する場合にはS602のステップへ移行し、現在のサービスレベルが設定値に満たない場合には、通信不能となったPCに書き込んでいたファイルを管理テーブルT上で検索し(同S604)、当該ファイルの移転先のPC1(k)を決定し(同S605)、当該PC1(k)へ書込要求を送信する(同S606)。
書込要求を受信したPC1(k)は(同S607)、ファイルのコピーが保存されており、かつ通信可能なPC(例えば、PC1(j+2))へファイルの送信を要求する(同S608)。当該PC1(j+2)は、その要求を受信し(同S609)、ファイルを送信する(同S610)。PC1(k)は、当該ファイルを受信し(同S611)、ファイルの移転が完了した旨をサーバへ送信する(同S612)。サーバ2は、当該完了通知を受信し(同S613)、ステップS602へ移行する。
なお、実施例Aは、PC1の状況を監視し、その変化に応答してファイルの複製の移転対象を決定しており、実施例Bは、ネットワーク30の状況を監視し、その変化に応答してファイルの複製の移転対象を決定している。しかし、これらに限らず、ネットワーク30に接続されるPC1数の変化、サービスレベルの変更に応答して移転対象を決定してもよい。
なお、このようなファイルシステムを一定期間運用した後、Y社はX社に対して、システムのメインテナンスを行うこともできる。具体的には、各フローチャートを用いて説明した書込対象のPC1(j)の判断アルゴリズム、移転対象のPC(k)の判断アルゴリズムを修正することができる(メインテナンスステップ)。また、イントラネットワーク100に含まれるPC1の数の増加に応じて、新たなPC1へのプログラムのインストール、サーバ2機能の増強などを行うこともできる。
図1は、本発明が適用されるネットワークシステムを説明する概念図である。 図2は、サーバ2の接続形態を説明するものである。 図3は、イントラネットワーク30のより具体的な構成を示したものである。 図4は、サーバ2及びPC1のハードウェア構成を説明する概略図である。 図5は、基本的は実施手順を説明するフローチャートである。 図6は、図5の「(システムの)導入(S1)」の手順をさらに詳細に説明するフローチャートである。 図7は、システムの導入(S1)が終了した後のサーバ2を模式的に説明するものである。 図8は、図5の「(システムの)調査(S2)」の手順をさらに詳細に説明するフローチャートである。 図9は、PC1の稼働確率p(t)の態様を説明するグラフ群である。 図10は、システムの調査(S2)が終了した後の社内ネットワークシステム100を模式的に説明するものである。 図11は、図5の「(システムの)実働(S3)」の手順をさらに詳細に説明するフローチャートである。 図12は、書き込み処理を行う社内ネットワークシステム100を模式的に説明するものである。 図13は、サービスレベルを満たす書込対象のPC1(j)の決定方法を概念的に説明するものである。 図14は、書込対象のPC1(j)のより具体的な決定方法を説明するものである。 図15は、書込対象のPC1(j)のより具体的な決定方法を説明するものである。 図16は、実施例Aに係るファイルの複製の移転態様を説明するフローチャートである。 図17は、実施例Aに係るファイルの複製の移転態様を説明する概念図である。 図18は、実施例Bに係るファイルの複製の移転態様を説明するフローチャートである。 図19は、実施例Bに係るファイルの複製の移転態様を説明する概念図である。 図20は、ネットワークファイルシステム型のファイルシステムを示す概念図である。 図21は、ピアツーピア型のファイルシステムを示す概念図である。
符号の説明
1…パーソナルコンピュータ(クライアント)、
2…サーバ、
30…イントラネットワーク(ネットワーク)

Claims (7)

  1. サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムの前記サーバに適用される方法であり、
    前記サーバは、CPUと記憶装置と通信インターフェイスとを備え、
    前記方法は、
    前記CPUが、前記複数のクライアントのそれぞれの稼動実績に基づいて24時間毎又は一週間毎の各クライアントの稼働確率を算出し、前記稼働確率を各クライアントの状況として前記記憶装置へ記憶する第1調査ステップと、
    前記CPUが、前記複数のクライアントのうち一のクライアントからのデータの書き込み要求を前記通信インターフェイスを介して受信する第1受信ステップと、
    前記CPUが、前記記憶装置に記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断ステップと、
    前記CPUが、前記書込対象として決定されたクライアントに対して前記データの書き込み要求を前記通信インターフェイスを介して送信する第1送信ステップと、
    を備える方法。
  2. 前記第1判断ステップでは、
    予め定められたデータ多重度を満足するように、前記書込対象としてのクライアントを複数決定する請求項1に記載の方法。
  3. 前記第1判断ステップの前に、
    前記一のクライアントから前記データの可用性の基準である可用性基準を受信する第2受信ステップを備え、
    前記第1判断ステップでは、
    受信した前記可用性基準を満足するように、前記書込対象としてのクライアントを決定する請求項1又は2に記載の方法。
  4. 前記データの可用性が予め定められた可用性基準を満足する条件の下、前記複数のクライアントの利用記憶容量を最小化するのを第1モード、
    前記複数のクライアントの利用記憶容量が予め定められた前記利用可能な記憶容量を満足する条件の下、前記データの可用性を最大化するのを第2モード、
    前記第1モードと前記第2モードとの中間的な第3モードとし、
    前記第1判断ステップでは、
    前記第1乃至第3モードのいずれかにより前記書込対象のクライアントを決定する請求項1乃至3のいずれかに記載の方法。
  5. 前記第1送信ステップの後に、
    前記CPUが、前記ネットワークファイルシステムの状況の変化に基づいて、前記データの移転対象としての前記クライアントを決定する第2判断ステップと、
    前記移転対象として決定されたクライアントに対して前記データを書き込む要求を送信する第2送信ステップと
    を備える請求項1乃至のいずれかに記載の方法。
  6. サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバであり、
    前記サーバは、
    前記複数のクライアントのそれぞれの稼動実績に基づいて算出された24時間毎又は一週間毎の各クライアントの稼働確率を各クライアントの状況として記憶する記憶装置と、
    前記複数のクライアントのうち一のクライアントからのデータの書き込み要求を受信する通信インターフェイスと、
    前記記憶装置に記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定するCPUとを備え、
    前記通信インターフェイスは、書込対象として決定されたクライアントに対して前記データの書き込み要求を送信する
    サーバ。
  7. サーバと複数のクライアントとがネットワークで接続されたネットワークファイルシステムのサーバとしてコンピュータを機能させるコンピュータプログラムであり、
    前記コンピュータは、CPUと記憶装置と通信インターフェイスとを備え、
    前記コンピュータに、
    前記複数のクライアントのそれぞれの稼動実績に基づいて24時間毎又は一週間毎の各クライアントの稼働確率を算出し、前記稼働確率を各クライアントの状況として前記記憶装置へ記憶する第1調査機能と、
    前記複数のクライアントのうち一のクライアントからのデータの書き込み要求を前記通信インターフェイスを介して受信する第1受信機能と、
    前記CPUが、前記記憶装置に記憶している前記一のクライアントの状況及び/又は他のクライアントの状況に基づいて、前記他のクライアントの中から前記データの書込対象としてのクライアントを決定する第1判断機能と、
    前記書込対象として決定されたクライアントに対して前記データの書き込み要求を前記通信インターフェイスを介して送信する第1送信機能と、
    を実現させるコンピュータプログラム。
JP2007550169A 2005-12-16 2006-12-11 ネットワークファイルシステム Active JP5030791B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007550169A JP5030791B2 (ja) 2005-12-16 2006-12-11 ネットワークファイルシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005363359 2005-12-16
JP2005363359 2005-12-16
JP2007550169A JP5030791B2 (ja) 2005-12-16 2006-12-11 ネットワークファイルシステム
PCT/JP2006/324699 WO2007069576A1 (ja) 2005-12-16 2006-12-11 ネットワークファイルシステム

Publications (2)

Publication Number Publication Date
JPWO2007069576A1 JPWO2007069576A1 (ja) 2009-05-21
JP5030791B2 true JP5030791B2 (ja) 2012-09-19

Family

ID=38162884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007550169A Active JP5030791B2 (ja) 2005-12-16 2006-12-11 ネットワークファイルシステム

Country Status (4)

Country Link
US (1) US8099514B2 (ja)
JP (1) JP5030791B2 (ja)
CN (1) CN101331462A (ja)
WO (1) WO2007069576A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009031898A (ja) * 2007-07-25 2009-02-12 Brother Ind Ltd 情報退避システム、サーバ、サーバプログラム、クライアント及びクライアントプログラム
JP5745749B2 (ja) * 2008-01-15 2015-07-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 記憶インフラストラクチャを自動的に管理するための方法および適切な記憶インフラストラクチャ
JP5003556B2 (ja) * 2008-03-28 2012-08-15 富士通株式会社 通信検知装置、通信検知方法、及び通信検知プログラム
JP5176835B2 (ja) * 2008-09-29 2013-04-03 ブラザー工業株式会社 監視装置、情報処理装置、情報処理方法並びにプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049424A (ja) * 1996-07-29 1998-02-20 Shikoku Nippon Denki Software Kk ファイル分散多重化クライアントサーバシステム
JP2003330787A (ja) * 2002-04-24 2003-11-21 Internatl Business Mach Corp <Ibm> 分散及び収集を使用する分散型ファイルシステム
JP2005252596A (ja) * 2004-03-03 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 物理的信頼度を用いたp2pネットワーク構成方法及び接続状態管理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221372A (ja) * 1995-02-10 1996-08-30 Fuji Facom Corp 分散処理システムにおける空き資源管理装置
JPH1165911A (ja) * 1997-08-20 1999-03-09 Kyushu Nippon Denki Software Kk クライアント/サーバ型フアイルシステム
US6829689B1 (en) * 2002-02-12 2004-12-07 Nvidia Corporation Method and system for memory access arbitration for minimizing read/write turnaround penalties
JP2003248611A (ja) * 2002-02-26 2003-09-05 Hitachi Ltd 記憶管理統合システム、および、その記憶管理制御方法
JP4233328B2 (ja) * 2003-01-08 2009-03-04 日立ソフトウエアエンジニアリング株式会社 ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2005301824A (ja) * 2004-04-14 2005-10-27 Ntt Communications Kk データを分散して格納する方法、及びそのための端末装置並びにプログラム
US7275123B2 (en) * 2004-12-06 2007-09-25 Nvidia Corporation Method and apparatus for providing peer-to-peer data transfer within a computing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049424A (ja) * 1996-07-29 1998-02-20 Shikoku Nippon Denki Software Kk ファイル分散多重化クライアントサーバシステム
JP2003330787A (ja) * 2002-04-24 2003-11-21 Internatl Business Mach Corp <Ibm> 分散及び収集を使用する分散型ファイルシステム
JP2005252596A (ja) * 2004-03-03 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 物理的信頼度を用いたp2pネットワーク構成方法及び接続状態管理装置

Also Published As

Publication number Publication date
US20080235392A1 (en) 2008-09-25
JPWO2007069576A1 (ja) 2009-05-21
CN101331462A (zh) 2008-12-24
US8099514B2 (en) 2012-01-17
WO2007069576A1 (ja) 2007-06-21

Similar Documents

Publication Publication Date Title
US7398302B2 (en) Remote copy with path selection and prioritization
RU2595493C2 (ru) Крупномасштабная система хранения данных
US7873860B2 (en) External storage and data recovery method for external storage as well as program
CN100514306C (zh) 分布式web服务的上下文中自主故障转移的方法和设备
CN101090356B (zh) 使能对远程存储装置的访问的方法和系统
US7003556B2 (en) Storage system and a method for unilaterally administering data exchange with the storage system
JP2003032290A (ja) ストレージベースリモートコピーでのパス選択方式
US20060155951A1 (en) Computer system, storage and storage utilization and monitoring method
CN104380263A (zh) 备份图像复制
JP2004334574A (ja) ストレージの運用管理プログラム、運用管理方法及び管理計算機
JP2010509677A (ja) 分散型サーバーシステムにおいてバックアップマネージャを転送するメッセージ
JP4338126B2 (ja) ネットワークシステム、サーバ、機器管理方法およびプログラム
JP2005275829A (ja) ストレージシステム
JP2006053885A (ja) バックアップ記憶装置を選択するシステム
JP5030791B2 (ja) ネットワークファイルシステム
JP2003108412A (ja) ストレージ管理方式
US20080086658A1 (en) Backup control device and system for data processing system
JP6011786B2 (ja) 分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラム
US6266697B1 (en) System automatically maintaining client under control of client, and a recording medium therefor
JP5200658B2 (ja) サーバシステム
JP6020803B2 (ja) 分散ストレージシステム、分散ストレージデータ移動制御方法及び分散ストレージデータ移動制御用プログラム
CN113791935A (zh) 一种数据备份方法、网络节点及系统
JP3835199B2 (ja) 分散管理型ネットワークファイルシステム及びファイル方法
JP6927552B2 (ja) 情報処理装置、リソース管理方法及びリソース管理プログラム
JP2013214184A (ja) ミラーリングシステム、ノード、ミラーリング方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120321

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120329

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120626

R150 Certificate of patent or registration of utility model

Ref document number: 5030791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3