locked
共有フォルダ内のフォルダ、ファイルを使用する際の排他制御について RRS feed

  • 質問

  • 共有フォルダ内のフォルダ、ファイルを使用する際の排他制御についてご教授ください。

    Windows server 2008をファイルサーバとして使用しています。
    このファイルサーバを利用する端末としてMac(OS X)、Win XPがあります。

    ネットワークを経由し、このファイルサーバ上の共有フォルダに対して、
    フォルダ、ファイルの追加、更新などを行う場合、排他制御は何が行うのでしょうか。
    (ネットワーク経由でこれらを行う端末側でしょうか、それともサーバ側になりますでしょうか)

    -以上よろしくお願いいたします。

    2010年9月24日 8:26

回答

  • ネットワークを経由し、このファイルサーバ上の共有フォルダに対して、
    フォルダ、ファイルの追加、更新などを行う場合、排他制御は何が行うのでしょうか。
    (ネットワーク経由でこれらを行う端末側でしょうか、それともサーバ側になりますでしょうか)


    微妙な回答で申し訳ないのですが、Windowsの共有フォルダが使用するプロトコルにはロックの仕組みがあります。
    この仕組みを指してサーバ側で制御している、と言えなくもないです。
    Excelなどは、この仕組みをうまく利用して、誰かが書き込み可能な状態でファイルを開くと、他の人は書き込みができなくなります。

    「@IT:連載 基礎から学ぶWindowsネットワーク 第22回 ファイル共有プロトコルSMB/CIFS(その3) 1.SMB/CIFSパケットの構造」
    http://www.atmarkit.co.jp/fwin2k/network/baswinlan022/baswinlan022_01.html

    ですが、Notepad.exeのように、いきなりファイルを全部読み込んで接続を切ってしまうタイプのアプリでは、開くときの読み込み時間しかロックがかからないため、ロックがかかっていると言ってよいのか微妙です。つまり、単にオープン状態を持続するだけでも良いのですが、アプリ側がこのプロトコルを使ってロックをかけることを意識していないと、うまく排他制御ができません。これは、アプリのつくりに依るため、端末側で行っていると言えなくもありません。

    結局は、ロックの機能は用意されているが、それを有効に使っているかどうかはアプリ次第であるため、作る側の人であれば「アプリを開いている間は閉じない」などの仕組みを考えてください。いろいろなアプリを使用する利用者側の視点としては、アプリに依存するため、排他制御ができることがわかっているアプリ以外は排他制御は基本的にないものだと思ってください。
    #もし、利用者側だとして設計するのであれば、誰かがオープン中は上書きできない機能はあるけれど、オフラインで持ち出したファイルなどの対応など、微妙に信用ならないので厳密な排他制御を行いたいのであれば、SharePointなどECM製品のご利用もご検討ください。

    ITmedia エンタープライズ:なぜSharePoint Portal Server 2003を導入するのか(中編) (1/2)
    http://www.itmedia.co.jp/enterprise/0403/09/epn05.html

    「SharePoint Server 2007 (MOSS) 自習書 | ライブラリとリストの基本操作編-チェックイン・チェックアウト (排他制御)
    http://technet.microsoft.com/ja-jp/office/sharepointserver/ee441298.aspx#_Toc203496081

    小さく使うには、無料のSharePoint Service、企業内で情報共有していきたい場合はSharePoint Serverがあります。
    SharePoint Portal Server 2003の全体像を探る (1/2)
    http://www.itmedia.co.jp/enterprise/0401/19/epn02.html

    • 回答としてマーク H.Moriguchi 2010年9月28日 8:36
    2010年9月24日 17:12
  • 端末側でパワーポイントを使用し、共有フォルダのファイル(\\server-a\data\test.ppt)を編集している時に、

    このファイルを含むフォルダ(\\server-a\data)の名前が変更出来ませんでした。

    これは、OSのロック機能をパワーポイントが使用していることにより、ロック中のファイルを含んでいる

    フォルダの名前変更をさせない仕組みになっているからでしょうか。


    そうです。

    PowerPointは、SMBのフラグに対応しているため、ロックをかけます。そのロックがかかっていると、OSは使用中と判断し、フォルダの変更や、ファイルの削除ができなくなります。

     

    • 回答としてマーク H.Moriguchi 2010年9月28日 8:35
    2010年9月27日 8:56

すべての返信

  • ネットワークを経由し、このファイルサーバ上の共有フォルダに対して、
    フォルダ、ファイルの追加、更新などを行う場合、排他制御は何が行うのでしょうか。
    (ネットワーク経由でこれらを行う端末側でしょうか、それともサーバ側になりますでしょうか)


    微妙な回答で申し訳ないのですが、Windowsの共有フォルダが使用するプロトコルにはロックの仕組みがあります。
    この仕組みを指してサーバ側で制御している、と言えなくもないです。
    Excelなどは、この仕組みをうまく利用して、誰かが書き込み可能な状態でファイルを開くと、他の人は書き込みができなくなります。

    「@IT:連載 基礎から学ぶWindowsネットワーク 第22回 ファイル共有プロトコルSMB/CIFS(その3) 1.SMB/CIFSパケットの構造」
    http://www.atmarkit.co.jp/fwin2k/network/baswinlan022/baswinlan022_01.html

    ですが、Notepad.exeのように、いきなりファイルを全部読み込んで接続を切ってしまうタイプのアプリでは、開くときの読み込み時間しかロックがかからないため、ロックがかかっていると言ってよいのか微妙です。つまり、単にオープン状態を持続するだけでも良いのですが、アプリ側がこのプロトコルを使ってロックをかけることを意識していないと、うまく排他制御ができません。これは、アプリのつくりに依るため、端末側で行っていると言えなくもありません。

    結局は、ロックの機能は用意されているが、それを有効に使っているかどうかはアプリ次第であるため、作る側の人であれば「アプリを開いている間は閉じない」などの仕組みを考えてください。いろいろなアプリを使用する利用者側の視点としては、アプリに依存するため、排他制御ができることがわかっているアプリ以外は排他制御は基本的にないものだと思ってください。
    #もし、利用者側だとして設計するのであれば、誰かがオープン中は上書きできない機能はあるけれど、オフラインで持ち出したファイルなどの対応など、微妙に信用ならないので厳密な排他制御を行いたいのであれば、SharePointなどECM製品のご利用もご検討ください。

    ITmedia エンタープライズ:なぜSharePoint Portal Server 2003を導入するのか(中編) (1/2)
    http://www.itmedia.co.jp/enterprise/0403/09/epn05.html

    「SharePoint Server 2007 (MOSS) 自習書 | ライブラリとリストの基本操作編-チェックイン・チェックアウト (排他制御)
    http://technet.microsoft.com/ja-jp/office/sharepointserver/ee441298.aspx#_Toc203496081

    小さく使うには、無料のSharePoint Service、企業内で情報共有していきたい場合はSharePoint Serverがあります。
    SharePoint Portal Server 2003の全体像を探る (1/2)
    http://www.itmedia.co.jp/enterprise/0401/19/epn02.html

    • 回答としてマーク H.Moriguchi 2010年9月28日 8:36
    2010年9月24日 17:12
  • chuki 様

    コメントありがとうございます。

    重ねての質問で恐縮ですが、

    端末側でパワーポイントを使用し、共有フォルダのファイル(\\server-a\data\test.ppt)を編集している時に、

    このファイルを含むフォルダ(\\server-a\data)の名前が変更出来ませんでした。

    これは、OSのロック機能をパワーポイントが使用していることにより、ロック中のファイルを含んでいる

    フォルダの名前変更をさせない仕組みになっているからでしょうか。

    -以上宜しくお願いいたします。

     

    2010年9月27日 8:49
  • 端末側でパワーポイントを使用し、共有フォルダのファイル(\\server-a\data\test.ppt)を編集している時に、

    このファイルを含むフォルダ(\\server-a\data)の名前が変更出来ませんでした。

    これは、OSのロック機能をパワーポイントが使用していることにより、ロック中のファイルを含んでいる

    フォルダの名前変更をさせない仕組みになっているからでしょうか。


    そうです。

    PowerPointは、SMBのフラグに対応しているため、ロックをかけます。そのロックがかかっていると、OSは使用中と判断し、フォルダの変更や、ファイルの削除ができなくなります。

     

    • 回答としてマーク H.Moriguchi 2010年9月28日 8:35
    2010年9月27日 8:56
  • chuki 様

    ご教示いただき、ありがとうございました。

    また何かありましたら、宜しくお願いします。

     

    2010年9月28日 8:44