KR100350141B1 - 매체관리자,애플리케이션프로그램인터페이스와이를구현하는방법 - Google Patents
매체관리자,애플리케이션프로그램인터페이스와이를구현하는방법 Download PDFInfo
- Publication number
- KR100350141B1 KR100350141B1 KR10-1998-0033616A KR19980033616A KR100350141B1 KR 100350141 B1 KR100350141 B1 KR 100350141B1 KR 19980033616 A KR19980033616 A KR 19980033616A KR 100350141 B1 KR100350141 B1 KR 100350141B1
- Authority
- KR
- South Korea
- Prior art keywords
- media
- high level
- command
- commands
- server
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명에 따르면, 하이 레벨 포괄 커맨드를 다수의 매체 디바이스로 출력하기 위한 디바이스 레벨 커맨드로 변환하는 애플리케이션 프로그램 인터페이스(application program interface; API)를 내장하는 매체 관리자가 제공된다. 본 발명의 매체 관리자는 하이 레벨 포괄 커맨드를 디코딩하는 하이 레벨 커맨드 프로세서와, 이 하이 레벨 커맨드 프로세서에 의해 디코딩된 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하는 디바이스 특정의 코드 매핑 모듈을 포함한다. 각각 디바이스 레벨 커맨드는 디바이스 특정의 코드 매핑 모듈로부터 매체 디바이스중 대응하는 하나의 매체 디바이스로 출력된다.
본 발명은 매체 디바이스에 대해 애플리케이션 프로그램 인터페이스(API)를 구현하는 방법을 또한 포함한다. 본 발명의 방법은 컴퓨터 애플리케이션으로부터 하이 레벨 포괄 커맨드를 수신하고, 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하며, 디바이스 레벨 커맨드의 각각을 매체 디바이스중 하나로 출력한다.
본 발명은 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품을 또한 포함한다. 이 컴퓨터 프로그램 제품은 하이 레벨 포괄 커맨드를 디코딩하는 수단과, 이 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하는 수단과, 디바이스 레벨 커맨드의 각각을 매체 디바이스중 대응하는 하나로 출력하는 수단을 포함한다.
본 발명은 컴퓨터 애플리케이션으로부터 수신된 하이 레벨 포괄 커맨드를,매체 객체를 저장하는 매체 서버를 포함하는 다수의 매체 디바이스로 출력되는 디바이스 레벨 커맨드로 변환하는 공통 애플리케이션 프로그램 인터페이스(API)를 또한 포함한다. 공통 API는 특정의 기능을 각각 수행하는 다수의 개별적인 API를 포함한다.
Description
본 발명은 애플리케이션 인터페이스에 관한 것으로, 보다 상세하게는 매체 서버에 대한 애플리케이션 인터페이스 및 이를 구현하는 방법에 관한 것이다.
멀티미디어 애플리케이션에서 이용할 수 있는 다량의 멀티미디어 데이터를 보유하는데 통상적인 멀티미디어 데이터 저장 시스템이 흔히 사용되고 있다. 이러한 통상적인 멀티미디어 데이터 저장 시스템은 디지털 라이브러리(digital library)를 또한 구비할 수도 있으며, 이와 같은 시스템은 미국 특허 공보 제 5,649,185 호에 개시되어 있다. 통상적인 멀티미디어 데이터 저장 시스템에 의해 생기는 문제점은 이들 저장 시스템이 디스플레이를 포함하는 클라이언트 뷰어(client viewer)와 같은 클라이언트 매체 출력 스테이션으로 특정 유형의 데이터를 전송하는 다수의 매체 서버를 통상 사용한다는 사실로부터 기인한다. 그러나, 각 매체 서버는 단지 그 자신만의 디바이스 레벨 커맨드를 지원하기 때문에, 통상적인 멀티미디어 데이터 저장 시스템내에서 실행되는 애플리케이션이 다수의 매체 서버와 상호작용하기가 어렵게 된다. 따라서, 특정의 매체 서버와 통신하는 각각의 애플리케이션은 해당 매체 서버의 고유한 특성을 고려해야 한다. 그러나, 이러한 방안은 다수의 매체 서버가 존재하는 경우에 번거로워질 수 있다. 또한, 이러한 방안에서는 새로운 매체 서버가 멀티미디어 데이터 저장 시스템에 병합되는 경우 애플리케이션이 연속적으로 갱신되어야 한다.
본 발명의 목적은 매체 서버에 공통 인터페이스를 제공하는 강력한 관리 방안을 제공하는 것이다.
본 발명의 다른 목적은 시스템내에 포함된 매체 서버와 상호작용하는 애플리케이션으로부터 매체 서버 특정의 디바이스 커맨드를 은닉하는, 매체 서버에 대한 공통 인터페이스를 제공하는 것이다.
본 발명의 상기한 목적을 달성하기 위해, 하이 레벨 포괄 커맨드(high-level generic command)를 다수의 매체 디바이스로 출력하기 위한 디바이스 레벨 커맨드로 변환하는 애플리케이션 프로그램 인터페이스(API)를 내장하는 매체 관리자가 제공된다. 본 발명의 매체 관리자는 하이 레벨 포괄 커맨드를 디코딩하는 하이 레벨 커맨드 프로세서와, 이 하이 레벨 커맨드 프로세서에 의해 디코딩된 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하는 디바이스 특정의 코드 매핑 모듈을 포함한다. 각각의 디바이스 레벨 커맨드는 디바이스 특정의 코드 매핑 모듈로부터 매체 디바이스중 대응하는 하나의 매체 디바이스로 출력된다.
본 발명은 다수의 매체 디바이스에 대해 애플리케이션 프로그램 인터페이스(API)를 구현하는 방법을 또한 포함한다. 본 발명의 방법은 컴퓨터 애플리케이션으로부터 다수의 하이 레벨 포괄 커맨드를 수신하고, 이 다수의 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하며, 디바이스 레벨 커맨드의 각각을 다수의 매체 디바이스중 하나로 출력한다.
본 발명은 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품을 또한 포함한다. 이 컴퓨터 프로그램 제품은 하이 레벨 포괄 커맨드를 디코딩하는 수단과, 하이 레벨 포괄 커맨드를 하나 이상의 디바이스 레벨 커맨드로 변환하는 수단과, 변환된 디바이스 레벨 커맨드를 다수의 매체 디바이스중 대응하는 하나로 출력하는 수단을 포함한다.
본 발명은 컴퓨터 애플리케이션으로부터 수신된 하이 레벨 포괄 커맨드를, 매체 객체를 저장하는 매체 서버를 포함하는 다수의 매체 디바이스로 출력되는 디바이스 레벨 커맨드로 변환하는 공통 애플리케이션 인터페이스(API)를 또한 포함한다. 공통 API는 특정의 기능을 각각 수행하는 다수의 개별적인 API를 포함한다.
본 발명의 한 측면에 따르면, 다수의 개별적인 API는 제1 및 제2 그룹의 개별적인 API들로 이루어진다. 제1 그룹의 개별적인 API는 매체 서버를 나타내는 객체를 규정하는 클래스와 연관된 제1 그룹의 멤버 함수에 대응한다. 제2 그룹의 개별적인 API는 매체 객체의 물리적 포맷의 논리적 기술을 나타내는 객체를 규정하는 클래스와 연관된 제2 그룹의 멤버 함수에 대응한다.
도 1은 본 발명의 공통 애플리케이션 인터페이스(API)를 내장하는 매체 관리자를 도시하는 도면.
도 2는 본 발명의 매체 관리자의 동작에 관한 흐름도.
도 3은 본 발명의 매체 관리자를 내장하는 멀티미디어 데이터 저장 시스템을 도시하는 도면.
도 4는 도 3에 도시된 멀티미디어 데이터 저장 시스템의 구성요소를 도시하는 도면.
〈 도면의 주요 부분에 대한 부호의 설명 〉
5 : 매체 관리자
8 : 요구 애플리케이션
10 : 하이 레벨 커맨드 프로세서
15 : 디바이스 특정의 코드 매핑 모듈
20 : 디바이스 인터페이스
22 : 디바이스 레벨 인터페이스
25 : 매체 디바이스
본 발명은 매체 관리자에 관한 것으로, 이는 바람직하게 멀티미디어 데이터 저장 시스템에서 구현되고, 이 시스템내에 포함된 매체 서버에 공통 애플리케이션 인터페이스를 제공한다. 매체 관리자는 멀티미디어 데이터 저장 시스템내에서 실행되는 애플리케이션 및 매체 디바이스간의 통신을 촉진하는 관리 방안을 내장한다.
도 1에서는 요구 애플리케이션(8)으로부터 하이 레벨 커맨드를 수신하는 매체 관리자(5)를 도시한다. 매체 관리자(5)는 하이 레벨 커맨드를 첫번째 스루 N-TH 매체 디바이스(25)로 출력된 디바이스 특정의 커맨드로 변환하는데, 이는 비디오 또는 오디오 데이터와 같은 특정 유형의 매체 데이터를 처리하기 위한 매체 아카이브(media archive) 또는 매체 서버일 수 있다. 매체 관리자(5)를 이용하여, 요구 애플리케이션(requesting application)(8)은 매체 디바이스(25)의 특질(idiosyncracies)을 고려할 필요없이 특정의 기능이 이들 매체 디바이스(25)에 의해 수행될 것을 요구할 수 있다. 또한, 매체 관리자(5)는 요구 애플리케이션(8)이 매체 디바이스(25)에 대한 내부 변경을 허용하지 않도록 또한 억제한다.
매체 관리자(5)는 하이 레벨 커맨드 프로세서(10)를 포함하는데, 이 프로세서(10)는 요구 애플리케이션(8)으로부터 하이 레벨 커맨드를 수신하고 매체 관리자(5)가 지원하는 특정 유형의 매체 서버에 커맨드가 대응하는지의 여부를 식별한다. 요구 애플리케이션(8)에 의해 송출된 커맨드가 매체 관리자(5)에 의해 지원된 매체 디바이스(25)에 대응한다고 하이 레벨 커맨드 프로세서(10)가 판정하는 경우, 프로세서(10)는 이 요구를 디바이스 특정의 코드 매핑 모듈(15)에 전송하며, 이 모듈(15)은 해당 매체 디바이스(25)로 향하는 하이 레벨 커맨드를 처리한다.
디바이스 특정의 코드 매핑 모듈(15)은 각각의 하이 레벨 커맨드를 모듈의 대응하는 매체 디바이스(25)에 대한 디바이스 레벨 커맨드로 매핑하고, 다수의 디바이스 레벨 인터페이스(22)를 포함하는 디바이스 인터페이스(20)를 통해 디바이스 레벨 커맨드를 매체 디바이스(25)에 전송할 것이다. 한편, 디바이스 특정의 코드 매핑 모듈(15)은 각 하이 레벨 커맨드를 일련의 액션(a series of actions)으로 변환할 것이고, 이는 상기한 하이 레벨 커맨드중 적어도 하나에 대응할 수 있다. 이들 액션은 대응하는 매체 디바이스(25)에 대한 디바이스 특정의 코드 매핑 모듈(15)에 의해 디바이스 레벨 커맨드로 변환된다.
매체 관리자(5)는 둘 이상의 유형의 매체 디바이스(25)를 지원하기 위해 다수의 디바이스 특정의 코드 매핑 모듈(15)을 포함할 수 있다. 따라서, 매체 관리자(5)는 첫번째 스루 N-TH 매체 디바이스(25)를 지원하기 위해 첫번째 스루 N-TH 디바이스 특정의 코드 매핑 모듈(15)을 포함한다.
매체 관리자(5)는 바람직하게 본 발명의 공통 애플리케이션 인터페이스(API)으로 구현된다. 그러나, 하이 레벨 커맨드 프로세서(10)는 본 발명의 공통 API를 함께 구성하는 다수의 개별적인 API를 실질적으로 지원한다. 매체 관리자(5)는, 예를 들면 컴퓨터 판독가능한 디스크상으로부터 판독가능한 머신에 저장되는 소프트웨어로 구현될 수도 있다.
개별적인 API는 적어도 2개의 클래스의 멤버 함수에 대응한다. 제1 클래스인 SERVER는 도 3에 도시된 매체 서버(130)를 나타내는 객체를 규정한다. 그러나, SERVER 클래스는 매체 서버 및 매체 아카이브를 모두 수용하기 위해, 제3 클래스인 MEDIA_DEVICE로부터 도출될 수도 있다. 따라서, 매체 아카이브(140)를 나타내는 객체를 규정하는 제4 클래스인 ARCHIVE가 제공될 수도 있다. 그러나, 클래스를 구성하는 멤버 함수는 SERVER 클래스에 제공된 함수와 유사하기 때문에 ARCHIVE 클래스에 대한 설명은 생략한다. 매체 아카이브에 대한 설명은 "A MULTIMEDIA DATA STORAGE SYSTEM INCLUDING A MEDIA SERVER AND MEDIA ARCHIVE AND A METHOD OFMANAGING THE MEDIA SERVER AS A CACHE DEVICE FOR THE MEDIA ARCHIVE" 이란 명칭의 미국 특허에서 찾아볼 수 있으며, 이는 이하 전 범위에서 참조 자료로 인용된다.
제2 클래스인 CONTENT는 객체 또는 그 일부의 물리적 포맷의 논리적 기술부를 나타내는 객체를 규정한다. 일예로서, 동일한 포맷을 갖는 객체가 CONTENT 클래스를 공유할 수 있다. 요구 애플리케이션은 CONTENT 클래스의 멤버 함수를 통해 임의의 매체 디바이스(25)와 상호작용하여 이들 매체 디바이스(25)내에 저장된 객체에 관한 정보를 획득할 수 있다.
상기한 멤버 함수는 첨부된 APPENDIX에서 보다 상세하게 기술된다. 이하에서는 이러한 멤버 함수를 내장하는 개별적인 API가 상세하게 기술된다.
서버 애플리케이션 인터페이스
CLOSE API는 개방 매체 객체를 닫기 위해 제공된다. 또한, CLOSE API는 CONTENT 클래스의 인스턴스를 파괴한다.
CLOSE_SESSION API는 개방 세션을 닫기 위해 제공된다. 세션에 할당된 모든 자원은 CLOSE_SESSION API의 사용과 함께 해제될 것이다.
COPY_MEDIA API는 하나의 서버로부터 하나 이상의 다른 서버로 매체 객체를 복사하기 위해 제공된다.
DELETE API는 서버 서브시스템으로부터 매체 객체를 제거하기 위해 제공된다.
EVENT_HANDLER API는 비동기 이벤트에 대한 제어를 조건적으로 수신하기 위해 제공된다. 이벤트 마스크는 REGISTER_CALL_BACK API로 설정되고, 이벤트의 사양이 EVENT_HANDLER API에 전송되게 한다.
EVENT_MASK API는 현재의 이벤트 마스크를 반환하기 위해 제공된다.
GET_META_DATA API는 메타 데이터 화일을 형성하고 반환하기 위해 제공된다.
GET_MEDIA_STATUS API는 매체 객체의 상태를 획득하기 위해 제공된다.
INIT_SERVER API는 매체 관리자 클라이언트 라이브러리를 개시하기 위해 제공된다. 그러나, INIT_SERVER API는 요구 애플리케이션이 다른 매체 관리자 서비스를 요구하기 이전에 호출하는 첫번째 API이어야 한다.
LIST_MEDIA_GROUPS API는 구성된(configured) 매체 그룹 명칭의 리스트를 획득하기 위해 제공된다.
LIST_MEDIA_NAMES API는 특정 매체 그룹의 매체 객체와 연관된 매체 객체의 명칭 리스트를 획득하기 위해 제공된다.
OPEN API는 매체 객체로부터 데이터를 판독하거나 또는 매체 객체에 데이터를 기록하기 위해 후속의 호출에서 사용되는 CONTENT 클래스의 인스턴스를 반환하기 위헤 제공된다.
OPEN_SESSION API는 애플리케이션으로부터 비디오 서버 서브시스템까지의 세션을 개방하기 위해 제공된다.
REGISTER_CALL_BACK API는 매체 관리자 라이브러리를 갖는 EVENT_HNADLER API를 등록하기 위해 제공된다. 일단 등록되면, 이 애플리케이션은 필요한 경우 매체 디바이스로부터 비동기 이벤트 통지를 수신할 수 있다.
C_SERVER API는 특정의 매체 서버 유형에 대한 SERVER 클래스의 인스턴스를 생성하기 위한 생성자(constructor)로서 제공된다.
D_SERVER API는 특정의 매체 서버 유형에 대한 SERVER 클래스의 인스턴스를 파괴하기 위한 디폴트 파괴자(destructor)로서 제공된다.
UN_REGISTER_CALL_BACK API는 애플리케이션 이벤트 핸들러(event handler)를 등록 해제(unregister)하기 위해 사용된다. 이벤트 핸들러가 등록 해제되는 경우, 애플리케이션은 비동기 이벤트 통지를 수신하지 않을 것이다.
콘텐트 애플리케이션 프로그램 인터페이스
DESTAGE API는 매체 서버로부터 매체 아카이브로 매체 객체를 옮기기(즉, 전송) 위해 제공된다.
GET_MEDIA_ATTRIBUTE API는 매체 객체의 매체 속성을 획득하기 위해 제공된다.
GET_MEDIA_STATUS API는 매체 객체의 상태를 획득하기 위해 제공된다.
LOAD API는 현재의 매체 객체를 매체 디바이스에 복사하기 위해 제공된다. 매체 객체는 기록 모드에서 개방되어 있어야 한다. LOAD API는 비동기 특성을 갖는다(즉, 이것은 로드 동작을 개시한 후에 복귀된다) 로드 기능의 진행 방향은 GET_MEDIA_STATUS API를 호출함으로써 결정될 수 있다. 또한, LOAD API의 호출은 CLOSE API를 사용함으로써 취소될 수 있다.
READ API는 매체 객체의 데이터를 판독하기 위해 제공된다. READ API를 각각 연속적으로 사용하면 매체 객체내의 현재의 위치로부터 순차적인 수의 바이트가 판독된다. 매체 객체는 READ API를 호출하기 위해 개방되어 있어야 한다.
RETRIEVE API는 매체 서버로부터 매체 객체를 검색하기 위해 제공된다. RETRIEVE API는 GET_META_DATA API와 관련하여 사용된다.
SEEK API는 매체 객체내의 현재 바이트 위치를 설정하기 위해 제공된다. 그러나, SEEK API는 단지 READ API와 관련하여서만 사용될 수 있다. 따라서, 이것은 이하 기술되는 WRITE API와 관련하여 사용될 수는 없다. 또한, 매체 객체는 판독 모드에서 개방되어 있어야 한다.
SET_MEDIA_ATTRIBUTES API는 매체 객체의 매체 속성을 설정하기 위해 제공된다. 그러나, SET_MEDIA_ATTRIBUTES API를 호출하기 위해서는, 매체 객체가 기록 모드에서 개방되어 있어야 한다.
WRITE API는 매체 객체에 데이터를 기록하기 위해 사용된다. WRITE API를 각각 연속적으로 사용하면 매체 객체에 순차적인 수의 바이트가 기록된다. 그러나, WRITE API를 사용하기 위해서는 매체 객체가 개방되어 있어야 한다.
사용된 매체 디바이스의 유형에 따라, 앞서 기술된 개별적인 API의 일부가 다수의 액션으로 변환될 필요가 있으며 이 다수의 액션은 상기한 다른 개별적인 API의 몇몇을 사용하는 것을 포함한다. 일예로서, LOAD API는 OPEN API, COPY_MEDIA API, SET_MEDIA_ATTRIBUTE API, CLOSE API의 사용을 필요로 하는 액션 그룹으로 변환될 수 있다. 그리고 나서 액션 그룹은 특정 매체 디바이스(25)에 대응하는 디바이스 레벨 커맨드로 변환될 수 있다. 매체 디바이스(25)의 특정 하드웨어 구현에 따라, 이들 디바이스 레벨 커맨드는 액션 그룹과 관련하여 상기한 개별적인 API에 1대1 대응할 수 있다. 따라서, LOAD API와 연관된 디바이스 레벨 커맨드는 상기한 개별적인 API에 대응하는 OPEN 커맨드, COPY 커맨드, 적어도 하나의 SET_ATTRIBUTE 커맨드, CLOSE 커맨드를 포함할 수 있다.
이제 매체 관리자(5)의 동작이 도 2와 관련하여 기술될 것이다. 단계(50)에서, 하이 레벨 커맨드가 타겟 매체 디바이스와 함께 매체 관리자(5)에 의해 요구 애플리케이션(8)으로부터 수신된다. 이후, 단계(55)에서, 요구 애플리케이션(8)에 의해 제공된 정보에 따라 매체 관리자(5)의 하이 레벨 커맨드 프로세서(10)에 의해 비디오 서버 유형이 결정된다. 이어서, 단계(60)에서, 특정의 머신 유형에 대한 요구가 하이 레벨 커맨드 프로세서(10)에 의해 유효화된다.
단계(60)에서, 하이 레벨 커맨드가 하이 레벨 커맨드 프로세서(10)에 의해 디코딩되어 특정의 액션으로 분해된다. 단계(70)에서, 특정의 액션이 실행된다. 이후, 단계(75)에서, 디바이스 레벨 커맨드가 디바이스 특정의 코드 매핑 모듈(15)중 하나에 의해 특정의 액션으로부터 생성될 수 있다. 그 다음에, 단계(80)에서, 디바이스 레벨 커맨드가 디바이스 인터페이스(20)를 통해 대응하는 매체 디바이스(25)에 출력된다.
도 1에 도시된 본 발명의 매체 관리자를 내장하는 예시적인 멀티미디어 데이터 저장 시스템이 이하 도 3 및 도 4를 참조하여 기술되며, 여기에서 본 발명의 공통 API가 디지털 라이브러리 환경에서 사용된다. 멀티미디어 데이터 저장 시스템은 컴퓨터 기반형 시스템에서 구현되는 라이브러리 클라이언트(100), 클라이언트 매체 출력 스테이션(110), 디지털 라이브러리(120), 매체 서버(130), 매체아카이브(140)를 포함한다. 클라이언트(100) 및 디지털 라이브러리(120)간의 관계는 이하 도 4를 참조하여 보다 상세하게 설명되는데, 도 4는 디지털 라이브러리(120)의 내부 구성요소를 또한 도시한다. 상기한 바와 같이, 디지털 라이브러리(120)의 내부 구조는 미국 특허 공보 제 5,649,185 호에 또한 개시되어 있다.
도 4에 도시한 바와 같이, 디지털 라이브러리(120)는 라이브러리 서버(210)와, 라이브러리 클라이언트(100)와 상호작용하는 적어도 하나의 매체 객체 서버(220)를 포함한다. 또한, 통신 분리기(isolator)가 디지털 라이브러리에 제공되며, 이 통신 분리기는 라이브러리 서버(210), 매체 객체 서버(220), 라이브러리 클라이언트(100)가 복잡한 통신 프로토콜에 신경쓸 필요없이 서로 통신할 수 있게 한다. 라이브러리 서버(210), 매체 객체 서버(220), 라이브러리 클라이언트(100)는 근거리 통신망(LAN) 또는 광역 통신망(WAN)과 같은 통신 네트워크에 의해 접속된다.
매체 객체 서버(220) 및 클라이언트(100)가 이들 플랫폼상에서 실행되는 애플리케이션에 의해 생성된 커맨드를 매체 서버(130)로 출력하지만, 이들 커맨드는 이들을 수신하는 특정 매체 서버(130)를 제어하기 위해 디바이스 레벨 커맨드로 변환되어야 한다. 따라서, 상기 커맨드는 매체 관리자(5)에 내장된 공통 API를 통해 매체 서버(130)로 전송된다. 도 4에서는 매체 관리자(5)가 매체 객체 서버(220)에 포함되는 것으로서 도시되어 있으나, 매체 관리자(5)는 매체 서버(130)에 포함될 수도 있다.
상기한 바와 같이, 공통 애플리케이션 프로그램 인터페이스는 매체 객체 서버(220)가 상이한 동작 특성을 갖는 매체 서버(130)와 상호작용할 수 있게 한다. 인터페이스는 매체 객체 서버(220) 또는 클라이언트(100)상에서 실행되는 애플리케이션에 의해 생성된 일반 인스트럭션 또는 커맨드를 특정 매체 서버(130)로 출력되는 디바이스 레벨 커맨드에 매핑되는 특정의 액션으로 변환함으로써 이러한 목적을 성취한다. 따라서, 공통 애플리케이션 프로그램 인터페이스는 해당 매체 서버(130)에 대한 커맨드를 생성하기 위해 특정의 매체 서버(130)의 특질을 고려할 필요가 없음을 보장한다.
또한, 상기한 바와 같이, 애플리케이션은 이들 매체 서버(130)내에 저장된 객체에 관한 정보를 획득하기 위해 CONTENT 클래스의 멤버 함수를 통해 각각의 매체 서버(130)와 상호작용할 수 있다.
상기한 개별적인 API는 통상 라이브러리 클라어언트(100)에 의해 라이브러리 서버(210)로 전송되는, 매체 객체를 저장하고, 검색하며, 갱신하라는 요구와 관련하여 사용된다. 멀티미디어 데이터 저장 시스템 내에서의 매체 객체의 저장, 검색, 갱신은 이하 보다 상세하게 기술될 것이다.
특정 매체 객체를 검색하거나 또는 갱신하라는 요구가 라이브러리 클라이언트(100)에 의해 생성되는 경우, 라이브러리 서버(210)는 멀티미디어 데이터 저장 시스템내에 저장된 매체 객체의 인덱스를 탐색함으로써 매체 객체가 멀티미디어 데이터 저장 시스템내에 위치하는지 여부를 판정한다.
일단 멀티미디어 데이터 저장 시스템내에 매체 객체가 저장되어 있는 것으로라이브러리 서버(210)가 판정하면, 매체 객체의 물리적 위치에 대한 제어를 보유하는 매체 객체 서버(220)로 요구를 전송한다. 매체 객체는 매체 객체 서버(220) 자체에 저장될 수도 있고, 매체 서버(130)에 저장될 수도 있으며, 또는 매체 객체 서버(220)와 연관된 매체 아카이브(140)에 저장될 수도 있다. 이후, 라이브러리 서버(210)는 요구를 반영하기 위해 라이브러리 서버(220)가 접속되는 라이브러리 카탈로그(212)에 저장된 매체 객체 인덱스 및 기술적 정보(descriptive information)를 갱신할 수 있다.
매체 객체를 검색하거나 또는 갱신하는 요구를 수신한 후에, 매체 객체 서버(220)는 요구에 포함되는 식별자에 따라 특정 유형의 매체 객체(즉, 오디오 또는 비디오 기반형 화일)를 식별한다. 이후, 객체 서버(220)는 매체 객체가 객체 저장 장치(222)내에 국부적으로 위치하는지 또는 매체 아카이브(140)내에 또는 매체 서버(130)중 하나의 원격 위치에 위치하는지의 여부를 식별할 것이다.
매체 서버가 매체 아카이브(140)에 위치하는 것으로 매체 객체 서버(220)가 판정하면, 매체 객체의 유형에 따라, 매체 객체 서버(220)는 매체 관리자(5)를 통해 매체 아카이브(140)로 커맨드를 출력하고, 이 매체 아카이브(140)는 매체 객체를 적절한 매체 서버(130)로 전송하도록 지시한다.
이후, 매체 객체를 수신하는 매체 서버(130)는 매체 관리자(5)를 통해 매체 객체 서버(220)로부터, 매체 객체를 출력하라는 커맨드의 수신시 객체를 클라이언트 매체 출력 스테이션(110)으로 출력할 것이다. 일예로서, 클라이언트 매체 출력 스테이션(110)은 CRT 튜브 또는 평판 디스플레이를 포함하는 텔레비전, 방송 모니터, 또는 컴퓨터 모니터와 같은 비디오 디스플레이일 수 있다.
다른 방안에서, 일단 매체 객체가 매체 서버(130)에 저장되어 있으면, 매체 객체 서버(220)는 매체 객체에 관한 제어 정보를 클라이언트(110)로 전송하고, 이 클라이언트(100)는 매체 관리자(5)를 통해 매체 서버(130)에게 매체 객체를 클라이언트 매체 출력 스테이션(110)으로 출력하도록 지시한다. 일예로서, 매체 객체는 비동기 전송 모드(ATM) 기반형 비디오 스트림으로서 출력될 수도 있다. 또한, 클라이언트 매체 출력 스테이션(110)은 클라이언트(100)로부터 분리되거나, 또는 클라이언트(100)내에 포함될 수도 있다.
매체 객체가 멀티미디어 데이터 저장 시스템내로 저장되거나 또는 로드되도록 클라이언트(100)가 요구하면, 라이브러리 서버(210)는 매체 객체에 관한 인덱싱 정보를 분류한다. 이어서, 라이브러리 서버(210)는 객체 서버(220)가 매체 객체에 대응하는 제어 정보를 저장할 것을 요구한다. 이후, 매체 객체 서버(220)는 매체 관리자(5)를 통해 매체 서버(130)로 커맨드를 송출한다. 이 커맨드에 따라, 매체 서버(130)는 클라이언트(100)로부터 매체 서버(130) 자체내로 매체 객체를 로드할 것이다. 클라이언트(100)는 매체 서버(130)로 매체 객체를 전송하여 로딩 프로세스를 완료할 것이다.
상기한 멀티미디어 데이터 저장 시스템에서는 디지털 라이브러리와 관련하여 기술되었으나, 본 발명의 매체 관리 방안은 상이하게 구성되는 멀티미디어 데이터 저장 시스템에서 구현될 수도 있다. 또한, 본 발명의 매체 관리 방안에 대한 다른 변형 및 수정은 전술한 개시 내용으로부터 당업자에게 명백할 것이다. 따라서, 본발명의 특정 실시예만이 특히 기술되었으나, 본 발명의 정신 및 범위로부터 벗어나지 않고 다양한 변형이 이루어질 수 있음이 명백해질 것이다.
상기한 바와 같은 본 발명에 따르면, 매체 서버에 공통 인터페이스를 제공하는 강력한 관리 방안을 제공하고, 시스템내에 포함된 매체 서버와 상호작용하는 애플리케이션으로부터 매체 서버 특정의 디바이스 커맨드를 은닉하는, 매체 서버에 공통 인터페이스를 제공할 수 있게 된다.
APPENDIX
서버 클래스 멤버 함수
CLOSE
개방된 매체 객체를 닫고 CONTENT 클래스 인스턴스를 파괴한다.
파라미터:
CONTENT 클래스 인스턴스의 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 수행되었는지 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는지 여부를 표시한다.
제3 코드는 동작이 실패하였는지 여부를 표시한다.
CLOSE_SESSION
개방된 세션을 닫는다. 세션에 할당된 모든 자원이 해제될 것이다.
파라미터:
없음.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 무효 매체 그룹이 지정되었음을 표시한다.
제4 코드는 매체 서버를 찾을 수 없음을 표시한다.
제5 코드는 동작이 실패하였음을 표시한다.
COPY_MEDIA
하나의 매체 서버로부터 하나 이상의 다른 매체 서버로 매체 객체를
복사한다.
복사 동작이 취해질 수 있는 시간 길이 때문에, COPY_MEDIA 멤버 함
수 메써드(method)는 비동기적으로 동작한다. 즉, 이것은 복사 동작
을 개시한 후에 복귀된다. 복사 동작의 진행 방향은
GET_MEDIA_STATUS 멤버 함수를 호출함으로써 결정될 수 있다. 복사
동작은 CLOSE 멤버 함수를 호출함으로써 취소될 수 있다.
파라미터:
매체 명칭의 표시자.
복사 동작을 어디에서 개시해야 할지를 나타내는 바이트 오프셋의 표
시자.
복사 동작을 어디에서 종료해야 할지를 나타내는 바이트 오프셋의 표
시자. 매체 객체의 끝을 표시하기 위해 제로값이 지정될 수 있다.
MEDIA_LOCATION 구조의 어레이 표시자. 각각의 MEDIA_LOCATION 구조
는 특정 복사 동작에 대해 하나의 타겟 위치를 지정한다.
MEDIA_LOCATION 구조는 구조의 크기, 사용자의 수, 매체 서버 명칭,
매체 그룹 명칭, 매체 객체 명칭을 표시한다.
매체 객체가 복사될 위치의 수.
CONTENT 인스턴스의 포인터 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 수행되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 매체 명칭이 무효임을 표시한다.
제4 코드는 무효 매체 그룹(즉, 매체 객체의 그룹)이 지정되었음을
표시한다.
제5 코드는 지정된 매체 명칭이 발견될 수 없음을 표시한다.
제6 코드는 복사 동작이 실패하였음을 표시한다.
DELETE
매체 서버로부터 매체 객체를 제거한다.
파라미터:
매체 명칭의 표시자.
매체 객체를 제거하는 조건. 일예로서, 이 파라미터는 모든 자원이
비활성인 경우에만 매체 객체가 제거되도록 지정할 수 있다. 이와
달리, 이 파라미터는 자원을 이용불가능한 것으로서 표시할
수도 있고, 매체 객체가 더 이상 사용되지 않을 때까지 제거를 지연
할 수도 있다.
반환 코드:
제1 코드는 동작이 성공적으로 수행되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 지정된 매체 명칭이 발견되지 않았음을 표시한다.
제4 코드는 지정된 매체 객체가 사용중임을 표시한다.
제5 코드는 지정된 매체 명칭이 무효임을 표시한다.
제6 코드는 제거 동작이 실패하였음을 표시한다.
EVENT_HANDLER
비동기 이벤트에 대한 제어를 조건적으로 수신한다.
REGISTER_CALL_BACK 멤버 함수로 설정된 이벤트 마스크는 지정된 이
벤트가 EVENT_HANDLER 멤버 함수로 전송될 수 있게 한다.
파라미터:
이벤트 구조의 표시자.
일예로서, 이벤트 구조는 이벤트 구조의 크기, 이벤트 유형, 매체 이
벤트, 에러 이벤트를 지정할 수 있다. 매체 이벤트 구조는 CONTENT
클래스의 표시자, 이벤트 유형, 특정 위치 또는 화일 어레이로의 인
덱스를 지정한다. 에러 이벤트 구조는 에러의 발생과 연관된 특정
이벤트를 지정한다.
이벤트는 매체 서버에 의해 매체 관리자에 전송된 비동기 메시지이
다.
반환 코드:
이 멤버 함수는 반환 유형을 갖지 않는다.
GET_EVENT_MASK
현재의 이벤트 마스크를 반환한다.
파라미터:
이벤트 마스크의 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 이벤트 마스크가 규정되지 않음을 표시한다.
GET_META_DATA
메타 데이터 화일을 형성하고 반환한다.
파라미터:
매체 명칭의 표시자.
재생이 자동적으로 개시될 지, 또는 재생 액션 때까지 지연될 지의
여부를 표시하는 값.
사용자 데이터의 크기.
사용자가 규정한 데이터 값의 표시자.
상태 정보를 수신하는 MEDIA STATUS 구조의 표시자. MEDIA STATUS
구조는 구조의 크기, 현재의 길이(바이트), 매체 복사 속도, 매체 개
방 모드, 생성 날짜, 가장 최근의 변경 날짜, 가장 최근의 액세스 날
짜를 지정한다.
메타 데이터 정보를 수신하는 버퍼의 표시자.
버퍼의 크기.
반환 코드:
제1 코드는 동작이 성공적으로 수행되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 지정된 매체 명칭이 무효임을 표시한다.
제4 코드는 지정된 매체 명칭이 유효임을 표시한다.
제5 코드는 지정된 매체 명칭이 발견되지 않았음을 표시한다.
제6 코드는 동작이 실패하였음을 표시한다.
제7 코드는 동작에 대해 불충분한 디스크 대역폭이 존재함을 표시한
다.
제8 코드는 무효 매체 그룹이 지정되었음을 표시한다.
제9 코드는 지정된 매체 서버상에서 이 동작이 이용가능하지 않음을
표시한다.
GET_MEDIA_STATUS
매체 객체의 상태를 획득한다.
파라미터:
매체 명칭의 표시자.
상태 정보를 수신하기 위해 사용되는 MEDIA_STATUS 구조의 표시자.
MEDIA_STATUS 구조는 구조의 크기, 매체 객체의 현재 바이트 길이,
매체 복사 속도, 매체 개방 모드, 매체 객체의 생성 날짜, 매체 객체
의 최종 변경 날짜, 매체 객체의 최종 액세스 날짜를 지정한다.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었는 지의 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는 지의 여부를 표시한다.
제3 코드는 지정된 매체 명칭이 무효인 지의 여부를 표시한다.
제4 코드는 동작이 실패하였는지의 여부를 표시한다.
INIT_SERVER
매체 관리자 클라이언트 라이브러리를 개시한다. 이 멤버 함수는 애
플리케이션이 다른 매체 관리자 서비스를 요구하기 이전에 송출하고
첫번째 호출이어야 한다.
파라미터:
매체 관리자에 의해 지원되는 세션의 최대 수.
현재 버전의 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 수행되었는 지의 여부를 표시한다.
제2 코드는 이용가능한 더 이상의 자원이 없음을 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
LIST_MEDIA_GROUPS
구성된 매체 그룹 명칭의 리스트를 획득한다.
파라미터:
매체 그룹 명칭 및 유형을 지정할 MEDIA_GROUPS_STRUCTURE 구조 어레
이의 표시자. 매체 그룹 명칭은 가변 길이 스트링이다. 매체 그룹
유형은 디폴트 및 현재의 매체 그룹을 포함한다.
그룹 어레이의 바이트 크기의 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 매체 서버를 찾을 수 없음을 표시한다.
제4 코드는 동작이 실패하였음을 표시한다.
LIST_MEDIA_NAMES
매체 그룹과 연관된 매체 명칭 리스트를 획득한다.
파라미터:
매체 그룹 명칭의 표시자.
매체 명칭의 버퍼를 지정하는 표시자. 버퍼내의 각 매체 명칭은 가
변 길이 스트링이다.
버퍼에 반환된 엔트리 수의 표시자.
버퍼 크기의 표시자.
매체 명칭 리스트의 시작 위치를 나타내는 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
OPEN
매체 객체로부터 데이터를 판독하거나 또는 매체 객체에 데이터를 기
록하는 후속적인 호출시에 사용되는 CONTENT 클래스 인스턴스를 반환
한다
파라미터:
매체 명칭의 표시자.
판독 또는 기록 동작 모드에 대응하는 동작 모드. 이 파라미터와 함
께 지정될 수 있는 몇개의 옵션이 존재한다. 즉, 매체 객체가 특정
한 용도를 위해 제공되는지의 여부에 대한 표시가 제공될 수 있다.
아직 존재하지 않는 경우에는 매체 객체가 생성될 수 있도록 표시가
또한 제공될 수 있다. 매체 객체로부터 콘텐트가 절단되어야 하는지
에 대한 표시가 또한 제공될 수 있다. 또한, 매체 객체의 끝 위치에
대한 표시가 제공될 수 있다.
매체 객체가 판독되거나 또는 기록될 초 당 비트 속도.
CONTENT 클래스 인스턴스에 대한 포인터의 위치.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 지정된 매체 명칭이 발견되지 않았음을 표시한다.
제4 코드는 무효 모드가 지정되었음을 표시한다.
제5 코드는 무효 복사 속도가 지정되었음을 표시한다.
제6 코드는 매체 객체가 공유될 수 없음을 표시한다.
제7 코드는 특정 매체 객체가 사용중이기 때문에, 배타적 사용에 대
한 요구가 거부됨을 표시한다.
제8 코드는 매체 명칭이 이미 존재함을 표시한다.
제9 코드는 동작이 실패하였음을 표시한다.
OPEN_SESSION
애플리케이션으로부터 매체 서버까지 세션을 개방한다.
파라미터:
세션을 설정하는 매체 서버의 호스트 명칭.
매체 그룹의 명칭.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
제4 코드는 매체 객체를 찾을 수 없음을 표시한다.
제5 코드는 무효 매체 그룹이 지정되었음을 표시한다.
제6 코드는 무효 서버 명칭이 지정되었음을 표시한다.
REGISTER_CALL_BACK
매체 관리자를 갖는 애플리케이션 이벤트 핸들러를 등록한다. 일단
등록되면, 애플리케이션은 필요할 때 매체 서버로부터 비동기 이벤
트 통지를 수신할 수 있다.
파라미터:
EVENT_HANDLER 메써드 함수에 대해 어떤 이벤트가 전송되는지를 선택
하기 위해 사용되는 이벤트 마스크(즉, 비트 마스크).
다음의 이벤트 마스크를 수반하는 논리적 동작을 이용하여 이벤트 마
스크가 진행된다. 제1 이벤트 마스크는 포트(port)의 상태 변화를
표시한다. 제2 이벤트 마스크는 매체 객체의 상태 변화를 표시한
다. 제3 이벤트 마스크는 에러가 발생하였음을 표시한다. 제4 이
벤트 마스크는 매체 스트림의 상태 변화를 표시한다. 제4 이벤트
마스크는 이벤트 통지를 표시한다.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 무효 이벤트 유형이 지정되었음을 표시한다.
제4 코드는 동작이 실패하였음을 표시한다.
C_SERVER
특정의 매체 서버 유형에 대한 SERVER 클래스의 인스턴스를 생성하는
생성자로서 동작한다.
파라미터:
SERVER 클래스 인스턴스내에 생성될 지원 레벨.반환 코드:
반환 코드:
없음.
D_SERVER
SERVER 클래스 인스턴스에 대해 파괴자로서 동작한다.
파라미터:
없음.
반환 코드:
없음.
UN_REGISTER_CALL_BACK
애플리케이션 이벤트 핸들러를 등록 해제한다. 이벤트 핸들러가 등
록 해제되어 있는 경우, 애플리케이션은 비동기 이벤트 통지를 수신
하지 않을 것이다.
파라미터:
없음.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 세션 핸들러가 손상되었음을 표시한다.
제4 코드는 동작이 실패하였음을 표시한다.
CONTENT CLASS MEMBER FUNCTIONS
DESTAGE
매체 서버로부터 매체 아카이브로 매체 객체를 전송한다. 이 멤버
함수는 다른 멤버 함수에 의존한다. 특히, 이 멤버 함수는 DELETE
멤버 함수를 호출하여 매체 아카이브에 매체 객체가 있는 경우 매체
객체를 제거하고, COPY 함수를 호출하여 매체 객체를 비디오 아카이
브로 전달한다.
GET_MEDIA_ATTRIBUTE
지정된 매체 객체의 매체 속성을 획득한다.
파라미터:
MEDIA_ATTRIBUTE 구조의 표시자. MEDIA_ATTRIBUTE 구조는 구조의 크
기, 재생 속도(프레임/초), 재생 속도(비트/초), 예상되는 사용자
수, 매체 객체의 유형, 재생 동안 매체 객체의 지속 기간을 지정한
다.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
GET_MEDIA_STATUS
매체 객체의 상태를 획득한다.
파라미터:
상태 정보를 수신하는 MEDIA_STATUS 구조의 표시자. MEDIA_STATUS
구조는 이 구조의 크기, 현재의 길이(바이트), 매체 복사 속도, 매체
개방 모드, 생성 날짜, 매체 객체가 최종 변경된 날짜, 매체 객체가
최종 액세스된 날짜를 지정한다.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었음을 표시한다.
제2 코드는 매체 서버가 에러를 통지하였음을 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
LOAD
현재의 매체 객체를 클라이언트로부터 매체 서버로 복사한다. 매
체 객체는 기록 모드에서 개방되어 있어야 한다. 이 멤버 함수는 비
동기 함수로서, 즉 이것은 로드 동작을 개시한 후에 반환된다. 이
멤버 함수의 진행 방향은 GET_MEDIA_STATUS 멤버 함수를 호출함으로
써 결정될 수 있다. 그러나, 이 동작은 CLOSE 멤버 함수를 호출함으
로써 취소될 수 있다.
파라미터:
MEDIA_STRUCTURE 구조의 표시자. MEDIA_STRUCTURE 구조는 구조의 크
기, 매체 객체의 유형, 재생 동안 매체 객체의 지속 기간, 재생 속도
(프레임/초), 재생 속도(비트/초), 예상되는 사용자 수, 매체 객체의
명칭을 규정한다.
매체 객체(들)가 전송될 근원의 호스트 명칭.
호스트 명칭 파라미터에 의해 지정된 호스트의 사용자 ID.
사용자 ID 파라미터에 의해 지정된 사용자 ID의 패스워드.
화일 명칭 어레이. 어레이내의 모든 화일이 모두 결합되어 단일 매
체 객체를 형성할 수 있다. 특정의 매체 서버가 매우 큰 화일을 지
원하지 않더라도 매우 큰 매체 객체가 생성될 수 있게 한다.
화일 명칭 어레이내의 화일 명칭의 수.
상태 정보를 수신하는데 사용되는 MEDIA_STATUS 구조의 표시자.
MEDIA_STATUS는 구조의 크기, 현재의 길이(바이트), 매체 객
체 복사 속도, 매체 객체 개방 모드, 매체 객체의 생성 날짜, 매체
객체가 최종 변경된 날짜, 매체 객체가 최종 액세스된 날짜를 지정한
다.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었는 지의 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는 지의 여부를 표시한다.
제3 코드는 무효 매체 서버 명칭이 지정되었음을 표시한다.
제4 코드는 무효 서버 명칭이 지정되었음을 표시한다.
제5 코드는 동작이 실패하였음을 표시한다.
제6 코드는 매체 서버에 불충분한 공간이 있음을 표시한다.
제7 코드는 매체 서버에 불충분한 디스크 대역폭이 있음을 표시한
다.
READ
지정된 매체 객체의 데이터를 판독한다. 멤버 함수에 대한 각각의
연속적인 호출은 현재의 위치로부터 순차적인 수의 바이트를 판독한
다. 매체 객체는 이 멤버 함수를 호출하기 위해 판독 모드에서 개방
되어 있어야 한다.
파라미터:
데이터가 전송되는 포인터의 표시자.
판독될 바이트 수.
실질적으로 판독된 바이트 수.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었는지 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는지 여부를 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
RETRIEVE
매체 서버로부터 매체 객체를 검색한다. 이 멤버 함수는 다른 멤버
함수를 호출한다. 특히, 매체 서버에 매체 객체가 이미 저장되어 있
지 않으면, COPY 멤버 함수가 호출된다. 이어서, 메타 데이터 정보
를 검색하기 위해 GET_META_DATA멤버 함수가 호출된다.
SEEK
매체 객체내의 현재 바이트 위치를 설정한다. 이 멤버 함수는 단
지 READ 멤버 함수와 관련하여 동작한다. 매체 객체는 동작이 개시
되기 위해 판독 모드에서 개방되어 있어야 한다. 이것은 기록 동작
동안 효력이 없다.
파라미터:
오프셋 파라미터가 사용되는 방법에 대한 표시자. 다음의 지원 옵션
이 또한 지정될 수 있다. 제1 지원 옵션은 매체 바이트 위치를 오
프셋 파라미터의 값으로 설정한다. 제2 지원 옵션은 매체 바이트
위치를 그 현재의 위치 + 오프셋 파라미터로 설정한다. 제3 지원
옵션은 매체 바이트 위치를 매체의 끝으로 설정한다.
판독되는 매체 객체에 대한 바이트 오프셋의 표시자.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었는지 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는지 여부를 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
SET_MEDIA_ATTRIBUTE
매체 객체의 매체 속성을 설정한다. 이 멤버 함수를 사용하기 위해
서 매체 객체는 기록 모드에서 개방되어 있어야 한다.
파라미터:
MEDIA_ATTRIBUTE 구조의 표시자. MEDIA_ATTRIBUTE 구조는 이 구조의
크기, 속성 플래그, 매체 객체의 유형, 매체 객체의 지속 기간, 재생
속도(프레임/초), 재상 속도(비트/초), 예상되는 사용자 수, 매체 객
체의 명칭을 지정한다.
속성 플래그는 기본 속성 플래그의 조합을 이용하여 형성된 비트 마
스크이다. 기본 속성 플래그는 구조내에서 어떤 값이 설정되는지를
지정한다. 기본 자원 속성 플래그는 매체 객체 명칭, 매체 객체
유형, 매체 객체의 지속 기간, 매체 객체 프레임 속도, 매체 객체 비
트 속도, 예상되는 사용자 수, 매체 객체의 모든 속성을 설정한다.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었는지 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는지 여부를 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
WRITE
매체 객체에 데이터를 기록한다. 이 멤버 함수에 대한 각각의 순차
적인 호출은 순차적인 수의 바이트를 기록한다.
파라미터:
기록될 데이터의 근원이 되는 포인터의 표시자.
기록될 바이트 수.
실질적으로 기록된 바이트 수.
반환 코드:
제1 코드는 동작이 성공적으로 완료되었는 지의 여부를 표시한다.
제2 코드는 매체 서버가 에러를 통지하였는 지의 여부를 표시한다.
제3 코드는 동작이 실패하였음을 표시한다.
Claims (15)
- 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하여 다수의 매체 디바이스로 출력하는 애플리케이션 프로그램 인터페이스(API)를 내장하는 매체 관리자로서,하이 레벨 포괄 커맨드를 디코딩하는 하이 레벨 커맨드 프로세서와,상기 하이 레벨 커맨드 프로세서에 의해 디코딩된 상기 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하는 다수의 디바이스 특정의 코드 매핑 모듈─각각의 상기 다바이스 레벨 커맨드는 상기 다수의 디바이스 특정의 코드 매핑 모듈중 한 모듈로부터 상기 다수의 매체 디바이스중 대응하는 한 디바이스로 출력된다─을 포함하는 매체 관리자.
- 제1항에 있어서, 상기 하이 레벨 커맨드 프로세서는 공통 API에 대응하는 다수의 개별적인 API를 포함하고, 개별적인 API 각각은 특정의 기능을 처리하는 매체 관리자.
- 제1항에 있어서, 상기 다수의 디바이스 특정의 코드 매핑 모듈로부터 출력된 상기 디바이스 레벨 커맨드의 각각을 수신하고 상기 다수의 매체 디바이스중 대응하는 한 디바이스로 상기 디바이스 레벨 커맨드의 각각을 출력하는 디바이스 인터페이스를 더 포함하는 매체 관리자.
- 제2항에 있어서, 상기 매체 디바이스의 각각은 하나의 매체 아카이브 및 적어도 하나의 매체 서버를 포함하고, 상기 매체 디바이스의 각각은 매체 객체를 저장하는 매체 관리자.
- 제4항에 있어서, 상기 매체 아카이브 및 매체 서버는 디지털 라이브러리를 포함하는 멀티미디어 데이터 저장 시스템에 포함되는 매체 관리자.
- 제4항에 있어서, 상기 개별적인 애플리케이션 프로그램 인터페이스는 매체 서버를 나타내는 객체 및 매체 객체의 물리적 포맷의 논리적 기술을 나타내는 객체를 규정하는 클래스와 연관된 멤버 함수를 나타내는 매체 관리자.
- 제1항에 있어서, 상기 다수의 디바이스 특정의 코드 매핑 모듈은 하이 레벨 포괄 커맨드를 특정의 액션으로 변환하고 상기 특정의 액션을 디바이스 레벨 커맨드로 변환하는 매체 관리자.
- 다수의 매체 디바이스에 대해 애플리케이션 프로그램 인터페이스(API)를 구현하는 방법으로서,컴퓨터 애플리케이션으로부터 다수의 하이 레벨 포괄 커맨드를 수신하는 단계와,상기 다수의 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하는 단계와,각각의 상기 디바이스 레벨 커맨드를 상기 매체 디바이스의 하나로 출력하는 단계를 포함하는애플리케이션 프로그램 인터페이스 구현 방법.
- 제8항에 있어서, 상기 변환 단계는 특정의 기능을 각각 수행하는 다수의 개별적인 API를 이용하여 상기 다수의 하이 레벨 포괄 커맨드를 변환하는 단계를 포함하는 애플리케이션 프로그램 인터페이스 구현 방법.
- 제8항에 있어서, 상기 변환 단계는 상기 다수의 하이 레벨 포괄 커맨드를 특정의 액션으로 변환하는 단계와, 상기 특정의 액션을 디바이스 레벨 커맨드로 변환하는 단계를 포함하는 애플리케이션 프로그램 인터페이스 구현 방법.
- 제8항에 있어서,상기 하이 레벨 포괄 커맨드의 각 커맨드는 매체 디바이스 유형 식별자와 함께 수신되고,상기 변환 이전에, 상기 매체 디바이스 유형이 상기 매체 디바이스중 하나의 디바이스에 대응하는지의 여부가 판정되며,상기 디바이스 레벨 커맨드의 각각은 상기 다수의 매체 디바이스중 상기 매체 디바이스 유형인 대응하는 한 디바이스로 출력되는 애플리케이션 프로그램 인터페이스 구현 방법.
- 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 컴퓨터 프로그램은,하이 레벨 포괄 커맨드를 디코딩하는 수단과,상기 하이 레벨 포괄 커맨드를 디바이스 레벨 커맨드로 변환하는 수단과,각각의 상기 디바이스 레벨 커맨드를 대응하는 매체 디바이스로 출력하는 수단을 포함하는 것인컴퓨터 판독 가능 기록 매체.
- 제12항에 있어서, 상기 변환 수단은 하이 레벨 포괄 커맨드를 특정의 액션으로 변환하고 상기 특정의 액션을 상기 디바이스 레벨 커맨드로 변환하는 것인 컴퓨터 판독 가능 기록 매체.
- 컴퓨터 애플리케이션으로부터 수신된 하이 레벨 포괄 커맨드를, 매체 객체를 저장하는 매체 서버를 포함하는 다수의 매체 디바이스에 출력되는 디바이스 레벨 커맨드로 변환하는 공통 애플리케이션 프로그램 인터페이스(API)를 포함하는 컴퓨터 판독 가능 기록 매체로서,상기 공통 API는 특정의 기능을 각각 수행하는 다수의 개별적인 API를 포함하는 것인 컴퓨터 판독 가능 기록 매체.
- 제14항에 있어서,상기 다수의 개별적인 API는 제1 및 제2 그룹의 개별적인 API를 포함하고, 상기 제1 그룹의 개별적인 API는 매체 서버를 나타내는 객체를 규정하는 클래스와 연관된 제1 그룹의 멤버 함수에 대응하며,상기 제2 그룹의 개별적인 API는 매체 객체의 물리적 포맷의 논리적 기술을 나타내는 객체를 규정하는 클래스와 연관된 제2 그룹의 멤버 함수에 대응하는 것인 컴퓨터 판독 가능 기록 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/941,788 | 1997-09-30 | ||
US08/941,788 | 1997-09-30 | ||
US08/941,788 US6516356B1 (en) | 1997-09-30 | 1997-09-30 | Application interface to a media server and a method of implementing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990029323A KR19990029323A (ko) | 1999-04-26 |
KR100350141B1 true KR100350141B1 (ko) | 2003-01-06 |
Family
ID=25477065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1998-0033616A KR100350141B1 (ko) | 1997-09-30 | 1998-08-19 | 매체관리자,애플리케이션프로그램인터페이스와이를구현하는방법 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6516356B1 (ko) |
JP (1) | JPH11175390A (ko) |
KR (1) | KR100350141B1 (ko) |
GB (1) | GB2330671B (ko) |
IE (1) | IE980729A1 (ko) |
TW (1) | TW554271B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030031202A (ko) * | 2001-10-12 | 2003-04-21 | 주식회사 엘지이아이 | 컴퓨터를 통한 사용자 인터페이스 방법 |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965682B1 (en) | 1999-05-19 | 2005-11-15 | Digimarc Corp | Data transmission by watermark proxy |
US7562392B1 (en) | 1999-05-19 | 2009-07-14 | Digimarc Corporation | Methods of interacting with audio and ambient music |
KR100722697B1 (ko) * | 1998-04-27 | 2007-05-30 | 가부시끼가이샤 디지탈 | 제어시스템, 표시장치 및 제어용호스트컴퓨터 및데이터전송방법 |
US8332478B2 (en) * | 1998-10-01 | 2012-12-11 | Digimarc Corporation | Context sensitive connected content |
US6489954B1 (en) * | 1998-10-13 | 2002-12-03 | Prophet Financial Systems, Inc. | System and method for permitting a software routine having restricted local access to utilize remote resources to generate locally usable data structure |
EP1045315A3 (en) * | 1999-04-13 | 2011-03-02 | Canon Kabushiki Kaisha | Data processing method and apparatus |
US6968390B1 (en) * | 1999-04-15 | 2005-11-22 | International Business Machines Corporation | Method and system for enabling a network function in a context of one or all server names in a multiple server name environment |
US20020032734A1 (en) | 2000-07-26 | 2002-03-14 | Rhoads Geoffrey B. | Collateral data combined with user characteristics to select web site |
US6853868B1 (en) * | 1999-10-15 | 2005-02-08 | Sun Microsystems, Inc. | Cross-platform audio feedback for GUI components |
US6530081B1 (en) * | 1999-11-30 | 2003-03-04 | International Business Machines Corporation | Methods, systems and computer program products for controlling applications/preferences of a pervasive computing device |
EP1146729A3 (en) * | 2000-03-15 | 2005-07-06 | International Business Machines Corporation | Method and system for streaming media data in heterogenous environments |
US6980996B1 (en) * | 2000-06-28 | 2005-12-27 | Cisco Technology, Inc. | Generic command interface for multiple executable routines having character-based command tree |
US7047526B1 (en) * | 2000-06-28 | 2006-05-16 | Cisco Technology, Inc. | Generic command interface for multiple executable routines |
US6868418B1 (en) * | 2000-10-04 | 2005-03-15 | Microsoft Corporation | Methods and systems for performing reliable asynchronous notification of high-level document operations |
US8554940B2 (en) | 2001-01-19 | 2013-10-08 | Single Touch Interactive, Inc. | System and method for routing media |
US7054949B2 (en) * | 2001-01-19 | 2006-05-30 | World Streaming Network, Inc. | System and method for streaming media |
US7054887B2 (en) * | 2001-01-30 | 2006-05-30 | Ibm Corporation | Method and system for object replication in a content management system |
US7178152B2 (en) * | 2001-03-01 | 2007-02-13 | Sony Corporation | Application programming interface for communication between audio/video file system and audio video controller |
US20020161888A1 (en) * | 2001-04-30 | 2002-10-31 | Mcguire Jacob | Template-based system for automated deployment and management of network devices |
US8359377B2 (en) * | 2001-04-30 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Interface for automated deployment and management of network devices |
US7136883B2 (en) * | 2001-09-08 | 2006-11-14 | Siemens Medial Solutions Health Services Corporation | System for managing object storage and retrieval in partitioned storage media |
US7370335B1 (en) * | 2001-11-29 | 2008-05-06 | Vignette Corporation | System and method for providing a public application program interface |
US20040083015A1 (en) * | 2002-06-04 | 2004-04-29 | Srinivas Patwari | System for multimedia rendering in a portable device |
US7457312B2 (en) * | 2002-06-19 | 2008-11-25 | Microsoft Corporation | Bandwidth sharing in advanced streaming format |
US7003527B1 (en) * | 2002-06-27 | 2006-02-21 | Emc Corporation | Methods and apparatus for managing devices within storage area networks |
US7246318B2 (en) * | 2002-06-28 | 2007-07-17 | Microsoft Corporation | Application programming interface for utilizing multimedia data |
US7346912B2 (en) * | 2002-08-05 | 2008-03-18 | Tandberg Telecom As | Method and system for managing video devices |
US7290057B2 (en) * | 2002-08-20 | 2007-10-30 | Microsoft Corporation | Media streaming of web content data |
DE60327329D1 (de) * | 2002-09-10 | 2009-06-04 | Exagrid Systems Inc | Primär- und ferndatensicherung mit knoten-failover |
JP4909383B2 (ja) * | 2002-10-03 | 2012-04-04 | 株式会社アイ・オー・データ機器 | ハードディスク管理装置 |
US7415716B2 (en) * | 2003-01-17 | 2008-08-19 | International Business Machines Corporation | Component integrator |
US7483879B2 (en) * | 2003-01-17 | 2009-01-27 | International Business Machines Corporation | System and method for accessing non-compatible content repositories |
US7386609B2 (en) | 2003-02-20 | 2008-06-10 | International Business Machines Corporation | Method, system, and program for managing devices in a network |
US6978452B2 (en) | 2003-04-02 | 2005-12-20 | Beach Unlimited Llc | Upgrading digital media servers |
US7221331B2 (en) * | 2003-05-05 | 2007-05-22 | Microsoft Corporation | Method and system for auxiliary display of information for a computing device |
US20040240650A1 (en) | 2003-05-05 | 2004-12-02 | Microsoft Corporation | Real-time communications architecture and methods for use with a personal computer system |
US7827232B2 (en) * | 2003-05-05 | 2010-11-02 | Microsoft Corporation | Record button on a computer system |
US7551199B2 (en) * | 2003-05-05 | 2009-06-23 | Microsoft Corporation | Computer camera system and method for reducing parallax |
US20040235520A1 (en) * | 2003-05-20 | 2004-11-25 | Cadiz Jonathan Jay | Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer |
US7310659B1 (en) | 2003-06-27 | 2007-12-18 | Sprint Communications Company L.P. | Interface and method for extending a target application over an instant message link of a communication network |
KR100523358B1 (ko) * | 2003-08-18 | 2005-10-24 | 한국전자통신연구원 | 장애인용 개방 api 응용 통신 서비스 시스템 및 방법 |
US7216221B2 (en) * | 2003-09-30 | 2007-05-08 | Microsoft Corporation | Method and system for unified audio control on a personal computer |
US7548255B2 (en) * | 2003-09-30 | 2009-06-16 | Microsoft Corporation | Method and system for capturing video on a personal computer |
US7653915B1 (en) | 2003-10-10 | 2010-01-26 | Emc Corporation | N X M platform combination |
US7587421B2 (en) | 2004-01-30 | 2009-09-08 | International Business Machines Corporation | Method, system, and article of manufacture for generating device specific requests |
US7765559B2 (en) * | 2004-02-06 | 2010-07-27 | Nokia Corporation | Apparatus and method for communicating between cellular modem software and application engine software of a communications device |
GB2416869A (en) * | 2004-07-02 | 2006-02-08 | Symbian Software Ltd | Command interactive mapping in a computing device |
US7711868B2 (en) | 2004-11-23 | 2010-05-04 | Microsoft Corporation | Waking a main computer system to pre-fetch data for an auxiliary computing device |
US7581034B2 (en) * | 2004-11-23 | 2009-08-25 | Microsoft Corporation | Sending notifications to auxiliary displays |
US7634780B2 (en) * | 2004-11-23 | 2009-12-15 | Microsoft Corporation | Method and system for exchanging data between computer systems and auxiliary displays |
US7784065B2 (en) * | 2005-02-07 | 2010-08-24 | Microsoft Corporation | Interface for consistent program interaction with auxiliary computing devices |
TWI257213B (en) * | 2005-04-12 | 2006-06-21 | Culture Com Technology Macau Ltd | Medium transmission method and system |
US20060242590A1 (en) * | 2005-04-21 | 2006-10-26 | Microsoft Corporation | Simple content format for auxiliary display devices |
US7970803B2 (en) * | 2005-07-01 | 2011-06-28 | Qnx Software Systems Gmbh & Co. Kg | Optimized startup verification of file system integrity |
US7809777B2 (en) * | 2005-07-01 | 2010-10-05 | Qnx Software Systems Gmbh & Co. Kg | File system having deferred verification of data integrity |
US8959125B2 (en) | 2005-07-01 | 2015-02-17 | 226008 Ontario Inc. | File system having inverted hierarchical structure |
US7873683B2 (en) * | 2005-07-01 | 2011-01-18 | Qnx Software Systems Gmbh & Co. Kg | File system having transaction record coalescing |
US7810100B2 (en) * | 2005-08-12 | 2010-10-05 | Microsoft Corporation | Employing a servicing user-interface shell to service a presented user-interface shell |
US20070245882A1 (en) * | 2006-04-04 | 2007-10-25 | Odenwald Michael J | Interactive computerized digital media management system and method |
US8566503B2 (en) * | 2006-08-25 | 2013-10-22 | Qnx Software Systems Limited | Multimedia filesystem having unified representation of content on diverse multimedia devices |
US7908276B2 (en) | 2006-08-25 | 2011-03-15 | Qnx Software Systems Gmbh & Co. Kg | Filesystem having a filename cache |
US20080147747A1 (en) * | 2006-12-14 | 2008-06-19 | Dan Cardamore | Media system having synchronization with preemptive prioritization of synchronization order |
JP5011502B2 (ja) * | 2007-01-22 | 2012-08-29 | 京セラドキュメントソリューションズ株式会社 | 電子機器、サービス提供方法及びプログラム |
US8555275B1 (en) * | 2007-04-26 | 2013-10-08 | Netapp, Inc. | Method and system for enabling an application in a virtualized environment to communicate with multiple types of virtual servers |
US20090073126A1 (en) * | 2007-07-16 | 2009-03-19 | Srivastava Aditya Narain | Standardized method and systems for providing configurable keypads |
KR101276971B1 (ko) * | 2008-06-16 | 2013-06-19 | 퀄컴 인코포레이티드 | 고정된 키패드들 상에 기능 할당을 표시하기 위한 방법 및 시스템들 |
US20090327344A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Media foundation source reader |
EP2299446B1 (en) * | 2008-07-16 | 2015-11-04 | Panasonic Intellectual Property Management Co., Ltd. | Reproduction device, reproduction method, and program |
WO2010014539A2 (en) | 2008-07-28 | 2010-02-04 | Sony Corporation | Client device and associated methodology of accessing networked services |
US20100064147A1 (en) * | 2008-09-08 | 2010-03-11 | Integral Wave Technologies, Inc. | Profile driven electrical component command interface |
US8972677B1 (en) * | 2009-06-29 | 2015-03-03 | Symantec Corporation | Systems and methods for implementing a storage interface specific to an archiving platform |
GB2471485A (en) * | 2009-06-30 | 2011-01-05 | Nokia Corp | Software modules for interfacing between a single client interface and hardware components of a computing device. |
KR101043238B1 (ko) * | 2009-11-25 | 2011-06-30 | 주식회사 바우압텍 | 고전압용 정전기 방전 보호 소자 |
US9401813B2 (en) * | 2009-12-29 | 2016-07-26 | Iheartmedia Management Services, Inc. | Media stream monitor |
US9137307B2 (en) * | 2010-01-14 | 2015-09-15 | Addonmail | Searching and retrieving files in computer networks |
US9021508B2 (en) * | 2010-01-14 | 2015-04-28 | Addonmail | Generic application programming interface for reading information |
US9918115B2 (en) * | 2011-10-04 | 2018-03-13 | Google Llc | System and method for obtaining video streams |
US20150082300A1 (en) * | 2013-09-13 | 2015-03-19 | Netapp. Inc. | Method and system for enabling an application in a virtualized environment to communicate with multiple types of virtual servers |
US20150127703A1 (en) * | 2013-10-31 | 2015-05-07 | Samsung Electronics Co., Ltd. | Name based media delivery and presentation system |
US10642603B2 (en) | 2018-01-16 | 2020-05-05 | Nutanix, Inc. | Scheduling upgrades in distributed computing systems |
US10838754B2 (en) | 2018-04-27 | 2020-11-17 | Nutanix, Inc. | Virtualized systems having hardware interface services for controlling hardware |
US20210397526A1 (en) * | 2020-06-18 | 2021-12-23 | General Electric Company | Systems and methods of providing an abstraction layer between an application layer and hardware components of a computing device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504873A (en) * | 1989-11-01 | 1996-04-02 | E-Systems, Inc. | Mass data storage and retrieval system |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4124889A (en) | 1975-12-24 | 1978-11-07 | Computer Automation, Inc. | Distributed input/output controller system |
US4800523A (en) | 1985-02-25 | 1989-01-24 | Itt Corporation | Device interface controller having device specific and device common instructions separately stored |
JPS6364133A (ja) | 1986-08-29 | 1988-03-22 | インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション | 情報処理システム |
US5307456A (en) * | 1990-12-04 | 1994-04-26 | Sony Electronics, Inc. | Integrated multi-media production and authoring system |
WO1994001964A1 (en) * | 1992-07-08 | 1994-01-20 | Bell Atlantic Network Services, Inc. | Media server for supplying video and multi-media data over the public telephone switched network |
US5633923A (en) | 1992-11-12 | 1997-05-27 | Rockwell International Corporation | Automatic call distribution system with display data storage compression system and method |
US5604843A (en) | 1992-12-23 | 1997-02-18 | Microsoft Corporation | Method and system for interfacing with a computer output device |
JP3404785B2 (ja) | 1993-02-16 | 2003-05-12 | 富士ゼロックス株式会社 | 情報資源管理装置および情報資源管理方法 |
US5544318A (en) * | 1993-04-16 | 1996-08-06 | Accom, Inc., | Asynchronous media server request processing system for servicing reprioritizing request from a client determines whether or not to delay executing said reprioritizing request |
JPH0764893A (ja) | 1993-08-31 | 1995-03-10 | Canon Inc | ネットワーク・システム |
US5499343A (en) | 1993-12-17 | 1996-03-12 | Taligent, Inc. | Object-oriented networking system with dynamically configurable communication links |
US5642171A (en) * | 1994-06-08 | 1997-06-24 | Dell Usa, L.P. | Method and apparatus for synchronizing audio and video data streams in a multimedia system |
CA2153445C (en) * | 1994-09-08 | 2002-05-21 | Ashok Raj Saxena | Video optimized media streamer user interface |
US5668948A (en) * | 1994-09-08 | 1997-09-16 | International Business Machines Corporation | Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports |
JPH0981486A (ja) * | 1994-11-17 | 1997-03-28 | Texas Instr Inc <Ti> | ソフトウェア・アプリケーション・プログラム間の共通の通信インターフェースを与えるオブジェクト指向型方法及び装置 |
US5752159A (en) * | 1995-01-13 | 1998-05-12 | U S West Technologies, Inc. | Method for automatically collecting and delivering application event data in an interactive network |
US5680619A (en) * | 1995-04-03 | 1997-10-21 | Mfactory, Inc. | Hierarchical encapsulation of instantiated objects in a multimedia authoring system |
US5826085A (en) * | 1995-07-12 | 1998-10-20 | Oracle Corporation | Object oriented computer interface supporting interactive networked applications |
JPH09114759A (ja) | 1995-10-17 | 1997-05-02 | Fujitsu Ltd | コミュニケーション機能制御装置 |
US5805796A (en) * | 1996-03-27 | 1998-09-08 | Dell Usa, Lp | System architecture for implementing modular diagnostics |
US6044408A (en) * | 1996-04-25 | 2000-03-28 | Microsoft Corporation | Multimedia device interface for retrieving and exploiting software and hardware capabilities |
US6078942A (en) * | 1996-04-25 | 2000-06-20 | Microsoft Corporation | Resource management for multimedia devices in a computer |
US6064379A (en) * | 1996-06-24 | 2000-05-16 | Sun Microsystems, Inc. | System and method for synchronizing presentation of media stream playlists with real time |
US5813014A (en) * | 1996-07-10 | 1998-09-22 | Survivors Of The Shoah Visual History Foundation | Method and apparatus for management of multimedia assets |
US5926649A (en) * | 1996-10-23 | 1999-07-20 | Industrial Technology Research Institute | Media server for storage and retrieval of voluminous multimedia data |
US6108695A (en) * | 1997-06-24 | 2000-08-22 | Sun Microsystems, Inc. | Method and apparatus for providing analog output and managing channels on a multiple channel digital media server |
US6023731A (en) * | 1997-07-30 | 2000-02-08 | Sun Microsystems, Inc. | Method and apparatus for communicating program selections on a multiple channel digital media server having analog output |
US6253257B1 (en) | 1997-07-31 | 2001-06-26 | Bea Systems, Inc. | Software Interface for dynamic API mapping |
US6360368B1 (en) * | 1997-08-01 | 2002-03-19 | Sun Microsystems, Inc. | Method and apparatus for reducing overhead associated with content playback on a multiple channel digital media server having analog output |
US6038611A (en) | 1998-01-13 | 2000-03-14 | Inverness Systems Ltd. | Method for implementing a user-to-network (UNI) application programming interface (API) |
-
1997
- 1997-09-30 US US08/941,788 patent/US6516356B1/en not_active Expired - Fee Related
-
1998
- 1998-05-19 TW TW087107740A patent/TW554271B/zh not_active IP Right Cessation
- 1998-08-19 KR KR10-1998-0033616A patent/KR100350141B1/ko not_active IP Right Cessation
- 1998-08-25 JP JP10238981A patent/JPH11175390A/ja active Pending
- 1998-08-26 IE IE19980729A patent/IE980729A1/en not_active IP Right Cessation
- 1998-09-14 GB GB9819833A patent/GB2330671B/en not_active Expired - Lifetime
-
2002
- 2002-11-14 US US10/293,277 patent/US6732365B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504873A (en) * | 1989-11-01 | 1996-04-02 | E-Systems, Inc. | Mass data storage and retrieval system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030031202A (ko) * | 2001-10-12 | 2003-04-21 | 주식회사 엘지이아이 | 컴퓨터를 통한 사용자 인터페이스 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR19990029323A (ko) | 1999-04-26 |
US6516356B1 (en) | 2003-02-04 |
TW554271B (en) | 2003-09-21 |
US20030070001A1 (en) | 2003-04-10 |
GB2330671A (en) | 1999-04-28 |
US6732365B2 (en) | 2004-05-04 |
IE980729A1 (en) | 2000-02-09 |
GB2330671B (en) | 2002-11-06 |
GB9819833D0 (en) | 1998-11-04 |
JPH11175390A (ja) | 1999-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100350141B1 (ko) | 매체관리자,애플리케이션프로그램인터페이스와이를구현하는방법 | |
US7069393B2 (en) | Storage system providing file aware caching and file aware remote copy | |
US7185032B2 (en) | Mechanism for replicating and maintaining files in a space-efficient manner | |
US7634491B2 (en) | Method and system for relocating files that are partially stored in remote storage | |
US6711572B2 (en) | File system for distributing content in a data network and related methods | |
US6684230B1 (en) | System and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium | |
US20020107886A1 (en) | Method and apparatus for automatic document electronic versioning system | |
US6785693B2 (en) | Management of multiple links to a file in a file system | |
US8037478B2 (en) | Object state transfer method, object state transfer device, object state transfer program, and recording medium for the program | |
CN112395264B (zh) | 分布式存储系统中逻辑目标与卷之间映射的处理方法 | |
JPH061447B2 (ja) | デ−タベ−スのバックアップの方法 | |
US6125373A (en) | Identifying a driver that is an owner of an active mount point | |
MXPA04006188A (es) | Procesador de medios de fundacion de medios. | |
JP2005004778A (ja) | ネットワーク化環境においてシャドウコピーを開示する機構 | |
US7117505B2 (en) | Methods, systems, and apparatus to interface with storage objects | |
CN115517009B (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
JP2001067786A (ja) | 記録再生装置 | |
US5561824A (en) | Storage management of data for ensuring communication of minimal length data | |
US20030105780A1 (en) | File system, control method, and program | |
CN116561358A (zh) | 一种基于hbase的3D场景数据文件统一存储与检索方法 | |
JP4265728B2 (ja) | データ・サーバ・システム内のデータの連続更新方法 | |
US20030033440A1 (en) | Method of logging message activity | |
JPH1198448A (ja) | ビデオサーバ装置及びそのアクセス処理方法 | |
US7403986B1 (en) | Method for synchronizing circuit related objects between network management systems and network control processors | |
JPH10240594A (ja) | データファイル監視システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20060725 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |