JPH11175390A - メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法 - Google Patents

メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法

Info

Publication number
JPH11175390A
JPH11175390A JP10238981A JP23898198A JPH11175390A JP H11175390 A JPH11175390 A JP H11175390A JP 10238981 A JP10238981 A JP 10238981A JP 23898198 A JP23898198 A JP 23898198A JP H11175390 A JPH11175390 A JP H11175390A
Authority
JP
Japan
Prior art keywords
media
api
group
application program
program interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10238981A
Other languages
English (en)
Inventor
William Russell Belknap
ウィリアム・ルッセル・ベルナップ
Gerald Edward Kozina
ジャラルド・エドワード・コヅィナ
Tram Thi Mai Nguyen
トラム・タイ・マイ・グエン
George Francis Silva
ジョージ・フランシス・シルヴァ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11175390A publication Critical patent/JPH11175390A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/126Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming 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)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 高レベルの総称コマンドを、メディア・デバ
イスへ出力されるデバイス・レベルのコマンドへ変換す
るアプリケーション・プログラム・インタフェース(A
PI)を組み込んだメディア・マネージャを提供する。 【解決手段】本発明のメディア・マネージャは、高レベ
ルの総称コマンドをデコードする高レベル・コマンド・
プロセッサと、高レベル・コマンド・プロセッサによっ
てデコードされた高レベルの総称コマンドをデバイス・
レベルのコマンドへ変換するデバイス特定コード・マッ
ピング・モジュールとを含む。デバイス・レベル・コマ
ンドの各々は、デバイス特定コード・マッピング・モジ
ュールの1つからメディア・デバイスの対応する1つへ
出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はアプリケーション・
インタフェースに関し、さらに具体的には、メディア・
サーバへのアプリケーション・インタフェース、およ
び、それを実施する方法に関する。
【0002】
【従来の技術】従来のマルチメディア・データ記憶シス
テムは、しばしばマルチメディア・アプリケーションで
使用可能な大量のマルチメディア・データを保持するた
めに使用される。さらに、このような従来のマルチメデ
ィア・データ記憶システムは、たとえば米国特許第5,
649,185号に説明されているようなディジタル・
ライブラリを含むことができる。従来のマルチメディア
・データ記憶システムで起こる問題点は、そのようなシ
ステムが、クライアント・メディア出力ステーション
(たとえば、ディスプレイを含むクライアント・ビュー
ア)へ特定タイプのデータを送る複数のメディア・サー
バを使用する場合が多いという事実から生じる。しか
し、各メディア・サーバはそれ自身のデバイス・レベル
・コマンドしかサポートしないので、従来のマルチメデ
ィア・データ記憶システム内で稼働しているアプリケー
ションが、複数のメディア・サーバと交信するのは困難
である。したがって、特定のメディア・サーバと通信し
ている各アプリケーションは、そのメディア・サーバの
独特の特性を考慮に入れなければならない。しかし、多
数のメディア・サーバが存在するとき、そのような方式
は負担になる。さらに、そのような方式では、新しいメ
ディア・サーバがマルチメディア・データ記憶システム
へ組み込まれるとき、常にアプリケーションを更新しな
ければならない。
【0003】
【発明が解決しようとする課題】本発明の目的は、メデ
ィア・サーバへ共通インタフェースを提供する強力な管
理方式を提供することである。
【0004】本発明の他の目的は、システム内に含まれ
るメディア・サーバと交信するアプリケーションからメ
ディア・サーバ特定デバイス・コマンドを隠す共通イン
タフェースをメディア・サーバへ提供することである。
【0005】
【課題を解決するための手段】本発明の前記の目的を達
成するために、高レベルの総称コマンドを、複数のメデ
ィア・デバイスへ出力されるデバイス・レベルのコマン
ドへ変換するアプリケーション・プログラム・インタフ
ェース(API)を組み込んだメディア・マネージャが
提供される。本発明のメディア・マネージャは、高レベ
ルの総称コマンドをデコードする高レベル・コマンド・
プロセッサと、高レベル・コマンド・プロセッサによっ
てデコードされた高レベルの総称コマンドをデバイス・
レベルのコマンドへ変換する複数のデバイス特定コード
・マッピング・モジュールとを含んでいる。デバイス・
レベルのコマンドの各々は、複数のデバイス特定コード
・マッピング・モジュールの1つから複数のメディア・
デバイスの対応する1つへ出力される。
【0006】さらに、本発明は、複数のメディア・デバ
イスのためにアプリケーション・プログラム・インタフ
ェース(API)を実施する方法を包含する。この方法
は、コンピュータ・アプリケーションから複数の高レベ
ルの総称コマンドを受け取るステップと、複数の高レベ
ルの総称コマンドをデバイス・レベルのコマンドへ変換
するステップと、デバイス・レベルのコマンドの各々を
複数のメディア・デバイスの1つへ出力するステップと
を含む。
【0007】さらに、本発明は、コンピュータ読み取り
可能媒体を含むコンピュータ・プログラム製品を包含す
る。このコンピュータ・プログラム製品は、高レベルの
総称コマンドをデコードする手段と、高レベルの総称コ
マンドを1つまたは複数のデバイス・レベルのコマンド
へ変換する手段と、変換されたデバイス・レベルのコマ
ンドを複数のメディア・デバイスの対応する1つへ出力
する手段とを含む。
【0008】さらに、本発明は、コンピュータ・アプリ
ケーションから受け取られた高レベルの総称コマンド
を、1つまたは複数のデバイス・レベルのコマンドへ変
換する共通アプリケーション・プログラム・インタフェ
ース(API)を包含する。これらのデバイス・レベル
のコマンドは、メディア・オブジェクトを記憶するメデ
ィア・サーバを含む複数のメディア・デバイスへ出力さ
れる。共通APIは複数の個別APIを含み、個別AP
Iの各々は特定の関数を実行する。
【0009】本発明の1つの局面に従えば、複数の個別
APIは、第1グループおよび第2グループの個別AP
Iから構成される。個別APIの第1のグループは、メ
ディア・サーバを表すクラス定義オブジェクトに関連し
たメンバー関数の第1のグループに対応する。個別AP
Iの第2のグループは、メディア・オブジェクトの物理
フォーマットの論理記述を表すクラス定義オブジェクト
に関連したメンバー関数の第2のグループに対応する。
【0010】
【発明の実施の形態】本発明は、マルチメディア・デー
タ記憶システムにおいて実施するのが望ましいメディア
・マネージャに関する。このメディア・マネージャは、
マルチメディア・データ記憶システム内に含まれるメデ
ィア・サーバへ共通のアプリケーション・プログラム・
インタフェースを提供する。メディア・マネージャは、
マルチメディア・データ記憶システム内でアプリケーシ
ョンとメディア・デバイスとの間の通信を容易にする管
理方式を組み込まれている。
【0011】図1は、要求アプリケーション8から高レ
ベルのコマンドを受け取るメディア・マネージャ5を示
す。メディア・マネージャ5は、高レベルのコマンドを
デバイス特定コマンドへ変換し、このデバイス特定コマ
ンドは1番目からN番目までのメディア・デバイス25
へ出力される。メディア・デバイス25はメディア・ア
ーカイブであるか、特定タイプのメディア・データ(た
とえばビデオ・データまたはオーディオ・データ)を処
理するメディア・サーバであってよい。要求アプリケー
ション8は、メディア・マネージャ5を使用して、メデ
ィア・デバイス25の特異性を考慮に入れることなく、
特定の関数がメディア・デバイス25によって実行され
ることを要求することができる。さらに、メディア・マ
ネージャ5は、要求アプリケーション8がメディア・デ
バイス25への内部変更を考慮しなくてもよいようにす
る。
【0012】メディア・マネージャ5は高レベル・コマ
ンド・プロセッサ10を含む。高レベル・コマンド・プ
ロセッサ10は、要求アプリケーション8から高レベル
のコマンドを受け取り、そのコマンドが、メディア・マ
ネージャ5がサポートする特定タイプのメディア・サー
バに対応しているかどうかを識別する。要求アプリケー
ション8によって出されたコマンドがメディア・マネー
ジャ5によってサポートされるメディア・デバイス25
に対応しているものと高レベル・コマンド・プロセッサ
10が決定した場合、高レベル・コマンド・プロセッサ
10は、その要求を、そのメディア・デバイス25へ向
けられた高レベルのコマンドを処理するデバイス特定コ
ード・マッピング・モジュール15へ送る。
【0013】デバイス特定コード・マッピング・モジュ
ール15は、各高レベル・コマンドを、モジュールの対
応するメディア・デバイス25のためのデバイス・レベ
ル・コマンドへマップし、そのデバイス・レベル・コマ
ンドを、複数のデバイス・レベル・インタフェース22
を含むデバイス・インタフェース20を通してメディア
・デバイス25へ転送する。代替方法として、デバイス
特定コード・マッピング・モジュール15は、各高レベ
ル・コマンドを、前記高レベル・コマンドの少なくとも
1つに対応している一連のアクションへ変換する。次
に、それらのアクションは、メディア・デバイス25の
ために対応するデバイス特定コード・マッピング・モジ
ュール15によってデバイス・レベル・コマンドへ変換
される。
【0014】メディア・マネージャ5は、複数タイプの
メディア・デバイス25をサポートするために、複数の
デバイス特定コード・マッピング・モジュール15を含
むことができる。したがって、メディア・マネージャ5
は、1番目からN番目までのメディア・デバイス25を
サポートするために、1番目からN番目までのデバイス
特定コード・マッピング・モジュール15を含む。
【0015】メディア・マネージャ5は、本発明の共通
アプリケーション・プログラム・インタフェース(AP
I)を用いて実施されることが望ましい。しかし、高レ
ベル・コマンド・プロセッサ10は、実際には本発明の
共通APIを構成する多数の個別APIをサポートす
る。メディア・マネージャ5は、たとえばコンピュータ
読み取り可能ディスク上にマシン読み取り可能形式で記
憶されるソフトウェアとして実施することができる。
【0016】個別APIは少なくとも2つのクラスのメ
ンバー関数に対応する。第1のクラスSERVER(サ
ーバ)は、図3に示されるメディア・サーバ130を表
すオブジェクトを定義する。しかし、SERVERクラ
スは、メディア・サーバおよびメディア・アーカイブの
双方で使用できるように、第3のクラスMEDIA_D
EVICE(メディア・デバイス)から引き出すことが
できる。したがって、第4のクラスARCHIVE(ア
ーカイブ)が提供されて、メディア・アーカイブ140
を表すオブジェクトを定義する。しかし、そのクラスを
構成するメンバー関数はSERVERクラスで提供され
るメンバー関数と同様であるから、ARCHIVEクラ
スの説明は省略する。メディア・アーカイブの説明は、
本出願と同時に出願された米国出願(その題名は「A MU
LTIMEDIA DATA STORAGE SYSTEM INCLUDING A MEDIA SER
VER AND MEDIA ARCHIVE AND A METHOD OF MANAGING THE
MEDIA SERVER AS A CACHE DEVICE FOR THE MEDIA ARCH
IVE」)でなされている。
【0017】第2のクラスCONTENT(コンテン
ツ)は、オブジェクトまたはその一部の物理フォーマッ
トの論理記述を表すオブジェクトを定義する。たとえ
ば、同じフォーマットを有するオブジェクトは、CON
TENTクラスを共用することができる。要求アプリケ
ーションは、メディア・デバイス25内に記憶されたオ
ブジェクトに関する情報を得るために、CONTENT
クラスのメンバー関数を通してメディア・デバイス25
の任意のものと交信することができる。
【0018】前記のメンバー関数は、後で詳細に説明す
る。以下では、これらのメンバー関数を組み込んだ個別
APIを詳細に説明する。
【0019】CLOSE APIは、オープンされたメ
ディア・オブジェクトをクローズするために提供され
る。さらに、CLOSE APIはCONTENTクラ
スのインスタンスを破壊する。
【0020】CLOSE_SESSION APIは、
オープンされたセッションをクローズするために提供さ
れる。セッションへ割り振られたすべてのリソースは、
CLOSE_SESSION APIの使用により解放
される。
【0021】COPY_MEDIA APIは、1つの
サーバから1つまたは複数の他のサーバへメディア・オ
ブジェクトをコピーするために提供される。
【0022】DELETE APIは、サーバ・サブシ
ステムからメディア・オブジェクトを除去するために提
供される。
【0023】EVENT_HANDLER APIは、
非同期イベントの制御を条件的に受け取るために提供さ
れる。REGISTER_CALL_BACK API
を用いて設定されるイベント・マスクによって、イベン
トの仕様をEVENT_HANDLER APIへ渡す
ことができる。
【0024】EVENT_MASK APIは、現在の
イベント・マスクを戻すために提供される。
【0025】GET_META_DATA APIは、
メタ・データ・ファイルを作成して戻すために提供され
る。
【0026】GET_MEDIA_STATUS AP
Iは、メディア・オブジェクトの状況を得るために提供
される。
【0027】INIT_SERVER APIは、メデ
ィア・マネージャのクライアント・ライブラリを初期設
定するために提供される。しかし、INIT_SERV
ERAPIは、要求アプリケーションが他のメディア・
マネージャ・サービスを要求する前に呼び出す最初のA
PIでなければならない。
【0028】LIST_MEDIA_GROUPS A
PIは、構成されたメディア・グループ名のリストを得
るために提供される。
【0029】LIST_MEDIA_NAMES AP
Iは、メディア・オブジェクトの特定のメディア・グル
ープに関連したメディア・オブジェクトの名前のリスト
を得るために提供される。
【0030】OPEN APIは、CONTENTクラ
スのインスタンスを戻すために提供される。このインス
タンスはメディア・オブジェクトからデータを読み出す
か書き込むために、後続の呼び出しで使用される。
【0031】OPEN_SESSION APIは、ア
プリケーションからビデオ・サーバ・サブシステムへの
セッションをオープンするために提供される。
【0032】REGISTER_CALL_BACK
APIは、EVENT_HANDLER APIをメデ
ィア・マネージャ・ライブラリに登録するために提供さ
れる。一度登録されると、アプリケーションは必要なと
きにメディア・デバイスから非同期イベント通知を受け
取ることができる。
【0033】C_SERVER APIは、特定のメデ
ィア・サーバ・タイプのためにSERVERクラスのイ
ンスタンスを作成する作成APIとして提供される。
【0034】D_SERVER APIは、特定のメデ
ィア・サーバ・タイプのためにSERVERクラスのイ
ンスタンスを破壊するデフォルトの破壊APIとして提
供される。
【0035】UN_REGISTER_CALL_BA
CK APIは、アプリケーション・イベント・ハンド
ラの登録を抹消するために使用される。イベント・ハン
ドラが抹消されたとき、アプリケーションは非同期イベ
ント通知を受け取らない。
【0036】DESTAGE APIは、メディア・オ
ブジェクトをメディア・サーバからメディア・アーカイ
ブへ移す(すなわち、転送する)ために提供される。
【0037】GET_MEDIA_ATTRIBUTE
APIは、メディア・オブジェクトのメディア属性を
得るために提供される。
【0038】GET_MEDIA_STATUS AP
Iは、メディア・オブジェクトの状況を得るために提供
される。
【0039】LOAD APIは、現存するメディア・
オブジェクトをメディア・デバイスへコピーするために
提供される。メディア・オブジェクトは書き込みモード
でオープンされていなければならない。LOAD AP
Iは、その性質上非同期的である(すなわち、それはロ
ード動作を開始した後で戻る)。ロード関数の進行状態
は、GET_MEDIA_STATUS APIを呼び
出すことによって決定することができる。さらに、LO
AD APIの呼び出しはCLOSE APIを使用す
ることによってキャンセルすることができる。
【0040】READ APIは、メディア・オブジェ
クトのデータを読み出すために提供される。READ
APIを連続的に使用すると、その各々はメディア・オ
ブジェクト内の現在の位置から連続した所定数のバイト
を読み出す。READ APIを呼び出すためには、メ
ディア・オブジェクトはオープンされていなければなら
ない。
【0041】RETRIEVE APIは、メディア・
オブジェクトをメディア・サーバから検索するために提
供される。RETRIEVE APIはGET_MET
A_DATA APIと組み合わせて使用される。
【0042】SEEK APIは、メディア・オブジェ
クト内で現在のバイト位置を設定するために提供され
る。しかし、SEEK APIはREAD APIと組
み合わせてのみ使用することができる。したがって、そ
れは以下に説明するWRITEAPIと組み合わせて使
用することはできない。さらに、メディア・オブジェク
トは読み出しモードでオープンされていなければならな
い。
【0043】SET_MEDIA_ATTRIBUTE
S APIは、メディア・オブジェクトのメディア属性
を設定するために提供される。しかし、SET_MED
IA_ATTRIBUTES APIを呼び出すために
は、メディア・オブジェクトは書き込みモードでオープ
ンされていなければならない。
【0044】WRITE APIは、データをメディア
・オブジェクトへ書き込むために使用される。WRIT
E APIを連続的に使用すると、その各々はメディア
・オブジェクトへ連続した所定数のバイトを書き込む。
しかし、WRITE APIを使用するためには、メデ
ィア・オブジェクトはオープンされていなければならな
い。
【0045】使用されるメディア・デバイスのタイプに
従って、前記の個別APIの或るものは、多数のアクシ
ョンへ変換される必要があり、それらのアクションは前
記の個別APIの他の或るものを使用する。たとえば、
LOAD APIは、OPEN API、COPY_M
EDIA API、SET_MEDIA_ATTRIB
UTE API、およびCLOSE APIを使用しな
ければならない一群のアクションへ変換される。次に、
その一群のアクションは、特定のメディア・デバイス2
5に対応するデバイス・レベル・コマンドへ変換され
る。メディア・デバイス25の特定のハードウェア実施
に従って、これらのデバイス・レベル・コマンドは、一
群のアクションと関連して言及した個別APIに一対一
で対応する。したがって、LOAD APIに関連した
デバイス・レベル・コマンドは、前記の個別APIに対
応したOPENコマンド、COPYコマンド、少なくと
も1つのSET_ATTRIBUTEコマンド、および
CLOSEコマンドを含む。
【0046】以下に、図2を参照してメディア・マネー
ジャ5の動作を説明する。ステップ50で、高レベル・
コマンドが、目標のメディア・デバイスと共に要求アプ
リケーション8からメディア・マネージャ5によって受
け取られる。次のステップ55で、要求アプリケーショ
ン8によって与えられた情報に基づいて、ビデオ・サー
バ・タイプが、メディア・マネージャ5の高レベル・コ
マンド・プロセッサ10によって決定される。続いて、
ステップ60で、その特定のマシン・タイプに対する要
求が高レベル・コマンド・プロセッサ10によって確認
される。
【0047】ステップ65で、高レベル・コマンドは高
レベル・コマンド・プロセッサ10によってデコードさ
れ、特定のアクション群へ細分される。ステップ70
で、特定のアクション群が実行される。次のステップ7
5で、デバイス特定コード・マッピング・モジュール1
5の1つによって、デバイス・レベル・コマンドが特定
のアクション群から生成される。次に、ステップ80
で、デバイス・レベル・コマンドがデバイス・インタフ
ェース20を通して、対応するメディア・デバイス25
へ出力される。
【0048】これから図3および図4を参照して、図1
に示された本発明のメディア・マネージャを組み込んだ
マルチメディア・データ記憶システムの例を説明する。
ここで、本発明の共通APIはディジタル・ライブラリ
環境で使用される。マルチメディア・データ記憶システ
ムはライブラリ・クライアント100、クライアント・
メディア出力ステーション110、ディジタル・ライブ
ラリ120、メディア・サーバ130、およびメディア
・アーカイブ140を含む。これらはコンピュータをベ
ースとしたシステム内で実施される。以下に、ライブラ
リ・クライアント100とディジタル・ライブラリ12
0との関係を、図4を参照して詳細に説明する。図4は
ディジタル・ライブラリ120の内部要素も示してい
る。さらに、ディジタル・ライブラリ120の内部構造
は、前記の米国特許第5,649,185号に説明され
ている。
【0049】図4に示されているように、ディジタル・
ライブラリ120は、ライブラリ・サーバ210および
ライブラリ・クライアント100と交信する少なくとも
1つのメディア・オブジェクト・サーバ220を含む。
さらに、通信アイソレータがディジタル・ライブラリ内
に設けられる。通信アイソレータによって、ライブラリ
・サーバ210、メディア・オブジェクト・サーバ22
0、およびライブラリ・クライアント100は、複雑な
通信プロトコルを考慮に入れることなく相互に通信する
ことができる。ライブラリ・サーバ210、メディア・
オブジェクト・サーバ220、およびライブラリ・クラ
イアント100は、ローカル・エリア・ネットワーク
(LAN)または広域ネットワーク(WAN)のような
通信ネットワークによって接続されている。
【0050】メディア・オブジェクト・サーバ220お
よびライブラリ・クライアント100は、それらのプラ
ットフォーム上で稼働しているアプリケーションによっ
て生成されたコマンドをメディア・サーバ130へ出力
するが、それらのコマンドは、それらを受け取る特定の
メディア・サーバ130を制御するためにデバイス・レ
ベル・コマンドへ変換されなければならない。したがっ
て、コマンドは、メディア・マネージャ5内に組み込ま
れた共通APIを通してメディア・サーバ130へ転送
される。図4では、メディア・マネージャ5はメディア
・オブジェクト・サーバ220内に含まれるように示さ
れているが、メディア・マネージャ5はメディア・サー
バ130の中に含ませることができる。
【0051】前述したように、共通アプリケーション・
プログラム・インタフェースによって、メディア・オブ
ジェクト・サーバ220は異なった動作特性を有するメ
ディア・サーバ130と交信することができる。インタ
フェースは、メディア・オブジェクト・サーバ220ま
たはライブラリ・クライアント100上で稼働している
アプリケーションによって生成された総称命令または総
称コマンドを、特定のメディア・サーバ130へ出力さ
れるデバイス・レベル・コマンドへマップされる特定の
アクション群へ変換することによって、この目的を達成
する。このようにして、共通アプリケーション・プログ
ラム・インタフェースは、アプリケーションが、特定の
メディア・サーバ130のためのコマンドを生成するた
めに、そのメディア・サーバ130の特異性を考慮する
必要がないように保証している。
【0052】さらに、前述したように、アプリケーショ
ンは、メディア・サーバ130内に記憶されたオブジェ
クトに関する情報を得るために、CONTENTクラス
のメンバー関数を通してメディア・サーバ130の各々
と交信することができる。
【0053】通常、前記の個別APIは、要求(リクエ
スト)と組み合わせて使用される。要求は、メディア・
オブジェクトを記憶し、検索し、更新するためにライブ
ラリ・クライアント100によってライブラリ・サーバ
210へ送られる。以下に、メディア・オブジェクトを
マルチメディア・データ記憶システム内に記憶し、検索
し、更新する方法について詳細に説明する。
【0054】特定のメディア・オブジェクトを検索また
は更新する要求がライブラリ・クライアント100によ
って生成されたとき、ライブラリ・サーバ210は、マ
ルチメディア・データ記憶システム内に記憶されたメデ
ィア・オブジェクトの索引を探索することによって、そ
のメディア・オブジェクトがシステム内に置かれている
かどうかを決定する。
【0055】一度、メディア・オブジェクトはマルチメ
ディア・データ記憶システム内に記憶されていること
を、ライブラリ・サーバ210が決定すると、それはメ
ディア・オブジェクトの物理位置に対する制御を保持し
ているメディア・オブジェクト・サーバ220へ要求を
渡す。メディア・オブジェクトは、メディア・オブジェ
クト・サーバ220それ自身の中に記憶されていてもよ
く、またメディア・オブジェクト・サーバ220に関連
したメディア・サーバ130またはメディア・アーカイ
ブ140の中に記憶されていてもよい。要求を渡した後
で、ライブラリ・サーバ210は、要求を反映するため
に、それが接続されているライブラリ・カタログ212
内に記憶されているメディア・オブジェクトの索引およ
び記述情報を更新する。
【0056】メディア・オブジェクトを検索または更新
する要求を受け取った後で、メディア・オブジェクト・
サーバ220は、その要求内に含まれた識別子に基づい
てメディア・オブジェクトの特定のタイプ(すなわち、
オーディオ・ファイルまたはビデオ・ファイル)を識別
する。その後で、メディア・オブジェクト・サーバ22
0は、そのメディア・オブジェクトがローカルのオブジ
ェクト記憶装置222内に置かれているのか、またはメ
ディア・アーカイブ140もしくはメディア・サーバ1
30の1つの遠隔位置に置かれているのかを識別する。
【0057】メディア・オブジェクト・サーバ220
が、そのメディア・オブジェクトがメディア・アーカイ
ブ140内に置かれているものと決定すると、メディア
・オブジェクトのタイプに従って、メディア・オブジェ
クト・サーバ220は、メディア・マネージャ5を通し
てメディア・アーカイブ140へコマンドを出力する。
このコマンドは、メディア・オブジェクトを適当なメデ
ィア・サーバ130へ転送するようにメディア・アーカ
イブ140へ命令する。
【0058】その後で、メディア・オブジェクトを受け
取ったメディア・サーバ130は、メディア・オブジェ
クト・サーバ220からメディア・マネージャ5を通し
てコマンドを受け取ると、直ちにメディア・オブジェク
トをクライアント・メディア出力ステーション110へ
出力する。たとえば、クライアント・メディア出力ステ
ーション110はビデオ・ディスプレイ(テレビ、放送
モニタ、またはCRTもしくはフラット・パネル・ディ
スプレイを含むコンピュータ・モニタなど)であっても
よい。
【0059】代替の方式では、一度メディア・オブジェ
クトがメディア・サーバ130内に記憶されると、メデ
ィア・オブジェクト・サーバ220は、そのメディア・
オブジェクトに関する制御情報をライブラリ・クライア
ント100へ渡す。次に、ライブラリ・クライアント1
00は、そのメディア・オブジェクトをクライアント・
メディア出力ステーション110へ出力するように、メ
ディア・マネージャ5を通してメディア・サーバ130
へ命令する。たとえば、メディア・オブジェクトは非同
期転送モード(ATM)をベースとしたビデオ・ストリ
ームとして出力される。さらに、クライアント・メディ
ア出力ステーション110は、ライブラリ・クライアン
ト100とは別個に設けられるか、ライブラリ・クライ
アント100の中に設けることができる。
【0060】メディア・オブジェクトがマルチメディア
・データ記憶システムの中へ記憶またはロードされるこ
とをライブラリ・クライアント100が要求する場合、
ライブラリ・サーバ210は、そのメディア・オブジェ
クトに関する索引情報をカタログする。続いて、ライブ
ラリ・サーバ210は、メディア・オブジェクト・サー
バ220がそのメディア・オブジェクトに対応する制御
情報を記憶すべきことを要求する。その後で、メディア
・オブジェクト・サーバ220は、メディア・マネージ
ャ5を通してメディア・サーバ130へコマンドを出
す。そのコマンドに応答して、メディア・サーバ130
はメディア・オブジェクトをライブラリ・クライアント
100からそれ自身へロードする。したがって、ライブ
ラリ・クライアント100はそのメディア・オブジェク
トをメディア・サーバ130へ転送して、ロード処理を
完了する。
【0061】前記のマルチメディア・データ記憶システ
ムはディジタル・ライブラリとの関連で説明されたが、
本発明のメディア管理方式は、異なった構成のマルチメ
ディア・データ記憶システム内で使用することができ
る。さらに、前記の開示および教示から、本発明のメデ
ィア管理方式に対して他の修正および変更が可能である
ことは、当業者に明らかである。したがって、本発明の
或る実施例のみが詳細に説明されたが、本発明の趣旨と
範囲から逸脱することなく、この実施例に対して多くの
変更を施すことが可能であることは明らかであろう。
【0062】サーバ・クラス・メンバ機能 CLOSE オープンされたメディア・オブジェクトをクローズし、
CONTENTクラスのインスタンスを破壊する。 パラメータ:CONTENTクラスのインスタンスを示
すインディケータ。 戻りコード:第1のコードは、動作が成功裏に実行され
たかどうかを示す。第2のコードは、メディア・サーバ
がエラーを報告したかどうかを示す。第3のコードは、
動作が失敗したかどうかを示す。
【0063】CLOSE_SESSION オープンされたセッションをクローズする。そのセッシ
ョンへ割り振られたすべてのリソースは解放される。 パラメータ:なし 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、無効なメデ
ィア・グループが指定されたことを示す。第4のコード
は、メディア・サーバを確定できないことを示す。第5
のコードは、動作が失敗したことを示す。
【0064】COPY_MEDIA メディア・オブジェクトを1つのメディア・サーバから
他の1つまたは複数のメディア・サーバへコピーする。
コピー動作には時間がかかる可能性があるので、COP
Y_MEDIAメンバー関数は非同期的に働く。すなわ
ち、それは、コピー動作を開始した後で戻される。コピ
ー動作の進行状態は、GET_MEDIA_STATU
Sメンバー関数を呼び出すことによって決定することが
できる。コピー動作は、CLOSEメンバー関数を呼び
出すことによってキャンセルすることができる。 パラメータ:メディア名を示すインディケータ。コピー
動作が開始されるバイト・オフセットを示すインディケ
ータ。コピー動作が終了するバイト・オフセットを示す
インディケータ。メディア・オブジェクトの終わりを示
すために、ゼロ値を指定することができる。MEDIA
_LOCATION構造のアレイを示すインディケー
タ。各MEDIA_LOCATION構造は、特定のコ
ピー動作のために1つの目標位置を指定する。MEDI
A_LOCATION構造は、その構造のサイズ、ユー
ザの数、メディア・サーバ名、メディア・グループ名、
およびメディア・オブジェクト名を示す。メディア・オ
ブジェクトがコピーされる位置の数。CONTENTイ
ンスタンス・ポインタを示すインディケータ。 戻りコード:第1のコードは、動作が成功裏に実行され
たことを示す。第2のコードは、メディア・サーバがエ
ラーを報告したことを示す。第3のコードは、メディア
名が無効であることを示す。第4のコードは、無効なメ
ディア・グループ(すなわち、メディア・オブジェクト
のグループ)が指定されたことを示す。第5のコード
は、指定されたメディア名が見つからないことを示す。
第6のコードは、コピー動作が失敗したことを示す。
【0065】DELETE メディア・オブジェクトをメディア・サーバから除去す
る。 パラメータ:メディア名を示すインディケータ。メディ
ア・オブジェクトを削除する条件。たとえば、このパラ
メータは、メディア・オブジェクトが、すべてのリソー
スが非アクティブのときだけ削除されることを指定す
る。他方、このパラメータは、資産が利用できない旨を
マークし、メディア・オブジェクトが使用されなくなる
まで削除を遅らせる。 戻りコード:第1のコードは、動作が成功裏に実行され
たことを示す。第2のコードは、メディア・サーバがエ
ラーを報告したことを示す。第3のコードは、指定され
たメディア名が見つからなかったことを示す。第4のコ
ードは、指定されたメディア・オブジェクトが使用され
ていることを示す。第5のコードは、指定されたメディ
ア名が無効であることを示す。第6のコードは、削除動
作が失敗したことを示す。
【0066】EVENT_HANDLER 非同期イベントのために制御を条件的に受け取る。RE
GISTER_CALL_BACKメンバー関数を用い
て設定されるイベント・マスクによって、指定されたイ
ベントをEVENT_HANDLERメンバー関数へ渡
すことができる。 パラメータ:イベント構造を示すインディケータ。たと
えば、イベント構造は、そのイベント構造のサイズ、イ
ベント・タイプ、メディア・イベント、およびエラー・
イベントを指定する。メディア・イベント構造はCON
TENTクラスを示すインディケータ、イベント・タイ
プ、特定の位置またはファイル・アレイへの索引を指定
する。エラー・イベント構造は、エラーの発生に関連し
た特定のイベントを指定する。イベントとは、メディア
・サーバによってメディア・マネージャへ送られる非同
期メッセージである。 戻りコード:このメンバー関数は戻りのタイプを有しな
い。
【0067】GET_EVENT_MASK 現在のイベント・マスクを戻す。 パラメータ:イベント・マスクを示すインディケータ。 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、イベント・マスクが定義
されていないことを示す。
【0068】GET_META_DATA メタデータ・ファイルを作成して戻す。 パラメータ:メディア名を示すインディケータ。再生が
自動的に始まるか、再生アクションまで遅延されるかを
示す値。ユーザ・データのサイズ。ユーザ定義データ値
を示すインディケータ。状況情報を受け取るMEDIA
_STATUS構造を示すインディケータ。MEDIA
_STATUS構造は、その構造のサイズ、現在の長さ
(バイト数)、メディアのコピー速度、メディアのオー
プン・モード、作成日、最新変更日、および最新アクセ
ス日を指定する。メタデータ情報を受け取るバッファを
示すインディケータ。バッファのサイズ。 戻りコード:第1のコードは、動作が成功裏に実行され
たかどうかを示す。第2のコードは、メディア・サーバ
がエラーを報告したことを示す。第3のコードは、指定
されたメディア名が無効であるかどうかを示す。第4の
コードは、指定されたメディア名が有効であるかどうか
を示す。第5のコードは、指定されたメディア名が見つ
からなかったことを示す。第6のコードは、動作が失敗
したことを示す。第7のコードは、動作に対するディス
ク帯域幅が不十分であることを示す。第8のコードは、
無効なメディア・グループが指定されたことを示す。第
9のコードは、動作が、指定されたメディア・サーバ上
で使用できないことを示す。
【0069】GET_MEDIA_STATUS メディア・オブジェクトの状況を得る。 パラメータ:メディア名を示すインディケータ。状況情
報を受け取るために使用されるMEDIA_STATU
S構造のインディケータ。MEDIA_STATUS構
造は、その構造のサイズ、メディア・オブジェクトの現
在の長さ(バイト数)、メディアのコピー速度、メディ
アのオープン・モード、メディア・オブジェクトの作成
日、メディア・オブジェクトの最新変更日、およびメデ
ィア・オブジェクトの最新アクセス日を指定する。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、指
定されたメディア名が無効であるかどうかを示す。第4
のコードは、動作が失敗したかどうかを示す。
【0070】INIT_SERVER メディア・マネージャのクライアント・ライブラリを初
期設定する。このメンバー関数は、アプリケーションが
他のメディア・マネージャ・サービスを要求する前に出
す最初の呼び出しでなければならない。 パラメータ:メディア・マネージャによってサポートさ
れるセッションの最大数。現在のバージョンを示すイン
ディケータ。 戻りコード:第1のコードは、動作が成功裏に実行され
たかどうかを示す。第2のコードは、それ以上のリソー
スが利用できないことを示す。第3のコードは、動作が
失敗したことを示す。
【0071】LIST_MEDIA_GROUPS 構成されたメディア・グループ名のリストを得る。 パラメータ:メディア・グループの名前とタイプを指定
するMEDIA_GROUP_ATTRIBUTES構
造のアレイを示すインディケータ。メディア・グループ
の名前は可変長ストリングである。メディア・グループ
のタイプはデフォルトおよび現在のメディア・グループ
を含む。グループ・アレイのサイズ(バイト数)を示す
インディケータ。 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、メディア・
サーバを確定できないことを示す。第4のコードは、動
作が失敗したことを示す。
【0072】LIST_MEDIA_NAMES メディア・グループに関連したメディア名のリストを得
る。 パラメータ:メディア・グループ名を示すインディケー
タ。メディア名のバッファを指定するインディケータ。
バッファ内の各メディア名は可変長ストリングである。
バッファ中に戻されるエントリーの数を示すインディケ
ータ。バッファ・サイズを示すインディケータ。メディ
ア名のリストの開始点である位置を示すインディケー
タ。 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、動作が失敗
したことを示す。
【0073】OPEN CONTENTクラスのインスタンスを戻す。このイン
スタンスは、後続の呼び出しでメディア・オブジェクト
からデータを読み出すか書き込むために使用される。 パラメータ:メディア名を示すインディケータ。読み出
しモードまたは書き込みモードの動作に対応する動作モ
ード。このパラメータと共に指定することのできるオプ
ションがいくつか存在する。すなわち、メディア・オブ
ジェクトが排他的使用のために提供されているかどうか
の表示を与えることができる。さらに、メディア・オブ
ジェクトがすでに存在していない場合に、それを作成す
べきことの表示を与えることができる。さらに、メディ
ア・オブジェクトから内容が省略されるべきかどうかの
表示を与えることができる。さらに、メディア・オブジ
ェクトの終わりの位置の表示を与えることができる。メ
ディア・オブジェクトが読み出されたり書き込まれる速
度(ビット/秒)。CONTENTクラスのインスタン
スへのポインタの位置。 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、指定された
メディア名が見つからなかったことを示す。第4のコー
ドは、無効なモードが指定されたことを示す。第5のコ
ードは、無効なコピー速度が指定されたことを示す。第
6のコードは、メディア・オブジェクトを共用できない
ことを示す。第7のコードは、特定のメディア・オブジ
ェクトが使用されているため、排他的使用の要求が拒否
されたことを示す。第8のコードは、メディア名がすで
に存在していることを示す。第9のコードは、動作が失
敗したことを示す。
【0074】OPEN_SESSION アプリケーションからメディア・サーバへのセッション
をオープンする。 パラメータ:セッションを確立するメディア・サーバの
ホスト名。メディア・グループの名前。 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、動作が失敗
したことを示す。第4のコードは、メディア・サーバを
確定できないことを示す。第5のコードは、無効なメデ
ィア・グループが指定されたことを示す。第6のコード
は、無効なサーバ名が指定されたことを示す。
【0075】REGISTER_CALL_BACK アプリケーション・イベント・ハンドラをメディア・マ
ネージャに登録する。一度登録されると、アプリケーシ
ョンは必要なときにメディア・サーバから非同期イベン
ト通知を受け取ることができる。 パラメータ:EVENT_HANDLERメソッド関数
へ送られるイベントを選択するために使用されるイベン
ト・マスク(すなわち、ビット・マスク)。イベント・
マスクは、次のイベント・マスクを含む論理動作を使用
して作成される。第1のイベント・マスクは、ポートの
状態変化を示す。第2のイベント・マスクは、メディア
・オブジェクトの状態変化を示す。第3のイベント・マ
スクは、エラーが生じたことを示す。第4のイベント・
マスクは、メディア・ストリームの状態変化を示す。第
5のイベント・マスクは、イベントの報告を示す。 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、無効なイベ
ント・タイプが指定されたことを示す。第4のコード
は、動作が失敗したことを示す。
【0076】C_SERVER 特定のメディア・サーバ・タイプに対してSERVER
クラスのインスタンスを作成する作成関数として動作す
る。 パラメータ:SERVERクラスのインスタンス内で作
成されるサポート・レベル。 戻りコード:なし
【0077】D_SERVER SERVERクラスのインスタンスに関して破壊関数と
して動作する。 パラメータ:なし 戻りコード:なし
【0078】UN_REGISTER_CALL_BA
CK アプリケーション・イベント・ハンドラの登録を抹消す
る。イベント・ハンドラが抹消されたとき、アプリケー
ションは非同期イベント通知を受け取らない。 パラメータ:なし 戻りコード:第1のコードは、動作が成功裏に完了した
ことを示す。第2のコードは、メディア・サーバがエラ
ーを報告したことを示す。第3のコードは、セッション
・ハンドラが破壊されたことを示す。第4のコードは、
動作が失敗したことを示す。
【0079】DESTAGE メディア・オブジェクトをメディア・サーバからメディ
ア・アーカイブへ転送する。このメンバー関数は他のメ
ンバー関数に依存する。特に、このメンバー関数は、メ
ディア・オブジェクトが存在する場合に、メディア・ア
ーカイブからそのメディア・オブジェクトを削除するD
ELETEメンバー関数を呼び出し、続いて、そのメデ
ィア・オブジェクトをビデオ・アーカイブへ渡すCOP
Y関数を呼び出す。
【0080】GET_MEDIA_ATTRIBUTE 指定されたメディア・オブジェクトのメディア属性を得
る。 パラメータ:MEDIA_ATTRIBUTES構造を
示すインディケータ。MEDIA_ATTRIBUTE
S構造は、その構造のサイズ、再生速度(フレーム/
秒)、再生速度(ビット/秒)、ユーザの予想数、メデ
ィア・オブジェクトのタイプ、および再生中のメディア
・オブジェクトの継続時間を指定する。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、動
作が失敗したかどうかを示す。
【0081】GET_MEDIA_STATUS メディア・オブジェクトの状況を得る。 パラメータ:状況情報を受け取るMEDIA_STAT
US構造を示すインディケータ。MEDIA_STAT
US構造は、その構造のサイズ、現在の長さ(バイト
数)、メディアのコピー速度、メディアのオープン・モ
ード、作成日、メディア・オブジェクトが最後に変更さ
れた日付、メディア・オブジェクトが最後にアクセスさ
れた日付を指定する。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、動
作が失敗したかどうかを示す。
【0082】LOAD 現存するメディア・オブジェクトをクライアントからメ
ディア・サーバへコピーする。メディア・オブジェクト
は書き込みモードでオープンされていなければならな
い。このメンバー関数は非同期関数である。すなわち、
それはロード動作を開始した後で戻る。このメンバー関
数の進行状態は、GET_MEDIA_STATUSメ
ンバー関数を呼び出すことによって決定することができ
る。しかし、その動作はCLOSEメンバー関数を呼び
出すことによってキャンセルすることができる。 パラメータ:MEDIA_ATTRIBUTES構造を
示すインディケータ。MEDIA_ATTRIBUTE
S構造は、その構造のサイズ、メディア・オブジェクト
のタイプ、再生中のメディア・オブジェクトの継続時
間、再生速度(フレーム/秒)、再生速度(ビット/
秒)、ユーザの予想数、およびメディア・オブジェクト
の名前を定義する。メディア・オブジェクトが転送され
るホスト名。ホスト名パラメータによって指定されたホ
ストのユーザID。ユーザIDパラメータによって指定
されたユーザIDのパスワード。ファイル名アレイ。ア
レイ中のすべてのファイルを結合して、単一のメディア
・オブジェクトを形成することができる。それによっ
て、非常に大きなメディア・オブジェクトを作成するこ
とができるが、特定のメディア・サーバは非常に大きな
ファイルをサポートしない。ファイル名アレイ中のファ
イル名の数。状況情報を受け取るために使用されるME
DIA_STATUS構造を示すインディケータ。ME
DIA_STATUSは、その構造のサイズ、現在の長
さ(バイト数)、メディア・オブジェクトのコピー速
度、メディア・オブジェクトのオープン・モード、メデ
ィア・オブジェクトの作成日、メディア・オブジェクト
が最後に変更された日付、およびメディア・オブジェク
トが最後にアクセスされた日付を指定する。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、無
効なメディア・サーバ名が指定されたことを示す。第4
のコードは、無効なサーバ名が指定されたことを示す。
第5のコードは、動作が失敗したことを示す。第6のコ
ードは、メディア・サーバ中のスペースが十分でないこ
とを示す。第7のコードは、メディア・サーバ中のディ
スク帯域幅が十分でないことを示す。
【0083】READ 指定されたメディア・オブジェクトのデータを読み出
す。このメンバー関数を連続的に呼び出すと、その各々
は現在の位置から連続した所定数のバイトを読み出す。
メディア・オブジェクトは、このメンバー関数を呼び出
すためには、読み出しモードでオープンされていなけれ
ばならない。 パラメータ:データが転送されるポインタを示すインデ
ィケータ。読み出されるバイトの数。実際に読み出され
たバイトの数。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、動
作が失敗したことを示す。
【0084】RETRIEVE メディア・オブジェクトをメディア・サーバから検索す
る。このメンバー関数は他のメンバー関数を呼び出す。
特に、メディア・オブジェクトがメディア・サーバ中に
まだ記憶されていない場合、COPYメンバー関数が呼
び出される。続いて、メタデータ情報を検索するため
に、GET_META_DATAメンバー関数が呼び出
される。
【0085】SEEK 現在のバイト位置をメディア・オブジェクト内で設定す
る。このメンバー関数は、READメンバー関数と組み
合わせたときだけ働く。動作を開始するためには、メデ
ィア・オブジェクトは読み出しモードでオープンされて
いなければならない。それは書き込み動作中では効果を
もたない。 パラメータ:オフセット・パラメータがどのように使用
されるかを示すインディケータ。次のサポート・オプシ
ョンも指定することができる。第1のサポート・オプシ
ョンは、メディアのバイト位置をオフセット・パラメー
タの値へ設定する。第2のサポート・オプションは、メ
ディアのバイト位置を、その現在の位置プラスオフセッ
ト・パラメータへ設定する。第3のサポート・オプショ
ンは、メディアのバイト位置をメディアの終わりへ設定
する。読み出されているメディア・オブジェクトへのバ
イト・オフセットを示すインディケータ。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、動
作が失敗したことを示す。
【0086】SET_MEDIA_ATTRIBUTE メディア・オブジェクトのメディア属性を設定する。こ
のメンバー関数を使用するためには、メディア・オブジ
ェクトは書き込みモードでオープンされていなければな
らない。 パラメータ:MEDIA_ATTRIBUTES構造を
示すインディケータ。MEDIA_ATTRIBUTE
S構造は、その構造のサイズ、属性フラグ、メディア・
オブジェクトのタイプ、メディア・オブジェクトの継続
時間、再生速度(フレーム/秒)、再生速度(ビット/
秒)、ユーザの予想数、およびメディア・オブジェクト
の名前を指定する。属性フラグは、基本の属性フラグの
組み合わせを使用して作成されたビット・マスクであ
る。基本の属性フラグは、構造中のどの値が設定されて
いるかを指定する。基本の資産属性フラグは、メディア
・オブジェクトの名前、メディア・オブジェクトのタイ
プ、メディア・オブジェクトの継続時間、メディア・オ
ブジェクトのフレーム速度、メディア・オブジェクトの
ビット速度、ユーザの予想数、およびメディア・オブジ
ェクトのすべての属性を設定する。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、動
作が失敗したことを示す。
【0087】WRITE データをメディア・オブジェクトへ書き込む。このメン
バー関数を連続的に呼び出すと、その各々は連続した所
定数のバイトを書き込む。メディアは書き込みモードで
オープンされていなければならない。 パラメータ:データが書き込まれるポインタを示すイン
ディケータ。書き込まれるバイトの数。実際に書き込ま
れたバイトの数。 戻りコード:第1のコードは、動作が成功裏に完了した
かどうかを示す。第2のコードは、メディア・サーバが
エラーを報告したかどうかを示す。第3のコードは、動
作が失敗したことを示す。
【0088】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)高レベルの総称コマンドを、複数のメディア・デ
バイスへ出力されるデバイス・レベルのコマンドへ変換
するアプリケーション・プログラム・インタフェース
(API)を組み込んだメディア・マネージャであっ
て、高レベルの総称コマンドをデコードする高レベル・
コマンド・プロセッサと、高レベルの総称コマンドを、
前記高レベル・コマンド・プロセッサによってデバイス
・レベルのコマンドへ変換する複数のデバイス特定コー
ド・マッピング・モジュールとを備え、デバイス・レベ
ルのコマンドの各々が、複数の前記デバイス特定コード
・マッピング・モジュールの1つから複数のメディア・
デバイスの対応する1つへ出力されるようにした、メデ
ィア・マネージャ。 (2)前記高レベル・コマンド・プロセッサが、共通A
PIに対応する複数の個別APIを含み、前記個別AP
Iの各々が特定の関数を処理する、上記(1)に記載の
メディア・マネージャ。 (3)複数の前記デバイス特定コード・マッピング・モ
ジュールから出力されたデバイス・レベル・コマンドの
各々を受け取り、前記デバイス・レベル・コマンドの各
々を複数のメディア・デバイスの対応する1つへ出力す
るデバイス・インタフェースを含む、上記(1)に記載
のメディア・マネージャ。 (4)前記メディア・デバイスの各々がメディア・アー
カイブおよび少なくとも1つのメディア・サーバを含
み、前記メディア・デバイスの各々がメディア・オブジ
ェクトを記憶している、上記(2)に記載のメディア・
マネージャ。 (5)前記メディア・アーカイブおよびメディア・サー
バが、ディジタル・ライブラリを含むマルチメディア・
データ記憶システムに含まれている、上記(4)に記載
のメディア・マネージャ。 (6)前記個別APIが、メディア・サーバを表すオブ
ジェクトおよびメディア・オブジェクトの物理フォーマ
ットの論理記述を表すオブジェクトを定義するクラスに
関連したメンバー関数を表している、上記(4)に記載
のメディア・マネージャ。 (7)複数の前記デバイス特定コード・マッピング・モ
ジュールが、高レベルの総称コマンドを特定のアクショ
ンへ変換し、該特定のアクションをデバイス・レベルの
コマンドへ変換する、上記(1)に記載のメディア・マ
ネージャ。 (8)複数のメディア・デバイスのためにアプリケーシ
ョン・プログラム・インタフェース(API)を実施す
る方法であって、複数の高レベルの総称コマンドをコン
ピュータ・アプリケーションから受け取るステップと、
前記複数の高レベルの総称コマンドをデバイス・レベル
のコマンドへ変換するステップと、前記デバイス・レベ
ルのコマンドの各々をメディア・デバイスの1つへ出力
するステップとを含む、アプリケーション・プログラム
・インタフェースの実施方法。 (9)前記変換ステップが、それぞれ特定の関数を実行
する複数の個別APIを使用して前記複数の高レベルの
総称コマンドを変換するステップを含む、上記(8)に
記載のアプリケーション・プログラム・インタフェース
の実施方法。 (10)前記変換ステップが前記複数の高レベルの総称
コマンドを特定のアクションへ変換し、該特定のアクシ
ョンをデバイス・レベルのコマンドへ変換するステップ
を含む、上記(8)に記載のアプリケーション・プログ
ラム・インタフェースの実施方法。 (11)前記高レベルの総称コマンドの各々がメディア
・デバイスのタイプ識別子と共に受け取られ、前記変換
ステップの前に、メディア・デバイスのタイプがメディ
ア・デバイスの1つに対応するかどうかが決定され、前
記デバイス・レベルのコマンドの各々が、そのメディア
・デバイス・タイプの、複数のメディア・デバイスの対
応する1つへ出力される、上記(8)に記載のアプリケ
ーション・プログラム・インタフェースの実施方法。 (12)コンピュータ読み取り可能媒体を含むコンピュ
ータ・プログラム製品であって、高レベルの総称コマン
ドをデコードする手段と、前記高レベルの総称コマンド
をデバイス・レベルのコマンドへ変換する手段と、前記
デバイス・レベルのコマンドの各々を対応するメディア
・デバイスへ出力する手段とを備えた、コンピュータ・
プログラム製品。 (13)前記変換手段が前記高レベルの総称コマンドを
特定のアクションへ変換し、該特定のアクションをデバ
イス・レベルのコマンドへ変換する、上記(12)に記
載のコンピュータ・プログラム製品。 (14)コンピュータ・アプリケーションから受け取ら
れた高レベルの総称コマンドを、メディア・オブジェク
トを記憶するメディア・サーバを含む複数のメディア・
デバイスへ出力されるデバイス・レベルのコマンドへ変
換する共通アプリケーション・プログラム・インタフェ
ース(API)であって、それぞれが特定の関数を実行
する複数の個別APIを含む共通アプリケーション・プ
ログラム・インタフェース。 (15)前記複数の個別APIが、個別APIの第1お
よび第2のグループから構成され、個別APIの第1の
グループは、メディア・サーバを表すクラス定義オブジ
ェクトに関連したメンバー関数の第1のグループに対応
し、個別APIの第2のグループは、メディア・オブジ
ェクトの物理フォーマットの論理記述を表すクラス定義
オブジェクトに関連したメンバー関数の第2のグループ
に対応している、上記(14)に記載の共通アプリケー
ション・プログラム・インタフェース。 (16)前記個別APIの第1のグループが、オープン
されたメディア・オブジェクトをクローズするCLOS
E APIを含む、上記(15)に記載の共通アプリケ
ーション・プログラム・インタフェース。 (17)前記個別APIの第1のグループが、オープン
されたセッションをクローズするCLOSE_SESS
ION APIを含む、上記(15)に記載の共通アプ
リケーション・プログラム・インタフェース。 (18)前記個別APIの第1のグループが、メディア
・サーバの1つからメディア・サーバの他の1つへメデ
ィア・オブジェクトをコピーするCOPY_MEDIA
APIを含む、上記(15)に記載の共通アプリケー
ション・プログラム・インタフェース。 (19)前記個別APIの第1のグループが、複数のメ
ディア・サーバの1つからメディア・オブジェクトを除
去するDELETE APIを含む、上記(15)に記
載の共通アプリケーション・プログラム・インタフェー
ス。 (20)前記個別APIの第1のグループが、非同期イ
ベントを処理する制御を条件的に受け取るEVENT_
HANDLER APIを含む、上記(15)に記載の
共通アプリケーション・プログラム・インタフェース。 (21)前記個別APIの第1のグループが、現在のイ
ベント・マスクを戻すEVENT_MASK APIを
含む、上記(15)に記載の共通アプリケーション・プ
ログラム・インタフェース。 (22)前記個別APIの第1のグループが、メタ・デ
ータ・ファイルを作成して戻すGET_META_DA
TA APIを含む、上記(15)に記載の共通アプリ
ケーション・プログラム・インタフェース。 (23)前記個別APIの第1のグループが、メディア
・オブジェクトの状況を得るGET_MEDIA_ST
ATUS APIを含む、上記(15)に記載の共通ア
プリケーション・プログラム・インタフェース。 (24)前記個別APIの第1のグループが、共通AP
Iを含むメディア・マネージャのクライアント・ライブ
ラリを初期設定するINIT_SERVER APIを
含む、上記(15)に記載の共通アプリケーション・プ
ログラム・インタフェース。 (25)前記個別APIの第1のグループが、メディア
・オブジェクトの構成されたグループに対応する名前の
リストを得るLIST_MEDIA_GROUPS A
PIを含む、上記(15)に記載の共通アプリケーショ
ン・プログラム・インタフェース。 (26)前記個別APIの第1のグループが、メディア
・オブジェクトの特定のメディア・グループに関連した
メディア・オブジェクトの名前のリストを得るLIST
_MEDIA_NAMES APIを含む、上記(1
5)に記載の共通アプリケーション・プログラム・イン
タフェース。 (27)前記個別APIの第1のグループが、第2のク
ラスのインスタンスを戻すOPEN APIを含み、前
記インスタンスがメディア・オブジェクトからデータを
読み出すか書き込むために使用される、上記(15)に
記載の共通アプリケーション・プログラム・インタフェ
ース。 (28)前記個別APIの第1のグループが、メディア
・サーバの1つへセッションをオーブンするOPEN_
SESSION APIを含む、上記(15)に記載の
共通アプリケーション・プログラム・インタフェース。 (29)前記個別APIの第1のグループが、共通アプ
リケーション・プログラム・インタフェースに対応する
メディア・マネージャにEVENT_HANDLER
APIを登録するREGISTER_CALL_BAC
K APIを含む、上記(20)に記載の共通アプリケ
ーション・プログラム・インタフェース。 (30)前記個別APIの第1のグループが、メディア
・サーバの少なくとも1つに対応するメディア・サーバ
・タイプのために第1のクラスのインスタンスを作成す
る作成APIであるC_SERVER APIを含む、
上記(15)に記載の共通アプリケーション・プログラ
ム・インタフェース。 (31)前記個別APIの第1のグループが、メディア
・サーバの少なくとも1つに対応する特定のメディア・
サーバ・タイプのために第1のクラスのインスタンスを
破壊するデフォルトの破壊APIであるD_SERVE
R APIを含む、上記(15)に記載の共通アプリケ
ーション・プログラム・インタフェース。 (32)前記個別APIの第1のグループが、アプリケ
ーション・イベント・ハンドラの登録を抹消するUN_
REGISTER_CALL_BACK APIを含
む、上記(20)に記載の共通アプリケーション・プロ
グラム・インタフェース。 (33)前記個別APIの第2のグループが、メディア
・サーバの1つからメディア・アーカイブへメディア・
オブジェクトを転送するDESTAGE APIを含
む、上記(15)に記載の共通アプリケーション・プロ
グラム・インタフェース。 (34)前記個別APIの第2のグループが、メディア
・オブジェクトのメディア属性を得るGET_MEDI
A_ATTRIBUTE APIを含む、上記(15)
に記載の共通アプリケーション・プログラム・インタフ
ェース。 (35)前記個別APIの第2のグループが、メディア
・オブジェクトの状況を得るGET_MEDIA_ST
ATUS APIを含む、上記(15)に記載の共通ア
プリケーション・プログラム・インタフェース。 (36)前記個別APIの第2のグループが、、現存す
るメディア・オブジェクトをメディア・デバイスへコピ
ーするLOAD APIを含む、上記(15)に記載の
共通アプリケーション・プログラム・インタフェース。 (37)前記個別APIの第2のグループが、メディア
・オブジェクトのデータを読み出すREAD APIを
含む、上記(15)に記載の共通アプリケーション・プ
ログラム・インタフェース。 (38)前記個別APIの第2のグループが、メディア
・サーバの1つからメディア・オブジェクトを検索する
RETRIEVE APIを含む、上記(15)に記載
の共通アプリケーション・プログラム・インタフェー
ス。 (39)前記個別APIの第2のグループが、メディア
・オブジェクト内で現在のバイト位置を設定するSEE
K APIを含む、上記(15)に記載の共通アプリケ
ーション・プログラム・インタフェース。 (40)前記個別APIの第2のグループが、メディア
・オブジェクトのメディア属性を設定するSET_ME
DIA_ATTRIBUTES APIを含む、上記
(15)に記載の共通アプリケーション・プログラム・
インタフェース。 (41)前記個別APIの第2のグループが、データを
メディア・オブジェクトへ書き込むWRITE API
を含む、上記(15)に記載の共通アプリケーション・
プログラム・インタフェース。
【図面の簡単な説明】
【図1】本発明の共通アプリケーション・プログラム・
インタフェース(API)を組み込んだメディア・マネ
ージャを示す図である。
【図2】本発明のメディア・マネージャの動作に関連し
たフローチャートを示す図である。
【図3】本発明のメディア・マネージャを組み込んだマ
ルチメディア・データ記憶システムを示す図である。
【図4】図3に示されたマルチメディア・データ記憶シ
ステムのエレメントを示す図である。
【符号の説明】
5 メディア・マネージャ 8 要求アプリケーション 10 高レベル・コマンド・プロセッサ 15 デバイス特定コード・マッピング・モジュー
ル 20 デバイス・インタフェース 22 複数デバイス・レベル・インタフェース 25 メディア・デバイス 100 ライブラリ・クライアント 110 クライアント・メディア出力ステーション 120 ディジタル・ライブラリ 130 メディア・サーバ 140 メディア・アーカイブ 210 ライブラリ・サーバ 212 ライブラリ・カタログ 220 メディア・オブジェクト・サーバ 222 オブジェクト記憶装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジャラルド・エドワード・コヅィナ アメリカ合衆国95014、 カリフォルニア 州 クパーティノ ハンタートン・プレイ ス 1105 (72)発明者 トラム・タイ・マイ・グエン アメリカ合衆国95120、 カリフォルニア 州 サン・ノゼ キンドラ・ヒル・ドライ ブ 7087 (72)発明者 ジョージ・フランシス・シルヴァ アメリカ合衆国95076、 カリフォルニア 州 ワトソンヴィル ブリュウィントン・ アヴェニュー 206

Claims (41)

    【特許請求の範囲】
  1. 【請求項1】高レベルの総称コマンドを、複数のメディ
    ア・デバイスへ出力されるデバイス・レベルのコマンド
    へ変換するアプリケーション・プログラム・インタフェ
    ース(API)を組み込んだメディア・マネージャであ
    って、 高レベルの総称コマンドをデコードする高レベル・コマ
    ンド・プロセッサと、 高レベルの総称コマンドを、前記高レベル・コマンド・
    プロセッサによってデバイス・レベルのコマンドへ変換
    する複数のデバイス特定コード・マッピング・モジュー
    ルとを備え、 デバイス・レベルのコマンドの各々が、複数の前記デバ
    イス特定コード・マッピング・モジュールの1つから複
    数のメディア・デバイスの対応する1つへ出力されるよ
    うにした、 メディア・マネージャ。
  2. 【請求項2】前記高レベル・コマンド・プロセッサが、
    共通APIに対応する複数の個別APIを含み、前記個
    別APIの各々が特定の関数を処理する、請求項1に記
    載のメディア・マネージャ。
  3. 【請求項3】複数の前記デバイス特定コード・マッピン
    グ・モジュールから出力されたデバイス・レベル・コマ
    ンドの各々を受け取り、前記デバイス・レベル・コマン
    ドの各々を複数のメディア・デバイスの対応する1つへ
    出力するデバイス・インタフェースを含む、請求項1に
    記載のメディア・マネージャ。
  4. 【請求項4】前記メディア・デバイスの各々がメディア
    ・アーカイブおよび少なくとも1つのメディア・サーバ
    を含み、前記メディア・デバイスの各々がメディア・オ
    ブジェクトを記憶している、請求項2に記載のメディア
    ・マネージャ。
  5. 【請求項5】前記メディア・アーカイブおよびメディア
    ・サーバが、ディジタル・ライブラリを含むマルチメデ
    ィア・データ記憶システムに含まれている、請求項4に
    記載のメディア・マネージャ。
  6. 【請求項6】前記個別APIが、メディア・サーバを表
    すオブジェクトおよびメディア・オブジェクトの物理フ
    ォーマットの論理記述を表すオブジェクトを定義するク
    ラスに関連したメンバー関数を表している、請求項4に
    記載のメディア・マネージャ。
  7. 【請求項7】複数の前記デバイス特定コード・マッピン
    グ・モジュールが、高レベルの総称コマンドを特定のア
    クションへ変換し、該特定のアクションをデバイス・レ
    ベルのコマンドへ変換する、請求項1に記載のメディア
    ・マネージャ。
  8. 【請求項8】複数のメディア・デバイスのためにアプリ
    ケーション・プログラム・インタフェース(API)を
    実施する方法であって、 複数の高レベルの総称コマンドをコンピュータ・アプリ
    ケーションから受け取るステップと、 前記複数の高レベルの総称コマンドをデバイス・レベル
    のコマンドへ変換するステップと、 前記デバイス・レベルのコマンドの各々をメディア・デ
    バイスの1つへ出力するステップとを含む、 アプリケーション・プログラム・インタフェースの実施
    方法。
  9. 【請求項9】前記変換ステップが、それぞれ特定の関数
    を実行する複数の個別APIを使用して前記複数の高レ
    ベルの総称コマンドを変換するステップを含む、請求項
    8に記載のアプリケーション・プログラム・インタフェ
    ースの実施方法。
  10. 【請求項10】前記変換ステップが前記複数の高レベル
    の総称コマンドを特定のアクションへ変換し、該特定の
    アクションをデバイス・レベルのコマンドへ変換するス
    テップを含む、請求項8に記載のアプリケーション・プ
    ログラム・インタフェースの実施方法。
  11. 【請求項11】前記高レベルの総称コマンドの各々がメ
    ディア・デバイスのタイプ識別子と共に受け取られ、 前記変換ステップの前に、メディア・デバイスのタイプ
    がメディア・デバイスの1つに対応するかどうかが決定
    され、 前記デバイス・レベルのコマンドの各々が、そのメディ
    ア・デバイス・タイプの、複数のメディア・デバイスの
    対応する1つへ出力される、 請求項8に記載のアプリケーション・プログラム・イン
    タフェースの実施方法。
  12. 【請求項12】コンピュータ読み取り可能媒体を含むコ
    ンピュータ・プログラム製品であって、 高レベルの総称コマンドをデコードする手段と、 前記高レベルの総称コマンドをデバイス・レベルのコマ
    ンドへ変換する手段と、 前記デバイス・レベルのコマンドの各々を対応するメデ
    ィア・デバイスへ出力する手段とを備えた、 コンピュータ・プログラム製品。
  13. 【請求項13】前記変換手段が前記高レベルの総称コマ
    ンドを特定のアクションへ変換し、該特定のアクション
    をデバイス・レベルのコマンドへ変換する、請求項12
    に記載のコンピュータ・プログラム製品。
  14. 【請求項14】コンピュータ・アプリケーションから受
    け取られた高レベルの総称コマンドを、メディア・オブ
    ジェクトを記憶するメディア・サーバを含む複数のメデ
    ィア・デバイスへ出力されるデバイス・レベルのコマン
    ドへ変換する共通アプリケーション・プログラム・イン
    タフェース(API)であって、それぞれが特定の関数
    を実行する複数の個別APIを含む共通アプリケーショ
    ン・プログラム・インタフェース。
  15. 【請求項15】前記複数の個別APIが、個別APIの
    第1および第2のグループから構成され、個別APIの
    第1のグループは、メディア・サーバを表すクラス定義
    オブジェクトに関連したメンバー関数の第1のグループ
    に対応し、個別APIの第2のグループは、メディア・
    オブジェクトの物理フォーマットの論理記述を表すクラ
    ス定義オブジェクトに関連したメンバー関数の第2のグ
    ループに対応している、請求項14に記載の共通アプリ
    ケーション・プログラム・インタフェース。
  16. 【請求項16】前記個別APIの第1のグループが、オ
    ープンされたメディア・オブジェクトをクローズするC
    LOSE APIを含む、請求項15に記載の共通アプ
    リケーション・プログラム・インタフェース。
  17. 【請求項17】前記個別APIの第1のグループが、オ
    ープンされたセッションをクローズするCLOSE_S
    ESSION APIを含む、請求項15に記載の共通
    アプリケーション・プログラム・インタフェース。
  18. 【請求項18】前記個別APIの第1のグループが、メ
    ディア・サーバの1つからメディア・サーバの他の1つ
    へメディア・オブジェクトをコピーするCOPY_ME
    DIAAPIを含む、請求項15に記載の共通アプリケ
    ーション・プログラム・インタフェース。
  19. 【請求項19】前記個別APIの第1のグループが、複
    数のメディア・サーバの1つからメディア・オブジェク
    トを除去するDELETE APIを含む、請求項15
    に記載の共通アプリケーション・プログラム・インタフ
    ェース。
  20. 【請求項20】前記個別APIの第1のグループが、非
    同期イベントを処理する制御を条件的に受け取るEVE
    NT_HANDLER APIを含む、請求項15に記
    載の共通アプリケーション・プログラム・インタフェー
    ス。
  21. 【請求項21】前記個別APIの第1のグループが、現
    在のイベント・マスクを戻すEVENT_MASK A
    PIを含む、請求項15に記載の共通アプリケーション
    ・プログラム・インタフェース。
  22. 【請求項22】前記個別APIの第1のグループが、メ
    タ・データ・ファイルを作成して戻すGET_META
    _DATA APIを含む、請求項15に記載の共通ア
    プリケーション・プログラム・インタフェース。
  23. 【請求項23】前記個別APIの第1のグループが、メ
    ディア・オブジェクトの状況を得るGET_MEDIA
    _STATUS APIを含む、請求項15に記載の共
    通アプリケーション・プログラム・インタフェース。
  24. 【請求項24】前記個別APIの第1のグループが、共
    通APIを含むメディア・マネージャのクライアント・
    ライブラリを初期設定するINIT_SERVER A
    PIを含む、請求項15に記載の共通アプリケーション
    ・プログラム・インタフェース。
  25. 【請求項25】前記個別APIの第1のグループが、メ
    ディア・オブジェクトの構成されたグループに対応する
    名前のリストを得るLIST_MEDIA_GROUP
    S APIを含む、請求項15に記載の共通アプリケー
    ション・プログラム・インタフェース。
  26. 【請求項26】前記個別APIの第1のグループが、メ
    ディア・オブジェクトの特定のメディア・グループに関
    連したメディア・オブジェクトの名前のリストを得るL
    IST_MEDIA_NAMES APIを含む、請求
    項15に記載の共通アプリケーション・プログラム・イ
    ンタフェース。
  27. 【請求項27】前記個別APIの第1のグループが、第
    2のクラスのインスタンスを戻すOPEN APIを含
    み、前記インスタンスがメディア・オブジェクトからデ
    ータを読み出すか書き込むために使用される、請求項1
    5に記載の共通アプリケーション・プログラム・インタ
    フェース。
  28. 【請求項28】前記個別APIの第1のグループが、メ
    ディア・サーバの1つへセッションをオーブンするOP
    EN_SESSION APIを含む、請求項15に記
    載の共通アプリケーション・プログラム・インタフェー
    ス。
  29. 【請求項29】前記個別APIの第1のグループが、共
    通アプリケーション・プログラム・インタフェースに対
    応するメディア・マネージャにEVENT_HANDL
    ERAPIを登録するREGISTER_CALL_B
    ACK APIを含む、請求項20に記載の共通アプリ
    ケーション・プログラム・インタフェース。
  30. 【請求項30】前記個別APIの第1のグループが、メ
    ディア・サーバの少なくとも1つに対応するメディア・
    サーバ・タイプのために第1のクラスのインスタンスを
    作成する作成APIであるC_SERVER APIを
    含む、請求項15に記載の共通アプリケーション・プロ
    グラム・インタフェース。
  31. 【請求項31】前記個別APIの第1のグループが、メ
    ディア・サーバの少なくとも1つに対応する特定のメデ
    ィア・サーバ・タイプのために第1のクラスのインスタ
    ンスを破壊するデフォルトの破壊APIであるD_SE
    RVER APIを含む、請求項15に記載の共通アプ
    リケーション・プログラム・インタフェース。
  32. 【請求項32】前記個別APIの第1のグループが、ア
    プリケーション・イベント・ハンドラの登録を抹消する
    UN_REGISTER_CALL_BACK API
    を含む、請求項20に記載の共通アプリケーション・プ
    ログラム・インタフェース。
  33. 【請求項33】前記個別APIの第2のグループが、メ
    ディア・サーバの1つからメディア・アーカイブへメデ
    ィア・オブジェクトを転送するDESTAGE API
    を含む、請求項15に記載の共通アプリケーション・プ
    ログラム・インタフェース。
  34. 【請求項34】前記個別APIの第2のグループが、メ
    ディア・オブジェクトのメディア属性を得るGET_M
    EDIA_ATTRIBUTE APIを含む、請求項
    15に記載の共通アプリケーション・プログラム・イン
    タフェース。
  35. 【請求項35】前記個別APIの第2のグループが、メ
    ディア・オブジェクトの状況を得るGET_MEDIA
    _STATUS APIを含む、請求項15に記載の共
    通アプリケーション・プログラム・インタフェース。
  36. 【請求項36】前記個別APIの第2のグループが、、
    現存するメディア・オブジェクトをメディア・デバイス
    へコピーするLOAD APIを含む、請求項15に記
    載の共通アプリケーション・プログラム・インタフェー
    ス。
  37. 【請求項37】前記個別APIの第2のグループが、メ
    ディア・オブジェクトのデータを読み出すREAD A
    PIを含む、請求項15に記載の共通アプリケーション
    ・プログラム・インタフェース。
  38. 【請求項38】前記個別APIの第2のグループが、メ
    ディア・サーバの1つからメディア・オブジェクトを検
    索するRETRIEVE APIを含む、請求項15に
    記載の共通アプリケーション・プログラム・インタフェ
    ース。
  39. 【請求項39】前記個別APIの第2のグループが、メ
    ディア・オブジェクト内で現在のバイト位置を設定する
    SEEK APIを含む、請求項15に記載の共通アプ
    リケーション・プログラム・インタフェース。
  40. 【請求項40】前記個別APIの第2のグループが、メ
    ディア・オブジェクトのメディア属性を設定するSET
    _MEDIA_ATTRIBUTES APIを含む、
    請求項15に記載の共通アプリケーション・プログラム
    ・インタフェース。
  41. 【請求項41】前記個別APIの第2のグループが、デ
    ータをメディア・オブジェクトへ書き込むWRITE
    APIを含む、請求項15に記載の共通アプリケーショ
    ン・プログラム・インタフェース。
JP10238981A 1997-09-30 1998-08-25 メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法 Pending JPH11175390A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/941788 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 (1)

Publication Number Publication Date
JPH11175390A true JPH11175390A (ja) 1999-07-02

Family

ID=25477065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10238981A Pending JPH11175390A (ja) 1997-09-30 1998-08-25 メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法

Country Status (6)

Country Link
US (2) US6516356B1 (ja)
JP (1) JPH11175390A (ja)
KR (1) KR100350141B1 (ja)
GB (1) GB2330671B (ja)
IE (1) IE980729A1 (ja)
TW (1) TW554271B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038970A (ja) * 2002-06-28 2004-02-05 Microsoft Corp マルチメディアデータを利用するためのアプリケーションプログラミングインタフェース
WO2007021884A3 (en) * 2005-08-12 2007-04-12 Microsoft Corp User-interface servicing
JP2008176674A (ja) * 2007-01-22 2008-07-31 Kyocera Mita Corp 電子機器、サービス提供方法及びプログラム
JP2009282993A (ja) * 2002-10-03 2009-12-03 I-O Data Device Inc ハードディスク管理装置

Families Citing this family (78)

* Cited by examiner, † Cited by third party
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
US6867749B1 (en) * 1998-04-27 2005-03-15 Digital Electronics Corporation Control system, display device, control-use host computer, and data transmission method
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
EP2312474A1 (en) * 1999-04-13 2011-04-20 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
US8359377B2 (en) * 2001-04-30 2013-01-22 Hewlett-Packard Development Company, L.P. Interface for automated deployment and management of network devices
US20020161888A1 (en) * 2001-04-30 2002-10-31 Mcguire Jacob Template-based system 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
KR20030031202A (ko) * 2001-10-12 2003-04-21 주식회사 엘지이아이 컴퓨터를 통한 사용자 인터페이스 방법
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
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
CA2497306A1 (en) * 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for integrating primary data storage with local and remote data protection
US7483879B2 (en) * 2003-01-17 2009-01-27 International Business Machines Corporation System and method for accessing non-compatible content repositories
US7415716B2 (en) * 2003-01-17 2008-08-19 International Business Machines Corporation Component integrator
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
US7827232B2 (en) * 2003-05-05 2010-11-02 Microsoft Corporation Record button on a computer system
US7221331B2 (en) * 2003-05-05 2007-05-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7551199B2 (en) * 2003-05-05 2009-06-23 Microsoft Corporation Computer camera system and method for reducing parallax
US20040240650A1 (en) 2003-05-05 2004-12-02 Microsoft Corporation Real-time communications architecture and methods for use with a personal computer system
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 응용 통신 서비스 시스템 및 방법
US7548255B2 (en) * 2003-09-30 2009-06-16 Microsoft Corporation Method and system for capturing video on a personal computer
US7216221B2 (en) 2003-09-30 2007-05-08 Microsoft Corporation Method and system for unified audio control 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
US7634780B2 (en) * 2004-11-23 2009-12-15 Microsoft Corporation Method and system for exchanging data between computer systems and auxiliary displays
US7581034B2 (en) * 2004-11-23 2009-08-25 Microsoft Corporation Sending notifications to auxiliary displays
US7711868B2 (en) 2004-11-23 2010-05-04 Microsoft Corporation Waking a main computer system to pre-fetch data for an auxiliary computing device
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
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
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
JP5461542B2 (ja) * 2008-06-16 2014-04-02 クゥアルコム・インコーポレイテッド 固定キーパッド上のファンクション割当てを明らかにするための方法およびシステム
US20090327344A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Media foundation source reader
CN102027544B (zh) * 2008-07-16 2013-11-06 松下电器产业株式会社 再生装置、再生方法及程序
WO2010014544A2 (en) * 2008-07-28 2010-02-04 Sony Corporation Client device, information processing system and associated methodology of accessing networked sevices
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
US9021508B2 (en) * 2010-01-14 2015-04-28 Addonmail Generic application programming interface for reading information
US9137307B2 (en) * 2010-01-14 2015-09-15 Addonmail Searching and retrieving files in computer networks
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

Family Cites Families (31)

* Cited by examiner, † Cited by third party
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 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 情報処理システム
US5504873A (en) * 1989-11-01 1996-04-02 E-Systems, Inc. Mass data storage and retrieval system
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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038970A (ja) * 2002-06-28 2004-02-05 Microsoft Corp マルチメディアデータを利用するためのアプリケーションプログラミングインタフェース
JP4652674B2 (ja) * 2002-06-28 2011-03-16 マイクロソフト コーポレーション マルチメディアデータを利用するためのアプリケーションプログラミングインタフェース
JP2009282993A (ja) * 2002-10-03 2009-12-03 I-O Data Device Inc ハードディスク管理装置
WO2007021884A3 (en) * 2005-08-12 2007-04-12 Microsoft Corp User-interface servicing
US7810100B2 (en) 2005-08-12 2010-10-05 Microsoft Corporation Employing a servicing user-interface shell to service a presented user-interface shell
JP2008176674A (ja) * 2007-01-22 2008-07-31 Kyocera Mita Corp 電子機器、サービス提供方法及びプログラム

Also Published As

Publication number Publication date
GB9819833D0 (en) 1998-11-04
US20030070001A1 (en) 2003-04-10
KR100350141B1 (ko) 2003-01-06
US6732365B2 (en) 2004-05-04
GB2330671B (en) 2002-11-06
IE980729A1 (en) 2000-02-09
KR19990029323A (ko) 1999-04-26
GB2330671A (en) 1999-04-28
TW554271B (en) 2003-09-21
US6516356B1 (en) 2003-02-04

Similar Documents

Publication Publication Date Title
JPH11175390A (ja) メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法
CA2464844C (en) Media foundation media processor
JP5205132B2 (ja) Nas/cas統一ストレージシステムのための方法および装置
US6601136B2 (en) Media server system and process having device independent near-online storage support
JP4406224B2 (ja) イメージファイル管理方法及びその記録媒体
CN112395264B (zh) 分布式存储系统中逻辑目标与卷之间映射的处理方法
JP2001067786A (ja) 記録再生装置
US5561824A (en) Storage management of data for ensuring communication of minimal length data
US20070214175A1 (en) Synchronization of metadata in a distributed file system
US20030105780A1 (en) File system, control method, and program
JP2003150416A (ja) ファイル管理装置及びファイル管理方法
US7167879B2 (en) Network AV system
TW200809597A (en) Method and system for device to request and operate an external buffer provided from the host
JPH1198448A (ja) ビデオサーバ装置及びそのアクセス処理方法
JP2003196129A (ja) ファイル転送システム、ファイル転送装置及びファイル転送方法
JP2004038675A (ja) 情報処理装置及びその情報処理方法
JPH11224218A (ja) データ転送装置及びデータ転送方法
JP2002196961A (ja) ファイルシステム
JP2001135026A (ja) ビデオ・ライブラリ・システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040106