JPH1196009A - オブジェクトインターフェース変換方法及び記録媒体 - Google Patents

オブジェクトインターフェース変換方法及び記録媒体

Info

Publication number
JPH1196009A
JPH1196009A JP9275086A JP27508697A JPH1196009A JP H1196009 A JPH1196009 A JP H1196009A JP 9275086 A JP9275086 A JP 9275086A JP 27508697 A JP27508697 A JP 27508697A JP H1196009 A JPH1196009 A JP H1196009A
Authority
JP
Japan
Prior art keywords
distributed
instruction
software
program
distributed object
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
JP9275086A
Other languages
English (en)
Inventor
Naomi Yamakawa
直巳 山川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9275086A priority Critical patent/JPH1196009A/ja
Publication of JPH1196009A publication Critical patent/JPH1196009A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 プログラム利用者,開発者が分散オブジェク
トを意識することなく分散オブジェクト技術を利用する
ことができる。 【解決手段】 分散オブジェクトからなるソフトウエア
(2)に対するオブジェクトインターフェース変換方法
であって、あるプログラム単位(1)が分散オブジェク
ト以外のある実行単位を呼び出し、あるいは生成させる
命令を発行したときに、当該命令を前記ある実行単位に
対応した分散オブジェクトを生成させる命令に変換して
ソフトウエアに引き渡すインターフェース手順(3)を
有するオブジェクトインターフェース変換方法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はオブジェクトイン
ターフェース変換方法及び記録媒体、特にソフトウエア
技術者が分散オブジェクトを意識することなくプログラ
ム開発を行い得る部分に特徴のあるオブジェクトインタ
ーフェース変換方法及び記録媒体に関するものである。
【0002】
【従来の技術】近年、計算機分野では分散オブジェクト
と呼ばれる技術が用いられるようになっている。これは
サブルーチン等のオペレーションと状態とからなるオブ
ジェクトの集合によりアプリケーションソフトウエアを
形成する技術である。この分散オブジェクト技術は、C
ORBAによって標準化されている。また、オブジェク
トというと計算機技術においても複数の意味(例えばコ
ンパイルされた命令コードの集合)があるが、本明細書
においては、上記意味で用いる場合を、CORBAオブ
ジェクト、分散オブジェクトあるいは単にオブジェクト
という。
【0003】この分散オブジェクトによれば、複数の計
算機上にネットワークを介してアプリケーションを形成
することも可能である。例えばネットワークシステム上
にオブジェクトを分散させ、クライアントシステムから
自己へのサービスに必要なオブジェクトをサーバシステ
ム側において生成、消滅させることもできる。このよう
な利用の仕方に、例えばVOD(ビデオ オン デマン
ド)システムがある。さて、分散オブジェクト技術を適
用したVODにおいて、クライアントがサービスの提供
を受けるには、例えば以下のような処理がなされる。
【0004】まず、クライアントプログラムは、サーバ
システム上のFactory(ファクトリー)と呼ばれ
るオブジェクト生成用の特殊なオブジェクトに、自クラ
イアントに対応するサービスプログラムとしてのオブジ
ェクトをCreate();とう命令によって生成させ
る。
【0005】このオブジェクトは、上記したように一定
のオペレーションを実現するとともに、オブジェクト自
身の状態を持つものである。したがって、この場合、オ
ブジェクトは例えば当該クライアントに対応した状態を
有し、当該クライアントについての処理を実行するもの
であり、また、サーバシステム側アプリケーションの一
部となる。
【0006】クライアントプログラムは、必要数、必要
種類のオブジェクトを生成させ、これらのオブジェクト
に対して、所定の処理を依頼してサービスを受けた後、
不要となったオブジェクトをdestroy();命令
によって消滅させる。
【0007】一方、分散オブジェクトと共通点を有し、
かつ旧来から広く用いられているプログラム言語にC+
+がある。
【0008】C++では、分散オブジェクトに類似する
ものとしてクラス(型)という概念がある。このクラス
は、サブルーチン等のオペレーションと、そのクラスが
どのような状態を持ち得るかという状態のリストとから
なっている。この型から作られるオブジェクトの集合で
あるライブラリを特にクラスライブラリという。なお、
上記分散オブジェクト(CORBAオブジェクト)と区
別するために、以下、クラスから生成されるオブジェク
トをC++オブジェクトという。
【0009】クラスから生成されるC++オブジェクト
は、ある特定処理に対応し得る型に対してその対応する
対象の内容が与えられ、当該型から生成された特定オペ
レーション用のオブジェクトである。
【0010】また、C++の場合にも分散オブジェクト
の場合のように、C++オブジェクトを生成するnew
や消滅させるdelete等の命令が設けられている。
【0011】
【発明が解決しようとする課題】このように、分散オブ
ジェクト技術におけるオブジェクト、ひいてはオブジェ
クトを生成するオブジェクトであるファクトリーは、C
++と類似するが異なる概念に基づく手段である。した
がって、分散オブジェクト技術に精通しない、C++言
語等のみしか扱ったことのないソフトウエア技術者が分
散オブジェクト、特にオブジェクトの生成、消滅等の命
令を扱うのは、繁雑であり、新たな負荷を負うことにな
る。また、使いづらくもある。
【0012】逆にいえば、分散オブジェクト特有の呼び
出しをする必要がないようにすれば、分散オブジェクト
を熟知していないソフトウエア技術者でも自己の知識の
みでもって分散オブジェクトのサービスを受けることが
可能となる。
【0013】また、分散オブジェクト技術においても、
その使い勝手をより向上させることが従来から要望され
ている。
【0014】本発明は、このような実情を考慮してなさ
れたもので、その第1の目的は、プログラム利用者,開
発者が分散オブジェクトを意識することなく分散オブジ
ェクト技術を利用することを可能としたオブジェクトイ
ンターフェース変換方法及び記録媒体を提供することに
ある。
【0015】また、第2の目的は、分散オブジェクトの
使い勝手を向上し、より効率的な処理を実現できるオブ
ジェクトインターフェース変換方法及び記録媒体を提供
することにある。
【0016】
【課題を解決するための手段】上記課題を解決するため
に、請求項1に対応する発明は、分散オブジェクトから
なるソフトウエアに対するオブジェクトインターフェー
ス変換方法であって、あるプログラム単位が分散オブジ
ェクト以外のある実行単位を呼び出し、あるいは生成さ
せる命令を発行したときに、当該命令を前記ある実行単
位に対応した分散オブジェクトを生成させる命令に変換
してソフトウエアに引き渡すインターフェース手順を有
するものである。
【0017】本発明は、このような手段を設けたので、
分散オブジェクトの生成命令を使用することなく、自動
的なインターフェース手続きにて分散オブジェクト生成
を行うことができ、プログラム利用者,開発者が分散オ
ブジェクトを意識することなく分散オブジェクト技術を
利用することができる。
【0018】また、請求項2に対応する発明は、分散オ
ブジェクトからなるソフトウエアに対するオブジェクト
インターフェース変換方法であって、あるプログラム単
位が分散オブジェクト以外のある実行単位を消滅させる
命令を発行したときに、当該命令をある実行単位に対応
した分散オブジェクトを消滅させる命令に変換してソフ
トウエアに引き渡すインターフェース手順を有するもの
である。
【0019】本発明は、このような手段を設けたので、
分散オブジェクトの消滅命令を使用することなく、自動
的なインターフェース手続きにて分散オブジェクト消滅
させるができ、プログラム利用者,開発者が分散オブジ
ェクトを意識することなく分散オブジェクト技術を利用
することができる。
【0020】さらに、請求項3に対応する発明は、分散
オブジェクトからなるソフトウエアに対するオブジェク
トインターフェース変換方法であって、あるプログラム
単位がある分散オブジェクトの名前検索を行う命令を発
行したときに、当該命令をある分散オブジェクトの名前
検索を行うとともに、当該ある分散オブジェクトをファ
クトリーとした分散オブジェクトを生成させる命令に変
換してソフトウエアに引き渡すインターフェース手順を
有するものである。
【0021】本発明は、このような手段を設けたので、
分散オブジェクトからなるソフトウエアにおいて効率的
な処理を実行することができ、分散オブジェクトの使い
勝手を向上させることができる。
【0022】さらにまた、請求項4に対応する発明は、
分散オブジェクトからなるソフトウエアに対するオブジ
ェクトインターフェース変換方法であって、あるプログ
ラム単位がソフトウエアにサービスを要求する場合に、
当該サービスを管理する管理分散オブジェクトを生成
し、この管理分散オブジェクトにより、サービスが終了
あるいは中断された場合に当該サービスに対応して生成
されたソフトウエア上の分散オブジェクトを消滅させる
オブジェクトインターフェース変換方法である。本発明
は、このような手段を設けたので、分散オブジェクトか
らなるソフトウエアにおいて効率的な処理を実行するこ
とができ、分散オブジェクトの使い勝手を向上させるこ
とができる。
【0023】また、請求項5〜8に対応する発明は、そ
れぞれ請求項1〜4に対応する発明のオブジェクトイン
ターフェース変換方法をコンピュータ上で実現させるプ
ログラムをコンピュータ読取り可能に記録媒体に格納し
たものである。
【0024】
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。
【0025】本発明は、分散オブジェクトの呼び出しを
変換するソフトウエアを用いることにより、分散オブジ
ェクトの使い勝手を変更するものである。その変換ソフ
トウエアの実装方法としては当該変換ソフトを例えばラ
イブラリとして実装するものである。また、変換ソフト
を例えばサーバとして実装し、そのサーバに対するクラ
イアントインターフェースをライブラリで提供するもの
である。
【0026】この内容を以下の各実施形態にて具体的に
説明する。 (発明の第1の実施の形態)図1は本発明の第1の実施
の形態に係るオブジェクトインターフェース変換方法を
クライアントサーバシステムに適用した例を示す図であ
る。
【0027】本装置は、例えば磁気ディスク等の記録媒
体に記録されたプログラムを読み込み、このプログラム
によって動作が制御される計算機によって実現される。
【0028】このクライアントサーバシステムは、クラ
イアント計算機とサーバ計算機とからなるネットワーク
システムそれぞれにクライアントプロセス1とサーバプ
ロセス2とが設けられている。
【0029】サーバプロセス2は、CORBAに準拠し
た分散オブジェクトからなるソフトウエアである。な
お、本実施形態では簡略化のため単にサーバプロセス2
として示したが、このプロセスは複数のプロセスからな
るソフトウエアであってもよく、また、複数のサーバ計
算機上に跨がってオブジェクトが存在していてもよい。
一方、クライアントプロセス1の本体は、C++で記述
されたプログラムである。このクライアントプロセス1
には、クラスライブラリ3が設けられている。このクラ
スライブラリ3及びこれを用いた変換ソフトがC++か
ら分散オブジェクトへのインターフェース変換手段とな
っている。
【0030】クラスライブラリ3には、C++オブジェ
クトが設けられているが、このC++オブジェクト群の
中にC++の命令をCORBAの命令に変換する手段が
設けられている。例えばC++オブジェクトを生成する
命令であるnewを分散オブジェクトの生成命令である
createに変換するC++オブジェクトや、C++
オブジェクトを消滅させるdeleteを分散オブジェ
クトの消滅命令であるdestoryに変換するC++
オブジェクト等が設けられている。
【0031】さらに詳細に説明すると、図9に示したよ
うになる。
【0032】図9は本実施形態について説明する図であ
る。
【0033】つまり、生成されたC++の処理(例えば
op1′)に対応するCORBAの処理(この場合、o
p1)が必ず存在する。そして、C++オブジェクト内
に対応するCORBAオブジェクトのオブジェクトリフ
ァレンスを保持しておくようになっているのである。
【0034】次に、以上のように構成された本発明の実
施の形態に係るオブジェクトインターフェース変換方法
を適用したクライアントサーバシステムの動作について
説明する。
【0035】まず、分散オブジェクトの生成について図
1を用いて説明する。
【0036】サーバプロセス2における分散オブジェク
トの特定のファクトリーオブジェクト(同図の例ではA
AAファクトリー5)と対応する型(クラス)が、変換
ソフトのクラスライブラリ3内に図に示すようにC++
オブジェクトとして設けられている。
【0037】このC++オブジェクトのコンストラクタ
4は、クライアントプロセス1がその型のnew(C+
+の言語仕様)を発生すると、あらかじめ対応づけられ
たファクトリーオブジェクトのcreate();を呼
び出すようになっている。
【0038】図1に沿って説明すると、以下のような処
理となる。
【0039】まず、クライアントプロセス1において、
C++オブジェクトの生成要求newが発生する(ST
1)。クライアントプロセス1は、C++の使用で記述
され、分散オブジェクトの呼び出しをしないようになっ
ているからである。
【0040】C++オブジェクトをnewする際にコン
ストラクタというプロシージャが動作し、そして、その
中で図1に示すようにサーバプロセス2のAAAファク
トリー5にCORBAオブジェクト生成の要求が出され
る(ST2)。
【0041】AAAファクトリー5で要求が受け取られ
るとAAAファクトリー5により、AAAオブジェクト
6が生成される(ST3)。すると、その分散オブジェ
クトのIDであるオブジェクトリファレンスがコンスト
ラクタという経由でコンストラクタ4に返される(ST
4)。そして、コンストラクタによりオブジェクトリフ
ァレンスがC++オブジェクトの中に書き込まれ、保持
される。
【0042】ここで、オブジェクトリファレンスとは、
C++オブジェクトと分散オブジェクトとの対応付け
(ポインタ)情報をいう。
【0043】このようにして、クライアントプロセス1
にとっては、C++オブジェクトの生成を要求するだけ
で、サーバプロセス2においてCORBAオブジェクト
が生成され、そのオブジェクトリファレンスが返される
ことになる。
【0044】次に、サーバプロセスにて生成した分散オ
ブジェクトの動作について図2を用いて説明する。
【0045】図2は本実施形態における分散オブジェク
トのオペレーションについて説明する図である。
【0046】まず、クライアントプロセス1は、C++
の仕様に従って、つまり、先に自己が生成したC++オ
ブジェクトに対し、処理要求(オペレーション)op1
();を発行する(ST11)。
【0047】C++オブジェクトのオペレーション変換
部8により、この処理要求がCORBAオブジェクトへ
のメッセージに変換され、サーバプロセス2内のAAA
オブジェクト6に通知される(ST12)。つまり、要
求を受けたC++オブジェクトはオブジェクトリファレ
ンスを参照して当該C++オブジェクトに対応したCO
RBAオブジェクトに処理要求を出す。図8の例を使う
とAオブジェクトにop1();の処理要求を出すと、
オブジェクトリファレンスを参照して、A′オブジェク
トにop1′();の処理要求を出すのである。
【0048】AAAオブジェクト6は、受けたメッセー
ジの内容に応じて所定の処理を実行する(図8でいうo
p1′();の処理が実行される)。そして、処理結果
(応答)は、オペレーション変換部に渡され、さらに要
求元へ渡される(ST13)。
【0049】次に、サーバプロセスにて生成した分散オ
ブジェクトの消滅処理について図3を用いて説明する。
【0050】図3は本実施形態における分散オブジェク
トの消滅について説明する図である。
【0051】まず、クライアントプロセス1は、C++
の仕様に従って、つまり、先に自己が生成したC++オ
ブジェクトに対し、消滅要求delete();を発行
する(ST21)。
【0052】C++オブジェクトのデコンストラクタ9
により、この消滅要求delete();がCORBA
オブジェクトへの消滅要求destory();に変換
され、オブジェクトリファレンスを参照してサーバプロ
セス2内の対応するCORBAオブジェクトであるAA
Aオブジェクト6に送出される(ST22)。
【0053】AAAオブジェクト6は、受けた消滅要求
に従って消滅する(ST23)。
【0054】このようにして、クライアントプロセス1
にとっては、C++オブジェクトの消滅を要求するだけ
で、サーバプロセス2においてCORBAオブジェクト
が消滅される。
【0055】上述したように、本発明の実施の形態に係
るオブジェクトインターフェース変換方法は、クライア
ントプロセス1がC++オブジェクトの生成要求new
を行ったときに、クラスライブラリ3により分散オブジ
ェクトを生成させる命令createに変換してサーバ
プロセス2に引き渡すようにしたので、分散オブジェク
トの生成命令を使用することなく、自動的なインターフ
ェース手続きにて分散オブジェクト生成を行うことがで
きる。
【0056】また、本実施形態のオブジェクトインター
フェース変換方法は、クライアントプロセス1がC++
オブジェクトの消滅要求deleteを行ったときに、
クラスライブラリ3により分散オブジェクトを消滅させ
る命令destoryに変換してサーバプロセス2に引
き渡すようにしたので、分散オブジェクトの消滅命令を
使用することなく、自動的なインターフェース手続きに
て分散オブジェクト消滅を行うことができる。
【0057】すなわち、このように分散オブジェクトの
呼び出しに変換ソフトウエア(クラスライブラリ)を介
在させることにより、分散オブジェクトの存在を隠蔽
し、create();メッセージ及びdestory
();メッセージを隠蔽し、これにより、プログラム利
用者,開発者は分散オブジェクトを意識することなく分
散オブジェクト技術を利用し、プログラム開発を行うこ
とができる。
【0058】なお、本実施形態においては、クライアン
トサーバシステムにおけるクライアント側がC++仕様
に従って動作する場合について説明したが、本発明はこ
のような場合に限られるものではない。すなわち、C+
+仕様に従って動作するプロセスが何れの計算機に設け
られていても、その処理をCORBA仕様に変換する変
換ソフトであるクラスライブラリが設けられていれば実
現できるものである。 (発明の第2の実施の形態)本実施形態においては、C
++仕様の処理をCORBA仕様の処理に変換するもの
ではなく、CORBA仕様の複数処理をCORBA仕様
の単一処理変換するオブジェクトインターフェース変換
方法について説明する。
【0059】図4は本発明の第2の実施の形態に係るオ
ブジェクトインターフェース変換方法をクライアントサ
ーバシステムに適用した例を示す図である。
【0060】本装置は、例えば磁気ディスク等の記録媒
体に記録されたプログラムを読み込み、このプログラム
によって動作が制御される計算機によって実現される。
【0061】本実施形態のクライアントサーバシステム
におけるサーバプロセス2、クライアントプロセス11
の何れも、CORBAに準拠した分散オブジェクト技術
が適用されたものである。
【0062】また、クライアントプロセス11には、ラ
イブラリ12が設けられるが、これもCORBAに対応
したライブラリである。
【0063】本実施形態では、変換ソフトを介してライ
ブラリ12の拡張ネーミングサービス処理部13によ
り、単なるネーミング処理が、ネーミング処理及び対応
する分散オブジェクト生成処理に変換されて実行され
る。
【0064】この処理を図4を用いて具体的に説明す
る。
【0065】従来のネーミングサービスでは、例えばn
ame(XXX/YYY)とすると、ディレクトリ構造
のルート13から該当するネームを持つオブジェクトを
探し出し、そのオブジェクトの名前AAファクトリー1
4を要求元に返すようになっている。要求元では、多く
の場合、この後AAファクトリー14に対してオブジェ
クト生成命令を出力することになる。
【0066】これに対し、本実施形態においては、まず
クライアントプロセス11においてネーム要求がライブ
ラリ12内の拡張ネーミングサービス処理部15に出さ
れる(ST31)。拡張ネーミングサービス処理部15
では、この要求はネームに対応するオブジェクトを探す
処理及びそのオブジェクトにcreate();を実行
させる処理に変換され、サーバプロセス2に送出される
(ST32)。
【0067】サーバプロセス2においては、XXX/Y
YYのネームを持つAAファクトリー14が探し出さ
れ、続いてオブジェクトの生成が要求される。こうして
AAオブジェクト16が生成され(ST33)、そのオ
ブジェクトリファレンスがクライアントプロセス11に
返されることになる(ST34,ST35)。
【0068】上述したように、本発明の実施の形態に係
るオブジェクトインターフェース変換方法は、クライア
ントプロセス11が分散オブジェクトの名前検索を行う
命令を発行したときに、当該命令を分散オブジェクトの
名前検索を行うとともに、当該分散オブジェクトをファ
クトリーとした分散オブジェクトを生成させる命令に変
換してサーバプロセス1に引き渡すライブラリ12を設
けたので、分散オブジェクトからなるソフトウエアにお
いて効率的な処理を実行することができ、分散オブジェ
クトの使い勝手を向上させることができる。
【0069】さらに詳細に説明すると、ネーム要求から
ネーミング処理(新しくネーミングサービス(ディレク
トリ構造)にオブジェクトの迫加要求が出されると、拡
張ネーミングサービスのオブジェクト13に入力され、
オブジェクト13′はサーバプロセス中のオブジェクト
13に要求を渡す。オブジェクト13はオブジェクト1
3→オブジェクトXXX→オブジエクトYYY経由で要
求をオブジェクトYYYに渡す。オブジェクトYYYで
は、AAファクトリーによりAAオブジエクトを生成す
る。
【0070】AAオブジェクトが生成されると、AAオ
ブジェクトのオブジェクトリファレンスはオブジェクト
YYY→オブジェクトXXX→オブジェクト13→オブ
ジェクト13′→オブジェクトXXX′→オブジエクト
YYY′→AA′オブジェクト経由で、AA′オブジエ
クトに渡され、AA′オブジェクトに書き込まれる。さ
らに、AA′オブジェクトのオブジェクトリファレンス
は、AA′オブジェクト→オブジェクトYYY′→オブ
ジェクトXXX′→オブジェクト13′→ネーム要求と
の経由で、ネーム要求に渡される。
【0071】ここで、例えばAAオブジェクトの名前検
索を行う場合を考える。ネーム要求から名前検索要求が
出されると、拡張ネーミングサービスのオブジェクト1
3′に入力され、C++オブジェクトのAA′オブジェ
クトの名前検索がなされる。AA′オブジェクトが検索
されると、AA′オブジェクト内のオブジェクトリファ
レンスが参照され、対応するAAオブジェクトに要求を
渡す。そしてAAオブジェクトで要求に対応する処埋が
行われる。
【0072】このように、クライアントプロセスのディ
レクトリ構造(C++オブジェクト)とサーバプロセス
のディレクトリ構造(CORBAオブジェクト)とを対
応づけすることにより、ネーミングサービスを可能にす
るものである。 (発明の第3の実施の形態)本実施形態もC++仕様の
処理をCORBA仕様の処理に変換するものではなく、
クライアントの要求により生成された動的な分散オブジ
ェクトについて、これらが不要となる場合の自動的な消
滅処理を行うためのオブジェクトインターフェース変換
方法について説明する。
【0073】図5は本発明の第3の実施の形態に係るオ
ブジェクトインターフェース変換方法をクライアントサ
ーバシステムに適用した例を示す図である。
【0074】本装置は、例えば磁気ディスク等の記録媒
体に記録されたプログラムを読み込み、このプログラム
によって動作が制御される計算機によって実現される。
【0075】このシステムにおいては、あるサービスに
ついて発生した動的オブジェクトをテーブルに管理し、
このサービスの終了時にこの関連オブジェクトをすべて
消滅させるものである。
【0076】本実施形態では、具体的には複数のクライ
アントプロセス21の何れかによって生成されたオブジ
ェクトが対象となる。ここでのクライアントプロセス2
1は、第1の実施形態の場合のように、その本体がC+
+で記述されたものでもよく、第2の実施形態のよう
に、CORBAに準拠したものでもよい。
【0077】一方、サーバプロセス2には、stbファ
クトリー22という分散オブジェクトが設けられる。
【0078】stbファクトリー22は、あるクライア
ントプロセス21から通信があり、その通信セッション
が確立すると、その特定クライアントプロセスについて
のstbオブジェクト23を生成するようになってい
る。
【0079】stbオブジェクト23は、当該特定クラ
イアントプロセスに対応するサーバプロセス2内の分散
オブジェクト24を管理し、一定の条件で消滅させる。
【0080】この処理を図5を用いて具体的に説明す
る。
【0081】まず、クライアントプロセス(#1)21
からサーバプロセス2に通信が行われ、通信セッション
が確立される。これにより、サーバプロセス2では、s
tbファクトリー22により、そのクライアントプロセ
ス(#1)についてのstbオブジェクト23が生成さ
れる(図5(a))。
【0082】stbオブジェクト23により、クライア
ントサーバ間の通信セッションの状態が監視される。ま
た、クライアントプロセス(#1)21から新たな分散
オブジェクト生成要求があると、サーバプロセス内では
クライアントプロセス(#1)用の分散オブジェクト2
4が生成され、この分散オブジェクト24はstbオブ
ジェクト23に登録される(図5(b))。
【0083】サービス終了などにより、クライアントプ
ロセス(#1)21とサーバプロセス2との通信セッシ
ョンが終了すると、つまり、クライアントが消滅したと
みなされる状態になると、stbオブジェクト23によ
って、その状態が検出され、続いてその管理下にあるク
ライアントプロセス(#1)用の分散オブジェクト24
に対して、destory();が発行される。こうし
てクライアントプロセス(#1)用の分散オブジェクト
24はすべて消滅し、また、stbオブジェクト23自
身も消滅する。
【0084】なお、stbオブジェクト23の上記処理
は、通信セッションの正常終了の場合のみならず、通信
セッションの異常終了の場合も実行される。
【0085】上述したように、本発明の実施の形態に係
るオブジェクトインターフェース変換方法は、クライア
ントプロセス21がサーバプロセス2にサービスを要求
する場合に、当該サービスを管理するstbオブジェク
ト23を生成し、このstbオブジェクト23により、
サービスが終了あるいは中断された場合に当該サービス
に対応して生成されたサーバプロセス上の分散オブジェ
クト24を消滅させるようにしたので、分散オブジェク
ト24の消滅を意識してする必要がなく、分散オブジェ
クトからなるソフトウエアにおいて効率的な処理を実行
することができ、分散オブジェクトの使い勝手を向上さ
せることができる。
【0086】
【実施例】実施形態で説明したオブジェクトインターフ
ェース変換方法をVODシステムに適用させる場合につ
いて説明する。
【0087】図6は本発明の実施例に係るオブジェクト
インターフェース変換方法を適用したVODシステムの
全体構成例を示す図である。
【0088】同図に示すように、VODシステムは、デ
ジタルネットワーク51とRFネットワーク52とから
なり、両ネットワークがデジタル−RFゲートウエイ5
3によって接続されている。
【0089】デジタルネットワーク51は、デジタル−
RFゲートウエイ53、アプリケーションサーバ54、
ビデオサーバ55及びデジタルスタジオ56がネットワ
ーク接続されてなっている。
【0090】一方、RFネットワーク51では、スター
型Hybrid Fiber Coaxでアナログ信号
による通信が行われる。このRFネットワーク51は、
デジタル−RFゲートウエイ53に複数のハブ57が接
続され、ハブ57からさらに複数のセットトップボック
ス58が接続されてなっている。
【0091】デジタル−RFゲートウエイ53は、デジ
タルアナログ変復調の他、IPのMPEG2TSへのカ
プセル化、MPEG2TSの多重化等の機能を備えてい
る。アプリケーションサーバ54は、分散オブジェクト
からなるアプリケーション(サーバプロセス)を構成す
るもので、CORBAに準拠したNEO(以下、NEO
による分散オブジェクトをNEOオブジェクトともい
う)が用いられている。このアプリケーションサーバ5
4は、セットトップボックス58からの要求を受け付
け、またビデオサーバ55を制御する。
【0092】ビデオサーバ55は、アプリケーションサ
ーバ54からの制御によりビデオストリームをセットト
ップボックス58等に配信する。
【0093】セットトップボックス58は、C++オブ
ジェクト群を基本とするクライアントプロセスを有する
とともに、C++からCORBAへの変換ソフトとし
て、各実施形態で説明したクラスライブラリを備え、ア
プリケーションサーバに対して、種々の要求を行うもの
である。すなわちデジタル−RFゲートウエイ53を介
し、セットボックス58,アプリケーションサーバ54
及びビデオサーバ55によって各実施形態で説明したク
ライアントサーバシステムが構成されている。
【0094】次に、セットトップボックス58とアプリ
ケーションサーバ54の関係について説明する。
【0095】図7は本実施例におけるセットトップボッ
クスからアプリケーションサーバに対してオブジェクト
生成やオペレーション要求がされる様子を示す図であ
る。
【0096】同図に示すように、セットトップボックス
58には、クライアントプロセス61と、クラスライブ
ラリを含むライブラリ62と、オペレーションシステム
63とが設けられている。ここで、クライアントプロセ
ス61及びライブラリ62は、各実施形態で説明したク
ライアントプロセス及びクラスライブラリと同様な手段
と有するものであり、そのプログラム内容は、VODシ
ステムに対応したものである。
【0097】一方、アプリケーションサーバ54には、
VODシステムのサーバプロセスを構成するプロセス群
が設けられている。各プロセスでは分散オブジェクト
(CORBAオブジェクト、NEOオブジェクト)が設
けられ、また必要に応じて生成される。なお、図7で
は、アプリケーションサーバ54にDirectory
オブジェクト64、Fileオブジェクト65、Str
eamオブジェクト66、Downloadオブジェク
ト67が設けられている。
【0098】このような構成において、セットトップボ
ックス58からC++オブジェクト生成要求がなされる
と、ライブラリ62にてCORBAオブジェクト生成命
令に変換され、アプリケーションサーバ54に通知さ
れ、生成されたCORBAオブジェクトについて、その
オブジェクトリファレンスがセットトップボックス58
に返される。
【0099】以降、セットトップボックス58は、オブ
ジェクトリファレンス(クライアントプロセス61にと
ってはC++オブジェクトリファレンス)を用いてメゾ
ットコールを行い、サービス選択やビデオ配信等のオペ
レーションをアプリケーションサーバ54に実行させ
る。
【0100】このときのアプリケーションサーバ54で
のオブジェクト構成及びセットトップボックス側での画
面遷移イメージを図8に示す。
【0101】図8は本実施例におけるVODシステムに
おける処理例の様子を示す図である。
【0102】つまり、セットトップボックス58からの
要求で、アプリケーションサーバ54にてDirect
oryオブジェクト64による名前空間が検索され、セ
ットトップボックス側ではその内容が表示される。さら
に、ビデオ配信を要求すると、Streamオブジェク
ト66によりそのセットトップボックス58にビデオが
配信される。なお、このとき第2の実施形態の拡張ネー
ミングサービスを用いることで、検索と同時にStre
amオブジェクト66をファクトリーとして当該セット
トップボックス用の分散オブジェクトを生成するように
してもよい。
【0103】こうして、すべてのサービスが終了した
後、セットトップボックス58は、C++のdelet
e命令をライブラリ62でdestroy命令に変換
し、アプリケーションサーバ側の分散オブジェクトを消
滅させる。
【0104】なお、このとき、何らかの理由でセットト
ップボックス〜アプリケーションサーバ間の通信セッシ
ョンが終了すると、第3の実施形態のstbオブジェク
トにより、アプリケーションサーバ側における当該セッ
トトップボックスに対応した不要オブジェクトが消滅さ
れる。
【0105】このようにして、各実施形態で説明したオ
ブジェクトインターフェース変換方法を適用すること
で、極めて効率的なVODシステムとすることができ、
また、セットトップボックス側のプログラムをC++で
開発することができる。
【0106】なお、本発明は、上記各実施の形態に限定
されるものでなく、その要旨を逸脱しない範囲で種々に
変形することが可能である。
【0107】上記実施例では、本発明をVODシステム
に適用する場合を説明したが、本発明の適用範囲はこれ
に限定されるものではなく、ソフトウエア技術一般、特
に情報サービスシステムの分野にも適用できるものであ
る。
【0108】また、実施形態、実施例に記載した手法
は、計算機に実行させることができるプログラム(ソフ
トウエア手段)として、例えば磁気ディスク(フロッピ
ーディスク、ハードディスク等)、光ディスク(CD−
ROM、DVD等)、半導体メモリ等の記憶媒体に格納
し、また通信媒体により伝送して頒布することもでき
る。なお、媒体側に格納されるプログラムには、計算機
に実行させるソフトウエア手段(実行プログラムのみな
らずテーブルやデータ構造も含む)を計算機内に構成さ
せる設定プログラムをも含むものである。本装置を実現
する計算機は、記憶媒体に記録されたプログラムを読み
込み、また場合により設定プログラムによりソフトウエ
ア手段を構築し、このソフトウエア手段によって動作が
制御されることにより上述した処理を実行する。
【0109】
【発明の効果】以上詳記したように本発明によれば、プ
ログラム利用者,開発者が分散オブジェクトを意識する
ことなく分散オブジェクト技術を利用することができる
オブジェクトインターフェース変換方法及び記録媒体を
提供することができる。
【0110】また、本発明によれば、分散オブジェクト
の使い勝手を向上し、より効率的な処理を実現できるオ
ブジェクトインターフェース変換方法及び記録媒体を提
供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るオブジェクト
インターフェース変換方法をクライアントサーバシステ
ムに適用した例を示す図。
【図2】同実施形態における分散オブジェクトのオペレ
ーションについて説明する図。
【図3】同実施形態における分散オブジェクトの消滅に
ついて説明する図。
【図4】本発明の第2の実施の形態に係るオブジェクト
インターフェース変換方法をクライアントサーバシステ
ムに適用した例を示す図。
【図5】本発明の第3の実施の形態に係るオブジェクト
インターフェース変換方法をクライアントサーバシステ
ムに適用した例を示す図。
【図6】本発明の実施例に係るオブジェクトインターフ
ェース変換方法を適用したVODシステムの全体構成例
を示す図。
【図7】同実施例におけるセットトップボックスからア
プリケーションサーバに対してオブジェクト生成やオペ
レーション要求がされる様子を示す図。
【図8】同実施例におけるVODシステムにおける処理
例の様子を示す図。
【図9】第1の実施形態について説明する図。
【符号の説明】
1,11,21…クライアントプロセス 2…サーバプロセス 3…クラスライブラリ 4…コンストラクタ 8…オペレション変換部 9…デコンストラクタ 12…ライブラリ 15…拡張ネーミングサービス処理部 22…stbファクトリー 23…stbオブジェクト

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換方法であっ
    て、 あるプログラム単位が分散オブジェクト以外のある実行
    単位を呼び出し、あるいは生成させる命令を発行したと
    きに、当該命令を前記ある実行単位に対応した分散オブ
    ジェクトを生成させる命令に変換して前記ソフトウエア
    に引き渡すインターフェース手順を有することを特徴と
    するオブジェクトインターフェース変換方法。
  2. 【請求項2】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換方法であっ
    て、 あるプログラム単位が分散オブジェクト以外のある実行
    単位を消滅させる命令を発行したときに、当該命令を前
    記ある実行単位に対応した分散オブジェクトを消滅させ
    る命令に変換して前記ソフトウエアに引き渡すインター
    フェース手順を有することを特徴とするオブジェクトイ
    ンターフェース変換方法。
  3. 【請求項3】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換方法であっ
    て、 あるプログラム単位がある分散オブジェクトの名前検索
    を行う命令を発行したときに、当該命令を前記ある分散
    オブジェクトの名前検索を行うとともに、当該ある分散
    オブジェクトをファクトリーとした分散オブジェクトを
    生成させる命令に変換して前記ソフトウエアに引き渡す
    インターフェース手順を有することを特徴とするオブジ
    ェクトインターフェース変換方法。
  4. 【請求項4】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換方法であっ
    て、 あるプログラム単位が前記ソフトウエアにサービスを要
    求する場合に、当該サービスを管理する管理分散オブジ
    ェクトを生成し、この管理分散オブジェクトにより、前
    記サービスが終了あるいは中断された場合に当該サービ
    スに対応して生成された前記ソフトウエア上の分散オブ
    ジェクトを消滅させることを特徴とするオブジェクトイ
    ンターフェース変換方法。
  5. 【請求項5】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換機能をコン
    ピュータに実現させるプログラムであって、 前記オブジェクトインターフェース変換機能は、 プログラム単位が分散オブジェクト以外のある実行単位
    を呼び出し、あるいは生成させる命令を発行したとき
    に、当該命令を前記ある実行単位に対応した分散オブジ
    ェクトを生成させる命令に変換して前記ソフトウエアに
    引き渡すインターフェース機能となるプログラムを格納
    するコンピュータ読取可能な記録媒体。
  6. 【請求項6】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換機能をコン
    ピュータに実現させるプログラムであって、 前記オブジェクトインターフェース変換機能は、 あるプログラム単位が分散オブジェクト以外のある実行
    単位を消滅させる命令を発行したときに、当該命令を前
    記ある実行単位に対応した分散オブジェクトを消滅させ
    る命令に変換して前記ソフトウエアに引き渡すインター
    フェース機能となるプログラムを格納するコンピュータ
    読取可能な記録媒体。
  7. 【請求項7】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換機能をコン
    ピュータに実現させるプログラムであって、 前記オブジェクトインターフェース変換機能は、 あるプログラム単位がある分散オブジェクトの名前検索
    を行う命令を発行したときに、当該命令を前記ある分散
    オブジェクトの名前検索を行うとともに、当該ある分散
    オブジェクトをファクトリーとした分散オブジェクトを
    生成させる命令に変換して前記ソフトウエアに引き渡す
    インターフェース機能となるプログラムを格納するコン
    ピュータ読取可能な記録媒体。
  8. 【請求項8】 分散オブジェクトからなるソフトウエア
    に対するオブジェクトインターフェース変換機能をコン
    ピュータに実現させるプログラムであって、 前記オブジェクトインターフェース変換機能は、 あるプログラム単位が前記ソフトウエアにサービスを要
    求する場合に、当該サービスを管理する管理分散オブジ
    ェクトを生成し、この管理分散オブジェクトにより、前
    記サービスが終了あるいは中断された場合に当該サービ
    スに対応して生成された前記ソフトウエア上の分散オブ
    ジェクトを消滅させるインターフェース機能となるプロ
    グラムを格納するコンピュータ読取可能な記録媒体。
JP9275086A 1997-09-22 1997-09-22 オブジェクトインターフェース変換方法及び記録媒体 Pending JPH1196009A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9275086A JPH1196009A (ja) 1997-09-22 1997-09-22 オブジェクトインターフェース変換方法及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9275086A JPH1196009A (ja) 1997-09-22 1997-09-22 オブジェクトインターフェース変換方法及び記録媒体

Publications (1)

Publication Number Publication Date
JPH1196009A true JPH1196009A (ja) 1999-04-09

Family

ID=17550614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9275086A Pending JPH1196009A (ja) 1997-09-22 1997-09-22 オブジェクトインターフェース変換方法及び記録媒体

Country Status (1)

Country Link
JP (1) JPH1196009A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008538428A (ja) * 2005-04-08 2008-10-23 マイクロソフト コーポレーション ネットワークアプリケーションプログラム間で要求されたデータを生成および通信するためのシステムおよび方法
JP2013502017A (ja) * 2009-08-13 2013-01-17 グーグル・インコーポレーテッド ホストとなるコンピュータ環境における仮想オブジェクト間接化

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008538428A (ja) * 2005-04-08 2008-10-23 マイクロソフト コーポレーション ネットワークアプリケーションプログラム間で要求されたデータを生成および通信するためのシステムおよび方法
JP2013502017A (ja) * 2009-08-13 2013-01-17 グーグル・インコーポレーテッド ホストとなるコンピュータ環境における仮想オブジェクト間接化
US8826304B2 (en) 2009-08-13 2014-09-02 Google Inc. Virtual object indirection in a hosted computer environment

Similar Documents

Publication Publication Date Title
US8248992B2 (en) Method and apparatus for providing home network device service to an external device through web service
KR101138434B1 (ko) 실시간 통신 플랫폼에 기반하여 네트워크 하드디스크를실행하는 시스템 및 그 방법
JP5675739B2 (ja) 外部通信ネットワークからホームネットワークを制御する方法及び装置
JP5066571B2 (ja) Avコンテンツをセグメント単位で実行する方法、制御ポイント装置およびホームネットワークシステム
US7802004B2 (en) Dynamic streaming media management
US6732365B2 (en) Application interface to a media server and a method of implementing the same
RU2487395C2 (ru) Медиа-процессор для организации мультимедийных данных
US20020087746A1 (en) Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
US20020059499A1 (en) System and methods for performing last-element streaming
JP2000090580A (ja) 音声または映像トラックのダウンロ―ドおよび記録方法
RU2367009C2 (ru) Представление слитного вида ярлыков на удаленные приложения от множества поставщиков
KR19990037321A (ko) 파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템
JP2008021095A (ja) 連携シナリオ作成支援システム及びその方法並びにプログラム
US7836404B2 (en) Streaming internet media record and playback software program
JP2011217419A (ja) ネットワーク化パーソナル・ビデオ録画システム
JP4295805B2 (ja) メモリ管理装置、メモリ管理方法、メモリ管理プログラム及び該プログラムを記録したコンピュータ読み取り可能な記録媒体
TW200824452A (en) Method for processing connection request of a disk player
JP2004194191A (ja) データ通信装置
JPH1196009A (ja) オブジェクトインターフェース変換方法及び記録媒体
JP3628469B2 (ja) ビデオサーバシステム
JP2005252402A (ja) コンテンツ記録システム及びコンテンツ記録方法、並びにコンピュータ・プログラム
US8086562B2 (en) Arrangement for anonymous API downloaded resources for advanced content
JPH09307859A (ja) インタラクティブ映像メディア及び装置及び記録再生方式
JP3398549B2 (ja) 情報提供システム
TW582153B (en) Method and system for providing real-time streaming services

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees