/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: DomainFileSystem.java,v 1.2 2005/09/07 13:38:06 rampil Exp $
 */
package org.logical_paradox.vsan.dfs;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * ドメインファイルシステム
 * 複数ノードに分散して配置されたファイルを統合して扱うためのファイルシステム
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.2 $
 */
public interface DomainFileSystem extends Remote {
	/**
	 * ドメインファイルシステムに対してアクセスするための接続オブジェクトを返す
	 * 接続数の状態によっては、取得できない場合もある
	 * @param clientNodeId クライアントノードのID
	 * @return 取得できたドメイン接続オブジェクト
	 * @throws RemoteException 取得中にネットワーク障害などが発生した
	 */
	public DomainConnectionProxy getConnection(String clientNodeId) throws RemoteException;
	/**
	 * このドメインファイルシステムのノードIDを返す
	 * @return サーバーインスタンス生成時に割り当てられたノードID
	 * @throws RemoteException 通信障害など
	 */
	public String getNodeId() throws RemoteException;
}
