KR100837220B1 - A/v 데이터의 송신을 위한 네트워크에서의 등시성 파일 전송 방법과, a/v 데이터의 송신을 위해 네트워크에 연결하기 위한 디바이스 - Google Patents

A/v 데이터의 송신을 위한 네트워크에서의 등시성 파일 전송 방법과, a/v 데이터의 송신을 위해 네트워크에 연결하기 위한 디바이스 Download PDF

Info

Publication number
KR100837220B1
KR100837220B1 KR1020020011560A KR20020011560A KR100837220B1 KR 100837220 B1 KR100837220 B1 KR 100837220B1 KR 1020020011560 A KR1020020011560 A KR 1020020011560A KR 20020011560 A KR20020011560 A KR 20020011560A KR 100837220 B1 KR100837220 B1 KR 100837220B1
Authority
KR
South Korea
Prior art keywords
file
isochronous
client
connection
filemanager
Prior art date
Application number
KR1020020011560A
Other languages
English (en)
Other versions
KR20020072196A (ko
Inventor
가엘 마체
앙그리드 오띠에르
띠에리 따삐에
Original Assignee
톰슨 라이센싱
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 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20020072196A publication Critical patent/KR20020072196A/ko
Application granted granted Critical
Publication of KR100837220B1 publication Critical patent/KR100837220B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2838Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Purification Treatments By Anaerobic Or Anaerobic And Aerobic Bacteria Or Animals (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 HAVi 네트워크에서 등시성 파일을 처리하기 위한 방법에 관한 것이다.
본 발명은,
- 클라이언트 디바이스와 소스 디바이스 사이에 연결을 개시하는 단계와;
- 상기 연결을 통해 등시적인 방식으로 전송될 파일을 명시하는 단계와;
- 상기 파일 내에서 상기 전송이 수행될 시작 지점을 명시하는 단계와;
- 상기 시작 지점으로부터 상기 파일 전송을 개시하는 단계를 포함하는 것을 특징으로 한다.

Description

A/V 데이터의 송신을 위한 네트워크에서의 등시성 파일 전송 방법과, A/V 데이터의 송신을 위해 네트워크에 연결하기 위한 디바이스{METHOD FOR ISOCHRONOUS FILE TRANSFER IN A NETWORK FOR TRANSMISSION OF A/V DATA, AND DEVICE FOR CONNECTION TO A NETWORK FOR TRANSMISSION OF A/V DATA}
도 1은 본 실시예에 따른 디바이스의 소프트웨어 구조를 도시한 도면.
도 2는 변형된 실시예에 따른 파일 관리자 기능성 구성요소 모듈에 의해 만들어진 글로벌 디렉토리의 예를 도시한 도면.
도 3은 변형된 실시예에 따른 글로벌 디렉토리를 수립하기 위한 흐름도.
<도면 주요 부분에 대한 부호의 설명>
FCM: 기능성 구성요소 모듈 FM: 파일 관리자
FS: 파일 시스템
가정용 오디오 비디오 상호운용(HAVi : Home Audio Video interoperability) 구조는 오디오/비주얼 데이터를 교환하기 위해 IEEE 1394 직렬 버스 네트워크를 통해 고속 상호연결을 달성하고자 하는 것이다. 이러한 제안은 특히 상호동작성(interactivity)(사용자-디바이스간 상호동작 패러다임에서 사용자가 관련됨)과 상호운용(디바이스간 상호동작 패러다임에서 어떠한 사용자도 관련되지 않 음)을 가능케 하기 위한 가전 디바이스의 필요를 다루고자 하는 것이었다. 나아가, HAVi 내에서, 애플리케이션을 제어하는 것외에 스트리밍(streaming) 애플리케이션을 가능케 하는 점에 상당히 중점을 두고 있다. 스트리밍 애플리케이션의 예로 비디오 스트림을 레코딩 디바이스로부터 디코더 또는 디스플레이에 전송하는 애플리케이션이 있는 반면, 제어 애플리케이션의 예로 디바이스의 동작을 프로그램하기 위한 애플리케이션이 있다. 이것은 등시성과 비동기성 트랜잭션 모두에 대한 지원을 내포한다.
등시성 스트림을 관리하기 위해, HAVi는 하나 이상의 디바이스의 기능성 구성요소(functional component) 사이의 등시성 연결을 셋업하게 하는 스트림 관리자를 구현한다. 기능성 구성요소는 기능성 구성요소 모듈(Functional Component Module)을 통해 제어될 수 있으며, 이러한 모듈은 애플리케이션으로 프로그램 가능한 인터페이스를 정의한다. 이러한 기능성 구성요소 모듈중 하나로 'AVDisc' 모듈이 있으며, 이것은 컴팩트 디스크와 같은 지원 장치 상에서 등시성 오디오 및/또는 비디오 스트림의 제어 전용이다.
등시성 스트림 전용이기 때문에, AVDisc 모듈은 혼합 등시성 및 비동기성 데이터의 관리 또는 비동기성 데이터만의 관리에 적응되지 않는다. 이러한 종류의 데이터는 예컨대 비디오와 같은 등시성 스트림을 저장하는 것과 텔레비전 애플리케이션의 경우 프로그램 가이드 데이터와 같은 비동기성 데이터를 저장하는 것 모두에 사용되는 하드디스크 또는 또 다른 타입의 레코딩 가능한 매체 상에 존재할 수 있다. 현재의 버전에서, HAVi는 이러한 종류의 기능성 구성요소를 위한 기능성 구성 요소 모듈을 명시하지 않고 있다.
더나아가, 현재 파일 전송이 여러 이유로 인해 중단(abort)된다면, HAVi는 이것을 재시작하는 것에 대한 제어를 거의 허용하지 않는다.
본 발명의 목적은 HAVi 네트워크에서 등시성 파일을 관리하기 위한 방법이며, 이 방법은,
- 클라이언트 디바이스와 소스 디바이스 사이에 연결을 개시하는 단계와;
- 상기 연결을 통해 등시적인 방식으로 전송될 파일을 명시하는 단계와;
- 상기 파일 내에서 상기 전송이 실행될 시작 지점을 명시하는 단계와;
- 상기 파일 전송을 시작하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 상기 파일의 시작 지점(the beginning)이외의 지점에서부터 등시성 파일의 전송을 재시작하게 한다.
본 발명의 실시예에 따라, 본 방법은, 레코딩 매체 상에서 등시성 파일 및 비동기성 파일의 파일 시스템을 관리하기 위해 파일 관리자 기능성 구성요소 모듈을 클라이언트 애플리케이션에 제공하는 단계를 더 포함하며, 여기서 상기 파일 관리자 기능성 구성요소 모듈은 상기 클라이언트 애플리케이션에 의해 액세스하기 위해 애플리케이션으로 프로그램 가능한 인터페이스를 제공한다.
파일 관리자 기능성 구성요소 모듈은 파일 시스템을 사용하여 데이터 저장 매체를 처리하게 한다.
본 발명의 다른 특징 및 장점은 포함된 도면의 도움으로 설명되는 비제한적 인 실시예에 대한 기술을 통해서 드러날 것이다.
독자에게 배경 정보를 제공하기 위해, 본 기술은 다음의 세 개의 부록을 포함한다.
- 부록 1은 독자가 추가적인 정보를 참고할 수 있는 참고문헌 목록이며,
- 부록 2는 본 출원에 사용된 약어 목록이며,
- 부록 3은 본 출원에 사용된 용어이다.
도 1은 본 실시예에 따른 HAVi-순응형 디바이스의 소프트웨어 구조의 하나의 타입에 대한 도면이다. 이러한 구조의 알려진 구성요소 외에, 디바이스는, 레코딩 매체의 디렉토리뿐만 아니라 등시성 및 비동기성 연결 및 파일을 제어하기 위해 파일 관리자 기능성 구성요소 모듈(FCM : Functional Component Module)을 더 포함하며, 파일 관리자 FCM은 애플리케이션으로 프로그램 가능한 인터페이스를 다른 객체(로컬 또는 원거리에 있을 수 있음), 특히 애플리케이션에 제공하는 소프트웨어 요소이다. 본 실시예에 따라, 도 1의 디바이스의 레코딩 매체는 하드디스크 드라이브이다.
파일 관리자 FCM은 등시성 연결을 수립할 때 스트림 관리자의 서비스를 사용한다.
스트림 관리자, 레지스트리(Registry) 및 자원 관리자와 같은 서비스와 대조적으로, 파일 관리자를 기능성 구성요소 모듈 레벨에 위치시키는 것은 특정한 후방 호환성(backward compatibility)을 가능케 하는 장점이 있다. 사실, 만약 파일 관 리자가 예컨대 스트림 관리자와 동일한 타입의 서비스였다면, 네트워크 내의 모든 풀(Full) A/V 디바이스를 파일 관리자로 갱신해야할 것이며, 이는 그러한 서비스를 필요로 하는 애플리케이션이 항상 로컬 서비스에 대한 요청을 해야 하며, 결국 원거리의 디바이스와 동일한 서비스에 대한 요청을 발송하기 때문이다. FCM으로서, 파일 관리자는 로컬 애플리케이션 또는 원거리 디바이스로부터의 애플리케이션일 수 있는 임의의 애플리케이션에 의해 접촉될 수 있다. 원거리 디바이스에 있는 FCM은, 로컬 소프트웨어 요소에 대한 지식을 구비하고, 원거리 레지스트리가 등록하고 있는 소프트웨어 요소에 대한 정보를 얻기 위해 원거리 레지스트리에 문의하는 성능을 구비하는 로컬 레지스트리 서비스를 사용하여 발견될 수 있다.
본 실시예에 따라, 파일 관리자 기능성 구성요소 모듈은, 파일 관리자 FCM 자체와 동일한 디바이스의 일부분인 레코딩 매체에 액세스를 제공한다.
변형 실시예에 따라, 파일 관리자 기능성 구성요소 모듈은 네트워크 상의 모든 파일 관리자 호환성 디바이스에 대한 이미지를 제공한다. 이를 달성하기 위해, 파일 관리자 FCM은 로컬 레지스트리를 통해 네트워크 내의 다른 파일 관리자 FCM - 선택 사항으로, AVDisc FCM도 - 을 탐지하고, 그 식별자를 획득한 다음 글로벌 디렉토리를 만들기 위해 대응하는 디바이스 각각의 디렉토리 트리를 요청한다. 네트워크를 위한 이러한 글로벌 디렉토리는 도 2에 의해 예시되어 있다. 이러한 진행 방식은 디바이스의 각 애플리케이션이 그 로컬 레지스트리에 단독으로 문의하게 하는 것을 피하는 장점이 있다. 애플리케이션은 단지 하나의 파일 관리자 FCM과의 정보교환을 필요로 한다. 따라서, 파일 관리자는 스트림 관리자가 갖는 서비스인 글 로벌 네트워크 기능을 위에서 언급한 단점없이 갖는다. 도 3은 글로벌 디렉토리를 수립하는 절차에 대한 흐름도이다.
기능성 구성요소 모듈(FCM) 애플리케이션으로 프로그램 가능한 인터페이스(API: Application Programmable Interface)는 파일 시스템을 갖는 비 AV 디스크를 위한 공통 동작 세트를 지원한다.
파일 관리자 FCM은 벌크(bulk)(등시성) 전송 및 비동기성 스트림 전송 모두를 위해 설계된다.
도 2에 의해 기술된 바와 같이, 연결된 클라이언트는 장비와 관련된(로컬 및 논리 및/또는 물리적으로) 네트워크의 모든 드라이브를 탐색할 수 있다.
표 1은 파일 관리자에 의해 제공된 서비스를 나타낸다.
서비스 명령 타입 지역성 액세스 Resv Prot
FileManager::IsoConnect M 글로벌 모두
FileManager::AsyncConnect M 글로벌 모두
FileManager::FileOpen M 글로벌 모두
FileManager::FileClose M 글로벌 모두
FileManager::Get M 글로벌 모두
<Client>::Get(이 서비스는 클라이언트에 의해 이용 가능하게 된다) MB 글로벌 파일 시스템 (모두)
FileManager::Put M 글로벌 모두
FileManager::Abort M 글로벌 모두
FileManager::Disconnect M 글로벌 모두
FileManager::ChDir M 글로벌 모두
FileManager::Rename M 글로벌 모두
FileManager::Del M 글로벌 모두
FileManager::RmDir M 글로벌 모두
FileManager::MkDir M 글로벌 모두
FileManager::PwD M 글로벌 모두
FileManager::Ls M 글로벌 모두
(1) 파일 관리자의 데이터 구조가 이제 상세하게 기술될 것이다.
(a) FileLoc
기본형
enum FileLoc{START, MIDDLE, END}
해설
이것은 생산자로부터 소비자로의 메시지가 전송의 처음(START), 전송의 중간(MIDDLE) 또는 전송의 마지막(END)에 있는지를 나타낸다. 전송이 하나의 메시지로 달성된다면, END가 사용된다.
(b) FileSystem TransactionMode
기본형
enum FileSystem TransactionMode{NONE, GET, PUT}
해설
이것은 트랜잭션이 현재 개방된 파일을 위해 처리되고 있음을 나타낸다. 등시성 연결의 초기화의 경우, NONE 값은 이용 가능하지 않다.
(c) FileSystemOpenMode
기본형
enum FileSystemOpenMode{NORMAL, APPEND, RESTART}
해설
연결 개시 동작을 위한 모드를 정의한다(클라이언트 →서버).
NORMAL: 경로이름에 명시된 파일의 복사본을 전송한다. 서버 측에 있는 상기 파일의 상태 및 내용은 영향을 받지 않는다.
APPEND: 만약 경로이름에 명시된 파일이 서버 측에 존재한다면, 데이터는 그 파일에 첨부된다; 존재하지 않는다면, 경로이름에 명시된 파일은 서버 측에 생성된다.
RESTART: 파일 내의 명시된 데이터 체크포인트로 건너뛴다(skip). 비동기성 연결의 경우, 개시 명령(FileManager::FileOpen 서비스 호출) 바로 다음에는 파일 전송을 재개시키는 적절한 서비스 명령이 온다. 등시성 연결의 경우, 등시성 연결의 개시가 적절한 서비스 명령을 내부적으로 포함하므로 이러한 서비스 명령은 필요하지 않다.
(2) 이제, 파일 관리자 방법이 상세하게 기술될 것이다.
(a) FileManager::IsoConnect
기본형
Status FileManager::IsoConnect(
in FileSystemTransactionMode transMode
in wstring fileName,
in FileSystemOpenMode openMode,
in long restartPoint,
in ushort plugnum
out long cid)
파라미터
transMode - 트랜잭션 모드를 정의한다(클라이언트 →서버). NONE은 아니어야 한다.
fileName - 전송할 파일(만약 존재한다면)의 전체 경로를 명시한 파일 이름.
openMode - 연결 개시 동작을 위한 모드를 정의한다.
RestartPoint - 전송이 재시작되는, 파일의 시작지점으로부터의 오프셋(바이트 단위). RESTART 개시 모드와만 관련됨.
plugnum - 스트림 관리자에 의해 수립되는 플러그 넘버.
cid - 연결 식별자. 이것은 하나의 소프트웨어 구성요소로부터의 수 개의 연결을 시작하게 하며, 또한 응답을 요청과 매칭시킬 수 있게 한다.
해설
이 서비스는, 클라이언트 소프트웨어 요소가 스트림 관리자 부분에 의존하여 파일 관리자 FCM과의 등시성 연결을 개시하게 한다.
이러한 FileManager::IsoConnect 기능을 호출하기 이전에, 클라이언트 소프트웨어 요소는 먼저:
Figure 112002006419679-pat00001
파일 관리자 FCM의 플러그가 그 자체(클라이언트)와 파일 관리자 사이의 연결을 위해 사용될 수 있는지를 결정하기 위해, Fcm::GetPlugCount와 Dcm::GetPlug Status 방법을 사용하여야 하고;
Figure 112002006419679-pat00002
그 자체(클라이언트)와 파일 관리자 사이의 등시성 스트림 연결을 생성하기 위해 StreamManager::FlowTo 방법을 사용하여야 한다.
일단 상기 플러그가 스트림 관리자에 의해 연결되어지면, 클라이언트는 파일 관리자 연결을 위한 식별자를 얻기 위해 FileManager::IsoConnect 기능을 호출할 수 있다. 위에서의 스트림 셋업은 HAVi 규격에서 기술된 것(부록 참조)과 유사하 며, 추가적인 상세한 사항에 대해서는 이 문서를 참조할 수 있다.
더나아가, restartPoint 파라미터는 서버 마커를 나타내며, 이 서버 마커로부터 파일 전송이 재시작된다. 이 명령은 지시되어지는 경우에 명시된 데이터 체크포인트로부터 파일 전송을 야기한다.
FileManager::FileOpen, FileManager::FileClose, FileManager::Get 및 File Manager::Put 호출은 등시성 전송 모드에서 사용되지 않음을 주목하기 바란다.
에러 코드
Figure 112002006419679-pat00003
EINVALID_PARAMETER: fileName은 존재하지 않고, transMode는 GET인 경우, restartPoint는 fileName에 존재하지 않는 경우, transMode는 NONE인 경우.
Figure 112002006419679-pat00004
ERESOURCE_LIMIT: 이용 가능한 더 이상의 cid는 없는 경우, 어떠한 추가적인 쓰레드(thread)도 생성될 수 없는 경우.
(b) FileManager::AsyncConnect
기본형
Status FileManager::AsyncConnect(
in long clientMessageMaxSize,
out long serverMessageMaxSize,
out long cid)
파라미터
clientMessageMaxSize - 클라이언트 소프트웨어 요소에 의해 수용된 메시지의 최대 크기(바이트 단위)를 나타낸다. 파일 관리자 FCM은, 클라이언트 소프트웨 어 요소에 인입 전송물을 전달하는 동안에(기준은 파일 관리자이다) 이 파라미터를 고려할 것이다.
serverMessageMaxSize - 파일 관리자 FCM이 내주하는 노드에 의해 수용된 메시지의 최대 크기(바이트 단위)를 나타낸다. 클라이언트 소프트웨어 요소는 발신 전송물의 전달하는 동안에(기준은 파일 관리자이다) 이 파라미터를 고려할 것이다.
cid - 연결의 식별자. 이것은 하나의 소프트웨어 구성요소로부터 몇 개의 연결을 시작하게 하며, 또한 응답을 요청에 매칭시키게 한다.
해설
이 명령은 소프트웨어 요소가 비동기 연결을 개시하게 한다. 각 FileManager::AsyncConnect는 파일 관리자 FCM이 각 연결된 클라이언트를 위한 컨택스트(context)(데이터를 그 클라이언트에게 전달하기 위해 호출해야할 연결 식별자 및 함수)를 관리하게 한다.
에러 코드
ERESOURCE_LIMIT: 이용 가능한 cid는 더 이상 없는 경우, 어떠한 새로운 쓰레드도 생성될 수 없는 경우.
(c) FileManager::FileOpen
기본형
Status FileManager::FileOpen(
in long cid,
in wstring fileName,
in FileSystemOpenMode mode,
in long restartPoint)
파라미터
cid - 클라이언트 애플리케이션과 파일 관리자 FCM사이의 연결 식별자(클라이언트 애플리케이션에 의해 제공되며, 클라이언트 애플리케이션은 AsyncConnect 호출을 통해 파일 관리자로부터 이것을 얻었다).
fileName - 만약 있다면, 전송할 파일을 위한 전체 경로를 명시한 파일 이름(FileManager::Get 및 FileManager::PutAPIs와 관련해서만 사용됨).
mode - 연결 개시 동작을 위한 모드를 정의한다(클라이언트→서버).
restartPoint - 파일의 시작 지점으로부터의 오프셋(바이트 단위)이며, 여기서부터 전송이 재시작됨. 만약 어떠한 재시작도 필요치 않으면, 이것은 "-1"이다.
해설
이 명령은 소프트웨어 요소가 전송될 파일을 식별하게 한다. 클라이언트는 동일한 연결 내에서 동시에 여러 개의 파일을 개방할 수 없다.
restartPoint 파라미터는 파일 전송이 재시작되는 서버 마커를 나타낸다. 만약 파일이 RESTART 모드에서 개방되지 않는다면, 이 파라미터는 무의미하다.
이 명령은 파일 전송을 야기하기보다는 그 파일을 스킵하고 명시된 데이터 체크포인트(만약 있다면)로 간다. 이와 관련하여, 다음의 적절한 명령(FileManager::Put, FileManager::Get)이 파일 전송을 재개하게 한다.
에러 코드
Figure 112002006419679-pat00005
EINVALID_PARAMETER: cid 파라미터 값은 존재하지 않는 경우, cid는 등시성 연결을 위해 생성되었던 경우, 또는 restartPoint가 fileName에 존재하지 않고 openMode가 RESTART인 경우,
Figure 112002006419679-pat00006
EACCESS_VIOLATION: cid는 이미 개방중인 파일에 대응하는 경우, fileName은 개방되거나 생성될 수 없는 경우, 또는 클라이언트는 이러한 연결에 액세스할 수 없는 경우.
(d) FileManager::FileClose
기본형
Status FileManager::FileClose(in long cid)
파라미터
cid- 위의 (c) 참조바람.
해설
이 명령은 소프트웨어 요소가 주어진 파일에 대해 이미 수행된 모든 동작을 종료하게 한다.
에러 코드
Figure 112002006419679-pat00007
ECONNECTION: cid는 존재하지 않는 경우, 또는 cid는 등시성 연결을 위해 생성되었던 경우.
Figure 112002006419679-pat00008
EACCESS_VIOLATION: cid 연결을 위한 어떠한 개방 파일도 없는 경우, 또는 클라이언트는 이 연결에 액세스할 수 없는 경우.
(e) FileManager::Get
기본형
Status FileManager::Get(in long cid,
in OperationCode opCode)
파라미터
cid - 위의 (c) 참조바람.
opCode - 임의의 요청된 파일을 전달하기 위해 파일 관리자 FCM이 사용할, 클라이언트에 의해 제공된 동작 코드. 이 동작 코드에 의해 식별된 클라이언트 기능은 <Client>::Get API에 따라 설계되어야 한다.
해설
이 명령은 전송될 데이터를 수용하기 위해 서버를 초기화시킨다(<Client>::Get와 비교바람). 만약 SUCCESS가 반환된다면, 클라이언트는 개방 파일의 내용을 수신할 것이다. 데이터를 클라이언트에게 송신하기 위해 파일 관리자에 의해 전달된 메시지는 opCode 동작 코드(<Client>::Get 서비스를 식별한다)를 가질 것이다.
만약 명시된 연결과 관련된 파일이 RESTART 모드에서 개방되었다면, 파일 관리자 FCM은 파일의 restartPoint에서 시작해서 데이터를 전달할 것이다. 그렇지 않다면, 파일 내용은 완전히 전송될 것이다.
에러 코드
Figure 112002006419679-pat00009
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 또는 cid는 등시성 연결을 위해 생성되었던 경우.
Figure 112002006419679-pat00010
EACCESS_VIOLATION: 어떠한 개방 파일도 이러한 cid 연결을 위해 존재하지 않는 경우, 이전의 파일 전송은 이 연결에 대해 완료되지 않는 경우, 또는 클라이언트는 이 연결에 액세스할 수 없는 경우.
Figure 112002006419679-pat00011
EFILE_LOCKED: 또 다른 클라이언트는 데이터를 또 다른 연결을 통해 동일한 파일에 기록하고 있는 경우.
(f) <Client>::Get
기본형
Status<Client>::Get(in long cid,
in FileLoc where,
in sequence<octet> data)
파라미터
cid - 위의 (c)를 참조바람.
where - 메시지가 전송될 데이터의 처음, 마지막 또는 중간 세그먼트를 포함함을 소프트웨어 요소 클라이언트에게 통보한다.
data - cid 파라미터에 의해 식별된 연결에 대해 전송될 데이터의 일부분(다중-세그먼트 전송) 또는 전체를 포함한다.
해설
이 명령은 경로 이름에서 명시된 파일의 복사본을 전송하기 위해 서버(파일 관리자 FCM)에 의해 사용된다. 서버 측에서 상기 파일의 상태 및 내용은 영향을 받지 않는다.
에러 코드
Figure 112002006419679-pat00012
EINVALID_PARAMETER: cid는 클라이언트에 알려져 있지 않다.
(g) FileManager::Put
기본형
Status FileManager::Put(in long cid,
in FileLoc where,
in sequence<octet> data)
파라미터
cid - 위의 (c) 참조 바람.
where - 메시지가 전송될 데이터의 처음, 마지막 또는 중간 세그먼트를 포함함을 소프트웨어 요소 클라이언트에게 알린다.
data - cid 파라미터에 의해 식별된 연결에 대해 전송된 데이터의 일부분(멀티-세그먼트 전송의 경우) 또는 전체를 포함한다.
해설
이 명령은 서버가 데이터 연결을 통해 전송된 데이터를 수용하며, 데이터를 서버 측에서 파일로 저장하게 한다. 만약 경로이름에 명시된 파일이 서버 측에 존재한다면, 그 내용은 전송되는 데이터로 대체될 것이다. 만약 경로 이름에 명시된 파일이 아직 존재하지 않는다면, 새로운 파일이 서버 측에 생성된다.
만약 명시된 연결과 관련된 파일이 NORMAL 모드에서 개방되었다면, 그리고 만약 파일 위치가 START(또는 단 하나의 API 호출만 필요한 때에는 END)라면, 이전 의 파일 내용은 버려진다.
만약 파일이 RESTART 모드에서 개방되었다면, 그리고 만약 파일 위치가 START(또는 단 하나의 API 호출만 필요한 때에는 END)라면, 전송은 restartPoint에서 시작할 것이다. restartPoint로부터 시작하여, 이전에 이미 저장된 임의의 데이터는 버려진다.
에러 코드
Figure 112002006419679-pat00013
EINVALID_PARAMETER: cid는 존재하지 않는 경우, 또는 cid는 등시성 연결을 위해 생성되지 않는 경우.
Figure 112002006419679-pat00014
EACCESS_VIOLATION: cid 연결을 위한 어떠한 개방 파일도 없는 경우, 클라이언트는 파일에 기록할 수 없는 경우, 이전의 파일 전송은 이 연결에 대해 완료되지 않는 경우, 또는 클라이언트는 이 연결에 액세스할 수 없는 경우.
Figure 112002006419679-pat00015
EFILE_LOC: 파일의 블록 위치에 대한 에러.
Figure 112002006419679-pat00016
EFILE_LOCKED: 또 다른 클라이언트가 아직 파일 내용을 읽고 있는 중이거나 이 파일에 데이터를 기록하고 있는 중인 경우.
(h) FileManager::Abort
기본형
Status FileManager::Abort(in long cid)
파라미터
cid - 클라이언트 애플리케이션과 파일 관리자 FCM 사이의 연결 식별자(AsyncConnect 또는 IsoConnect 호출 다음에 클라이언트에 의해 얻어짐).
해설
이 명령은 서버(파일 관리자 FCM)에게 이전의 파일 전송을 중단할 것을 명령한다(FileManager::Put, <Client>::Get). 만약 이전의 전송이 완료되었으면, 어떠한 동작도 취해지지 않을 것이다.
에러 코드
Figure 112002006419679-pat00017
EINVALID_PARAMETER: cid가 존재하지 않는 경우.
Figure 112002006419679-pat00018
EACCESS_VIOLATION: 클라이언트는 이 연결에 액세스할 수 없는 경우.
(i) FileManager::Disconnect
기본형
Status FileManager::Disconnect(in long cid)
파라미터
cid - 위의 (h) 참조바람.
해설
이 함수는 소프트웨어 요소가 파일 관리자 연결을 닫게 한다. 만약 등시성 연결이 개시된다면, 클라이언트 애플리케이션은 적절한 스트림 관리자 방법을 사용하여 그 자신과 파일 관리자 FCM 사이에서 등시성 스트림을 놓아야 한다(drop).
에러 코드
Figure 112002006419679-pat00019
EINVALID_PARAMETER: cid가 존재하지 않는 경우.
Figure 112002006419679-pat00020
EACCESS_VIOLATION: 클라이언트가 이 연결에 액세스할 수 경우.
비고
FileManager::Disconnect 메시지의 전달은 수행중인 임의의 다른 동작을 중단시킬 것이다. 일단 클라이언트가 FileManager::Disconnect를 호출하면, 연결의 cid는 더 이상 사용될 수 없다.
(j) FileManager::ChDir
기본형
Status FileManager::ChDir(in long cid,
in wstring newPathName)
파라미터
cid - 위의 (h) 참조바람.
newPathName - 디렉토리 또는 기타 시스템 의존적인 파일 그룹 지정자를 명시하는 경로이름.
해설
이 명령은 사용자가 파일 저장 또는 검색을 위해 다른 디렉토리로 작업하게 한다.
에러 코드
Figure 112002006419679-pat00021
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 또는 경로이름이 존재하지 않거나 비어있는 경우.
Figure 112002006419679-pat00022
EACCESS_VIOLATION: 클라이언트가 명시된 디렉토리에 액세스할 수 없는 경우, 또는 클리이언트가 이 연결에 액세스할 수 없는 경우.
(k) FileManager::Rename
기본형
Status FileManager::Rename(in long cid,
in wstring oldFileName,
in wstring newFileName)
파라미터
cid - 위의 (h) 참조바람.
oldFileName - 새 이름이 주어질 파일의 기존 경로 이름.
newPathName - 파일의 새 경로 이름.
해설
이 명령은 파일에 새 이름이 주어지게 한다.
에러 코드
Figure 112002006419679-pat00023
EINVALID_PARAMETER: cid가 존재하지 않는 경우, oldFileName이 존재하지 않는 경우, 또는 newPathName이 잘못된 포맷인 경우.
Figure 112002006419679-pat00024
EACCESS_VIOLATION: 클라이언트가 파일의 이름을 변경할 수 없는 경우, 클라이언트가 이 연결에 액세스할 수 없는 경우, 또는 파일이 개방 상태인 경우.
(l) FileManager::Del
기본형
Status FileManager::Del(in long cid,
in wstring fileName)
파라미터
fileName - 삭제될 파일의 전체 경로를 명시한 파일 이름.
cid - 위의 (h) 참조바람.
해설
이 명령은 경로 이름에 명시된 파일이 서버 측에서 삭제되게 한다.
에러 코드
Figure 112002006419679-pat00025
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 또는 파일이름이 존재하지 않는 경우.
Figure 112002006419679-pat00026
EACCESS_VIOLATION: 클라이언트가 파일을 삭제할 수 없는 경우, 클라이언트가 이 연결에 액세스할 수 없는 경우, 또는 파일이 개방 상태인 경우.
(m) FileManager::RmDir
기본형
Status FileManager::RmDir(in long cid,
in wstring pathName)
파라미터
pathName - 삭제될 디렉토리를 명시한 경로이름.
cid - 위의 (h) 참조바람.
해설
이 명령은 경로이름에 명시된 디렉토리가 임의의 디렉토리(경로이름이 절대적이라면)로서 또는 현재 작업중인 디렉토리의 서브디렉토리(경로이름이 상대적이라면)로서 제거되게 한다.
에러 코드
Figure 112002006419679-pat00027
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 또는 경로이름이 존재하지 않는 경우.
Figure 112002006419679-pat00028
EACCESS_VIOLATION: 클라이언트가 디렉토리를 삭제할 수 없는 경우, 클라이언트가 이 연결에 액세스할 수 없는 경우, 또는 디렉토리가 연결에 사용되는 경우.
(n) FileManager::MkDir
기본형
Status FileManager::MkDir(in long cid,
in wstring pathName)
파라미터
pathName - 생성될 디렉토리를 명시한 경로이름.
cid - 위의 (h) 참조바람.
해설
이 명령은 경로이름에 명시된 디렉토리가 디렉토리(만약 경로이름이 절대적이라면)로서 또는 현재 작업중인 디렉토리의 서브디렉토리(만약 경로이름이 상대적이라면)로서 생성되게 한다.
에러 코드
Figure 112002006419679-pat00029
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 또는 경로이름이 이미 존재하는 경우.
Figure 112002006419679-pat00030
EACCESS_VIOLATION: 클라이언트는 디렉토리를 생성할 수 없게되는 경우, 또는 클라이언트가 이 연결에 액세스할 수 없는 경우.
(o) FileManager::Pwd
기본형
Status FileManager::PwD(in long cid,
out wstring pathName)
파라미터
pathName - 현재 작업중인 디렉토리를 명시한 경로이름.
cid - 위의 (h) 참조바람.
해설
이 명령은 현재 작업중인 디렉토리의 이름이 응신으로 반환되게 한다.
에러 코드
Figure 112002006419679-pat00031
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 또는 클라이언트가 이 연결에 액세스할 수 없는 경우.
(p) FileManager::Ls
기본형
Status FileManager::Ls(in long cid, in wstring pattern,
out sequence <wstring> fileNameList)
파라미터
pattern - 목록으로 나열된 디렉토리 또는 반환되어야 하는 정보를 갖는 파 일 목록을 지시하는 표현을 명시한 경로이름. 패턴 포맷은 본 문서의 데이터 설명 섹션에 기술되어 있다.
fileNameList - 명시된 디렉토리에서의 파일이름 목록
cid - 위의 (h) 참조바람.
해설
본 명령은 목록이 서버(파일 관리자 FCM)로부터 수동 클라이언트에게로 전달되게 한다. 만약 경로이름이 디렉토리 또는 기타 파일 그룹을 명시한다면, 서버는 명시된 디렉토리에 있는 파일 목록 및/또는 디렉토리들을 전송해야 한다. 만약 경로이름이 파일을 명시한다면, 서버는 파일 상에 현재 정보(타입, 크기, 소유자, 최종 변경 날짜 등)를 전달해야 한다. 비어있는 변수는 사용자의 현재 작업 디렉토리를 의미한다. 데이터 전송은 ASCII 타입으로 이뤄진다.
에러 코드
Figure 112002006419679-pat00032
EINVALID_PARAMETER: cid가 존재하지 않는 경우, 클라이언트가 이 연결에 액세스할 수 없는 경우, 또는 그 경로가 알려져 있지 않은 경우.
비고
만약 pathName이 비어 있거나 "."이면, 이것은 현재 디렉토리를 나타낸다. 만약 pathName이 규칙적인 표현(regular expression)이면, 이것은 파일 목록을 나타낸다. 이 경우, fileNameList의 각 요소는 파일에 관한 정보를 나타낸다.
다른 경우, pathName은 파일(파일 확장이 있는)또는 디렉토리(파일 확장이 없는)중 어느 하나를 나타낸다.
(3) 파일 관리자 내부 데이터 구조가 이제 기술될 것이다.
(a) FileSystemConnectionType
기본형
enum FileSystemConnectionType{NONE, ISOCHRONOUS, ASYNCHRONOUS}
해설
이것은 클라이언트와 파일 관리자 사이에 수립된 연결의 타입을 정의한다. 값 NONE은 생성 또는 파괴중이며, 클라이언트에 의해 사용될 수 없는 연결에 대응한다.
(b) FileSystemConnection
기본형
struct FileSystemConnection
{
long cid;
process_id pid;
GUID clientGuid;
semaphore_id connectionSem;
FileSystemConnectionType connectionType;
FileSystemTransactionMode currenAction;
char
pathName[MAX_PATHNAME_SIZE];
char
fileName[MAX_FILENAME_SIZE];
long restartPoint;
FileSystemOpenMode openMode;
int filePos;
long clientMessageMaxSize;
}
해설
클라이언트 관리자 및 연결 관리자는 FileSystemConnection 구조로 기술된 연결에 관한 것이다.
cid 필드는 연결 관리자에 의해 주어진 연결 식별자이다.
pid 필드는, 이 연결을 위한 명령을 처리할 클라이언트 관리자 쓰레드의 처리 식별자이다.
clientGuid 필드는 그 연결을 생성하였던 클라이언트가 위치한 디바이스를 나타낸다.
connectionSem 필드는 connectionType 및 currentAction 필드에 액세스하는데 사용되는 세마포어(semaphore)이다. 이 세마포어는 이들 두 필드가 ConnectionMgr 쓰레드 또는 ClientMgr 쓰레드중 어느 하나에 의해 변형될 수 있을 것이기 때문에 필요하다.
connectionType 필드는 이것이 등시성 연결인지 비동기성 연결인지를 지시하 다. 이 필드는 명령이 수행될 수 있는지를 검사하기 위해 연결 관리자 또는 클라이언트 관리자에 의해 사용된다. NONE 값은, 연결이 아직 개시되지 않거나 연결이 더 이상 이용 가능하지 않은 것(FileManager::Disconnect 명령 이후)중 어느 하나를 의미한다. 이 필드는 FileManager::disconnect 명령이 다른 명령보다 높은 우선순위를 갖게 한다.
currentAction 필드는 현재 개방중인 파일을 위해 처리중인 명령을 제공한다. NONE 값(ConnectionMgr 쓰레드에 의해 영향 받음)은 이전 동작이 중단되어야 함을 의미한다.
pathName은 이 연결을 위한 현재 디렉토리의 이름을 포함한다.
fileName는 이 연결을 위한 현재 개방중인 파일의 이름을 포함한다. 비어 있는 값은 어떤 파일도 개방중이지 않음을 의미한다.
restartPoint 필드는 FileManager::FileOpen 명령을 통해 클라이언트에 의해 제공된 restartPoint 파라미터의 값이다.
openMode 필드는 FileManager::FileOpen 명령을 통해 클라이언트에 의해 제공된 openMode 파라미터의 값이다.
filePos 필드는 개방중인 파일에서 현재의 위치를 포함한다.
(4) 데이터 설명
이후에 제공된 특정한 값은 HAVi 환경에서 유효하며, 또 다른 환경에서는 다르게 될 수 있음이 분명하다.
이 값은 레지스트리 데이터베이스에 등록할 때 파일 관리자 FCM에 의해 사용 된다:
파일 관리자 FCM 0x8000 0000
(b) API 코드
파일 관리자 FCM 0x8000
(c) HAVi 동작 코드
이들 코드는 표 2에 제공된다.
HAVi 메시지 API 코드 동작 ID
FileManager::IsoConnect 0x8000 0x00
FileManager::AsyncConnect 0x8000 0x01
FileManager::FileOpen 0x8000 0x02
FileManager::FileClose 0x8000 0x03
FileManager::Get 0x8000 0x04
FileManager::Put 0x8000 0x05
FileManager::Abort 0x8000 0x06
FileManager::Disconnect 0x8000 0x07
FileManager::ChDir 0x8000 0x08
FileManager::Rename 0x8000 0x09
FileManager::Del 0x8000 0x0a
FileManager::RmDir 0x8000 0x0b
FileManager::MkDir 0x8000 0x0c
FileManager::Pwd 0x8000 0x0d
FileManager::Ls 0x8000 0x0e
(d) 에러 코드
에러 코드는 표 3에 의해 제공된다.
HAVi 에러 명칭 API 코드 에러 코드
FileManager::EFILE_LOC 0x8000 0x80
FileManager::EFILE_LOCKED 0x8000 0x81
(5) 파일 전송의 셋업 예
비동기성 연결은 먼저 'AsyncConnect' 방법을 호출함으로써 수립된다. 그런 다음, 'FileOpen' 방법이 전송될 파일의 이름을 명시하는데 사용된다. 'Get' 또는 'Put' 방법은 파일을 검색하고 각각 전달하기 위해 호출된다. 'Abort' 방법은 클라이언트 애플리케이션에 의해 전송을 중단하기 위해 사용될 수 있다. 'FileClose' 방법 호출은 파일을 닫는데 사용되는 반면, 'Disconnect' 방법 호출은 이제 이 연결을 종료하는데 사용된다.
연결이 개시중인 동안, 파일이 개방되어 있지 않을 때 디렉토리 변경을 개시하고, 파일의 이름을 새롭게 하는 것 등을 위해 다른 방법 호출이 이뤄질 수 있다. 이들 방법은 개방 파일의 컨택스트를 반드시 요구하지 않는다.
등시성 연결은 약간 다른 방식으로 수립된다. 'IsoConnect' 방법을 호출함으로써, 연결이 수립되고, 파일이 식별되며, 전송 방향이 정의된다. 따라서, 단 하나의 방법이 전송을 개시하는데 필요하다. 이것은, 등시성 모드에서 전송이 시작하기 이전에 입력 또는 출력 버퍼 크기(즉, 최대 메시지 길이)를 교환할 필요가 없으므로 수행될 수 있다. 전송이 완료될 때 파일은 자동으로 폐쇄된다. 그런 다음, 'disconnect'는 연결을 종료시키는데 사용될 수 있다.
다른 시스템에서, 어떠한 패킷 반복도 등시성 데이터 전송에 제공되지 않는다. 본 실시예에 따라, 등시성 파일의 전송에서 또한 자발적인 또는 비자발적인 중단에 대해, 클라이언트 애플리케이션은 정의하고 있는 데이터 체크포인트로부터 전송을 재시작할 수 있다. 클라이언트 애플리케이션 또는 소스 디바이스 레벨에 있는 다양한 원인에 의해 상기 중단이 야기될 수 있거나, 또는 단순히 정전으로 인한 시스템 중단에 의해 야기될 수 있다. 체크포인트는 정확하게 수신된 데이터의 최종 피스(piece)에 대응하여 선택될 수 있다.
'IsoConnect' 방법에서 파라미터('restartPoint')로서 통과되는 데이터 체크포인트는 본 실시예의 경우에 파일의 시작 지점에 비교한 바이트 단위의 오프셋이다. 등시성 연결이 개시되는 모드가 'FileSysteOpenMode' 데이터 구조에서 정의된 바와 같이 'RESTART' 모드일 때에만 데이터 체크포인트 값은 파일 관리자 FCM에 의해 고려된다.
부록 1: 인용문헌
[1] 고성능 직렬 버스를 위한 IEEE 표준
IEEE 표준 1394-1995/1996년 8월 30일
[2] 파일 전송 프로토콜
RFC 765/1985년 10월
[3] HAVi(가정용 오디오/비디오 상호운용) 규격
버전 1.0/2000년 1월 18일
부록 2: 약어
약어 설명 약어 설명
API Application Program Interface HAVi Home Audio/Video Interoperability
AV data Audio/Video data HMS Home Media Server
BAT Bouquet Association Table IDE Intelligent Drive Electronics(or Integrated Drive Electronics)
CAT Conditional Access Table IT data Information Technology data
CMM Communication Media Manager NIT Network Information Table
CMP Communication Management Procedures NTFS NT File System
CSR Command and Status Register OS Operating System
DCM Device Control Module PAT Program Association Table
DVB Digital Video Broadcasting PMT Program Map Table
DMA Digital Memory Access PCI Peripheral Component Interconnect
EIT Event Information Table PCR Plug Control Register
FAT File Allocation Table PMT Program Map Table
FCM Functional Component Module SBM Serial Bus Management
FCP Function Control Protocol SI Service Information
FIFO First In First Out TAM Transport Adaptation Module
FPGA Field-Programmable Gate Array TS MPEG2 Transport Stream
FS File System UDF Universal Disk Format
FM File Manager USB Universal Serial Bus
FTP File Transfer Protocol
부록 3:
(a) 파일 시스템 용어
파일 할당 표(FAT)
하드디스크, 플로피 디스크 및 기타 디스크 매체 상에 저장된 파일을 관리하기 위해 DOS 및 윈도우에 의해 사용된 파일 시스템.
파일 관리자(FM)
물리적인 데이터 구성에 대한 임의의 지식 없이 저장 매체를 사용하게 하는 도구(API) 세트.
파일 시스템(FS)
저장 매체(DVD, 하드디스크 드라이브 등) 상에서 여러 제약(안전, 다중 액세스, 실시간 처리 등)을 충족하고자 하는 물리적인 데이터 구성의 규격.
파일 전송 프로토콜(FTP)
호스트 컴퓨터 사이에서 파일 전송을 위한 사용자-레벨 지향 프로토콜.
(b) IEC 61883 용어
연결 관리 절차(CMP)
애플리케이션이 플러그 제어 레지스터(PCR)를 변경하여 AV 디바이스의 입력 플러그와 출력 플러그 사이에 연결을 관리하기 위해 사용되어야 하는 절차.
기능 제어 프로토콜(FCP)
IEEE 1394 버스를 통해 연결된 디바이스를 제어하도록 설계된 여러 명령 세트 및 여러 명령 트랜잭션.
플러그 제어 레지스터(PCR)
등시성 데이터 흐름을 제어하기 위해 연결 관리 절차(CMP)에 의해 조작되는 특수한 용도의 CSR 레지스터.
(c) HAVi 용어
통신 매체 관리자(CMM)
자신과 동일한 디바이스 내에 내주하는 서로 다른 HAVi 구성요소 또는 애플리케이션 프로그램에 서비스를 제공하기 위해 기본 통신 매체와 인터페이스하는 HAVi 구조에 있는 네트워크 의존 실체(entity).
디바이스 제어 모듈(DCM)
디바이스의 일반 기능을 제어하기 위해 인터페이스를 제공하는 HAVi 소프트웨어 요소.
이벤트 관리자
이벤트 전달 서비스를 제공하는 HAVi 구조에 있는 소프트웨어 실체. 이벤트란 소프트웨어 요소의 또는 가정용 네트워크의 상태 변화를 말한다.
기능성 구성요소 모듈(FCM)
디바이스의 특정 기능성 구성요소를 제어하기 위해 인터페이스를 제공하는 HAVi 소프트웨어 요소.
가정용 오디오/비디오 상호운용(HAVi)
HAVi 구조는, 가정용 네트워크 상에 분포된 애플리케이션의 개발 및 상호운용을 용이하게 하는 서비스 세트를 제공하기 위해 가전(CE) 디바이스 및 컴퓨터 디바이스 상에 구현되는 것을 목적으로 한다.
메시징 시스템
통신 설비에 HAVi 소프트웨어 요소를 제공하는 HAVi 구조에 있는 네트워크 및 트랜스포트 층에 독립적인 실체. 이것은 또한 이러한 디바이스의 소프트웨어 요소를 위해 식별자(SEID)를 할당하는 책임이 있다.
레지스트리
가정용 네트워크 내에서 이용 가능한 소프트웨어 요소 디렉토리를 관리하는 것이 그 목적인 시스템 서비스. 이것은 소프트웨어 요소를 등록하고 탐색하기 위해 API를 제공한다.
자원 관리자
네트워크에서 자원 세트를 위해 경합하고, 이것을 사용하는 소프트웨어 요소 안내(the guiding)를 대신하는 HAVi 소프트웨어 실체.
스트림 관리자
지점간(end-to-end) 등시성("스트리밍") 연결을 구성하기 위해 API의 사용을 용이하게 하는 HAVi 구조에 있는 소프트웨어 실체.
트랜스포트 적응 모듈(TAM)
메시지 분할(fragmentation), 메시지 순서화 및 에러 복구 프로세스를 관리하는, 메시징 시스템의 매체 의존적인 부분.
상술한 바와 같이, HAVi 네트워크에서 등시성 파일을 관리하기 위한 방법에 이용되는 효과가 있다.

Claims (14)

  1. HAVi 네트워크에서의 등시성 파일(isochronous file) 전송 방법으로서, 클라이언트 애플리케이션 레벨에서,
    - 클라이언트 디바이스와 소스 디바이스 사이에서 연결의 개시(open)를 요청하는 단계와;
    - 상기 연결을 통해 등시적인 방식으로 전송될 파일을 명시하는 단계를 포함하는 등시성 파일 전송 방법에 있어서,
    - 상기 파일 내에서 전송이 실행될 시작 지점을 명시하는 단계와;
    - 상기 시작 지점에서부터 파일 전송의 개시를 요청하는 단계를 더 포함하는 것을 특징으로 하는,
    등시성 파일 전송 방법.
  2. 제 1항에 있어서, 상기 전송될 파일을 보유하고 있는 레코딩 매체 상의 등시성 파일 및 비동기성 파일(asynchronous file)로 된 파일 시스템을 관리하기 위한 파일 관리자 기능성 구성요소 모듈(file manager functional component module)에 대해 상기 개시 요청 단계가 이뤄지며, 상기 파일 관리자 기능성 구성요소 모듈은 상기 클라이언트 애플리케이션에 의해 액세스하기 위해 애플리케이션으로 프로그램 가능한 인터페이스(application programmable interface)를 제공하는, 등시성 파일 전송 방법.
  3. HAVi 네트워크에 연결하기 위한 디바이스로서,
    - 등시성 파일을 저장하기 위한 레코딩 매체와;
    - 클라이언트에 의해 상기 레코딩 매체에 액세스하기 위해 애플리케이션으로 프로그램 가능한 인터페이스를 제공하는 기능성 구성요소 모듈을 포함하는, HAVi 네트워크에 연결하기 위한 디바이스에 있어서,
    상기 애플리케이션으로 프로그램 가능한 인터페이스는, 등시성 파일을, 등시성 연결을 통해서 클라이언트에 의해 명시된 파일 내의 시작 지점에서부터 시작해서 클라이언트에게 전송하기 위한 방법(method)을 더 포함하는 것을 특징으로 하는,
    HAVi 네트워크에 연결하기 위한 디바이스.
  4. 제 3항에 있어서, 상기 애플리케이션으로 프로그램 가능한 인터페이스는:
    등시성 연결 및 파일에 작용하기 위한 방법과;
    비동기성 연결 및 파일에 작용하기 위한 방법과;
    비동기성 및 등시성 파일 모두에 작용하기 위한, 파일 유형에 독립적인 방법을 포함하는, HAVi 네트워크에 연결하기 위한 디바이스.
  5. 제 3항 또는 제 4항에 있어서, 상기 애플리케이션으로 프로그램 가능한 인터페이스는 비동기성 및 등시성 파일 모두의 디렉토리에 작용하기 위한 방법을 더 포함하는, HAVi 네트워크에 연결하기 위한 디바이스.
  6. 등시성 파일을 저장하기 위한 레코딩 매체를 포함하는 소스 디바이스 레벨에서, HAVi 네트워크에서의 등시성 파일 전송 방법에 있어서,
    - 요청에 명시된 시작 지점에서부터 등시성 파일을 클라이언트와의 등시성 연결을 통해서 송신하기 위한 방법 호출(method call)을 상기 클라이언트로부터 수신하는 단계와;
    - 상기 파일 전송을 상기 시작 지점에서부터 개시하는 단계를 포함하는 것을 특징으로 하는,
    등시성 파일 전송 방법.
  7. 제 6항에 있어서, 상기 호출된 방법은 상기 레코딩 매체를 관리하기 위한 파일 관리자의 기능성 구성요소 모듈의 애플리케이션으로 프로그램 가능한 인터페이스의 일부분이며, 상기 등시성 파일 전송 방법은, 상기 소스 디바이스가, 그 국부 레지스트리 서비스를 사용하여, 상기 네트워크에서 모든 파일 관리자 기능성 구성요소 모듈 호환성 디바이스의 디렉토리를 포함하는 글로벌 디렉토리를 구축하게 하는 단계를 더 포함하는, 등시성 파일 전송 방법.
  8. 제 7항에 있어서, 상기 글로벌 디렉토리에서 AVDisc 기능성 구성요소 모듈에 의해 관리되는 디바이스의 디렉토리를 포함하는 단계를 더 포함하는, 등시성 파일 전송 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020020011560A 2001-03-08 2002-03-05 A/v 데이터의 송신을 위한 네트워크에서의 등시성 파일 전송 방법과, a/v 데이터의 송신을 위해 네트워크에 연결하기 위한 디바이스 KR100837220B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01400612.6 2001-03-08
EP01400612A EP1239644A1 (en) 2001-03-08 2001-03-08 Method for managing isochronous file transfers in a HAVI environment

Publications (2)

Publication Number Publication Date
KR20020072196A KR20020072196A (ko) 2002-09-14
KR100837220B1 true KR100837220B1 (ko) 2008-06-12

Family

ID=8182647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020011560A KR100837220B1 (ko) 2001-03-08 2002-03-05 A/v 데이터의 송신을 위한 네트워크에서의 등시성 파일 전송 방법과, a/v 데이터의 송신을 위해 네트워크에 연결하기 위한 디바이스

Country Status (8)

Country Link
US (1) US20020198861A1 (ko)
EP (1) EP1239644A1 (ko)
JP (1) JP2002359801A (ko)
KR (1) KR100837220B1 (ko)
CN (1) CN100425046C (ko)
AT (1) ATE387791T1 (ko)
DE (1) DE60225202T2 (ko)
MX (1) MXPA02002020A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1396962A1 (en) * 2002-08-05 2004-03-10 Sony International (Europe) GmbH Bus service interface
KR20040076560A (ko) * 2003-02-25 2004-09-01 엘지전자 주식회사 대화형 광디스크 장치에서의 콘텐츠 정보 재생방법
EP1639783B1 (en) * 2003-06-30 2018-10-31 Thomson Licensing Method and apparatus for mapping prioritized qos packets to parameterized qos channels and vice versa
JP4491269B2 (ja) * 2004-04-22 2010-06-30 株式会社日立製作所 ストレージシステム及びファイル管理装置
CN100433620C (zh) * 2004-11-09 2008-11-12 华为技术有限公司 一种在智能网中同步网络服务器标识的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203843A (ja) * 1998-01-07 1999-07-30 Sony Corp 情報機器制御装置および方法、並びに提供媒体
EP0969628A2 (en) * 1998-06-30 2000-01-05 Kabushiki Kaisha Toshiba Communication node and communication terminal

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2301309A (en) * 1941-02-17 1942-11-10 Messer John Edward Display carton
DE69606971T2 (de) * 1995-07-21 2000-10-05 Koninkl Philips Electronics Nv Verfahren zum empfang von komprimierten videosignalen
US6631435B1 (en) * 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US6349352B1 (en) * 1998-01-06 2002-02-19 Sony Corporation Of Japan Home audio/video network with both generic and parameterized device control
JP4245670B2 (ja) * 1998-04-22 2009-03-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 消費者電子システムの機能の管理
DE69938703D1 (de) * 1998-04-22 2008-06-26 Koninkl Philips Electronics Nv Funktionalitätsverwaltung für ein unterhaltungselektroniksystem
US6496862B1 (en) * 1998-08-25 2002-12-17 Mitsubishi Electric Research Laboratories, Inc. Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway device
US6314477B1 (en) * 1998-10-30 2001-11-06 Agilent Technologies, Inc. Performance of fibre channel protocol sequence reassembly using expected frame information and buffer list calculations
JP3614310B2 (ja) * 1998-11-05 2005-01-26 株式会社ケンウッド 録音装置
JP4168514B2 (ja) * 1999-02-25 2008-10-22 ソニー株式会社 動画像再生方法
US6356971B1 (en) * 1999-03-04 2002-03-12 Sony Corporation System for managing multimedia discs, tracks and files on a standalone computer
US6477573B1 (en) * 1999-04-09 2002-11-05 Sony Corporation System and method for performing a hierarchical remote query in an electronic network
JP2001024685A (ja) * 1999-07-02 2001-01-26 Canon Inc 情報処理システム、電子機器、及び情報処理方法
US6721859B1 (en) * 1999-10-21 2004-04-13 Sony Corporation Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US6625750B1 (en) * 1999-11-16 2003-09-23 Emc Corporation Hardware and software failover services for a file server
US6993606B1 (en) * 1999-11-18 2006-01-31 Sony Corporation Communication method and communication apparatus for data communication between devices connected by a network
US6711637B2 (en) * 2000-01-11 2004-03-23 Canon Kabushiki Kaisha Communication apparatus, image processing apparatus, communication system, communication method, image processing method and storage medium
WO2001063413A2 (en) * 2000-02-25 2001-08-30 Koninklijke Philips Electronics N.V. Communication system and method
US20020004711A1 (en) * 2000-05-16 2002-01-10 Makoto Sato Control device and control method
EP1353468B1 (en) * 2002-04-09 2008-07-30 Thomson Licensing ARQ method with isochronous and asynchronous transmission

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203843A (ja) * 1998-01-07 1999-07-30 Sony Corp 情報機器制御装置および方法、並びに提供媒体
EP0969628A2 (en) * 1998-06-30 2000-01-05 Kabushiki Kaisha Toshiba Communication node and communication terminal

Also Published As

Publication number Publication date
JP2002359801A (ja) 2002-12-13
EP1239644A1 (en) 2002-09-11
CN1374784A (zh) 2002-10-16
DE60225202D1 (de) 2008-04-10
ATE387791T1 (de) 2008-03-15
US20020198861A1 (en) 2002-12-26
KR20020072196A (ko) 2002-09-14
DE60225202T2 (de) 2009-03-05
CN100425046C (zh) 2008-10-08
MXPA02002020A (es) 2004-04-21

Similar Documents

Publication Publication Date Title
US8352654B2 (en) Data reproducing apparatus, content management method, program, and storage medium
KR100570326B1 (ko) 전자 통신을 위한 방법 및 시스템
US6963925B1 (en) Gateway apparatus and the method thereof
KR101130474B1 (ko) 총칭 usb 드라이버
US7996538B2 (en) Information processing apparatus and content information processing method for transmitting content and event information to a client
US20020003548A1 (en) Method for controlling network devices via a MMI
US20080126517A1 (en) File Transfer System, Transmitting Device and Receiving Device
US20010002846A1 (en) Electronic device for managing removable storage medium, method and storage medium therefor
KR100837220B1 (ko) A/v 데이터의 송신을 위한 네트워크에서의 등시성 파일 전송 방법과, a/v 데이터의 송신을 위해 네트워크에 연결하기 위한 디바이스
AU758392B2 (en) Method for transmitting asynchronous data in a home network
US20060004576A1 (en) Server device
JP2000216845A (ja) ネットワ―ク制御システム、コントロ―ラ、及びタ―ゲット
US8319837B2 (en) Method for sharing file between control point and media server in a DLNA system, and system thereof
EP1246427B1 (en) Method for managing isochronous files in a havi environment
WO2001029679A1 (en) A multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US20070106898A1 (en) Setting information notifying method and appliances applied thereto
US20090077162A1 (en) Medium Management Device and Medium Management Method
US7284259B1 (en) Transmitting method, transmitting system and transmission control device
KR20010046487A (ko) 디지털 방송 수신기의 어플리케이션 프로그램 지원방법
KR20070040976A (ko) 데이터 방송과 홈네트워크 서비스를 지원하는 디지털 방송수신 장치 및 그 방법
JP2007080198A (ja) ランダムアクセス可能な記録媒体を使用したデジタル機器
MXPA00012214A (en) Method for transmitting asynchronous data in a home network
JP2007082119A (ja) ランダムアクセス可能な記録媒体を使用したデジタル機器及び制御機器

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee