KR19990036358A - 데이터 처리 시스템 - Google Patents
데이터 처리 시스템 Download PDFInfo
- Publication number
- KR19990036358A KR19990036358A KR1019980701026A KR19980701026A KR19990036358A KR 19990036358 A KR19990036358 A KR 19990036358A KR 1019980701026 A KR1019980701026 A KR 1019980701026A KR 19980701026 A KR19980701026 A KR 19980701026A KR 19990036358 A KR19990036358 A KR 19990036358A
- Authority
- KR
- South Korea
- Prior art keywords
- video
- data
- connection
- network
- storage device
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 48
- 230000006854 communication Effects 0.000 claims abstract description 97
- 238000004891 communication Methods 0.000 claims abstract description 97
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 239000000872 buffer Substances 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 44
- 238000012546 transfer Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 description 18
- 230000033001 locomotion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 비디오 데이터를 취급하고, 통신 네트워크(56) 상에 위치하는 사용자 시스템(54)에 관한 플레이백용 비디오를 포함하는 기억 장치(162), 데이터 처리 시스템(100)에 대한 시스템 접속(150), 통신 네트워크(56)에 대한 네트워크 접속(158)을 구비하는 장치에 관한 것이다. 이 장치는 네트워크 접속(158)을 사용하여 기억 장치(162)로부터 네트워크(56)로 비디오를 전송하는 전송 수단을 더 구비하고, 상기 비디오는 장치로부터 네트워크(56)로 직접 전송된다.
Description
새로운 압축 기술의 진보에 의해, 비디오, 오디오 및 사용자 데이터를 디스크 기억 장치에 저장하는 것이 가능하게 되었다. 또한, 데이터 전송 기술의 향상에 의해 멀티미디어 트래픽(multimedia traffic)에 대하여 충분한 대역폭이 마련되었다. 그 결과, 주문형 비디오(video-on-demand : VOD), 비디오 편집, 대화형 게임, 홈 쇼핑 등의 애플리케이션과 기타의 멀티미디어 애플리케이션이 개발되었다. 주문형 비디오 서비스는 예를 들면, 영화, 스포츠 게임, 문자 정보, 교육용 프로그램 및 예술 프로그램을 구비할 수 있다.
"멀티미디어 애플리케이션"은 하나의 애플리케이션에 대하여 상이한 형태의 통신을 사용하는 애플리케이션이다. 예를 들면, 정보는 음성, 텍스트 및 비디오를 사용하여 동시에 데이터 처리 시스템 상에 표시될 수 있다. 멀티미디어 데이터 처리 시스템은 텍스트, 그래픽 및 오디오가 동시에 표시되게 한다. 이들 종류의 멀티미디어 애플리케이션을 집합적으로 "비디오(video)"라고 하고, 어떤 경우에는 비디오가 텍스쳐 정보에서와 같이 화상 부분만을 구비하거나 또는 예를 들면 음악과 같이 오디오부만을 구비할 수 있지만, 일반적으로 비디오는 비디오 및 오디오부 모두를 구비하는 것으로 이해되어야 한다.
통상 "사용자"라고도 하는 고객은 그들이 선택한 비디오를 그들에게 편리한 시간 및 장소에서 입수할 수 있기를 원한다. 비디오가 상업용 전화, 케이블 및 위성 네트워크 등의 전송 매체에 의해 전달될 수 있으면 유리할 것이다. 비디오는 NTSC 규격 텔레비전 또는 퍼스널 컴퓨터 등의 용이하게 입수가능한 디스플레이 시스템과 양립할 수 있어야 한다.
또한, 현재 입수가능한 비디오 카세트 레코더(VCR)가 제공하는 VCR형 커맨드와 유사한 VOD의 실시간 대화 제어가 특히 요구된다. 이들 종류의 커맨드는 "가상(virtual) VCR 커맨드", 즉 마음대로 비디오의 일부분들을 고속 포워드(fast forward), 일시 정지(pause) 또는 재생(replay)하는 것이다. 또한, 홈 쇼핑 및 비디오 게임 형태의 비디오는 비디오와 고객사이에서 영화 형태의 비디오보다 훨씬 더 높은 레벨의 대화 및 제어를 요구한다. 또한, 비디오 서비스를 제공하기 위해 사용되는 데이터 처리 시스템은 다수의 고객에 대한 서비스의 유효성을 극대화하기 위해 상당한 비용으로 스케일러블(scalable)해야 한다.
그러한 애플리케이션은 고객의 요구를 충족시키기 위해 비디오, 컴퓨팅 및 통신 기술의 집중을 요구한다. 이들 기술의 집중은 비디오의 제어 및 전달을 충족시킬 필요가 있어, 컴퓨팅 및 전화 산업 모두에서 사용되는 표준 아키택쳐를 시대에 뒤떨어지게 한다. 예를 들면, 도 1의 비디오 서버(10)는 비디오를 고객에게 전달하기 위해 사용되는 종래 데이터 처리 시스템 아키택쳐를 도시하고 있다. 비디오 서버(10)는 프로세서(14) 및 메모리(16)에 접속된 시스템 버스(12)를 구비한다. 비디오 서버(10)는 디스크 어레이(18)도 구비한다. 디스크 어레이(18)는 디스크 어레이 컨트롤러(20)에 접속되고, 디스크 어레이 컨트롤러는 호스트 어댑터(host adapter : HA)(22)를 거쳐 시스템 버스(12)에 접속된다. 또한, 비디오 서버(10)는 2개의 접속, 즉 시스템 버스(12)에 대한 접속 및 통신 네트워크(도시하지 않음)에 대한 접속을 각각 갖는 네트워크 어댑터(network adapter : NA)(24)를 포함한다. 디스크 어레이(18)는 비디오를 포함하는 압축된 비디오 데이터를 포함한다. 디스크 어레이(18)에 위치한 비디오는 디스크 어레이(18)에서 시스템 버스(12)로 비디오 데이터가 이동하는 것에 의해 네트워크를 건너 위치한 고객으로 보내진다. 이 위치로부터, 비디오 데이터는 네트워크 어댑터(24)를 거쳐 네트워크로 이동된다. "비디오 데이터 스트림"이라고 하는 다수의 스트림의 비디오 데이터는 비디오 서버(10)로부터 네트워크를 거너 고객으로 보내진다.
통신 네트워크 상에서 비디오를 요구하는 고객의 수가 증가함에 따라, 비디오 데이터가 시스템 버스(12)로 이동하고 나서 통신 네트워크로 이동하는 것에 기인하는 시스템 버스(12) 상의 트래픽양과 같이, 필요한 비디오 기억 장치의 양도 증가된다. 실제로, 통신 네트워크에 대한 컴퓨터 하드웨어 및 소프트웨어의 접속에 있어서 부정합(mismatch)이 일어날 수 있다. 비디오 서버의 시스템 버스(12)는 디스크 어레이(18)에서 통신 네트워크로의 비디오 데이터 전송에 대하여 병목(bottle neck)으로 된다. 전송되는 비디오 데이터량의 증가에 부가하여, 여러 고객으로부터 수신되는 커맨드 때문에 시스템 버스(12)상의 트래픽량도 증가한다. 특히, 새로운 비디오를 요구하는 커맨드 및 비디오를 제어하기 위한 "가상 VCR 커맨드"라고 하는 VCR과 같은 커맨드를 나타내는 커맨드는 비디오 서버(10)에 의해 수신되어 프로세서(14)에 의해 처리된다.
비디오 서버(10)의 성능을 개선하기 위해, 현재의 컴퓨터 기술은 많은 비용이 드는 고성능의 하드웨어의 구현을 요구한다. 통상, 매우 고성능 내부 입력/출력(I/O) 시스템 버스가 상당한 수의 사용자를 위해 비디오 서버(10)에 있어서 비디오 트래픽을 전달하기 위해 요구된다. 또한, 매우 고성능 시스템 버스는 구매자가 극소수이고 고가이다. 소수의 사용자를 위해, 비디오를 포함하는 비디오 스트림당 비용은 알맞지 않다.
발명의 요약
본 발명의 목적은 데이터 처리 시스템을 제공하는 것으로, 특히 공지의 그러한 시스템을 능가하는 이점을 갖는 비디오 데이터 처리 시스템을 제공하는 것이다.
본 발명은 데이터 처리 시스템에 관한 것으로, 특히 비디오 정보(video information)를 전송하는 개선된 데이터 처리 시스템에 관한 것이다. 또한, 본 발명은 다수의 비디오 데이터 스트림을 전송하고 조작하는 개선된 비디오 기억 아키택쳐에 관한 것이다.
본 발명은, 단지 예로서, 첨부된 도면을 참조하여 설명된다.
도 1은 비디오를 고객에게 전달하기 위해 채용된 종래 데이터 처리 시스템 아키택쳐를 도시한 도면.
도 2는 본 발명을 구현하고 비디오를 제공하는 데이터 처리 시스템을 도시한 도면.
도 3은 본 발명의 하나의 실시예에 따른 비디오 서버를 도시한 도면.
도 4는 본 발명의 하나의 실시예에 따른 비디오 기억 장치의 아키택쳐 구성을 도시한 블록도.
도 5는 본 발명의 하나의 실시예에 따른 비디오 기억 장치의 기능적 콤포넌트의 블록도.
도 6은 그러한 비디오 기억 장치에서의 데이터의 보조맞춤을 설명하는 도면.
본 발명의 하나의 특징에 따르면, 디지털 비디오 파일로서 저장된 비디오 데이터를 포함하는 기억 수단, 데이터 처리 시스템에 대한 접속을 제공하도록 배치된 시스템 접속 수단, 통신 네트워크에 대한 접속을 제공하는 네트워크 접속 수단 및 상기 네트워크 접속 수단을 사용하여 상기 기억 수단에서 상기 통신 네트워크로 디지털 비디오 파일을 전송하는 전송 수단을 포함하는 비디오 데이터 처리 장치가 마련된다.
본 발명의 다른 특징에 따르면, 데이터를 저장하고 통신 네트워크상의 사용자 시스템으로 전송하도록 배치된 데이터 기억 장치로서, 버스, 상기 버스에 접속되고 데이터 처리 시스템에 대한 접속을 제공하도록 배치된 시스템 접속 수단, 상기 버스에 접속되고 상기 통신 네트워크에 대한 접속을 제공하도록 배치된 네트워크 접속 수단, 상기 버스에 대한 제1 접속 및 상기 네트워크 접속에 대한 제2 접속을 갖는 버퍼 수단, 상기 버스에 대한 접속을 갖고 데이터를 포함하는 기억 수단 및 상기 기억 수단에서 상기 버퍼 수단으로 데이터를 전송하도록 배치된 제1 프로세서 수단, 상기 버퍼 수단에서 상기 네트워크 접속 수단으로 데이터를 전송하는 제2 프로세서 수단, 및 상기 네트워크 접속에서 통신 네트워크 상의 사용자 시스템으로 데이터를 전송하는 제3 프로세서 수단을 구비하는 프로세서를 포함하는 데이터 기억 장치가 마련된다.
본 발명의 또 다른 특징에 따르면, 비디오 서버 수단, 통신 버스 및 기억 수단을 포함하고, 상기 기억 수단은 데이터 파일을 포함하는 기억 장치, 통신 네트워크에 대한 네트워크 접속, 상기 통신 버스에 대한 접속 및 상기 네트워크 접속을 거쳐 상기 기억 장치에서 상기 통신 네트워크로 데이터 파일을 전송하는 전송 수단을 구비하는 데이터 처리 시스템이 마련된다.
본 발명의 또 다른 특징에 따르면, 통신 네트워크, 상기 통신 네트워크에 접속된 다수의 사용자 시스템, 상기 통신 네트워크에 접속된 비디오 서버 수단 및 상기 비디오 서버에 접속된 비디오 기억 수단을 포함하며, 상기 비디오 기억 수단은 버스, 상기 버스에 접속되고 상기 비디오 서버 수단에 대한 접속을 제공하도록 배치된 제1 네트워크 접속 수단, 상기 버스에 접속되고 상기 통신 네트워크에 대한 접속을 제공하도록 배치된 제2 네트워크 접속 수단, 상기 버스에 대한 제1 접속 및 상기 제2 네트워크 접속 수단에 대한 제2 접속을 갖는 버퍼 수단, 상기 버스에 접속되고 비디오를 나타내는 데이터를 포함하는 기억 장치 및 상기 기억 장치에서 상기 버스로 데이터를 전송하는 제1 프로세서 수단, 상기 버퍼 수단에서 상기 제2 네트워크 접속으로 데이터를 전송하는 제2 프로세서 수단 및 상기 제2 네트워크 접속에서 상기 통신 네트워크 상의 사용자 시스템으로 데이터를 전송하는 제3 프로세서 수단을 구비하는 비디오 기억 장치 프로세서를 구비하는 분산 데이터 처리 시스템이 마련된다.
본 발명의 또 다른 특징에 따르면, 프로세서, 메모리, 및 기억 장치를 구비하는 컴퓨터, 상기 프로세서, 상기 메모리 및 상기 기억 장치에 접속된 시스템 버스 및 데이터가 저장될 수 있는 제2 기억 장치, 통신 네트워크에 직접 접속된 네트워크 접속, 상기 시스템 버스에 대한 접속, 및 상기 네트워크 접속을 거쳐 상기 제2 기억 장치에서 상기 통신 네트워크로 데이터를 전송하는 전송 수단을 구비하는 데이터 기억 장치를 포함하는 데이터 처리 시스템이 마련된다.
따라서, 본 발명은 상술한 문제를 극복하고 사용자에게 비디오를 전달하는 개선된 방법 및 장치를 제공하는 것에 유리하다.
또한, 본 발명은 네트워크로부터 커맨드를 수신하는 수단을 구비할 수 있다. 이들 커맨드는 장치에서 처리될 수 있고, 기억 장치에서 통신 네트워크로 전송되는 방식 및 비디오를 제어하기 위해 사용될 수 있다.
특히, 비디오를 나타내는 데이터는 기억 장치에서 그 기억 장치에 접속된 버스로, 그리고 버스에서 그 버스에 접속된 버퍼로 데이터가 전송됨으로써 기억 장치에서 네트워크 접속으로 전송될 수 있다. 버퍼는 네트워크 접속에 대한 접속을 구비할 수 있고, 데이터는 버퍼에서 네트워크 접속으로 직접 전송된다.
이하, 첨부 도면을 참조하여 예를 들어 본 발명을 설명한다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따라 비디오를 제공하는 분산 데이터 처리 시스템(50)이 도시되어 있다. 분산 데이터 처리 시스템(50)은 하나 이상의 데이터 처리 시스템(52), 지리적으로 넓은 영역에 걸쳐 분포하는 사용자 시스템(54) 및 통신 네트워크(56)를 구비한다. 일반적으로, 비디오는 데이터 처리 시스템(52)에서 사용자 시스템(54)으로 통신 네트워크(56)를 거쳐 전송된다. 또한, 비디오는 데이터 처리 시스템(52) 사이에서 전송될 수도 있다.
데이터 처리 시스템(52)과 사용자 시스템(54) 사이에서의 통신을 위해 통신 네트워크(56)에 채용되는 물리적 매체는 예를 들면, 꼬임 쌍선, 동축 케이블, 섬유 광학 케이블, 마이크로웨이브 링크 또는 위성 링크일 수 있다. 통신에 사용되는 연속적인 물리적 경로는 "회로"라고 한다. 회로는 제어 신호를 통신하는 비교적 적은 대역폭 "쌍방향" 채널 및 비디오 데이터를 통신하는 비교적 큰 대역폭 "다운스트림" 채널을 구비한다. 이 회로는 또 다른 채널을 구비할 수 있고, 예를 들면 전화 서비스 등의 양방향 통신에 할당되는 중간 대역폭 채널을 채용할 수 있다.
도시된 예에서, 분산 데이터 처리 시스템(50)은 동기식 광섬유망(Synchronized Optical Network : SONET), 비동기 전송 방식(Asynchronous Transfer Mode : ATM), 지능망(Intelligent Networks : IN)을 구비하는 광대역 통신 시스템이다. 분산 데이터 처리 시스템(50)을 통하여 이용가능한 서비스는 홈 쇼핑, 비디오 게임 및 VOD를 구비할 수 있다. 이것에 부가하여, 분산 데이터 처리 시스템(50)에서는 광대역 통신에 의해 다수의 다른 멀티미디어 애플리케이션이 제공될 수 있다.
오디오 및 비디오를 지원하기 위해, 분산 데이터 처리 시스템(50)내의 비디오 서버는 방대한 양의 데이터를 지원해야 한다. 예를 들면, 10분간의 압축되지 않은 완전한 움직임 비디오는 통상 10 또는 11 기가바이트의 메모리를 소비한다. 사진술 전문가 그룹(Joint Photographic Experts Group : JPEG) 및 동화상 표준화 그룹(Motion Picture Experts Group : MPEG) 등의 현재 이용가능한 압축 기술은 데이터를 압축하기 위해 사용된다. 데이터 전송 규격과 함께 광대역 통신 네트워크 및 아키택쳐를 수반하는 통신 네트워크에 관한 더 많은 정보는 Kumar, Broadband Commications : A Professional`s Guide To ATM, Frame Relay, SMDS, SONET, and BISDN, McGraw-Hill, Inc.(1995)에서 찾을 수 있다.
사용자 시스템(54)은 도시된 예에서 모니터 또는 텔레비전 등의 뷰잉 장치 및 네트워크 에 접속된 인터페이스/컨트롤러 박스를 포함한다. 또한, 사용자 시스템(54)의 구성은 워크 스테이션일 수 있다.
도 3을 참조하면, 본 발명에 따른 데이터 처리 시스템이 도시되어 있다. 데이터 처리 시스템(52)은 다수의 콤포넌트를 상호접속하는 시스템 버스(102)를 포함하는 비디오 서버(100)를 구비한다. 특히, 비디오 서버(100)내의 시스템 버스(102)를 통하여 프로세서(104), 메모리(106) 및 기억 장치(108)가 서로 통신한다. 프로그램 지원 시스템 및 네트워크 관리는 프로세서(104)에 의해 실행된다. 프로세서(104)에 대해서는 임의의 적절한 프로세서를 사용할 수 있지만, 인텔 코포레이션이 판매중인 Pentium 마이크로프로세서 및 인터네셔널 비즈니스 머신스 포코레이션 및 모토롤라사에서 입수가능한 PowerPC 620이 적절한 프로세서의 예이다. "Pentium"은 인텔 코포레이션의 등록상표이고, "PowerPC"는 인터네셔널 비즈니스 머신 코포레이션의 등록상표이다. 또한, 비즈니스 서포트 데이터베이스는 기억 장치(108)에서 찾을 수 있다. 이들 데이터베이스는 입력 비디오 요구를 트랙하고 비디오 피크 요구 시간, 비디오 요구 빈도 및 비디오를 요구하는 사용자의 식별 등의 통계학적 데이터를 트랙하기 위해 채용된다. 비디오 서버(100)는 이서넷(ethernet) 등의 통신 버스(110)에 접속된다.
구체적으로, 비디오 서버(100)는 미국 뉴욕 아몬크 소재 인터네셔널 비즈니스 머신스 코포레이션 의 제품인 IBM PS/2 또는 IBM RISC SYSTEM/6000 컴퓨터 등의 임의의 적당한 컴퓨터를 사용하여 구현될 수 있다. "RISC SYSTEM/6000"은 인터네셔널 비즈니스 머신스 코포레이션의 등록상표이다. 또한, 비디오 기억 장치(112)는 통신 버스(110)에 접속된다.
본 발명의 이 실시예에 따르면, 비디오 기억 장치(112)는 대량의 데이터를 기억 장치에서 통신 네트워크 상으로 전송하는 것과 관련된 I/O 및 비디오/멀티미디어 기억의 문제에 대한 솔루션을 제공한다. 또한, 비디오 기억 장치(112)는 통신 네트워크(56)에 접속된 사용자에게 대화식 제어를 제공하면서 비디오의 연속 동시 전달과 함께 비디오에 대한 액세스 시간을 개선한다. 비디오 기억 장치(112)는 비디오 기억 장치(112)에서 통신 네트워크(56)로 데이터를 직접 전달함으로써 분산 데이터 처리 시스템(50)내 사용자 시스템(54)에 있는 고객에게 비디오를 제공하는 것에 의해, 비디오 서버(100)에 있어서 시스템 버스(102)상의 데이터 전송과 관련된 병목 현상 및 속도 지연을 회피한다.
비디오 기억 장치(112)는 내용 용량/네트워크 대역폭에 맞도록 구성되고, 작은 서버 애플리케이션부터 매우 큰 서버 애플리케이션까지의 필요한 대역폭 용량을 제공한다. 또한, 비디오 기억 장치(112)는 각각 다수의 비디오 데이터 스트림을 동시에 전달할 수 있고, 즉시(just-in-time) 비디오의 하나의 저장된 카피로 부터의 다수의 비디오 데이터 스트림을 통신 네트워크(56)에 접속된 사용자에게 전달할 수 있다. 비디오 기억 장치(112)는 높은 레벨의 인터페이스 커맨드 구조, 비디오 스트림 제어, 비디오 파일 관리 제어 기능 및 광대역 또는 LAN 네트워크 접속의 조합을 포함한다. 또한, 통신 버스(110)상의 비디오 기억 장치(112)의 분산 접속은 또 하나의 비디오 기억 장치가 데이터 처리 시스템(52)의 요구에 따라 데이터 처리 시스템(52)의 성능 용량을 스케일(scale)하기 위해 추가되는 것을 허용한다.
도 4를 참조하면, 비디오 기억 장치의 아키택쳐 구성의 블록도가 도시되어 있다. 도 4에서 알 수 있는 바와 같이, 비디오 기억 장치(112)는 네트워크 접속(150), 프로세서(152), 패리티 보호 기억 장치(154), 비디오 데이터 버퍼(156) 및 네트워크 접속(158)을 포함한다. 이들 모든 콤포넌트는 버스(160)에 의해 서로 접속된다. 모두 "네트워크 어댑터"라고 하는 네트워크 접속(150) 및 (158)은 비디오 기억 장치(112)를 통신 버스(110) 및 통신 네트워크(56)에 접속하는 접속 메카니즘이다. 디스크 드라이브(162)는 패리티 보호 기억 장치(154)가 마련되도록 배치된다.
버스(160)는 네트워크 접속(150) 및(158)을 통하여 비디오 기억 장치(112)에 접속된 네트워크 및 디스크 드라이브(162)의 기능에 정합하는 대역폭을 제공하는 모든 종류의 버스를 사용하여 구현될 수 있다. 도시된 예에서, 버스(160)는 주변 요소 상호 접속(Peripheral Component Interconnect : PCI) 버스이다. 네트워크 접속(150)은 도 3에서 통신 버스(110)에 대한 접속을 제공한다.
다음에, 네트워크 접속(150)은 통신 버스(110)로부터 고레벨 커맨드를 수신하기 위한 인터페이스를 제공한다. 도시된 예에서는 네트워크 접속(150)이 통신 버스(110)에 접속된 것으로 도시되어 있지만, 네트워크 접속(150) 또는 기타 다른 종류의 커넥터가 다른 접속 메카니즘을 사용하여 비디오 서버(100) 등의 데이터 처리 시스템에 접속될 수도 있다. 예를 들면, 본 발명에 따르면 PCI 버스,RS 232 인터페이스 또는 SCSI 시스템이 사용될 수 있다. 비디오 서버(100)에 네트워크 접속(150) 또는 기타 다른 종류의 커넥터를 접속하기 위해 채용된 접속 메카니즘에 대한 요구는 접속 메카니즘이 비디오 서버(100)와 비디오 기억 장치(112) 사이의 커맨드 전송을 지원해야 한다는 것이다. 네트워크 접속(150)에 의해 수신된 커맨드는 프로세서(152)에 의해 처리된다.
프로세서(152)는 비디오 기억 장치(112)에 정보(intelligence)를 제공한다. 예를 들면, 프로세서(152)는 데이터 스트림 관리, 비디오 파일 관리, 비디오 드라이버, RAID/데이터 스트리핑 알고리즘 및 네트워크 접속(158)에서 통신 네트워크에 부착하기 위한 네트워크 접속 소프트웨어를 실행한다. 통신 네트워크는 통상 ATM SONET 등의 광대역 네트워크이다. 프로세서(152)는 다양한 현재 이용가능한 저가 프로세서를 사용하여 구현될 수 있다. 특히, 인텔 코포레이션으로 부터의 펜티엄 프로세서를 비디오 기억 장치(112)에 정보를 제공하기 위해 채용할 수 있다.
패리티 보호 기억 장치(154)는 디스크 고장시 데이터 유효성을 위해 리던던트 디스크 동작을 제공하기 위해 필요한 회로를 포함한다. 또한, 패리티 보호 기억 장치(154)는 증가된 대역폭을 위해 다수의 디스크 드라이브에 걸쳐 데이터 스트리핑을 제공하고, 통신 네트워크로 비디오 데이터가 이동하는 것에 대비하여 디스크 드라이브(162)에서 버스(160)로의 데이터 이동을 제어한다. 패리티 보호 기억 장치(154)는 디스크 고장시 드라이브 정정을 제공하는 현재 이용가능한 시스템을 사용하여 구현될 수 있다.
비디오 버퍼(156)는 패리티 보호 기억 장치(154)에 의해 버스(160) 상에서 디스크 드라이브(162)로부터 데이터를 수신하기 위해 사용된다. 비디오 데이터는 사용자 시스템(54)으로의 즉시 모드 전달에 있어서 통신 네트워크(56)로의 전송을 위해 네트워크 접속(158)으로 직접 전송된다. 비디오 데이터 버퍼(156)도 디스크 드라이브(162)로 보내질 데이터를 수신한다. 비디오 데이터 버퍼(156)는 당업자에게 현재 알려져 있는 다수의 방식으로 구현될 수 있다. 도시된 예에서, 비디오 데이터 버퍼(156)에 사용되는 하드웨어는 초당 3 메가바이트 전송 속도의 데이터 스트림 및 100개까지의 이들 데이터 스트림을 취급할 수 있도록 선택된다. 비디오 데이터 버퍼(156)는 당업자에게 알려진 다수의 상이한 방식으로 구성될 수 있다. 예를 들면, 회전 버퍼 또는 FIFO 방식이 채용될 수 있다. 네트워크 접속(158)은 통신 네트워크(56), 바람직하게는 ATM을 채용하는 광대역 네트워크에 접속된다. 본 발명에 따르면, 네트워크 접속(158)은 통신 네트워크(56)를 리드하는 다수의 채널에 접속될 수 있다.
네트워크 접속(158)은 비디오 데이터 버퍼(156)에서 통신 네트워크(56)로의 비디오 데이터의 흐름을 제어한다. 또한, 네트워크 접속(158)은 네트워크 호환 포맷으로 데이터를 포맷팅한다. 도시된 예에서, 이 포맷은 ATM 셀 포맷이다. 또한, 네트워크 접속(158)은 비디오 및 오디오 데이터의 동시 데이터 전달을 허용한다.
또한, 네트워크 접속(158)은 통신 네트워크(56)에 부착된 사용자 시스템(54)으로부터 고레벨 커맨드를 수신할 수 있다. 따라서, 개별적 물리적 접속이 네트워크 접속(150) 및 (158)에 의해 도시되어 있지만, 이들 2개의 접속은 하나의 논리적 접속으로서 간주될 수 있고 동일한 기능을 실행할 수 있다. 즉, 네트워크 접속(150) 및 (158)은 제어 및 비디오 데이터 전달을 제공할 수 있다. ATM 네트워크에 관한 더 많은 정보는 Goralski, Introduction to ATM Networking, McGraw-Hill, Inc.(1995)에서 찾을 수 있다.
도 5를 참조하면, 비디오 기억 장치내 기능 콤포넌트의 블록도가 도시되어 있다. 소프트웨어 콤포넌트는 본 발명에 따라 도 4의 프로세서(152)에 있어서 구현될 수 있다. 예를 들면, 영화 등의 비디오를 위한 비디오 데이터는 MPEG 파일로서 비디오 기억 장치(112)에 저장된다. 전체 길이 영화인 비디오를 위한 MPEG 파일은 비디오 기억 장치(112)에 있어서 디스크 드라이브에 대하여 다수의 기가바이트 기억 장치를 요구한다. 비디오 재생을 위한 커맨드, 가상 VCR 커맨드 및 비디오 기억 장치 관리 기능은 통신 네트워크에 대한 비디오 기억 장치(112)의 접속 또는 비디오 기억 장치(112)를 비디오 서버(100)에 접속하는 통신 버스(110)에 대한 비디오 기억 장치(112)의 접속을 거쳐 비디오 기억 장치(112)로 송출된다.
비디오 커맨드 핸들러(video command handler)(200)는 이들 커맨드를 수신하여 해석한다. 수신된 커맨드에 따라, 비디오 커맨드 핸들러(200)는 커맨드 자체를 실행하거나 또는 그것을 다른 타스크 콤포넌트로 디스패치(dispatch)한다. 비디오 커맨드 핸들러(200)는 메시지 큐(190) 및 (192)를 거쳐 직접 호출에 의해 커맨드를 디스패치한다. 비디오 커맨드 핸들러(200)가 디스패치된 커맨드에 응답하여 결과를 수신할 때, 그 결과는 응답 메시지 형태로 포맷팅되어 커맨드가 향하는 시스템으로 송출된다.
비디오 스트림 매니저(202)는 비디오 파일 시스템(204)에 대하어 판독 요구를 발행할 책임이 있다. 이들 요구는 비디오 커맨드 핸들러(200)에서 비디오 스트림 매니저(202)로 전달되는 비디오 스트림을 시작, 정지, 중지 및 재개하는 가상 VCR 커맨드에 응답하여 이루어진다. 비디오 스트림 매니저(202)는 액티브 비디오 스트림마다 연속하는 데이터 흐름을 유지하기 위해 비디오 파일 시스템(204)에 판독 요구를 발행한다. 이들 콤포넌트는 모든 액티브 비디오 스트림에 대한 파일 판독 요구의 보조맞춤(pacing)을 관리한다. 비디오 스트림의 보조맞춤은 다음에 상세히 설명한다.
비디오 스트림 매니저(202)는 다수의 비디오 스트림, 예를 들면 100개의 비디오 스트림의 보조맞춤을 실행할 수 있다. 또한, 2개 이상의 사용자 시스템이 동일한 비디오를 요구할 수 있다. 그 결과, 다수의 비디오 스트림이 동일한 비디오 파일로부터 데이터를 판독할 수 있다. 예를 들면, 다른 사용자 시스템이 동일한 비디오의 초기에 데이터를 수신하는 동안, 다른 시스템 사용자가 비디오의 끝에서 데이터를 수신할 수 이다.
따라서, 비디오 스트림 매니저(202)는 동일한 비디오로 부터의 다수의 스트림의 보조맞춤을 실행할 수 있으므로, 동일한 파일로부터 상이한 부분을 요구할 수 있다.
ATM 프로토콜 스택(206)은 비디오 기억 장치(112)와 사용자 단말(54) 사이의 ATM 네트워크 접속의 확립 및 해체를 관리한다.
비디오 파일 시스템(204)은 디지털화된 비디오 파일을 위한 파일 시스템을 구현한다. 비디오 파일 시스템(204)은 비디오 파일로 부터의 데이터 판독 또는 기록 요구를 (가상) 디스크상의 특정 데이터 블록의 판독 또는 기록 요구에 맵핑한다.
비디오 파일 시스템(204)은 비디오 기억 장치에 각 비디오에 관한 정보를 저장하고 비디오의 위치 및 현재 상태에 관한 정보를 유지하는 데 책임이 있다. 또한, 비디오 파일 시스템(204)은 각 액티브 비디오가 현재 플레이하고 있는 곳을 트랙한다.
비디오 드라이버(208)는 가상 디스크 드라이버(210a) 및 목적지 드라이버(210b)를 구비하는 RAID 엔진(210)과 비디오 파일 시스템(204) 사이의 인터페이스를 제공한다. 이러한 콤포넌트 계층, 즉 비디오 드라이버(208) 및 RAID 엔진(210)은 다른 비디오 드라이버 또는 RAID 엔진과 이들 콤포넌트의 재배치를 허용한다. 비디오 드라이버(208)는 RAID 엔진(210)으로부터 실제 디스크 I/O를 요구하는 비디오 커맨드 실행 및 ATM 드라이버(212)로 (판독 요구에 대하여) 판독된 데이터를 전달하는 데 책임이 있다. 비디오 커맨드 실행은 컨트롤러, 논리 유닛, 및 커맨드 접촉 정보를 유지하고 그에 따라 RAID 엔진(210)으로 커맨드를 전달하는 것을 수반한다. 또한, 이 종류의 커맨드 실행은 비디오 애플리케이션에 버퍼 풀 상태를 통지하고, RAID 엔진(210)이 다시 커맨드를 수용할 수 있을 때까지 커맨드를 유지하는 것을 수반한다.
다음에, ATM 드라이버(212)는 커맨드를 실행하고 데이터를 ATM 셀 포맷으로 패킷화(packetize)하는 ATM 하드웨어(즉, 도 4에서 네트워크 접속(158))을 제어한다. ATM 드라이버(212)는 완료된 RAID 엔진 요구를 취하고, 디스크 드라이브(214)에 관하여 요구된 데이터가 비디오 버퍼(216)로 전송되었고 ATM 하드웨어(218)에 의해 통신 네트워크로의 전송에 대비하는 것을 나타낸다. 디스크 드라이브(214)는 도 3의 디스크 드라이브(162)에 대응하고, 버퍼(216)는 도 3의 비디오 데이터 버퍼(156)에 대응한다. ATM 하드웨어(218)는 비디오 기억 장치(112)를 통신 네트워크(56)에 접속하기 위해 네트워크 접속(158)에 대하여 구현될 수 있는 어댑터이다.
도 5를 참조하여, 플레이 커맨드를 처리함에 있어서 수반되는 데이터 흐름을 이하 설명한다. 다른 가상 VCR 커맨드는 도 5에서 마찬가지 데이터 흐름을 따르지만, ATM 하드웨어(218)에서 통신 네트워크(56)로 데이터가 전송되는 속도는 변경된다. 예를 들면, 중지 커맨드는 비디오를 플레이하는 것을 정지하고, 스캔 포워드 커맨드는 비디오 부분을 건너뛰는 것에 의해 비디오 데이터를 앞으로 보낸다.
사용자 시스템으로부터 비디오를 플레이하는 커맨드에 응답하여, 비디오 커맨드 핸들러(200)는 비디오의 파일을 열도록 비디오 파일 시스템(204)을 호출한다. 이 호출에 응답하여, 비디오 파일 시스템(204)은 파일을 열고, 파일 디스크립터를 파일 커맨드 핸들러(200)로 복귀시킨다. 그후, 비디오 커맨드 핸들러(200)는 파일 디스크립터를 사용하여 그의 접속/파일 취급 관련 테이블을 갱신한다. 비디오 커맨드 핸들러(200)도 큐(190)를 통하여 비디오를 요구하는 사용자 시스템에 대한 접속을 확립하기 위해 ATM 프로토콜 스택(206)에 요구를 송출한다. 그러한 호출은 테스트의 결과를 얻기 위해 비동기 호출을 요구할 수 있다. 비디오 커맨드 핸들러(200)는 플레이 요구를 큐(192)에 배치함으로써 플레이 요구를 비디오 스트림 매니저(202)로 송출한다. 비디오 스트림 매니저(202)는 요구 큐에서 플레이 요구를 꺼내고 플레이 요구를 처리하기 위해 내부 데이터 구조를 확립한다. 그후, 비디오 스트림 매니저(202)는 비디오 오브젝트 매니저(204)에게 판독 요구를 발행한다. 본 발명에 따르면, 비디오 스트림 매니저(202)는 실제로 2개의 판독 요구를 발행한다. 판독 요구는 데이터 흐름을 효과적으로 유지하기 위해 비디오 파일 시스템(204)에 이중 버퍼된다.
비디오 스트림 매니저(202)로 부터의 판독 요구에 응답하여, 비디오 파일 시스템(204)은 비디오 동작 구조를 할당하고, 비디오 스트림 매니저(202)로 부터의 현재 플레이 요구에 대하여 그것을 초기화한다. 비디오 드라이버(208)는 입력으로서 할당된 비디오 동작 데이터 구조를 사용하여 비디오 파일 시스템(204)에 의해 직접 호출된다.
비디오 데이터 판독 요구를 수신하는 것에 응답하여, 비디오 드라이버(208)는 RAID 엔진(210)에서 가상 디스크 드라이버(210a)를 I/O 호출한다. 가상 디스크 드라이버(210a)는 비디오 드라이버(208)로부터 수신된 I/O 호출을 처리한다. 데이터는 가상 디스크 드라이버(210a)에 의해 처리된 I/O 호출에 응답하여 디스크 드라이브(214)로부터 버퍼(216)로 전송된다. 요구된 비디오 데이터가 버퍼(216)에 배치된 후, RAID 엔진(210)은 비디오 드라이버(208)로 버퍼(216)내 비디오 데이터의 위치를 식별하는 정보를 복귀시킨다. 그에 응답하여, 비디오 드라이버(208)는 RAID 엔진(210)내 가상 디스크 드라이버(210a)로부터 데이터 버퍼 리스트를 취하고, 파라미터 리스트를 ATM 드라이버(212)에 의해 이용가능한 포맷으로 변환한다. 비디오 드라이버(208)는 ATM 드라이버(212)를 호출하고 비디오 데이터 및 전송될 버퍼를 식별하는 변환된 파라미터 리스트를 전달함으로써 ATM 네트워크로의 데이터 전송을 초기화한다.
비디오 드라이버(208)에 의해 호출되는 것에 응답하여, ATM 드라이버(212)는 비디오 데이터를 포맷팅하고 ATM 하드웨어(218)에서 통신 네트워크로 송출한다. 비디오 데이터가 ATM 네트워크로 전송된 후, ATM 드라이버(212)는 ATM 드라이버(212)가 통신 네트워크로의 비디오 데이터 전송을 종료한 것을 나타내기 위해 비디오 드라이버(208)를 호출한다. 그 때, 비디오 드라이버(208)는 ATM 하드웨어에 의해 비디오 데이터의 전송에 사용되는 데이터 구조를 정돈(clean up)한다. 비디오 드라이버(208)는 데이터 전송이 완료되었다는 지시를 가상의 디스크 드라이버(210a)에 제공한다. 그에 응답하여, 가상의 디스크 드라이버(210a)는 I/O 요구를 처리하기 위해 채용된 캐쉬 메모리 블록을 자유롭게 하는 것에 의해 I/O 요구를 정돈한다. 비디오 드라이버(208)는 비디오 스트림 매니저(202)의 큐(192)에 I/O 실행 이벤트를 송출한다.
큐(192)에 I/O 실행 통지를 수신하는 것에 응답하여, 비디오가 플레이를 종료하였는 가의 여부에 대하여 판정이 이루어진다. 비디오가 종료되지 않았으면, 비디오 스트림 메니저(202)는 비디오 파일 시스템(204)에 다른 판독 요구를 발행한다. 비디오가 플레이를 종료하였으면, 비디오 스트림 메니저(202)는 I/O 실행 이벤트를 비디오 커맨드 핸들러(200)의 요구 큐에 배치한다. 그 결과, 비디오 커맨드 핸들러(200)는 비디오가 종료한 것을 요구 사용자 시스템에게 통지한다.
비디오의 끝에서, 파일 종료 에러가 비디오 스트림 매니저(202)로 다시 송출되고, 그 결과, 비디오 스트림 매니저는 커맨드 종료 플래그를 설정하고, 배치를 위해 비디오 커맨드 핸들러(200)로 동작을 복귀시킨다.
본 발명의 비디오 기억 장치는 비디오 기억 장치에 포함된 디스크 드라이브에 데이터(즉, 새로운 영화)를 기록하기 위해 채용될 수도 있다. 비디오 데이터를 기록하기 위해, 입력 데이터는 통상 이서넷에 부착된 제어 네트워크 커넥터에 있어서 비디오 기억 장치로 입력한다. 비디오 커맨드 핸들러(200)는 처리될 기록 커맨드를 수신하고, 그 결과, 비디오 동작 데이터 구조가 작성되고, 다른 커맨드 핸들러 데이터 구조는 기록 요구가 처리되도록 갱신된다. 비디오 커맨드 핸들러(200)는 비디오의 파일을 열기 위해 비디오 파일 시스템(204)을 호출한다. 비디오 파일 시스템(204)은 요구된 파일을 연다.
그후, 비디오 커맨드 핸들러(200)는 비디오 파일 시스템(204)에 기록 요구를 발행한다. 비디오 파일 시스템(204)은 비디오 데이터를 기록할 책임이 있다. 기록 요구를 수신함에 따라, 비디오 파일 시스템(204)은 비디오 동작 데이터 구조를 할당하고, 그것을 현재 기록 요구에 대하여 초기화한다. 그후, 비디오 드라이버(208)는 입력으로서 할당된 비디오 동작 구조를 사용하여 직접 호출된다. 비디오 파일 시스템(204)은 비디오 기억 장치에 각 비디오에 관한 정보를 저장하고 비디오의 위치 및 현재 상태에 관한 정보를 유지할 책임이 있다.
그후, 비디오 드라이버(208)는 RAID 엔진(210)내의 가상 디스크 드라이버(210a)에 대하여 I/O 호출을 실행한다. 가상 디스크 드라이버(210a)는 I/O 요구가 실행되도록 데이터 구조를 충전할 책임이 있다. 가상 디스크 드라이버(210a)는 기록 요구를 처리하고, 비디오 데이터를 수신하기 위해 비디오 버퍼(216)내 버퍼를 설정한다. 데이터 버퍼가 준비될 때, 가상 디스크 드라이버(210a)는 비디오 버퍼(216)에서 디스크 드라이브(214)로의 데이터 전송을 개시한다. 이 처리는 데이터 전송이 종료할 때까지 계속된다. 당업자에게 알려진 이서넷 인터페이스가 채용된다. 통상, 이서넷 인터페이스는 이서넷으로부터 비디오 데이터를 얻고, 모든 필요한 데이터 변환 또는 포맷팅을 실행하며, 그것을 버퍼열에 배치한다.
데이터 전송이 종료한 후, 종료의 지시가 비디오 드라이버(208)로 송출된다. 이 지시는 가상 디스크 드라이버(210a)에 전송이 발생하였던 것을 알리는 비디오 파일 시스템(204)으로 중계된다.
그후, 비디오 드라이버(208)는 기록 요구에 사용된 데이터 구조를 정돈하고, I/O에 사용되는 캐쉬 블록을 자유롭게하기 위해 가상 디스크 드라이버(210a)를 호출한다.
그후, 비디오 커맨드 핸들러(200)는 기록을 요구하는 호스트 애플리케이션에 대한 실행 통지를 포맷팅하고 이서넷을 거쳐 통지를 송출한다.
도 6을 참조하면, 비디오 기억 장치에서의 데이터 보조맞춤을 설명하는 도면이 도시되어 있다. 비디오 기억 장치에서 비디오 데이터 스트림마다 적절한 속도로 데이터의 연속 전송을 유지하는 것은 사용자 시스템에서 인터럽트되지 않은 비디오 디스플레이에 대하여 중요하다. 본 발명에 따라 도 4에 도시된 비디오 기억 장치에서는 3개의 상이한 레벨에 있어서 데이터 보조맞춤이 사용된다. 3개의 레벨의 보조맞춤은 ATM 어댑터에서 네트워크로 데이터를 이동시키는 레벨1 보조맞춤, 비디오 데이터 버퍼에서 ATM 어댑터로 데이터를 이동시키는 레벨2 보조맞춤 및 디스크 드라이브에서 비디오 데이터 버퍼로 데이터를 이동시키는 레벨3 보조맞춤을 구비한다. 레벨1 보조맞춤은 비디오 스트림마다 요구된 속도로 ATM 어댑터에서 ATM 네트워크로 ATM 셀을 전송하는 것을 수반한다. 통상, 이 기능은 ATM 어댑터에 의해 실행된다. 레벨1 보조맞춤은 ATM 어댑터가 액티브 비디오 스트림마다 그의 메모리에 버퍼된 다수의 셀을 갖는 한, 각 비디오 스트림에 대하여 연속성을 유지하기 위해 채용된다. 그러나, ATM 어댑터가 셀을 비디오 스트림에 대하여 전송하도록 예정되지만, 그 비디오 스트림에 대한 셀이 ATM 어댑터에 존재하지 않으면, 사용자 시스템에서 재생 불연속이 발생할 수 있다.
레벨2 보조맞춤에 있어서, ATM 네트워크 드라이버 및/또는 ATM DMA 하드웨어는 ATM 어댑터가 항상 제로가 아닌 수의 셀을 각 액티브 비디오 스트림에 대하여 버퍼시키는 것을 보장하는 기능을 한다.
레벨3 보조맞춤에 있어서, 비디오 스트림 매지저, 비디오 파일 시스템 및 비디오 드라이버는 충분한 양의 데이터가 디스크에서 비디오 기억 장치내 버퍼로 이동되는 것을 보장하는 것에 책임이 있다. 대부분의 레벨3 보조맞춤은 비디오 스트림 매니저에 의해 취해진다. 새로운 비디오 스트림의 재생이 시작될 때(또는 중지된 상태였던 비디오 스트림이 재개될 때), 비디오 스트림 매니저에 의해 2개의 연속적인(back-to-back) 판독 요구가 발행되는 이중 버퍼링 어프로치가 채용된다. 하나의 요구로 부터의 데이터가 ATM 어댑터로 전송되었을 때, ATM 드라이버가 비디오 드라이버에게 통지하고, 그 결과, 비디오 드라이버는 판독 종료 통지 메시지를 비디오 스트림 매니저의 메지시 큐에 배치한다. 그에 따라, 비디오 스트림 매니저는 비디오 스트림이 아직 액티브 상태(중지되지 않고 파일의 끝이 아님)인가를 확인하기 위해 체크하고, 그렇다면, 비디오 파일 시스템에 새로운 판독 요구를 발행한다.
그 비디오 스트림에 대하여 ATM 어댑터로의 DMA 전송이 예정될 때 ATM 드라이버가 그 비디오 스트림에 대하여 버퍼된 데이터를 갖고 있지 않으면, 언더플로우 에러가 발생하다. 데이터 스트림에 대한 데이터 전송이 2개의 연속적인 파일 판독 요구부터 시작하므로, 첫 번째 판독 종료 통지 메시지가 비디오 스트림 매니저의 메시지 큐에 포스트될 때 데이터는 ATM 드라이버에 여전히 버퍼되어 있다.
상술한 바와 같이, 비디오 기억 장치는 가상 VCR 커맨드, 내용 관리 커맨드, 및 네트워크 접속 관리 커맨드에 대하여 인터페이스를 제공한다. 가상 VCR 커맨드는 비디오 데이터의 스트리밍을 제어하기 위해 채용된다. 예를 들면, 플레이 커맨드는 고속 포워드 커맨드가 비디오의 프레임을 스킵함으로써 데이터의 스트리밍을 발생하는 동안 일부 선택된 속도의 스트림 데이터이다. 내용 관리 커맨드는 새로운 비디오를 작성하고 비디오 기억 장치에 의해 제어되는 기존 비디오에게 질문하기 위해 채용된다. 네트워크 접속 관리 커맨드는 비디오 기억 장치와 사용자 시스템 사이의 접속 셋업 및 해체를 제공한다. 내용 관리 커맨드 및 접속 관리 커맨드는 통상 비디오 기억 장치가 접속된 비디오 서버에 의해 발행되고, 가상 VCR 커맨드는 통상 사용자 시스템으로부터 기원한다. 이하, 본 발명의 기능을 설명하는 인터페이스 커맨드의 예를 설명한다. 설명되지 않는 다른 커맨드도 본 발명에 따라 비디오 기억 장치에 채용될 수 있다.
가상 VCR 커맨드는 비디오 스트림의 속도를 제어하고 비디오의 재생을 제어하기 위해 사용된다. 다음은 VCR 커맨드 리스트의 예이다.
Stream_Open
스트림 리소스를 예약하고 플레이용 비디오를 미리 알려줌(prime). 이 커맨드는 다른 가상 VCR 동작을 위해 사용될 수 있는 스트림 취급을 복귀시킴.
Stream_Play
지정된 개시위치로부터 지정된 종료위치까지 정상속도로 비디오를 플레이함.
Stream_Pause
비디오 플레이를 정지하고 비디오 스트림의 현재 위치로서 그 위치를 유지함. 비디오 프레임의 실제 표시, 즉 정지 프레임, 블랭크 또는 교대 디스플레이는 이행 특성임.
Stream_ScanForward
정상 속도 이상 또는 이하의 포워드 속도로 비디오 데이터를 송출함. 저속 포워드 및 고속 포워드 기능을 제공함.
Stream_ScanReverse
정상 속도 이상 또는 이하의 리버스 속도로 비디오 데이터를 송출함. 저속 리버스 및 고속 리버스 기능을 제공한다.
Stream_Jump
비디오내 지정된 위치로 점프함.
Stream_Status
스트림의 현재 상태로 복귀함
Stream_Close
스트림을 디액티베이트하고 스트림 취급을 무효화함.
이들 가상 VCR 커맨드는 비디오를 제어하기 위해 사용자 시스템으로부터 오는 것들이다.
내용 관리 커맨드는 비디오 기억 장치에 내용을 추가하고 비디오 기억 장치내의 내용(즉, 새로운 비디오)을 관리하기 위해 사용된다. 다음은 채용딜 수 있는 내용 관리 커맨드의 리스트예이다.
Video_Create
비디오의 엔트리 및 그의 속성을 작성함. 비디오는 그것이 레코드되기 전 작성되어야 함.
Video_Delete
비디오 엔트리를 삭제하고 점유된 기억 공간을 자유롭게 함.
Video_Write
엔트리가 이전에 작성되었던 비디오를 레코드함. 이 비디오에 대한 데이터가 이전에 기록되어 있었으면, 비디오에 데이터를 덧붙임.
Video_Read
내용 파일내 데이터를 복귀시킴.
Video_GetAttributes
비디오의 속성을 질문함. 이들 속성은 바이트 크기, 플레이 기간, 압축 포맷, 비트-레이트 요구 등을 구비할 수 있음.
Video_List
본 발명에 저장된 비디오이 이름을 리스트함.
이들 내용 관리 커맨드는 또 다른 비디오 서버 등의 또 다른 데이터 처리 시스템이 비디오 기억 장치 내용 관리 커맨드를 송출할 수 있더라도, 통상 비디오 기억 장치가 부착된 비디오 서버에 의해 발생된다. 예를 들면, Video_Write는 새로운 비디오가 비디오 기억 장치에 저장되어야 할 때 채용된다.
네트워크 접속 관리 커맨드는 본 발명과 원격 목적지 사이의 네트워크 접속의 확립 및 해체를 제공한다. 원격 목적지는 셋톱 박스(예를 들면, 가정으로의 ATM), 하이브리드 파이버/코엑스 액세스 노드(예를 들면, 가정으로의 하이브리드 파이버/코엑스) 또는 원격 서버일 수 있다. 네트워크 접속 관리 커맨드는 비디오를 요구하는 사용자 시스템의 고객에 응답하여 비디오 기억 장치와 사용자 시스템 사이의 접속을 개시하기 위해 시스템 유닛에 의해 채용된다.
다음은 채용될 수 있는 본 발명의 네트워크 접속 관리 커맨드의 리스트이다.
Connection_Open
본 발명과 목적지 사이에 네트워크 접속을 확립함.
Connection_Close
본 발명과 목적지 사이에 확립된 네트워크 접속을 해체함.
이 프로세스는 도시되어 있고 상기 설명은 도 2 및 도3에 도시된 데이터 처리 시스템내에서 당업자에 의해 구현될 수 있다.
본 발명은 비디오를 제공하는 데 사용되는 소규모 비디오 서버에 대한 구현을 허용한다. 본 발명은 도면에 도시되고 위에서 설명된 하드웨어와 관련하여 비디오 스트림 매니저, 비디오 및 제어 네트워크 접속의 조합에 의해 이러한 스케일러블(scalable) 시스템을 제공한다. 또한, 현재 청구된 본 발명은 통신 네트워크에 대한 다수의 접속 메카니즘으로의 접속에 의해 현재 청구된 본 발명의 비디오 기억 장치의 대역폭을 스케일하기 위해 통신 네트워크에 대하여 직접 네트워크 부착을 제공하는 비디오 기억 장치 아키태쳐를 제공한다.
또한, 본 발명의 비디오 기억 장치는 비디오 서버를 비디오 기억 장치에 접속하는 접속 메카니즘을 통하여 고레벨 커맨드가 송수신되는 것을 허용하는 비디오 서버에 대하여 제1 접속을 제공한다. 또한, 본 발명은 비디오 기억 장치를 통신 네트워크에 직접 접속하는 제2 네트워크 접속의 이점을 제공한다. 본 발명은 통신 네트워크에 대한 직접 접속, 비디오 스트림 제어, 디스크 드라이브를 포함하는 간명한 아키택쳐의 이점을 제공한다. 본 발명은 비디오 서버로 부터의 개입 또는 도움을 요구하지 않고 비디오 기억 장치가 사용자로부터 커맨드를 수신하여 처리하는 것을 허용한다.
이상 본 발명을 바람직한 실시예를 참조하여 도시하고 설명하였지만, 본 발명이 상기 실시예의 상세에 제한되지 않는 다는 것을 당업자라면 이해할 것이다.
Claims (41)
- 비디오 데이터를 취급하는 장치에 있어서,디지털 비디오 파일로서 저장된 비디오 데이터를 포함하는 기억 수단(162);데이터 처리 시스템(102-108)에 대한 접속을 제공하도록 배치된 시스템 접속 수단(150);통신 네트워크(56)에 대한 접속을 제공하는 네트워크 접속 수단(158); 및상기 네트워크 접속 수단(158)을 사용하여 상기 기억 수단(162)에서 상기 통신 네트워크(56)로 디지털 비디오 파일을 전송하는 전송 수단을 포함하는 장치.
- 제 1 항에 있어서,상기 통신 네트워크(56)로부터 커맨드를 수신하는 수신 수단을 더 포함하는 장치.
- 제 2 항에 있어서,상기 수신 수단은 상기 데이터 처리 시스템(102-108)으로부터 상기 시스템 접속(150)을 거쳐 커맨드를 수신하는 장치.
- 제 2 항 또는 제 3 항에 있어서,상기 수신 수단은 상기 네트워크 접속(158)으로부터 커맨드를 수신하는 장치.
- 제 2 항, 제 3 항 또는 제 4 항에 있어서,상기 커맨드는 가상 VCR 커맨드를 포함하는 장치.
- 제 1 항 내지 제 5 항 중의 어느 한 항에 있어서,상기 데이터 처리 시스템(102-108)에 대한 상기 시스템 접속(150)은 이서넷(ethernet)(110)에 의해 상기 데이터 처리 시스템(102-108)에 접속되는 장치.
- 제 2 항 내지 제 5 항 중의 어느 한 항에 있어서,미리 선택된 속도로 상기 통신 네트워크(56)로 디지털 비디오 파일을 전송하도록 배치되는 장치.
- 제 7 항에 있어서,상기 통신 네트워크(56)로부터 커맨드를 수신하는 수신 수단에 응답하여 디지털 비디오 파일의 사전 선택된 전송 속도를 변경하는 변경 수단을 더 포함하는 장치.
- 제 1 항 내지 제 8 항 중의 어느 한 항에 있어서,상기 기억 장치(162), 상기 시스템 접속(150) 및 상기 네트워크 접속(158)을 함께 접속하도록 배치된 버스(160)를 더 포함하는 장치.
- 제 9 항에 있어서,상기 버스(160)에 접속되어 상기 네트워크 접속(158)에 대한 접속을 제공하는 버퍼(156)를 더 포함하는 장치.
- 제 10 항에 있어서,상기 버퍼(156)는 회전 버퍼(rotating buffer)를 포함하는 장치.
- 제 10 항 또는 제 11 항에 있어서,상기 네트워크 접속(158)을 사용하여 상기 장치와 상기 통신 네트워크(56)상의 사용자(57)사이에서 접속이 이루어지는 제1 동작 모드;상기 통신 네트워크(56)를 사용하여 상기 기억 장치(162)에서 버퍼(156)로, 상기 버퍼(156)에서 상기 네트워크 접속(158)으로, 그리고 상기 네트워크 접속(158)에서 사용자(54)로의 경로에서 기억 장치(162)로부터 사용자(54)로 디지털 비디오 파일이 전송되는 제2 동작 모드; 및상기 장치가 커맨드를 수신하고 상기 경로상의 디지털 비디오 파일의 전송이 상기 수신된 커맨드에 의해 제어되는 제3 동작 모드를 포함하는 3개의 동작 모드에 대하여 배치되는 장치.
- 제 10 항 또는 제 11 항에 있어서,상기 기억 장치(162)는 디지털 비디오 파일로서 저장된 다수의 비디오를 포함하고, 상기 장치는상기 네트워크 접속(158)을 사용하여 상기 장치와 상기 통신 네트워크(56)상의 다수의 사용자(54)사이에서 다수의 접속이 이루어지는 제1 동작 모드;상기 다수의 디지털 비디오 파일의 일부가 상기 기억 장치(162)에서 상기 버퍼(156)로, 상기 버퍼(156)에서 상기 네트워크 접속(158)으로, 그리고 상기 네트워크 접속(158)에서 상기 다수의 사용자(54)로의 경로에서 상기 기억 장치(162)에서 사용자로 전송되는 제2 동작 모드; 및상기 장치가 커맨드를 수신하고, 상기 다수의 디지털 비디오 파일의 일부의 전송이 상기 수신된 커맨드에 의해 제어되는 제3 동작 모드포함하는 3개의 동작 모드를 구비하는 장치.
- 데이터를 저장하고 통신 네트워크(56)상의 사용자 시스템(54)으로 전송하도록 배치된 데이터 기억 장치(112)에 있어서,버스(160);상기 버스(160)에 접속되고 데이터 처리 시스템(102-108)에 대한 접속을 제공하도록 배치된 시스템 접속 수단(150);상기 버스(160)에 접속되고 상기 통신 네트워크(56)에 대한 접속을 제공하도록 배치된 네트워크 접속 수단(158);상기 버스(160)에 대한 제1 접속 및 상기 네트워크 접속(158)에 대한 제2 접속을 갖는 버퍼 수단(156);상기 버스에 대한 접속을 갖고 데이터를 포함하는 기억 수단(162); 및상기 기억 수단(162)에서 상기 버퍼 수단(156)으로 데이터를 전송하도록 배치된 제1 프로세서 수단, 상기 버퍼 수단(156)에서 상기 네트워크 접속 수단(158)으로 데이터를 전송하는 제2 프로세서 수단, 및 상기 네트워크 접속(158)에서 통신 네트워크 상의 사용자 시스템(54)으로 데이터를 전송하는 제3 프로세서 수단을 구비하는 프로세서(152)를 포함하는 데이터 기억 장치.
- 제 14 항에 있어서,선택된 속도로 상기 데이터 기억 장치(162)로부터 데이터를 전송하는 제4 프로세서 수단을 더 포함하는 데이터 기억 장치.
- 제 15 항에 있어서,상기 네트워크 접속(158)에 있어서 수신된 커맨드를 처리하는 제5 프로세서 수단 및 상기 수신된 커맨드에 응답하여 상기 선택된 데이터 전송 속도를 변경하는 제6 프로세서 수단을 더 포함하는 데이터 기억 장치.
- 비디오 서버 수단(100);통신 버스(110); 및기억 수단(112)을 포함하고,상기 기억 수단은데이터 파일을 포함하는 기억 장치(162);통신 네트워크(56)에 대한 네트워크 접속(158);상기 통신 버스(110)에 대한 접속(150); 및상기 네트워크 접속(158)을 거쳐 상기 기억 장치(162)에서 상기 통신 네트워크(56)로 데이터 파일을 전송하는 전송 수단을 구비하는 데이터 처리 시스템.
- 제 17 항에 있어서,상기 통신 버스(110)는 이서넷을 포함하는 데이터 처리 시스템.
- 제 17 항 또는 제 18 항에 있어서,상기 기억 수단(112)은 제2 데이터 파일을 상기 기억 장치(162)로 전송하는 제2 전송 수단을 더 구비하는 데이터 처리 시스템.
- 제 17 항, 제 18 항 또는 제 19 항에 있어서,상기 데이터 파일은 비디오 파일을 포함하는 데이터 처리 시스템.
- 제 17 항 내지 제 20 항 중의 어느 한 항에 있어서,상기 기억 수단(112)은 상기 통신 접속을 거쳐 커맨드를 수신하는 수신 수단을 구비하는 데이터 처리 시스템.
- 제 19 항에 있어서,상기 제2 전송 수단은 상기 네트워크 접속을 거쳐 상기 기억 장치(162)에서 상기 통신 네트워크(56)로 제2 데이터 파일을 전송하도록 배치되는 데이터 처리 시스템.
- 제 19 항 또는 제 22 항에 있어서,상기 제2 전송 수단은 상기 기억 장치(162)에서 상기 접속(150)을 거쳐 상기 통신 버스(110)로 제2 데이터 파일을 전송하도록 배치되는 데이터 처리 시스템.
- 제 21 항에 있어서,상기 기억 수단(112)은 상기 접속(150)에서 상기 통신 버스(110)로의 커맨드를 수신하는 제2 수신 수단을 더 구비하는 데이터 처리 시스템.
- 제 21 항 또는 제 24 항에 있어서,상기 전송 수단에 의한 데이터 파일의 전송이 상기 수신된 커맨드에 의해 제어되도록 배치되는 데이터 처리 시스템.
- 통신 네트워크(56);상기 통신 네트워크(56)에 접속된 다수의 사용자 시스템(54);상기 통신 네트워크(56)에 접속된 비디오 서버 수단(100); 및상기 비디오 서버(100)에 접속된 비디오 기억 수단(112)을 포함하며,상기 비디오 기억 수단은버스(16);상기 버스(160)에 접속되고 상기 비디오 서버 수단(100)에 대한 접속을 제공하도록 배치된 제1 네트워크 접속 수단(150);상기 버스(160)에 접속되고 상기 통신 네트워크(56)에 대한 접속을 제공하도록 배치된 제2 네트워크 접속 수단(158);상기 버스(160)에 대한 제1 접속 및 상기 제2 네트워크 접속 수단(158)에 대한 제2 접속을 갖는 버퍼 수단(156);상기 버스(160)에 접속되고 비디오를 나타내는 데이터를 포함하는 기억 장치(162); 및상기 기억 장치(162)에서 상기 버스(160)로 데이터를 전송하는 제1 프로세서 수단, 상기 버퍼 수단(156)에서 상기 제2 네트워크 접속(158)으로 데이터를 전송하는 제2 프로세서 수단 및 상기 제2 네트워크 접속(158)에서 상기 통신 네트워크(56) 상의 사용자 시스템(54)으로 데이터를 전송하는 제3 프로세서 수단을 구비하는 비디오 기억 장치 프로세서(152)를 구비하는 분산 데이터 처리 시스템.
- 제 26 항에 있어서,상기 비디오 서버(100)는 상기 다수의 사용자 시스템중 하나(54)로부터 비디오 요구를 수신하도록 배치되고 상기 비디오 기억 장치(162)에서 상기 다수의 사용자 시스템중 하나(54)로 요구된 비디오의 전송을 개시하도록 배치된 비디오 서버 프로세서(108)를 구비하는 분산 데이터 처리 시스템.
- 제 26 항 또는 제 27 항에 있어서,상기 비디오 기억 장치(162)는 통신 채널(110)에 의해 상기 비디오 서버(100)에 접속되는 분산 데이터 처리 시스템.
- 제 28 항에 있어서,상기 통신 채널은 이서넷(110)을 포함하는 분산 데이터 처리 시스템.
- 제 26항 내지 제 29 항 중 어느 한 항에 있어서,상기 제2 네트워크 접속(158)은 ATM 네트워크 어댑터를 포함하는 분산 데이터 처리 시스템.
- 프로세서(104), 메모리(106), 및 기억 장치(108)를 구비하는 컴퓨터(100);상기 프로세서(104), 상기 메모리(106) 및 상기 기억 장치(108)에 접속된 시스템 버스(102); 및데이터가 저장될 수 있는 제2 기억 장치(162), 통신 네트워크(56)에 직접 접속된 네트워크 접속(158), 상기 시스템 버스(102)에 대한 접속(150), 및 상기 네트워크 접속(158)을 거쳐 상기 제2 기억 장치(162)에서 상기 통신 네트워크(56)로 데이터를 전송하는 전송 수단을 구비하는 데이터 기억 장치(112)를 포함하는 데이터 처리 시스템.
- 제 31 항에 있어서,상기 시스템 버스(102)에 대한 접속은 상기 시스템 버스 및 상기 데이터 기억 장치(112)내의 상기 접속(150)에 모두 접속된 이서넷(110)에 의해 제공되는 데이터 처리 시스템.
- 제 31 항 또는 제 32 항에 있어서,상기 데이터는 디지털 비디오 파일로서 저장된 비디오를 포함하는 데이터 처리 시스템.
- 제 31 항 내지 제 33 항 중 어느 한 항에 있어서,상기 데이터 기억 장치(112)는 상기 네트워크 접속(158)에 있어서 커맨드를 수신하는 수신 수단을 구비하는 데이터 처리 시스템.
- 제 31 항 내지 제 34 항 중 어느 한 항에 있어서,상기 데이터 기억 장치(112)는 추가 기억 장치를 구비하는 데이터 처리 시스템.
- 제 31 항 내지 제 35 항 중 어느 한 항에 있어서,상기 전송 수단에 의한 상기 제2 기억 장치(162)에서 상기 통신 네트워크(56)로의 데이터 전송이 상기 수신 수단에 의해 수신된 커맨드에 의해 제어되도록 배치되는 데이터 처리 시스템.
- 제 31 항 내지 제 36 항 중 어느 한 항에 있어서,상기 네트워크 접속(158)은 ATM 네트워크 어댑터인 데이터 처리 시스템.
- 제 35 항에 있어서,상기 추가 데이터 기억 장치는 하드 디스크 드라이브를 포함하는 데이터 처리 시스템.
- 제 31 항 내지 제 38 항 중 어느 한 항에 있어서,상기 제2 기억 장치(162) 및 상기 네트워크 접속(158)에 접속된 버스(160)를 더 포함하는 데이터 처리 시스템.
- 제 39 항에 있어서,상기 버스(160) 및 상기 네트워크 접속(158)에 접속된 버퍼(156)를 더 포함하는 데이터 처리 시스템.
- 제 40 항에 있어서,상기 버스(160)에 접속된 프로세서(152)를 더 포함하며, 상기 전송 수단은 상기 프로세서(152)에 위치하는 데이터 처리 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/514,013 US5790794A (en) | 1995-08-11 | 1995-08-11 | Video storage unit architecture |
US8/514,013 | 1995-08-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990036358A true KR19990036358A (ko) | 1999-05-25 |
Family
ID=24045461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980701026A KR19990036358A (ko) | 1995-08-11 | 1996-07-30 | 데이터 처리 시스템 |
Country Status (10)
Country | Link |
---|---|
US (2) | US5790794A (ko) |
EP (1) | EP0843937A1 (ko) |
JP (1) | JPH11505095A (ko) |
KR (1) | KR19990036358A (ko) |
CN (1) | CN1196150A (ko) |
AU (1) | AU6624696A (ko) |
CA (1) | CA2229477A1 (ko) |
MX (1) | MX9801173A (ko) |
NO (1) | NO980511L (ko) |
WO (1) | WO1997007633A1 (ko) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE39094E1 (en) | 1988-07-20 | 2006-05-09 | Health Research, Inc. | Pyropheophorbides and their use in photodynamic therapy |
EP1457897A3 (en) * | 1995-10-26 | 2005-04-20 | Matsushita Electric Industrial Co., Ltd. | File System |
US7448062B1 (en) * | 1996-10-18 | 2008-11-04 | Microsoft Corporation | Seamless playback of multiple clips of media data across a data network |
US6005600A (en) | 1996-10-18 | 1999-12-21 | Silcon Graphics, Inc. | High-performance player for distributed, time-based media |
KR100270354B1 (ko) * | 1996-11-20 | 2000-11-01 | 정선종 | 이기종망간의 중계 서버 및 실시간 중계 방법 |
US6006291A (en) * | 1997-12-31 | 1999-12-21 | Intel Corporation | High-throughput interface between a system memory controller and a peripheral device |
US6381314B1 (en) | 1999-12-23 | 2002-04-30 | James Walinski | Internet audio channel selection system |
US6519773B1 (en) | 2000-02-08 | 2003-02-11 | Sherjil Ahmed | Method and apparatus for a digitized CATV network for bundled services |
US7068596B1 (en) * | 2000-07-07 | 2006-06-27 | Nevco Technology, Inc. | Interactive data transmission system having staged servers |
US7222150B1 (en) * | 2000-08-15 | 2007-05-22 | Ikadega, Inc. | Network server card and method for handling requests received via a network interface |
US9800608B2 (en) | 2000-09-25 | 2017-10-24 | Symantec Corporation | Processing data flows with a data flow processor |
US20110214157A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Securing a network with data flow processing |
US20110219035A1 (en) * | 2000-09-25 | 2011-09-08 | Yevgeny Korsunsky | Database security via data flow processing |
US20110213869A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
US9525696B2 (en) | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
US20070192863A1 (en) * | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US20020165947A1 (en) | 2000-09-25 | 2002-11-07 | Crossbeam Systems, Inc. | Network application apparatus |
US20100042565A1 (en) * | 2000-09-25 | 2010-02-18 | Crossbeam Systems, Inc. | Mezzazine in-depth data analysis facility |
US8010469B2 (en) * | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US7124424B2 (en) * | 2000-11-27 | 2006-10-17 | Sedna Patent Services, Llc | Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces |
US20020198958A1 (en) * | 2000-12-20 | 2002-12-26 | Frenkiel Richard H. | System and method for the delivery of information |
US7174373B1 (en) | 2001-03-13 | 2007-02-06 | Panamsat Corporation | Self-contained demonstration node in a satellite based content delivery system |
US7154898B1 (en) | 2001-03-13 | 2006-12-26 | Intelsat, Ltd. | Scalable edge node |
US7130908B1 (en) | 2001-03-13 | 2006-10-31 | Intelsat Ltd. | Forward cache management between edge nodes in a satellite based content delivery system |
US7237017B1 (en) | 2001-03-13 | 2007-06-26 | Panamsat Corporation | Micronode in a satellite based content delivery system |
US6941252B2 (en) * | 2001-03-14 | 2005-09-06 | Mcdata Corporation | Striping data frames across parallel fibre channel links |
US7260827B1 (en) * | 2001-04-23 | 2007-08-21 | Unisys Corporation | Manual mode method of testing a video server for a video-on-demand system |
US7263202B2 (en) * | 2001-07-05 | 2007-08-28 | Digimarc Corporation | Watermarking to control video recording |
JP3890927B2 (ja) * | 2001-07-23 | 2007-03-07 | ヤマハ株式会社 | 他ノードを管理する通信装置及び他ノードに管理される通信装置 |
US7788396B2 (en) * | 2001-11-28 | 2010-08-31 | Interactive Content Engines, Llc | Synchronized data transfer system |
US7437472B2 (en) | 2001-11-28 | 2008-10-14 | Interactive Content Engines, Llc. | Interactive broadband server system |
US7644136B2 (en) * | 2001-11-28 | 2010-01-05 | Interactive Content Engines, Llc. | Virtual file system |
US7680849B2 (en) * | 2004-10-25 | 2010-03-16 | Apple Inc. | Multiple media type synchronization between host computer and media device |
KR100449806B1 (ko) * | 2002-12-23 | 2004-09-22 | 한국전자통신연구원 | 네트워크를 통해 스트리밍 데이터를 고속으로 송수신하기위한 네트워크-스토리지 연결 장치 |
US7787749B2 (en) * | 2003-03-07 | 2010-08-31 | Siemens Enterprise Communications, Inc. | System and method for voice portal control of an integrated communications center |
US7536708B2 (en) * | 2003-03-07 | 2009-05-19 | Siemens Communications, Inc. | System and method for context-based searching and control of an integrated communications center |
US20040177375A1 (en) * | 2003-03-07 | 2004-09-09 | Rami Caspi | System and method for short message service control of an integrated communications center |
US20040177371A1 (en) * | 2003-03-07 | 2004-09-09 | Rami Caspi | System and method for integrated communications center |
US7525975B2 (en) * | 2003-03-07 | 2009-04-28 | Rami Caspi | System and method for integrated audio stream manager |
US20040174863A1 (en) * | 2003-03-07 | 2004-09-09 | Rami Caspi | System and method for wireless remote control of a digital personal media stream manager |
US7761898B2 (en) | 2003-03-07 | 2010-07-20 | Siemens Enterprise Communications, Inc. | System and method for e-mail control of an integrated communications center |
US8539533B2 (en) * | 2003-03-07 | 2013-09-17 | Siemens Enterprise Communications, Inc. | System and method for digital personal video stream manager |
US7519073B2 (en) * | 2003-03-07 | 2009-04-14 | Siemens Communications, Inc. | System and method for instant messaging control of an integrated communications center |
US7619974B2 (en) * | 2003-10-31 | 2009-11-17 | Brocade Communication Systems, Inc. | Frame traffic balancing across trunk groups |
US7593336B2 (en) | 2003-10-31 | 2009-09-22 | Brocade Communications Systems, Inc. | Logical ports in trunking |
JP4536361B2 (ja) * | 2003-11-28 | 2010-09-01 | 株式会社日立製作所 | データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法 |
US20050235283A1 (en) * | 2004-04-15 | 2005-10-20 | Wilson Christopher S | Automatic setup of parameters in networked devices |
US20050231849A1 (en) * | 2004-04-15 | 2005-10-20 | Viresh Rustagi | Graphical user interface for hard disk drive management in a data storage system |
US7555613B2 (en) * | 2004-05-11 | 2009-06-30 | Broadcom Corporation | Storage access prioritization using a data storage device |
US20050262322A1 (en) * | 2004-05-21 | 2005-11-24 | Kenneth Ma | System and method of replacing a data storage drive |
US7681007B2 (en) | 2004-04-15 | 2010-03-16 | Broadcom Corporation | Automatic expansion of hard disk drive capacity in a storage device |
US20050235336A1 (en) * | 2004-04-15 | 2005-10-20 | Kenneth Ma | Data storage system and method that supports personal video recorder functionality |
US7173619B2 (en) * | 2004-07-08 | 2007-02-06 | Microsoft Corporation | Matching digital information flow to a human perception system |
US20060230136A1 (en) * | 2005-04-12 | 2006-10-12 | Kenneth Ma | Intelligent auto-archiving |
US20060271975A1 (en) * | 2005-05-23 | 2006-11-30 | Edmund Sun | Time-shifting audio and video programs |
US20080229415A1 (en) * | 2005-07-01 | 2008-09-18 | Harsh Kapoor | Systems and methods for processing data flows |
US7979368B2 (en) * | 2005-07-01 | 2011-07-12 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
DE102005059044A1 (de) * | 2005-12-08 | 2007-06-14 | Deutsche Thomson-Brandt Gmbh | Verfahren zum Bearbeiten von Medieninhalten in einer Netzwerkumgebung sowie Gerät zur Vorratsspeicherung von Medien-Daten |
JP2007207328A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法 |
KR101478173B1 (ko) | 2007-08-29 | 2014-12-31 | 삼성전자주식회사 | 외부기기 연결 방법 및 이를 적용한 멀티미디어 재생장치 |
US9072572B2 (en) | 2009-04-02 | 2015-07-07 | Kerr Corporation | Dental light device |
US9066777B2 (en) | 2009-04-02 | 2015-06-30 | Kerr Corporation | Curing light device |
WO2011149558A2 (en) | 2010-05-28 | 2011-12-01 | Abelow Daniel H | Reality alternate |
US9392337B2 (en) * | 2011-12-22 | 2016-07-12 | Cisco Technology, Inc. | Wireless TCP link state monitoring based video content adaptation and data delivery |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5311423A (en) * | 1991-01-07 | 1994-05-10 | Gte Service Corporation | Schedule management method |
US5247347A (en) * | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5262875A (en) * | 1992-04-30 | 1993-11-16 | Instant Video Technologies, Inc. | Audio/video file server including decompression/playback means |
US5371532A (en) * | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
CA2071416A1 (en) * | 1992-06-17 | 1993-12-18 | Michel Fortier | Video store and forward apparatus and method |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
CA2127347A1 (en) * | 1993-07-07 | 1995-01-08 | Donald F. Hooper | Segmented video on-demand system |
US5481542A (en) * | 1993-11-10 | 1996-01-02 | Scientific-Atlanta, Inc. | Interactive information services control system |
US5606359A (en) * | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
US5600644A (en) * | 1995-03-10 | 1997-02-04 | At&T | Method and apparatus for interconnecting LANs |
US5544161A (en) * | 1995-03-28 | 1996-08-06 | Bell Atlantic Network Services, Inc. | ATM packet demultiplexer for use in full service network having distributed architecture |
-
1995
- 1995-08-11 US US08/514,013 patent/US5790794A/en not_active Expired - Lifetime
-
1996
- 1996-07-30 AU AU66246/96A patent/AU6624696A/en not_active Abandoned
- 1996-07-30 JP JP9509006A patent/JPH11505095A/ja active Pending
- 1996-07-30 WO PCT/GB1996/001838 patent/WO1997007633A1/en not_active Application Discontinuation
- 1996-07-30 KR KR1019980701026A patent/KR19990036358A/ko not_active Application Discontinuation
- 1996-07-30 CN CN96196895A patent/CN1196150A/zh active Pending
- 1996-07-30 CA CA002229477A patent/CA2229477A1/en not_active Abandoned
- 1996-07-30 EP EP96925881A patent/EP0843937A1/en not_active Withdrawn
-
1998
- 1998-02-06 NO NO980511A patent/NO980511L/no not_active Application Discontinuation
- 1998-02-11 MX MX9801173A patent/MX9801173A/es not_active Application Discontinuation
- 1998-03-30 US US09/061,743 patent/US6442599B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU6624696A (en) | 1997-03-12 |
NO980511D0 (no) | 1998-02-06 |
NO980511L (no) | 1998-02-11 |
US5790794A (en) | 1998-08-04 |
CN1196150A (zh) | 1998-10-14 |
EP0843937A1 (en) | 1998-05-27 |
WO1997007633A1 (en) | 1997-02-27 |
MX9801173A (es) | 1998-11-29 |
CA2229477A1 (en) | 1997-02-27 |
JPH11505095A (ja) | 1999-05-11 |
US6442599B1 (en) | 2002-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6442599B1 (en) | Video storage unit architecture | |
KR100228937B1 (ko) | 매체 스트리머 | |
JP4289467B2 (ja) | ビデオサーバ | |
KR100207882B1 (ko) | 매체 스트리머 | |
JP3617089B2 (ja) | 映像蓄積配送装置及び映像蓄積配送システム | |
US5805804A (en) | Method and apparatus for scalable, high bandwidth storage retrieval and transportation of multimedia data on a network | |
KR100192723B1 (ko) | 매체 스트리머 | |
US5799150A (en) | System for sending list of media data objects to server which may be read by client and receiving from the server indicator of allocated resource | |
JP3096409B2 (ja) | メディア・ストリーマ | |
EP0746158B1 (en) | Scalable interactive multimedia server system | |
EP0617563B1 (en) | Data server, control server and gateway architecture system and method for broadcasting digital video on demand | |
JP3088268B2 (ja) | ビデオ・オン・デマンドシステムにおけるビデオサーバ | |
US7072972B2 (en) | Method and apparatus for performing user migration within a video on demand environment | |
JPH08154234A (ja) | 等時性データ・ストリームを生成するビデオ用に最適化された媒体ストリーマ | |
WO1996017306A9 (en) | Media server | |
JPH0887385A (ja) | キャッシュ管理を有するビデオ用に最適化された媒体ストリーマ | |
US20020073172A1 (en) | Method and apparatus for storing content within a video on demand environment | |
EP0777228A2 (en) | Data storage/transfer apparatus and method | |
EP0701373B1 (en) | Video server system | |
JPH117422A (ja) | メモリ搭載型の高速通信インタフェースボードとデータの送受信方法 | |
JP2000148711A (ja) | 動画像サーバシステム | |
JPH09275553A (ja) | ストリームデータ転送方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |