이름 자체에 구조가 있는 경우다.
Unix file system 생각하면 된다.


n5를 보자. 이건 트리가 아니라 그래프다.
하나의 엔티티를 두개의 이름으로 표현하고 있다. Path가 2개다.
각 경로는, 엣지들의 라벨 순서로 참조될 수 있다.
위를 보자.
라벨의 순서를 path name이라 한다.
/home/max
는 뭘까? n3
네임에 path가 담겨서 이를 쫓아가면 된다.
위 n5처럼 이름은 다지만 동일한 엔티티인 경우.
원본 파일이나 디렉토리에 대한 reference pointer 역할을 함.

n5를 보자. 실제 데이터가 아니라 경로를 저장하고 있다.
즉 n5에 접근하면, 다시 "/keys"를 따라 가야하는 것이다.
서로 다른 컴퓨터에서 연결해서 서로 찾기
이름 : URL로 표현
Mount Point와 Mounting Point 차이:
Mount Point: 현재 이름 공간에서 외부 이름 공간을 연결하는 디렉토리.
Mounting Point: 외부 이름 공간에서 연결될 지점.

A는 /remote/vu에 있는 데이터를 사용한다고 생각한다.
실제로는 데이터는
nfs://flits.cs.vu.nl/home/steen
를 가지고 B에서 찾는다.
nfs : 프로토콜
filts.cs.vu.nl : B의 서버
home/steen : B의 네임스페이스
마운트 포인트 : vu
마운팅 포인트 : /home/steen
DNS
네이밍 시스템 구현
부모는 자식만 알고 있음 <==> flat : 다 알고 잇음 부모는

위처럼 3개의 레이어가 있다.
글로벌로 갈수록 replica가 많을 것.
Recursive name resolution
root가 다 처리해서 결과만 client에 전달.
서버 부담 큼.
글로벌 레이어는 쓰면 ㅈ됌. 안됌.
커뮤니케이션 코스트 적음

Iterative : client가 계속 물어보기
캐싱 쓰기 어려움. 클라이언트에서 해야됌.
많은 Org가 local name server에 일단 감.
찾고자 하는 리소스의 속성을 쫙 나열하면 그게 이름이다.
결과가 여러개나올 수 있다.
Flat, Structured는 Unique하지만, 얘는 아니다.
일반적으로 (속성,값) 페어들을 나열해서 표현한다.
RDF(Resource Description Framework)에 따라서