首页 / 专利库 / 软件 / 中间件 / 消息中间件 / Object-directional distributed system

Object-directional distributed system

阅读:221发布:2021-11-05

专利汇可以提供Object-directional distributed system专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To secure high expandability of the distributed system by providing an autonomous distributed communication means which transmits and receives the messages by broadcasting and an object dispatching means which selects and calls an object and its procedure corresponding to the message that is received by the autonomous distributed communication means. SOLUTION: The object-directional middle wares 10m and 20m transmit the messages through the autonomous distributed communication processes 1ad and 2ad to call out the procedures of objects of other computers in response to the requests given from an application program. Then the wares 10m and 20m receive the execution results of those procedures through the processes 1ad and 2ad and transfer them to the application program. An object dispatcher receives the messages to call out the object procedures through the processes 1ad and 2ad and calls out these procedures to execute its processing. This execution result is transmitted in an answer message.,下面是Object-directional distributed system专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間でメッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、メッセージを同報通信によって送受信する自律分散通信手段と、前記自律分散通信手段により受信したメッセージに対応するオブジェクト及びその手続きを選択して呼び出すオブジェクトディスパッチング手段とを有することを特徴とする、
    オブジェクト指向分散システム。
  • 【請求項2】手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間でメッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、メッセージの内容を表わす内容コードを含むメッセージを同報通信によって送受信する自律分散通信手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、該内容コード対応情報記憶手段中に記憶された対応情報を参照して、前記自律分散通信手段により受信したメッセージに対応するオブジェクト及びその手続きを選択して呼び出すオブジェクトディスパッチング手段とを有することを特徴とする、オブジェクト指向分散システム。
  • 【請求項3】手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間でメッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、メッセージの内容を表わす内容コードを含むメッセージを同報通信によって送受信する自律分散通信手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、他の計算機上のオブジェクトの手続き呼び出しを要求するメッセージに、該内容コード対応記憶手段に記憶された対応情報を参照して対応する内容コードを付加し、前記自律分散通信手段にメッセージ送信を要求する要求メッセージ送信手段とを有することを特徴とする、オブジェクト指向分散システム。
  • 【請求項4】手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間でメッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、メッセージの内容を表わす内容コードを含むメッセージを同報通信によって送受信する自律分散通信手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、該内容コード対応情報記憶手段中に記憶された対応情報を参照して、前記自律分散通信手段により受信したメッセージに対応するオブジェクト及びその手続きを選択して呼び出すオブジェクトディスパッチング手段と、他の計算機上のオブジェクトの手続き呼び出しを要求するメッセージに、該内容コード対応記憶手段に記憶された対応情報を参照して対応する内容コードを付加し、前記自律分散通信手段にメッセージ送信を要求する要求メッセージ送信手段とを有することを特徴とする、オブジェクト指向分散システム。
  • 【請求項5】手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間で前記手続きの実行を要求する要求メッセージ及び手続き実行結果返す応答メッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、
    内容コードとメッセージ識別情報を含むメッセージを同報通信によって送受信する自律分散通信手段と、前記自律分散通信手段により受信した要求メッセージのメッセージ識別情報を記憶し管理する受信メッセージ識別情報記憶手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、内容コード対応情報記憶手段中に記憶された対応情報を参照して前記自律分散メッセージ通信処理手段により受信した要求メッセージに対応するオブジェクト及びその手続きを選択して呼び出すとともに、呼び出したオブジェクトの手続きの実行結果と前記受信メッセージ識別情報記憶手段に記憶された前記受信した要求メッセージのメッセージ識別情報を含む応答メッセージを、自律分散通信手段により送信する、オブジェクトディスパッチング手段とを有することを特徴とする、オブジェクト指向分散システム。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】本発明は、複数の計算機上の複数のオブジェクトがメッセージを交換して、全体として処理を進めるオブジェクト指向分散システムに係り、
    特に、同報通信による自律分散メッセージにより、オブジェクトがどの計算機上に存在するかどうかを意識しない透過性のある処理が可能なオブジェクト指向分散システムに関する。

    【0002】

    【従来の技術】最近、データとそれに関する手続きをまとめたオブジェクトの集合によりプログラムを記述する、いわゆるオブジェクト指向に基づく計算機システムが増えてきた。 オブジェクト指向システムでは、複数のオブジェクトが、互いに手続きを呼び出し合って、全体として処理を実行する。 さらに、複数の計算機をネットワークで接続し、それらの計算機上のオブジェクトが、
    通信しあって協調して処理を実行するオブジェクト指向分散システムが使用されるようになった。

    【0003】分散システムでは、オブジェクトがどの計算機上に存在するかを意識しなくてすむ、ネットワーク透過性の要求が強い。 オブジェクト指向分散システムでは通常、システム内でオブジェクトを一意に指定するためのオブジェクト識別子を用いてオブジェクトを指定する。 ネットワーク透過性を実現するためには、オブジェクトがどの計算機に存在するかによらず、オブジェクト識別子のみによりメッセージ送信先のオブジェクトを指定できるようにする必要がある。

    【0004】ネットワーク透過性を実現するためによく用いられている方法は、名前または識別子で指定したオブジェクトがどの計算機に存在するかを教えるネームサービス(ディレクトリサービスとも呼ばれる)を提供する方法である。 ネームサービス機能を提供するサーバをネームサーバと呼ぶ。 この方法では、オブジェクト名やオブジェクト識別子で指定したオブジェクトがどの計算機に存在するかをネームサーバに問い合わせた後、該計算機に対して、メッセージを送信する。

    【0005】例えば、ビルシステムを対象にオブジェクト指向に基づく分散システムの仕様を定めた、アメリカン・ソサイエティ・オブ・ヒーティング,レフリジレーティング・アンド・エアーコンディショニング・エンジニアズ,インコーポレイテッド・スタンダード・135
    −195(AMERICAN SOCIETY OF HEATING, REF
    RIGERATING AND AIR-CONDITIONING ENGINEERS, INC. ST
    ANDARD 135-195)(以下、ASHRAE 135と書く)では、オブジェクトがどの計算機(デバイス)に存在するかを知るために、“Who-Has ”および“I-Have”サービスを規定している。 アプリケーションプログラムがメッセージを送りたいオブジェクトがどの計算機(デバイス)に存在するかを知るには、そのオブジェクトのオブジェクト識別子を指定して、“Who-Has ”というサービス要求を出す。 すると、該オブジェクトが存在する計算機(デバイス)が“I-Have”という応答を返す。 これにより、そのオブジェクトが存在する計算機を知ることができる。

    【0006】一方、オブジェクト指向分散システムとは別に、例えば特開平2−193294 号に記載されたような、
    自律分散システムがある。 この方式は、メッセージデータに、そのデータが何を表わすかを示す内容コードを付けたメッセージを同報通信で送信する。 他のノードはそのメッセージが自分が必要なメッセージであるかを内容コードで判定し、必要であればそのメッセージを取り入れ、対応する処理を実行する。 この方式では、オブジェクトの手続き要求およびその応答を扱う機能は提供していないが、その範囲でのネットワーク透過性は実現されている。

    【0007】

    【発明が解決しようとする課題】しかし、ネームサービスを用いる方法は、メッセージを送信する前にネームサーバにオブジェクトが存在する計算機を問い合わせる必要があるため、処理が煩雑で、効率もよくない。 また、
    同一種類のオブジェクト、すなわち同一クラス(オブジェクトタイプとも呼ぶ)のオブジェクト全部に対してメッセージを送信する場合には、該オブジェクトタイプに属するオブジェクトを全てネームサーバに問い合わせてそのオブジェクト識別子を得、それらのオブジェクト識別子をいちいち指定して、メッセージを送信する必要があり、効率が悪くなる。

    【0008】なお、自律分散システムでは、オブジェクト指向分散システムが基本とする、要求/応答に基づく処理ができない。 オブジェクトの手続き呼び出しの要求および応答のメッセージを単に自律分散システムの同報通信を利用して実現しても、要求と応答との対応付けができない。 また自律分散システムにおける内容コードの割り当て処理をアプリケーションプログラムやオブジェクトの手続きで行う必要があり、それらのプログラムの再利用性やシステムの拡張性が悪くなる。

    【0009】本発明は、効率よくネットワーク透過性や高いシステム拡張性を実現できる、オブジェクト指向分散システムを提供することを目的としている。

    【0010】

    【課題を解決するための手段】本発明では、オブジェクト指向分散システムを構成する各計算機において、メッセージの内容を表わす内容コードを含むメッセージを同報通信によって送受信する自律分散通信手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、他の計算機上のオブジェクトの手続き呼び出しを要求するメッセージに対応する内容コードを付加してメッセージを送信する要求メッセージ送信手段と、受信したメッセージに対応するオブジェクト及びその手続きを選択して呼び出すオブジェクトディスパッチング手段とを設けることにより、上記目的を達成する。

    【0011】また、本発明では、内容コードとメッセージ識別情報を含むメッセージを同報通信によって送受信する自律分散通信手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、要求メッセージのメッセージ識別情報を記憶し管理する送信メッセージ識別情報記憶手段と、他のオブジェクトに手続き実行の要求メッセージを送信するとともに、該要求メッセージに対応する応答メッセージを受け取る要求メッセージ送信手段と、要求メッセージに対応するオブジェクト及びその手続きを選択して呼び出すとともに、手続きの実行結果を応答メッセージとして送信するオブジェクトディスパッチング手段とを設けることにより、上記目的を達成する。

    【0012】また手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間で前記手続きの実行を要求する要求メッセージ及び手続き実行結果返す応答メッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、内容コードとメッセージ識別情報を含むメッセージを同報通信によって送受信する自律分散通信手段と、前記自律分散通信手段により送信した要求メッセージのメッセージ識別情報を記憶し管理する送信メッセージ識別情報記憶手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、アプリケーションプログラムから他の計算機上のオブジェクトの手続きを呼び出す要求メッセージ送信依頼を受け付け、要求メッセージに、メッセージ識別情報と、前記内容コード対応情報記憶手段により記憶された対応情報を参照して決定した内容コードとを与え、
    該要求メッセージのメッセージ識別情報を前記送信メッセージ識別情報記憶手段に記憶し、該要求メッセージを前記自律分散通信手段により送信するとともに、前記自律分散通信手段により受信した応答メッセージのうち、
    該応答メッセージ中に含まれるメッセージ識別情報が前記送信メッセージ識別情報記憶手段に記憶された、前記要求メッセージのメッセージ識別情報と一致するものを、該要求メッセージに対応する応答メッセージと判定する、要求メッセージ送信手段とを有することにより上記目的を達成する。

    【0013】また手続きと属性を有するオブジェクトを含むアプリケーションプログラムが複数の計算機上に存在し、計算機間で前記手続きの実行を要求する要求メッセージ及び手続き実行結果返す応答メッセージを交換して処理を進めるオブジェクト指向分散システムにおいて、内容コードとメッセージ識別情報を含むメッセージを同報通信によって送受信する自律分散通信手段と、前記自律分散通信手段により受信した要求メッセージのメッセージ識別情報を記憶し管理する受信メッセージ識別情報記憶手段と、内容コードとオブジェクトの手続きとの対応を示す対応情報を記憶する内容コード対応情報記憶手段と、内容コード対応情報記憶手段中に記憶された対応情報を参照して前記自律分散メッセージ通信処理手段により受信した要求メッセージに対応するオブジェクト及びその手続きを選択して呼び出すとともに、呼び出したオブジェクトの手続きの実行結果と前記受信メッセージ識別情報記憶手段に記憶された前記受信した要求メッセージのメッセージ識別情報を含む応答メッセージを、自律分散通信手段により送信する、オブジェクトディスパッチング手段と、前記自律分散通信手段により送信した要求メッセージのメッセージ識別情報を記憶し管理する送信メッセージ識別情報記憶手段と、前記内容コード対応情報記憶手段により記憶された対応情報を参照して決定した内容コードとを与え、該要求メッセージのメッセージ識別情報を前記送信メッセージ識別情報記憶手段に記憶し、該要求メッセージを前記自律分散通信手段により送信するとともに、前記自律分散通信手段にょり受信した応答メッセージのうち、該応答メッセージ中に含まれるメッセージ識別情報が前記送信メッセージ識別情報記憶手段に記憶された、前記要求メッセージのメッセージ識別情報と一致するものを、該要求メッセージに対応する応答メッセージと判定する、要求メッセージ送信手段とを有することにより上記目的を達成する。

    【0014】さらに前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記手続きに対応させることが上記目的を達成するのに好ましい。

    【0015】また前記オブジェクトはその種類を表わすクラスによって定義され、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記クラスに対応させることが上記目的を達成するのに好ましい。

    【0016】また前記オブジェクトはその種類を表わすクラスによって定義され、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記クラスと前記手続きとに対応させることが上記目的を達成するのに好ましい。

    【0017】また前記オブジェクトはオブジェクト識別子によって識別されるものであって、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記オブジェクト識別子に対応させることが上記目的を達成するのに好ましい。

    【0018】また前記オブジェクトはオブジェクト識別子によって識別されるものであって、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記オブジェクト識別子と前記手続きとに対応させることが上記目的を達成するのに好ましい。

    【0019】また前記オブジェクトはその種類を表わすクラスによって定義され、各オブジェクトはオブジェクト識別子によって識別されるものであって、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記クラスと前記オブジェクト識別子と前記手続きとに対応させることが上記目的を達成するのに好ましい。

    【0020】また前記オブジェクトの手続きはオブジェクトの属性にアクセスするものであって、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記オブジェクトの属性に対応させることが上記目的を達成するのに好ましい。

    【0021】また前記オブジェクトの手続きはオブジェクトの属性にアクセスするものであって、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記オブジェクトの属性と該属性へのアクセスの種類とに対応させることが上記目的を達成するのに好ましい。

    【0022】また前記オブジェクトはその種類を表わすクラスによって定義され、前記オブジェクトの手続きはオブジェクトの属性にアクセスするものであって、前記内容コード対応情報記憶手段に記憶する対応情報は、前記内容コードを前記クラスと前記オブジェクトの属性と該属性へのアクセスの種類とに対応させることが上記目的を達成するのに好ましい。

    【0023】

    【発明の実施の形態】オブジェクト指向分散処理システムにおいて、要求メッセージ送信手段は、前記内容コード対応記憶手段に記憶された対応情報を参照して、他の計算機上のオブジェクトの手続き呼び出しを要求するメッセージに対応する内容コードを付加して、前記自律分散通信手段によりメッセージを送信する。 また、オブジェクトディスパッチング手段は、前記内容コード対応情報記憶手段中に記憶された対応情報を参照して前記自律分散通信手段により受信したメッセージに対応するオブジェクト及びその手続きを選択して呼び出す。 これにより、ネットワーク透過なオブジェクト指向分散システムを実現できる。

    【0024】また、オブジェクト指向分散システムにおいて、要求メッセージ送信手段は、オブジェクトの手続きから他の計算機上のオブジェクトの手続きを呼び出す要求メッセージ送信依頼を受け付け、要求メッセージに、メッセージ識別情報と、前記内容コード対応情報記憶手段により記憶された対応情報を参照して決定した内容コードとを与え、該要求メッセージのメッセージ識別情報を前記送信メッセージ識別情報記憶手段に記憶し、
    該要求メッセージを前記自律分散通信手段により送信するとともに、前記自律分散通信手段により受信した応答メッセージのうち、該応答メッセージ中に含まれるメッセージ識別情報が前記送信メッセージ識別情報記憶手段に記憶された、前記要求メッセージのメッセージ識別情報と一致するものを、該要求メッセージに対応する応答メッセージと判定する。 また、オブジェクトディスパッチング手段は、内容コード対応情報記憶手段中に記憶された対応情報を参照して前記自律分散メッセージ通信処理手段により受信した要求メッセージに対応するオブジェクト及びその手続きを選択して呼び出すとともに、呼び出したオブジェクトの手続きの実行結果と前記受信メッセージ識別情報記憶手段に記憶された前記受信した要求メッセージのメッセージ識別情報を含む応答メッセージを、自律分散通信手段により送信する。 これにより、
    要求メッセージと応答メッセージを対応付けした、ネットワーク透過な、オブジェクト指向分散システムを実現できる。

    【0025】以下、本発明の実施例を図を用いて詳細に説明する。

    【0026】(1)本発明の一実施例 本発明の一実施例について説明する。 本発明の一実施例は、メッセージの内容を表わす内容コードを含むメッセージを同報通信によって送受信することにより、ネットワーク透過性を実現できる、オブジェクト指向分散システムである。

    【0027】図1は本発明の第1の実施例の全体構成図である。 本発明の一実施例は計算機1cおよび計算機2
    cをネットワーク1nで接続した分散システムである。
    計算機1c,2cにはそれぞれ、プロセッサ1p,2
    p,メモリ1m,2m,入出(I/O)装置1i,2
    iが存在する。 メモリ1m,2mには計算機が実行するプログラムが存在し、これをプロセッサ1p,2pが読みだして処理を実行する。 メモリ1m,2mにはそれぞれ、オペレーティングシステム(OS)のプログラム1
    os,2os,自律分散通信処理のプログラム1ad,
    2ad,オブジェクト指向ミドルウェア1om,2o
    m,アプリケーションプログラム1ap,2apが存在する。 本実施例は2台の計算機から成るが、3台以上の計算機から成る場合も同様である。

    【0028】アプリケーションプログラムはオブジェクトを含む。 全ての処理をオブジェクトで実現することも可能であるし、通常の手続き的なプログラムとオブジェクトが混在してもよい。 計算機1c上のアプリケーションプログラム1apはオブジェクト11o,12o等を、計算機2c上のアプリケーションプログラム2ap
    はオブジェクト21o,22o等を含む。

    【0029】オブジェクトはひとまとまりのデータとそれに関する手続きをまとめたプログラムの単位である。
    オブジェクトのデータを属性と呼ぶ。 また、オブジェクトの手続きをメソッドと呼ぶことがある。 本実施例では、手続きを属性のアクセスに用いる。 したがって、手続きは属性値の読み出しや書き込みを行う処理である。
    オブジェクトの構成を図2に示す。 オブジェクト11o
    は手続き11p1,11p2等と、属性11d1,11d2等を有する。 オブジェクト12o,21o,22o等も同様である。

    【0030】一般にオブジェクト指向プログラムではオブジェクトの種類をクラス、個々のオブジェクトをインスタンスと呼ぶ。 クラスはインスタンスのデータ構造や動作を定義したものである。 クラスはオブジェクトタイプとも呼ばれる。 本実施例では、単にオブジェクトと呼ぶ場合、インスタンスを意味することとする。 同一クラスに属するオブジェクトは、手続き及びデータの構造は同一で、データの値のみが異なり得る。

    【0031】システム内に存在する個々のオブジェクトは、それぞれオブジェクト識別子と呼ばれる識別子を有しており、オブジェクト識別子を指定することにより分散処理システム内で一意にオブジェクトを指定できる。
    オブジェクト識別子は例えば、ASHRAE 135で規定されているように、図3に示すような、24bit で表現できる。 24bit のうち9bit はクラス(オブジェクトタイプ)を識別するクラス(オブジェクトタイプ)番号、1
    4bit はオブジェクト(インスタンス)を識別するオブジェクト(インスタンス)番号である。 最上位の1bit
    (S/P)はこの識別子が示すオブジェクトがASHRAE 1
    35で標準オブジェクトとして規定されているオブジェクトかどうかを示す。 ASHRAE 135では、オブジェクト識別子はオブジェクトによっては必ずしも分散システム全体で一意には与えないが、本実施例では、全てのオブジェクトについて分散システム全体で一意に与えることとする。

    【0032】プログラマが記述するプログラムはクラスの定義である。 クラスの定義方法は、オブジェクト指向言語により定められている。 オブジェクト指向言語には、例えばアディソン・ウェスリー社(Addison Wesley
    Publishing Company)刊、ザ・アノティテッド・シー・
    プラス・プラス・リファレンス・マニュアル(1990)
    (The Annotated C ++ Reference Manual)に記載されている、C ++と呼ばれる言語がある。 また、特にオブジェクト指向言語を使用しなくても、例えばC言語で構造体と関数を用いてもオブジェクトを表現できる。

    【0033】クラス定義では、オブジェクトのデータ構造と手続きを宣言する。 例えば前記C ++言語では、個々のデータはメンバと呼ばれ、手続きはメンバ関数と呼ばれる。 C言語を用いる場合、構造体でオブジェクトの属性を、関数で手続きを記述する。 プログラマにより記述されたクラス定義は、コンパイラにより実行可能プログラムに変換され、それをメモリ上にロードして実行することができる。

    【0034】オブジェクト指向ミドルウェア1om,2
    omはアプリケーションプログラムからの要求により、
    他の計算機上のオブジェクトの手続きを呼び出すためのメッセージを、自律分散通信処理1ad,2adによって送信し、その手続きの実行結果を自律分散通信処理1
    ad,2adによって受信しアプリケーションプログラムに渡したり、他の計算機上のアプリケーションプログラムからの該計算機上のオブジェクトの手続き呼び出し手続き要求に応じて、計算機上のオブジェクトの手続き呼び出しを要求するメッセージを自律分散通信処理1a
    d,2adによって受信し、そのオブジェクトの手続きを呼び出し、結果を返すメッセージを自律分散通信処理1ad,2adによって送信するためのソフトウェアである。

    【0035】オブジェクトの手続きを呼び出すアプリケーションプログラムは、通常の手続き的なプログラムでもいいし、オブジェクトの手続きでもよい。 オブジェクトの手続きを呼び出すには、オブジェクト識別子と呼び出す手続きを指定する。 必要により引数を付加することもできる。 本実施例では、オブジェクト識別子中のオブジェクト番号を特定の値、例えば0とすると、それはそのクラスの全てのオブジェクトを指定するものとする。
    このようなオブジェクト番号を指定したオブジェクト識別子をマルチキャスト識別子と呼ぶことにする。 なお、
    手続きの指定方法として、「属性1の読み出し」のような手続き名を指定する方法と、「属性1」という属性名と「読み出し」というサービス(アクセス種別)名との組み合わせで指定する方法がある。

    【0036】自律分散通信処理1ad,2adは、オブジェクト指向ミドルウェア1om,2omの要求に応じて、他の計算機にメッセージを送信したり、他の計算機からのメッセージを受信したりするソフトウェアである。 通信処理はOS1os,2osのネットワーク通信機能を利用して実現する。

    【0037】OS1os,2osはプログラムの実行やユーザとの基本的なサービスを行うソフトウェアである。 OS1os,2osはそれぞれ、スケジューラ1s
    c,2sc,デバイスドライバ1dd,2dd,ネットワーク通信処理1cm,2cm,メモリ管理処理1m
    m,2mmを含んでいる。 スケジューラ1sc,2sc
    はアプリケーションプログラムの実行のスケジューリングを行う。 デバイスドライバ1dd,2ddは入出力装置1i,2iを制御して入出力処理を行う。 ネットワーク通信処理1cm,2cmは、他の計算機とネットワークを介してデータの送受信を行う。 メモリ管理処理1m
    m,2mmはアプリケーションプログラムの実行に必要なメモリの管理を行う。

    【0038】OSのスケジューラ,デバイスドライバ,
    ネットワーク通信処理,メモリ管理処理は、例えば、プレンティス・ホール社(Prentice-Hall)刊、ザ・デザイン・オブ・ザ・ユニックス・オペレーティング・システム(1986)(The Designof the UNIX Operating Sys
    tem(1986))や、アジソン・ウェスリー社(Addison-Wes
    ley Publish Company)刊、ザ・デザイン・アンド・インプリメンテーション・オブ・ザ・4.3ビー・エス・
    ディー・ユニックス・オペレーティング・システム(1
    989年)(The Design and Implementation of the
    4.3BSD UNIXOperation System(1989))に記載されている手法により実現できる。 これらに記載されたOSではソケット(socket)と呼ばれるネットワーク通信機能を提供している。 ソケットでは、UDP/IPと呼ばれるプロトコルを用いた同報通信機能を提供している。

    【0039】ここで、自律分散通信処理1adの詳細について、図4を用いて説明する。 自律分散通信処理1a
    dは送信処理部1as,受信処理部1ar,受信内容コード記憶部1acから成る。

    【0040】送受信するメッセージの基本構成を図5に示す。 メッセージ1msはメッセージヘッダ1mhとメッセージ本体1mbから成る。 メッセージ本体はASHRAE
    135ではAPDUと呼ばれている。 メッセージ本体は、
    オブジェクト指向ミドルウェアにより生成される。 メッセージヘッダ1mhは内容コード1mccとメッセージ識別情報1midから成る。

    【0041】内容コード1mccはメッセージ本体が何を表わすものであるかを識別するための情報である。 メッセージ識別情報1midは、オブジェクトの手続き呼び出しのためのメッセージを一意に識別するための情報である。 本実施例では、メッセージ識別情報をネットワークに接続された計算機を一意に指定するためのノード番号と、各計算機毎に、該計算機が送信するオブジェクトの手続き呼び出し要求のためのメッセージを一意に指定するための要求番号とを組み合わせて、メッセージ識別情報を生成する。

    【0042】メッセージヘッダとしてはこの他、より多くの情報を含む、例えば特開平2−193294号に記載された形式でもよい。

    【0043】送信処理部の動作について説明する。 送信処理部1asは、内容コード,メッセージ識別情報,メッセージ本体を指定して、自律分散通信処理1adにメッセージの送信を依頼する。 自律分散通信処理は与えられた内容コード,メッセージ識別情報,メッセージ本体を組み合わせてメッセージを生成し、同報通信により、
    該メッセージを送信する。 前述のように同報通信によるメッセージ通信は、OSのソケット機能を用いてUDP
    /IPプロトコルにより行う。

    【0044】ソケット機能によりメッセージを送信するには、メッセージの送信先を、計算機に一意に与えられえたIPアドレスと、ポート番号を指定する必要がある。 本実施例では、同報通信を行うため、IPアドレスはブロードキャストアドレスを使用する。 これにより、
    全てのノードがメッセージを受け取ることができる、同胞通信が可能になる。 ポート番号は内容コードと一致させる。

    【0045】受信処理部の動作について説明する。 受信処理部1arは、オブジェクト指向ミドルウェア1om
    の要求により、他の計算機からのメッセージを受信する。 この時、受信するメッセージは、その計算機が受信対象とする内容コードを持つもののみである。 受信対象とする内容コードは内容コード対応情報記憶部1ccに記憶する。 ここで、受信対象とする内容コードは、その計算機上のオブジェクトへの要求メッセージの可能性のある内容コードと、その計算機上のアプリケーションプログラムが送信する要求メッセージに対する応答メッセージの可能性のある内容コードである。

    【0046】受信処理部は、内容コード情報記憶部に記憶されている内容コードのみを受信する。 前述のように内容コードはポート番号と一致させるので、ソケット機能を用いて、受信対象内容コードに対応するポートのみのメッセージを受信する。 メッセージを受信すると、受信したメッセージのメッセージ本体とメッセージ識別情報をオブジェクト指向ミドルウェアに渡す。

    【0047】次にオブジェクト指向ミドルウェアの詳細について、図6を用いて説明する。 オブジェクト指向ミドルウェアは、要求メッセージ送信処理部1rm,送信メッセージ識別情報記憶部1si,オブジェクトディスパッチャ1od,受信メッセージ識別情報記憶部1r
    i,オブジェクトアドレス情報記憶部1oa,内容コード対応情報記憶部1ccから成る。

    【0048】要求メッセージ送信処理部1rmはアプリケーションプログラム1apからの要求により、他の計算機上のオブジェクトの手続きを呼び出すための要求メッセージを、自律分散通信処理1adによって送信し、
    その手続きの実行結果を含む応答メッセージを自律分散通信処理1adによって受信しアプリケーションプログラム1apに渡す処理を行う。

    【0049】本実施例における、要求メッセージのメッセージ本体の形式を図7に示す。 要求メッセージ本体1
    mbは、メッセージ本体の大きさ(Byte数)1mbl,メッセージタイプ1mbt,要求先のオブジェクトのオブジェクト識別子1mbi,呼び出す手続きの手続き識別子1mbp,手続きの引数(複数ある場合はその並び)1
    mbaから成る。 手続き識別子はオブジェクトの手続きを一意に指定するための識別番号である。 メッセージタイプ1mbtはメッセージが要求か応答かを示すもので、この場合は要求を示す値を格納する。

    【0050】本実施例における、応答メッセージのメッセージ本体の形式を図8に示す。 要求メッセージ本体1
    mbは、メッセージ本体の大きさ(Byte数)1mbl,
    メッセージタイプ1mbt,応答元(要求先)のオブジェクトのオブジェクト識別子1mbi,呼び出した手続きの手続き識別子1mbp,戻り値1mbrから成る。
    ここでメッセージタイプ1mbtは応答を示す値を格納する。

    【0051】ここでは手続きを指定するのに手続き名を用いたが、前述のように属性とサービスを指定する方法、例えばASHRAE 135で規定されたフォーマットを使用してもよい。

    【0052】要求メッセージ送信処理部1rmは、メッセージ本体を作成したら、内容コードとメッセージ識別情報とを指定して、自律分散通信処理1adにメッセージ送信を依頼する。 本実施例では、要求/応答,クラス、及び手続きに内容コードを対応させる。 これらの対応情報は、内容コード対応情報記憶部1ccに記憶されている。

    【0053】内容コード対応情報記憶部1ccに記憶されている内容コード対応情報を図9により説明する。 内容コードは、そのメッセージが要求か応答か、送信先のオブジェクトのクラスが何か、呼び出す手続きは何かによって、その値が決まる。 図9はこれらの対応の例を示している。 例えば、クラス1の手続き11を呼び出す要求メッセージの内容コードは111になる。 逆に、内容コードが与えられれば、そのメッセージが要求か応答か、送信先のオブジェクトのクラスが何か、呼び出す手続きは何かがわかる。 例えば内容コードが212のメッセージは、クラス1の手続き12を実行した結果を返す応答メッセージである。

    【0054】要求メッセージ送信処理部1rmの動作を説明する。 要求メッセージ送信処理は、アプリケーションプログラムから、相手先のオブジェクト識別子,起動する手続き,引数を指定して起動される。 要求メッセージ送信処理部の要求メッセージ送信処理を図10を用いて説明する。 要求メッセージ送信処理100は、まず、
    図7に示した形式の要求メッセージ本体1mbを作成する(処理101)。 そして、図9に示した内容コード対応情報1ccを参照して、要求メッセージの内容コードを割り当てる(処理102)。 また、メッセージ識別情報を割り当てるとともに、該メッセージ識別情報を送信メッセージ識別情報記憶部1siに記憶する(処理10
    3)ここで、メッセージ識別情報は、前述のように、ノード番号と要求番号とを組み合わせてある。 要求番号は、その計算機が送信する要求メッセージを一意に指定するためのもので、計算機立ち上げ後最初の要求番号を0とし、以下1ずつ増やして割り当てる。

    【0055】そして、割り当てた内容コードとメッセージ識別情報とを指定して、自律分散通信処理1adに、
    要求メッセージ本体の送信を依頼する(処理104)。
    自律分散通信処理1adは、図5に示したメッセージを生成して、同報通信により該メッセージを送信する。

    【0056】次に、応答メッセージ本体の受信を自律分散通信処理1adに依頼し、自律分散通信処理1adが受信した応答メッセージの応答メッセージ本体と該メッセージのメッセージ識別情報を受け取る(処理10
    5)。 本実施例では、応答メッセージも同報通信により送信されるので、受け取った応答メッセージが、必ずしも上記要求メッセージに対する応答メッセージとは限らない。 そこで、受け取った応答メッセージのメッセージ識別情報が、送信メッセージ識別情報記憶部1siに記憶した要求メッセージの識別番号と一致するかどうかを調べる処理を行う(処理106)。 一致しなければ該応答メッセージは上記要求メッセージに対する応答メッセージではないので、再び応答メッセージ本体の受信を自律分散通信処理1adに依頼し、自律分散通信処理1a
    dが受信した応答メッセージの応答メッセージ本体と該メッセージのメッセージ識別情報を受け取る(処理10
    5)。 メッセージ識別情報が一致すれば、上記要求メッセージに対する応答メッセージであるので、該応答メッセージのメッセージ本体から戻り値を取り出し、アプリケーションプログラムに渡して(処理107)、要求メッセージ送信処理を終了する。

    【0057】オブジェクトディスパッチャ1odの動作を説明する。 オブジェクトディスパッチャは、オブジェクトの手続き呼び出しを要求する要求メッセージを自律分散通信処理によって受信し、該オブジェクトの手続きを呼び出して処理を実行し、その結果を応答メッセージにより送信する処理を行う。

    【0058】オブジェクトの手続きを呼び出すには、呼び出すオブジェクトのアドレスと、呼び出す手続きのアドレスを指定する必要がある。 しかし、要求メッセージ本体に含まれる情報はオブジェクト識別子と手続き識別子であり、アドレスそのものは含まれていない。 そこで、計算機上に存在するオブジェクトについて、オブジェクト識別子および手続き識別子とオブジェクトアドレスおよび手続きアドレスとの対応を、オブジェクトアドレス情報記憶部1oaに記憶する。

    【0059】オブジェクトアドレス情報記憶部1oaに記憶されているオブジェクトアドレス情報を図11により説明する。 オブジェクトアドレス情報記憶部1oaには、オブジェクトアドレステーブル1oaoと、手続きアドレステーブル1oapが記憶されている。

    【0060】オブジェクトアドレステーブル1oaoはオブジェクト識別子とオブジェクトアドレスとの対応を記憶する。 例えば、オブジェクト識別子1で指定されるオブジェクトのアドレスはオブジェクトアドレス1である。 オブジェクトアドレステーブル1oaoにはその計算機に存在する全てのオブジェクトのオブジェクト識別子が記憶されているので、オブジェクト識別子が与えられた場合、そのオブジェクト識別子で指定されるオブジェクトがその計算機上に存在するかどうかは、オブジェクトアドレステーブル1oaoを調べればわかる。

    【0061】手続きアドレステーブル1oapはクラス番号および手続き識別子と手続きアドレスとの対応を記憶する。 クラス番号は、前述のように、オブジェクト識別子中に含まれている。 例えば、クラス番号がクラス1
    で手続き識別子が手続き11で指定される手続きのアドレスは手続きアドレス11である。

    【0062】オブジェクトディスパッチャのオブジェクトディスパッチング処理を図12を用いて説明する。 オブジェクトディスパッチング処理200は、まず自律分散通信処理1adに依頼して、要求メッセージの要求メッセージ本体と、メッセージ識別情報を受け取る(処理201)。 ここで、要求メッセージは同報通信により送信され、その内容コードは要求/応答,クラス、及び手続きに対応し、個々のオブジェクト識別子には対応していないので、その計算機に存在しないオブジェクトへの要求メッセージも受け取る可能性がある。

    【0063】そこで次に、要求メッセージ本体中に含まれるオブジェクト識別子と、オブジェクトアドレス情報記憶部1oa中のオブジェクトアドレステーブル1oa
    oとを比較し、要求メッセージ本体中に含まれるオブジェクト識別子で指定されているオブジェクトがその計算機上に存在するかどうかを判定する(処理202)。 オブジェクト識別子がマルチキャスト識別子の場合は、そのクラスのオブジェクト全てに対する要求メッセージを受信したものとして扱う。 オブジェクト識別子で指定されるオブジェクトがその計算機上に存在しなければオブジェクトディスパッチング処理を終了する。

    【0064】要求メッセージ本体中に含まれるオブジェクト識別子で指定されるオブジェクトが存在する場合には、該要求メッセージのメッセージ識別情報を、受信メッセージ識別情報記憶部1riに記憶する(処理20
    3)。 そして、受信した要求メッセージ本体中に含まれるオブジェクト識別子と手続き識別子に対応するオブジェクトアドレスと手続きアドレスを、手続きアドレステーブル1oapを参照して得、要求メッセージ本体中に含まれる引数を付けてオブジェクトの手続きを呼び出す(処理204)。

    【0065】オブジェクトの手続きが終了するとその戻り値が得られるので、その戻り値を含む応答メッセージ本体を作成する(処理205)。 そして、内容コード対応情報記憶部1ccを参照して、該応答メッセージの内容コードを割り当て(処理206)、割り当てた内容コードと、受信メッセージ識別情報記憶部1riに記憶されているメッセージ識別情報を指定して、作成した応答メッセージ本体の送信を、自律分散通信処理1adに依頼する(処理207)。

    【0066】このようなオブジェクトディスパッチング処理200を繰り返し実行することにより、その計算機が受信した要求メッセージの各々について対応する処理を行うことができる。

    【0067】以上説明した処理により、オブジェクトの手続き呼び出しの要求メッセージ及び応答メッセージを同報通信によって送受信することが可能になる。

    【0068】(2)本発明の一実施の効果 本発明の一実施例では、全ての計算機のアプリケーションプログラムが、他の計算機上のオブジェクトの手続きを呼び出すことと、他の計算機上のアプリケーションからのオブジェクトの手続き呼び出しの要求に応じて該手続きを実行することの、両者が可能であった。 このため、特定の計算機で実行する必要のないアプリケーションプログラムやオブジェクトを他の計算機上に容易に移動できる。 これにより、システムの変更や拡張が容易であるという効果がある。

    【0069】本発明の一実施例によれば、その内容コードは要求/応答,クラス、及び手続きに対応させ、またマルチキャスト識別子によりひとつのクラスの全てのオブジェクトを指定できるので、同一クラスに属する全てのオブジェクトに対する手続き呼び出し処理を効率化できるという効果がある。

    【0070】(3)本発明の他の実施例 本発明の一実施例では、要求メッセージに対する応答メッセージを常に返すようにしているが、要求メッセージにより呼び出したオブジェクトの手続きの実行結果を必要としない場合には、応答メッセージを省略することができる。 この場合、受信メッセージ識別情報記憶部や送信メッセージ識別情報記憶部は不要で、オブジェクトディスパッチャや要求メッセージ送信処理部の処理も簡単になり、処理効率が向上するという効果がある。

    【0071】本発明の一実施例では、全ての計算機のアプリケーションプログラムが、他の計算機上のオブジェクトの手続きを呼び出すことと、他の計算機上のアプリケーションからのオブジェクトの手続き呼び出しの要求に応じて該手続きを実行することの、両者が可能であった。 しかし、各計算機の役割が決まっているシステムの場合には、各計算機はいずれか一方のみが可能であればよいことがある。 この場合には、前者のみが可能な計算機上では、オブジェクトディスパッチャ,受信メッセージ識別情報記憶部,オブジェクトアドレス情報記憶部が不要になり、後者のみが可能な計算機上では、要求メッセージ送信処理部,送信メッセージ識別情報記憶部が不要になり、システム構成が単純で、資源を節約できるという効果がある。

    【0072】本発明の一実施例では、内容コードは要求/応答,クラス、及び手続きに対応させたが、要求/応答及び手続きに、あるいは要求/応答のみに対応させてもよい。 これにより必要な内容コードを少なくでき、資源を節約できるという効果がある。

    【0073】本発明の一実施例では、内容コードは要求/応答,クラス、及び手続きに対応させたが、要求/応答,オブジェクト識別子、及び手続きに、あるいは要求/応答及びオブジェクト識別子に、あるいはオブジェクト識別子のみに対応させてもよい。 これにより、内容コードにより一意にオブジェクトを特定でき、オブジェクト指向ミドルウェアの処理が単純かつ効率的になるという効果がある。

    【0074】本発明の一実施例では、内容コードは要求/応答,クラス、及び手続きに対応させたが、手続きはオブジェクトの属性と読み出しや書き込み等のアクセスの種類によって指定できるので、内容コードを要求/応答,クラス,属性、及びアクセスの種類に、あるいは要求/応答,属性、及びアクセスの種類に、あるいは属性、及びアクセスの種類に、対応させてもよい。 これにより手続きを要に指定する必要がなくなり、要求側が手続きの存在を意識せずに処理の記述を可能とするという効果がある。

    【0075】

    【発明の効果】本発明によれば、メッセージは要求,応答ともに同報通信により送信されるため、オブジェクトの存在する計算機を意識せずにすみ、また、オブジェクトが存在する計算機を変更してもアプリケーションプログラムの処理を変更せずにすみ、ネットワーク透過性や高いシステム拡張性を有するオブジェクト指向分散システムを実現できるという効果がある。

    【0076】また、本発明によれば、要求,応答ともにメッセージを内容コードを付加した同報通信により送信すればよく、ネームサーバのような特別の機構が不要なため、ネットワーク透過性や高いシステム拡張性を単純な処理で効率よく実現できるという効果がある。

    【0077】また、本発明によれば、内容コードをオブジェクトに関する情報の何に対応させるかを対応情報で規定しているので、対応情報を変更するのみで、システムにとって最適な対応付けを採用することができ、効率的な通信処理を容易に実現できるという効果がある。

    【図面の簡単な説明】

    【図1】本発明の一実施例の全体構成を示す図。

    【図2】本発明の一実施例のオブジェクトの構成を示す図。

    【図3】本発明の一実施例のオブジェクト識別子の構成を示す図。

    【図4】本発明の一実施例の自律分散通信処理部の構成を示す図。

    【図5】本発明の一実施例のメッセージの基本形式を示す図。

    【図6】本発明の一実施例のオブジェクト指向ミドルウェアの構成を示す図。

    【図7】本発明の一実施例の要求メッセージ本体の形式を示す図。

    【図8】本発明の一実施例の応答メッセージ本体の形式を示す図。

    【図9】本発明の一実施例の内容コード対応情報を示す図。

    【図10】本発明の一実施例の要求メッセージ送信処理のフローチャート。

    【図11】本発明の一実施例のオブジェクトアドレス情報を示す図。

    【図12】本発明の一実施例のオブジェクトディスパッチング処理のフローチャート。

    【符号の説明】

    1c,2c…計算機、1n…ネットワーク、1p,2p
    …プロセッサ、1m,2m…メモリ、1i,2i…入出力装置、1os,2os…オペレーティングシステム、
    1sc,2sc…スケジューラ、1dd,2dd…デバイスドライバ、1cm,2cm…ネットワーク通信処理、1mm,2mm…メモリ管理処理、1ap,2ap
    …アプリケーションプログラム、1ad,2ad…自律分散通信処理、1om,2om…オブジェクト指向ミドルウェア、11o,12o,21o,22o…オブジェクト、11p1,11p2…手続き、11d1,11d2
    …属性、1as…送信処理部、1ar…受信処理部、1
    ac…受信内容コード記憶部、1rm…要求メッセージ送信処理部、1si…送信メッセージ識別情報記憶部、
    1od…オブジェクトディスパッチャ、1ri…受信メッセージ識別情報記憶部、1oa…オブジェクトアドレス情報記憶部、1cc…内容コード対応情報記憶部。

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈