[go: up one dir, main page]

JP2001092794A - 通信網におけるデータ対象物の共用管理 - Google Patents

通信網におけるデータ対象物の共用管理

Info

Publication number
JP2001092794A
JP2001092794A JP2000191597A JP2000191597A JP2001092794A JP 2001092794 A JP2001092794 A JP 2001092794A JP 2000191597 A JP2000191597 A JP 2000191597A JP 2000191597 A JP2000191597 A JP 2000191597A JP 2001092794 A JP2001092794 A JP 2001092794A
Authority
JP
Japan
Prior art keywords
computer
data object
remote
function
data
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.)
Granted
Application number
JP2000191597A
Other languages
English (en)
Other versions
JP4965014B2 (ja
Inventor
Moreau Jean-Jacques
モロー ジャン−ジャック
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.)
Canon Research Center France SAS
Original Assignee
Canon Research Center France SAS
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
Priority claimed from FR9908155A external-priority patent/FR2795535A1/fr
Priority claimed from FR9908156A external-priority patent/FR2795536A1/fr
Application filed by Canon Research Center France SAS filed Critical Canon Research Center France SAS
Publication of JP2001092794A publication Critical patent/JP2001092794A/ja
Application granted granted Critical
Publication of JP4965014B2 publication Critical patent/JP4965014B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 コンピュータ通信ネットワークでマーシャリ
ングを実行する方法により、データオブジェクトをデー
タ処理アプリケーションにより使用されるプログラミン
グ言語からコンピュータ通信ネットワークの通信プロト
コルにより使用できる通信言語へマーシャリング可能と
する。 【解決手段】 本マーシャリング方法は、データオブジ
ェクトに含まれるデータフィールドを読み取るステップ
(E1)と、データフィールドについて、データフィー
ルドの構造が複雑である場合、データフィールドと関連
するコンピュータアドレスを置き換えるステップ(E5
〜E7)と、データフィールドと関連するコンピュータ
アドレスを関連付けるテーブル(T)に格納するステッ
プ(E5〜E7)とから成る。特に、データオブジェク
トの転送及びデータオブジェクトに対するファンクショ
ンの遠隔実行に適用される。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、概括的な言葉で
は、通信ネットワークにおけるデータ対象物(オブジェ
クト)の共用管理を改善することを目指している。
【0002】第1の態様によれば、本発明は、コンピュ
ータ通信ネットワークでデータオブジェクトをマーシャ
リング(marshalling)する方法に関する。
【0003】また、本発明は、コンピュータ通信ネット
ワークでデータオブジェクトを転送する方法及びコンピ
ュータ通信ネットワークの1つのサイトにおいてデータ
オブジェクトを遠隔更新する方法に関する。
【0004】別の態様によれば、本発明は、コンピュー
タ通信ネットワークで、データオブジェクトに対しファ
ンクションを遠隔実行する方法に関する。
【0005】また、本発明は、遠隔データオブジェクト
のファンクションをローカルコンピュータで起動する方
法、コンピュータ通信ネットワークでインタフェースを
転送する方法、遠隔コンピュータでデータオブジェクト
のファンクションを起動するためのコンピュータ要求を
生成する方法、及びコンピュータ通信ネットワークで遠
隔コンピュータのデータオブジェクトのファンクション
を起動する方法にも関する。
【0006】これに相関して、本発明は、全て本発明に
よる上記の方法を実現するのに適合する装置であるデー
タオブジェクトをマーシャリングする装置、データオブ
ジェクトを転送する装置、及びコンピュータ通信ネット
ワークの1つのサイトにおいてデータオブジェクトを遠
隔更新する装置に関する。
【0007】また、本発明は、コンピュータ通信ネット
ワークで、データオブジェクトに対しファンクションを
遠隔実行する装置、遠隔データオブジェクトのファンク
ションをローカルコンピュータで起動する装置、コンピ
ュータ通信ネットワークでインタフェースを転送する装
置、遠隔コンピュータでデータオブジェクトのファンク
ションを起動するためのコンピュータ要求を生成する装
置、及びコンピュータ通信ネットワークで遠隔コンピュ
ータにおけるデータオブジェクトのファンクションを起
動する装置にも関する。
【0008】本発明は、概括的な言葉ではネットワーク
に接続するサイト間の情報の転送を可能にするコンピュ
ータ通信ネットワークの分野にある。
【0009】本発明は、ネットワークに接続する異なる
サイトの間の通信プロトコルを定義する通信ネットワー
クに適用される。
【0010】
【従来の技術】このようなネットワークの一例は、HTTP
(Hypertext Transfer Protocol)通信プロトコルに基
づいて構築される、インターネットなどの世界にまたが
る通信ネットワークであると考えられるが、これには限
定されない。
【0011】このような通信ネットワークは、例えば、
XML(Extended Markup Language)などの注釈言語も定
義するので、特に、これらのネットワークを介して、通
常は「ポインタ」と呼ばれるハイパーテキストリンクによ
り文書を互いに連結することが可能になる。
【0012】本発明は、特にこのようなコンピュータ通
信ネットワークにおけるデータオブジェクトの共用管理
を改善することを目的としている。
【0013】分散オブジェクトシステムにおいては、デ
ータオブジェクトは属性と呼ばれるデータと、入力引数
をおそらく使用するファンクションとから構成される1
つの要素である。従来、それらのファンクションはオブ
ジェクトのデータを操作するために呼び出し可能であ
る。
【0014】オブジェクト及び属性に適用可能である全
てのファンクションはそのインタフェースを構成する。
【0015】各データオブジェクトは、そのオブジェク
トが作成されたネットワークの中のサイトで使用される
データ処理アプリケーションが使用するプログラミング
言語で作成される。
【0016】そのようなプログラミング言語は、例えば
JAVA(登録商標)又はC++などの名称で知られてい
る。
【0017】データオブジェクトを通信ネットワークで
共用できるようにするには、データオブジェクトが通信
ネットワークのアーキテクチャにも、データ処理アプリ
ケーションがそのオブジェクトを作成したときのプログ
ラミング言語にも左右されないように、オブジェクトを
符号化することが必要である。
【0018】これは、別のコンピュータが同一のネット
ワークアーキテクチャをもてないため、又は異なるデー
タ処理アプリケーションを実現する可能性があるために
必要である。
【0019】データオブジェクトが別のサイトで受信さ
れた場合、この第2のサイトで使用されるデータ処理ア
プリケーションのオブジェクトの表現を獲得するために
オブジェクトに逆マーシャリング動作を適用しなければ
ならない。
【0020】Allaire Corporation社は、最近、ネット
ワークでデータオブジェクトを分散させることを可能に
するWDDXシステムを開発した。このWDDXシステムは、通
信ネットワークを介する複雑なデータ構造の交換を容易
にするために、XML通信言語を使用する。
【0021】例えば、WDDXシステムはC言語でプログラ
ムされたデータ構造をXML通信言語へマーシャリングし
た後、ネットワークにおける第1のコンピュータから第
2のコンピュータへ転送し、最終的に第2のコンピュー
タにおいて等価のデータ構造へ逆マーシャリングするこ
とができる。
【0022】しかし、このWDDXシステムは、複雑な構造
のデータフィールドを有するデータオブジェクトのマー
シャリング及び転送にはあまり適していない。そのよう
な複雑な構造は、特に、1つのデータフィールドがそれ
自体複雑でもある少なくとも1つの他のデータフィール
ドを指示する又は含んでいる場合に見られる。
【0023】この場合、WDDXシステムは、下位のデータ
構造のXML表現をも含ませるためにより上位のデータ構
造のXML表現を要求し、これは再帰的に循環する。
【0024】この進行方式は、ネットワークを介するデ
ータオブジェクトのマーシャリング及び転送の性能に大
きな影響を及ぼす。
【0025】加えて、XML通信言語での表現はネットワ
ークの広い帯域幅を無用に占め、その一方で、宛先サイ
トが現実には下位のデータ構造を必要としない場合も起
こりうる。
【0026】更に、このWDDXシステムはデータの転送に
のみ関連し、遠隔場所でデータのファンクションを呼び
出すことはできない。
【0027】通常、オブジェクトのインタフェースはWD
DXシステムには関係しない。
【0028】また、Datachannel社は、通信ネットワー
クを介するデータオブジェクトの分散を可能にするWeb
Brokerシステムを提案した。
【0029】このWeb Brokerシステムによれば、ネット
ワークにおけるインタフェースの概念を定義することが
できる。
【0030】
【発明が解決しようとする課題】しかし、このシステム
では、インタフェースに記載されるファンクションに関
わるソースコードを獲得することは不可能である。従っ
て、ローカルコンピュータでこのファンクションを再実
行したり、遠隔オブジェクトのコピーでファンクション
をローカルに呼び出したりすることはできない。
【0031】本発明の目的は、通信ネットワークにおけ
るデータオブジェクトの共用を容易にすることである。
【0032】
【課題を解決するための手段】この目的を達成するため
に、本発明は、第一に、コンピュータ通信ネットワーク
においてデータオブジェクトをデータ処理アプリケーシ
ョンにより使用されるプログラミング言語から前記コン
ピュータ通信ネットワークの通信プロトコルにより使用
できる通信言語へマーシャリングするマーシャリング方
法であって、前記データオブジェクトに含まれるデータ
フィールドを読み取るステップと、前記データフィール
ドの構造が複雑である場合、前記データフィールドと関
連するコンピュータアドレスを前記データフィールドの
代わりに用いるステップと、前記データフィールドと関
連する前記コンピュータアドレスを関連付けテーブルに
格納するステップとを有するマーシャリング方法に関す
る。
【0033】即ち、本発明によるデータオブジェクトを
マーシャリングする方法によれば、少なくとも1つの複
雑なデータフィールドをコンピュータアドレスと一時的
に置き換え、通信ネットワークにおけるサイトにより要
求される場合に限り、必要に応じて、このデータフィー
ルドの通信言語へのマーシャリングを進行することがで
きる。
【0034】データオブジェクトに含まれるデータフィ
ールドには、データ又は属性プロパーと、このオブジェ
クトに関連するインタフェースと、適用可能なファンク
ションとがある。
【0035】コンピュータアドレスを各データフィール
ドと関連付けて格納する関連付けテーブルの使用によ
り、ネットワークに接続するあらゆるサイトで、異なる
複雑なデータフィールドを見ることができる。
【0036】リテラルオブジェクトのみが値によりマー
シャリングされる。
【0037】これらのリテラルオブジェクトは、例え
ば、整数、十進数、ブール要素、文字又は短い文字列で
ある。
【0038】本発明の好ましい特徴によれば、格納する
ステップで、前記データフィールドは前記プログラミン
グ言語で格納される。
【0039】即ち、このデータフィールドを実際にプロ
グラミング言語から通信言語へマーシャリングする必要
なく、関連付けテーブルに格納されているコンピュータ
アドレスを利用することによって、異なるデータフィー
ルドの表現をあらかじめ生成しておくことが可能であ
る。
【0040】コンピュータアドレスを介してネットワー
ク中のサイトの1つからオブジェクトが要求されるま
で、通信言語へのマーシャリングを延期することができ
る。
【0041】実際には、複雑なデータ構造は少なくとも
1つのデータオブジェクト、アレイ又は最小限の長さの
文字のチェーンの中から選択される。
【0042】即ち、複雑なデータフィールドそれ自体が
データオブジェクトである場合、本発明のマーシャリン
グ方法によれば、インターネットで使用されているHTML
注釈言語に含まれるポインタと同様に、他のデータオブ
ジェクトを指示するリンクによってデータオブジェクト
の表現を獲得することが可能である。
【0043】このようにして、インターネット型の通信
ネットワークにおいてワールドワイドウェブを形成す
る、互いを指示し合う文書の図と同様の、データオブジ
ェクトの図が得られる。
【0044】本発明の有利な特徴によれば、マーシャリ
ング方法は、データフィールドの構造をあらかじめ確定
された複雑なデータ構造のリストと比較するステップを
含む。
【0045】実際に、この比較により、データオブジェ
クトに含まれる複雑なデータフィールドを検出し、それ
らとコンピュータアドレスを関連付けることが容易にな
る。
【0046】本発明の第2の態様によれば、コンピュー
タ通信ネットワークでデータオブジェクトを転送する方
法は、コンピュータの転送要求を受信するステップと、
前記コンピュータの要求からコンピュータアドレスを取
り出すステップと、関連付けテーブルにおいて前記コン
ピュータアドレスと関連するデータオブジェクトを識別
するステップと、前記識別されたデータオブジェクトを
前記通信ネットワークの通信プロトコルにより使用でき
る通信言語へマーシャリングするステップと、前記マー
シャリングされたデータオブジェクトを転送するステッ
プとを有する。
【0047】即ち、関連付けテーブルにおける各データ
オブジェクトをそのコンピュータアドレスによって識別
することにより、コンピュータオブジェクトを通信ネッ
トワークで容易に共用でき、また、要求に応じてデータ
オブジェクトを1つのサイトから別のサイトへ転送する
ことができる。
【0048】本発明の第3の態様によれば、コンピュー
タ通信ネットワークにおけるサイトでデータオブジェク
トを遠隔更新する方法は、コンピュータの更新要求を受
信するステップと、前記コンピュータの要求からコンピ
ュータアドレスを取り出すステップと、前記コンピュー
タの要求から前記コンピュータ通信ネットワークの通信
プロトコルにより使用できる通信言語へマーシャリング
されたデータオブジェクトを取り出すステップと、取り
出された前記コンピュータアドレス及びデータオブジェ
クトを前記サイトの関連付けテーブルで関連付けるステ
ップとを有する。
【0049】即ち、コンピュータアドレスと、通信言語
へマーシャリングされたデータオブジェクトの双方を含
むコンピュータの要求から、遠隔サイトの関連付けテー
ブルを更新することが可能である。
【0050】実際に、あるデータオブジェクトに対して
動作が実行され、データフィールドが変更されたとき、
そのデータオブジェクトが変更されたサイトはネットワ
ークにおけるあらゆるサイトへ一斉更新コンピュータ要
求を送信できるので、送信を受けたサイトはそれぞれ格
納されている関連付けテーブルを更新する。
【0051】各サイトは、遠隔サイトでコピーされたデ
ータオブジェクトのリストを、それらの遠隔サイトのア
ドレスと関連付けてメモリに格納し、関連するオブジェ
クトが変更されたとき、それらの遠隔サイトへ更新要求
を送信することもできる。
【0052】遠隔更新方法は、取り出されたデータオブ
ジェクトを前記サイトのコンピュータアプリケーション
により使用されるプログラミング言語へマーシャリング
するステップを更に含むのが好ましい。
【0053】即ち、各サイトは、そのサイトのデータ処
理アプリケーションに特有のプログラミング言語へマー
シャリングされたデータオブジェクトをその内部データ
において更新することができる。
【0054】この遠隔更新方法の好ましい特徴によれ
ば、関連付けるステップは、前記サイトの関連付けテー
ブルにて取り出されたコンピュータアドレスを識別する
ステップと、識別された場合、取り出されたデータオブ
ジェクトを、関連付けテーブルにて前記取り出されたコ
ンピュータアドレスと関連付けて格納された以前のデー
タオブジェクトの代わりに用いるステップとを含む。
【0055】即ち、関連付けテーブルは、コンピュータ
アドレスが転送されてくる新たなデータオブジェクトと
関連付けられるように更新される。
【0056】代わりに用いるステップにおいて、取り出
されたデータオブジェクトのデータフィールドは前記サ
イトの関連付けテーブルに格納された以前のデータオブ
ジェクトにコピーされるのが好ましい。
【0057】即ち、関連付けテーブルに格納されている
以前のデータオブジェクトを全て排除するのではなく、
新たなオブジェクトのデータフィールドを以前のデータ
オブジェクトに1つずつコピーする。その結果、以前の
データオブジェクトを指示していたアプリケーション内
部の全てのリンクはそのまま有効であり、この後は更新
されたデータオブジェクトを指示することになる。
【0058】あるいは、関連付けるステップは、前記サ
イトの関連付けテーブルにて取り出されたコンピュータ
アドレスを識別するステップと、識別されなかった場
合、前記取り出されたデータオブジェクトと取り出され
たコンピュータアドレスとの関連を前記サイトの関連付
けテーブルに追加するステップとを含む。
【0059】この場合、更新の要求の結果として得られ
た新たなデータオブジェクトを挿入することにより、遠
く離れてサイトの関連付けテーブルに追加することがで
きる。
【0060】本発明の第4の態様によれば、本発明は、
コンピュータ通信ネットワークで、データオブジェクト
のファンクションを遠隔場所から実行する方法に関す
る。
【0061】実際、周知のシステムにおいては、遠隔コ
ンピュータに格納されたデータオブジェクトに対しファ
ンクションを実現することは一般には不可能である。
【0062】しかし、コンピュータ通信ネットワークで
は、主な制約はこのネットワークで利用できる伝送速度
と帯域幅である。
【0063】本発明の別の目的は、コンピュータ通信ネ
ットワークで、データオブジェクトのファンクションを
遠隔地から実行できるようにすることである。
【0064】本発明によれば、この実行方法は、通信ネ
ットワークの通信プロトコルに従って、ファンクション
の実行コードと関連する前記ファンクションを転送する
ステップを含む。
【0065】従って、データオブジェクトのインタフェ
ースにリストアップされているファンクションの実行コ
ードを遠隔地から獲得することが可能である。
【0066】これにより、データオブジェクトの状態の
みではなく、データオブジェクトの行動をネットワーク
を介して搬送することが可能になる。
【0067】この方法によれば、ネットワークの中のコ
ンピュータで実現されるデータ処理アプリケーションが
少なくとも1つの実行コード、例えば、ECMA Script(J
AVAScript1.3)などのソースコードを支援するた
め、遠隔地でファンクションを再定義する可能性が開け
る。
【0068】即ち、ファンクション実行コードはネット
ワーク上で見ることができるものとなる。
【0069】本発明の好ましい特徴によれば、前記転送
するステップにおいて、前記ファンクションはコンピュ
ータ通信ネットワークの通信プロトコルにより使用でき
る通信言語へマーシャリングされた少なくとも1つのパ
ラメータとも関連付けられる。
【0070】即ち、前記転送するステップでは入力引数
も転送され、選択された入力引数をファンクションと関
連付けることにより、ファンクションを実現することが
できる。
【0071】遠隔実行方法は、通信ネットワークの通信
プロトコルに従って、前記ファンクションの実行コード
とそれぞれ関連する1つ又は複数のファンクションを含
むデータオブジェクトのインタフェースを転送するステ
ップを含むのが好ましい。
【0072】データオブジェクトと関連するファンクシ
ョンのみならず、そのインタフェース全体をも通信ネッ
トワーク上で転送し、見ることができるようにすること
が可能である。インタフェースにおいては、通信ネット
ワークの遠隔場所からファンクションを実行できるよう
にするために、リストアップされている各ファンクショ
ンがその実行コードと関連付けられている。
【0073】実際に、実行コードはデータ処理アプリケ
ーションによりいつでも実行できる、JAVA Scriptコー
ドなどのソースコード、バイトコードなどの事前コンパ
イル済みコード又はコンパイルされたコードである。
【0074】本発明の第5の態様によれば、ローカルコ
ンピュータで、コンピュータ通信ネットワーク上の遠隔
データオブジェクトのファンクションを起動する方法
は、ローカルコンピュータで、通信ネットワークの通信
プロトコルにより使用できる通信言語へマーシャリング
された前記遠隔データオブジェクトのコピーを受信する
ステップと、受信された前記データオブジェクトから前
記データオブジェクトのインタフェースを参照する少な
くとも1つのコンピュータアドレスを取り出すステップ
と、コンピュータアドレスを含む前記インタフェースの
獲得要求を遠隔コンピュータへ送信するステップと、前
記ファンクションの実行コードとそれぞれ関連する1つ
又は複数のファンクションを含む前記インタフェースを
受信するステップとを含む。
【0075】即ち、この起動方法により、ローカルコン
ピュータで、遠隔データオブジェクトと、少なくとも1
つの関連インタフェースの双方をコピーすることが可能
になるので、オブジェクトのファンクションをオブジェ
クトのコピーによりローカルコンピュータに直接に適用
することができる。
【0076】そこで、ファンクションの実行は、このよ
うな通信システムにおいてボトルネックとなっているネ
ットワーク利用可能帯域幅には左右されなくなる。
【0077】加えて、このファンクションの起動は、ロ
ーカルコンピュータが間欠的にしかネットワークに接続
されない場合でも実現可能である。
【0078】尚、インタフェースの各ファンクションと
関連する実行コードをネットワークにより使用できる通
信言語へマーシャリングして、直接に応答に含めるか、
あるいは、ネットワークでこの実行コードを参照するコ
ンピュータアドレスによって参考として含めるだけにと
どめるかのいずれかが可能であることに注意すべきであ
る。後者の場合、ローカルコンピュータは、関連するフ
ァンクションを実行すべきときに限り、一旦据え置き方
式でこの実行コードの転送を要求することができる。
【0079】有利な特徴によれば、起動方法は、受信し
た前記インタフェースの1つ又は複数のファンクション
と、これらファンクションの実行コードとを含むクラス
を前記ローカルコンピュータのデータ処理アプリケーシ
ョンにより使用されるプログラミング言語で作成するス
テップを更に含む。
【0080】このようにして、ローカルコンピュータに
おいて関連するソースコードからクラスをコンパイルす
ることにより得られたであろうクラスに類似する標準ク
ラスを獲得する。
【0081】本発明の第6の態様によれば、コンピュー
タ通信ネットワークで、本発明による起動方法の送信す
るステップで送信される獲得要求に応答してインタフェ
ースを転送する方法は、前記獲得要求を受信するステッ
プと、前記インタフェースを参照するコンピュータアド
レスを取り出すステップと、前記コンピュータアドレス
をインタフェースと関連付けて格納する関連付けテーブ
ルにおいて前記インタフェースを識別するステップと、
前記ファンクションの実行コードとそれぞれ関連する1
つ又は複数のファンクションを含み、ネットワークの通
信プロトコルにより使用できる通信言語へマーシャリン
グされた前記インタフェースを転送するステップとを含
む。
【0082】このインタフェースを転送する方法によ
り、データオブジェクトのコピーに対しこのファンクシ
ョンを遠隔場所で実行できるようにするために、関連付
けテーブルに基づいて、データオブジェクトと関連する
インタフェースを見出し、このインタフェースをネット
ワークにおける別のコンピュータへ転送することが実用
に即した方式で可能になる。
【0083】本発明の第7の態様によれば、コンピュー
タ通信ネットワークにおける遠隔コンピュータで、デー
タオブジェクトのファンクションを起動するためのコン
ピュータ要求を生成する方法は、前記データオブジェク
トを参照するコンピュータアドレスを入力するステップ
と、ファンクションの識別子を入力するステップと、前
記ファンクションと関連する実行コードを追加するステ
ップとを含む。
【0084】実行すべきファンクションに加え、このフ
ァンクションと関連する実行コードも導入されるように
して、このコンピュータ要求を生成することにより、ネ
ットワークにおける遠隔コンピュータに格納されている
データオブジェクトに対し、遠く離れてこのファンクシ
ョンを実行することが可能である。
【0085】即ち、遠隔コンピュータのファンクション
性は固定されているわけではなく、遠隔起動のための、
ファンクションとその実行コードの双方を識別すること
を可能にするそのようなコンピュータの要求を受信する
ことにより、ファンクション性を拡張することができ
る。
【0086】本発明の第8の態様によれば、コンピュー
タ通信ネットワークで、遠隔コンピュータ上のデータオ
ブジェクトのファンクションを起動する方法は、本発明
による生成方法に従って生成された起動要求を受信する
ステップと、前記起動要求から、データオブジェクトを
参照するコンピュータアドレスを取り出すステップと、
前記ファンクションの識別子を取り出すステップと、前
記ファンクションと関連する実行コードを取り出すステ
ップと、データオブジェクトに対して前記取り出された
コードを実行するステップとを含む。
【0087】即ち、通信ネットワークのデータオブジェ
クトに対し、遠隔場所からファンクションを呼び出し、
起動することができる。
【0088】これと関連して、本発明は、コンピュータ
通信ネットワークでデータオブジェクトをデータ処理ア
プリケーションにより使用されるプログラミング言語か
ら前記コンピュータ通信ネットワークの通信プロトコル
により使用できる通信言語にマーシャリングする装置で
あって、前記データオブジェクトに含まれるデータフィ
ールドを読み取る手段と、前記データフィールドの構造
が複雑である場合、前記データフィールドと関連するコ
ンピュータアドレスを前記データフィールドの代わりに
用いる手段と、前記データフィールドと関連する前記コ
ンピュータアドレスを関連付けテーブルに格納する手段
とを有するマーシャリング装置に関する。
【0089】本発明の第2の態様によれば、コンピュー
タ通信ネットワークでデータオブジェクトを転送する装
置は、コンピュータの転送要求を受信する手段と、前記
コンピュータの要求からコンピュータアドレスを取り出
す手段と、関連付けテーブルにおいて前記コンピュータ
アドレスと関連するデータオブジェクトを識別する手段
と、前記識別されたデータオブジェクトを前記通信ネッ
トワークの通信プロトコルにより使用できる通信言語へ
マーシャリングする手段と、前記マーシャリングされた
データオブジェクトを転送する手段とを有する。
【0090】本発明の第3の態様によれば、コンピュー
タ通信ネットワークにおけるサイトでデータオブジェク
トを遠隔更新する装置は、コンピュータの更新要求を受
信する手段と、前記コンピュータの要求からコンピュー
タアドレスを取り出す手段と、前記コンピュータ要求か
ら前記コンピュータ通信ネットワークの通信プロトコル
により使用できる通信言語へマーシャリングされたデー
タオブジェクトを取り出す手段と、前記サイトの関連付
けテーブルで、前記コンピュータアドレスと取り出され
たコンピュータオブジェクトとを関連付ける手段とを有
する。
【0091】本発明の第4の態様によれば、コンピュー
タ通信ネットワークで、データオブジェクトのファンク
ションを遠く離れて実行する装置は、通信ネットワーク
の通信プロトコルに応じて前記ファンクションの実行コ
ードと関連するファンクションを転送する転送手段を有
する。
【0092】本発明の第5の態様によれば、ローカルコ
ンピュータでコンピュータ通信ネットワーク上の遠隔デ
ータオブジェクトのファンクションを起動する装置は、
ローカルコンピュータで、通信ネットワークの通信プロ
トコルにより使用できる通信言語へマーシャリングされ
た前記遠隔データオブジェクトのコピーを受信する手段
と、受信された前記データオブジェクトから前記オブジ
ェクトのインタフェースを参照する少なくとも1つのコ
ンピュータアドレスを取り出す手段と、コンピュータア
ドレスを含む前記インタフェースを獲得するための要求
を遠隔コンピュータへ送信する手段と、前記ファンクシ
ョンの実行コードとそれぞれ関連する1つ又は複数のフ
ァンクションを有する前記インタフェースを受信する手
段とを有する。
【0093】本発明の第6の態様によれば、本発明によ
る前記起動装置の送信する手段により送信される獲得要
求に応答して、コンピュータ通信ネットワークでインタ
フェースを転送する装置は、前記獲得要求を受信する手
段と、前記インタフェースを参照するコンピュータアド
レスを取り出す手段と、前記コンピュータアドレスをイ
ンタフェースと関連付けて格納する関連付けテーブルで
前記インタフェースを識別する手段と、ネットワークの
通信プロトコルにより使用できる通信言語へマーシャリ
ングされ、前記ファンクションの実行コードとそれぞれ
関連する1つ又は複数のファンクションを有する前記イ
ンタフェースを転送する手段とを有する。
【0094】本発明の第7の態様によれば、コンピュー
タ通信ネットワークの遠隔コンピュータでデータオブジ
ェクトのファンクションを起動するためのコンピュータ
要求を生成する装置は、前記データオブジェクトを参照
するコンピュータアドレスを入力する手段と、ファンク
ションの識別子を入力する手段と、前記ファンクション
と関連する実行コードを追加する手段とを有する。
【0095】本発明の第8の態様によれば、コンピュー
タ通信ネットワークで、遠隔コンピュータ上のデータオ
ブジェクトのファンクションを起動する装置は、本発明
による生成方法に従って生成された起動要求を受信する
手段と、前記起動要求からデータオブジェクトを参照す
るコンピュータアドレスを取り出す手段と、前記ファン
クションの識別子を取り出す手段と、前記ファンクショ
ンと関連する実行コードを取り出す手段と、取り出され
たコードをデータオブジェクトで実行する手段とを有す
る。
【0096】これら様々な装置の特徴及び利点は、先
に、それらの装置が実現する本発明による方法に関して
それぞれ説明した特徴及び利点と同様である。
【0097】また、本発明は、全て本発明に従った装置
であるデータオブジェクトをマーシャリングする装置及
び/又はデータオブジェクトを転送する装置及び/又は
遠隔更新装置及び/又は遠隔実行装置及び/又はファン
クションをローカルコンピュータで起動する装置及び/
又はインタフェース転送装置及び/又は起動のためのコ
ンピュータ要求を生成する装置及び/又は遠隔コンピュ
ータでファンクションを起動する装置を有するコンピュ
ータに関する。
【0098】更に、本発明は、全て本発明に従って装置
であるデータオブジェクトをマーシャリングする装置及
び/又はデータオブジェクトを転送する装置及び/又は
遠隔更新装置及び/又は遠隔実行装置及び/又はファン
クションをローカルコンピュータで起動する装置及び/
又はインタフェース転送装置及び/又は起動のためのコ
ンピュータ要求を生成する装置及び/又は遠隔コンピュ
ータでファンクションを起動する装置を含むコンピュー
タ通信ネットワークにも関する。
【0099】これらのコンピュータ及びコンピュータ通
信ネットワークは、先に本発明による方法に関連して説
明したのと同様の利点を有する。
【0100】更に、本発明は、コンピュータに組み込ま
れているか又は組み込まれていないかに関わらず、おそ
らくは着脱自在である記憶手段又は情報キャリアに格納
され、全て本発明に従った方法である本発明によるマー
シャリング方法のステップ及び/又は本発明による転送
方法のステップ及び/又は本発明による遠隔更新方法の
ステップ及び/又は遠隔実行方法のステップ及び/又は
ローカルコンピュータでファンクションを起動する方法
及び/又はインタフェース転送方法のステップ及び/又
は起動のためのコンピュータ要求を生成する方法及び/
又は遠隔コンピュータでファンクションを起動する方法
のステップを、コンピュータで実行されたときに実現す
るためのソフトウェアコード又はプログラム命令の一部
を含むコンピュータプログラムにも関する。
【0101】
【発明の実施の形態】以下に一実施形態を説明する本発
明は、通常コンピュータ通信ネットワークに適用され
る。
【0102】本発明は、特に非常に多くの数のコンピュ
ータサーバが互いに接続されているワイドエリア通信ネ
ットワークに適している。
【0103】そのようなネットワークとしては、例え
ば、通信ネットワークに接続するコンピュータの間の文
書交換を可能にする通信プロトコルに基づいて構築され
た、インターネットなどの世界的通信ネットワークが考
えられる。
【0104】そのようなインターネットネットワークを
一例として図1に示す。
【0105】この例では、3つのコンピュータネットワ
ークR1、R2及びR3は、例えばインターネットネッ
トワークによって互いに接続されたイーサネット型のネ
ットワークであるが、この構成には限定されない。
【0106】各ネットワークR1、R2及びR3は1台
又は複数台のコンピュータを有する。この場合、例えば
ネットワークR1は2台のコンピュータC1及びC2を
有し、ネットワークR2は1台のコンピュータC3を有
し、ネットワークR3は3台のコンピュータC4、C5
及びC6を有する。
【0107】従って、それぞれのコンピュータC1、C
2、C3、C4、C5及びC6は他のいずれかのコンピ
ュータとの間でデータを送受信することができる。
【0108】このようなネットワークでは、情報を文書
の形で格納する情報システムは通信ネットワークに基づ
いて構築されるのが普通である。
【0109】格納される文書がいくつかの文書を互いに
リンクする、ポインタとも呼ばれるハイパーテキストリ
ンクを含むように、このような情報システムはハイパー
テキストシステムであっても良い。言い換えれば、文書
は他の文書を指示するポインタを含み、ネットワークの
ユーザは最初の文書のポインタを起動することにより、
他の文書の送信を要求することができる。
【0110】インターネット通信ネットワークに基づい
て構築された従来のハイパーテキストシステムの一例
は、ハイパーテキスト転送プロトコル(HTTP)を通信プ
ロトコルとして使用できるWWW(World Wide Web)シ
ステムである。
【0111】このような通信ネットワークにおいては、
データ処理サイトから全ての文書を1つのコンピュータ
サーバのメモリにグルーピングするので、通信ネットワ
ークは非常に多くの数のサイトを互いに接続することが
できる。図1に示すそれぞれのコンピュータC1からC
6自体がネットワークを介して送信されて来る要求に応
答して文書をサーブするコンピュータサーバ、又はこの
ネットワークを介して文書を要求するための要求を送信
する通信ネットワークのユーザ(クライアントとも言
う)になりうることは容易に理解されるであろう。
【0112】通信ネットワークにおいて従来の情報シス
テムを形成するそれらの文書に加え、コンピュータC1
からC6はデータ処理アプリケーションによってデータ
オブジェクトを格納し、作成することも可能である。
【0113】データオブジェクトは異なる属性を同時に
含み、且つオブジェクトのデータを操作することを可能
にする一組のファンクションを含む要素であると定義さ
れる。それら一連のファンクションと属性がデータオブ
ジェクトのインタフェースを形成している。
【0114】各データオブジェクトは、データ処理アプ
リケーションにより使用されるプログラミング言語で作
成できる。そのようなプログラミング言語は、例えば、
JAVA又はC++の名称で知られている。
【0115】従来、そのような分散型オブジェクトシス
テムにおいては、それらのデータオブジェクトは互いを
指示し合っていた。即ち、1つのオブジェクトのいくつ
かのデータフィールドそれ自体がデータオブジェクトで
ある。
【0116】図2に、矢印により示されるリンクによっ
て互いに指示し合うオブジェクトを明確に示す。
【0117】即ち、コンピュータC1に常駐する第1の
オブジェクトO1は、コンピュータC3に常駐するオブ
ジェクトO2と、コンピュータC5に常駐するオブジェ
クトO3の双方を指示する。
【0118】オブジェクトO3は、第1のコンピュータ
C1に常駐するオブジェクトO4を指示する。
【0119】この場合、オブジェクトO4はオブジェク
トO1を指示しており、これら2つのオブジェクトO1
及びO4は同じコンピュータC1にある。
【0120】図2は、互いに指示し合うオブジェクトの
システムの単なる一例であるに過ぎない。一般的に言え
ば、O1及びO3のようないくつかのオブジェクトは指
示するオブジェクトであると同時に指示されるオブジェ
クトでもあり、また、互いに指示し合うオブジェクトは
オブジェクトO1及びO4のように同じコンピュータに
属する場合もあり、オブジェクトO1及びO2のように
異なるコンピュータに属する場合もあるということを指
摘しておけば十分である。
【0121】本発明を実現するコンピュータ、例えば、
通信ネットワークR1におけるコンピュータC1は図3
にも示されている。
【0122】このコンピュータはマイクロプロセッサ5
00と、本発明を実現するためのプログラムを格納する
読み取り専用メモリ501と、プログラムの実行中に変
更される変数を記録するための複数のレジスタを具備す
るランダムアクセスメモリ502とを有する。
【0123】このコンピュータC1は、例えば、文書を
受信し且つ格納するために、入出力カード511により
デジタルカメラ800、マイクロホン601、ヘッドホ
ン602又はスピーカ600などの様々な周辺装置に接
続可能である。
【0124】このコンピュータC1は、イーサネット
(登録商標)ネットワークR1などの通信ネットワーク
4に接続する通信インタフェース510を有する。
【0125】コンピュータC1はハードディスク506
などの文書格納手段を更に有するか、或いはディスクド
ライブ507、コンパクトディスクドライブ508又は
コンピュータカード読取装置509によって、それぞ
れ、ディスケット700、コンパクトディスク(CD)
701又はコンピュータカード(PCカード)702な
どの着脱自在の文書格納手段と協働する。
【0126】これらの固定格納手段又は着脱自在の格納
手段は、本発明による方法のコードを格納することもで
きる。このコードは、マイクロプロセッサ500により
読み取られると、ハードディスク506に格納される。
【0127】変形例として、本発明を実現するためのプ
ログラムを読み取り専用メモリ501に格納することも
可能であろう。
【0128】第2の変形例として、プログラムを通信ネ
ットワークR1により受信し、先に説明したように格納
することも可能であろう。
【0129】コンピュータC1は、例えば、キーボード
504、マウス505又は他の何らかの手段によってオ
ペレータとの間のインタフェースとなる画面503を更
に有する。
【0130】マイクロプロセッサ(中央装置)500
は、本発明の実現に関連する命令を実行する。コンピュ
ータC1を始動させると、不揮発性メモリ、例えば、読
み取り専用メモリ501に格納されている、本発明に関
連するプログラム及び方法はランダムアクセスメモリ5
02へ転送される。この時点で、ランダムアクセスメモ
リ502は本発明の実行可能コードと、本発明を実現す
るために必要な変数とを格納することになる。
【0131】通信バス512を介して、コンピュータC
1の様々な部分要素の間又はコンピュータC1に接続す
る要素との間の通信が可能になる。ここで示した通信バ
ス512の構成は限定的な意味を持つものではなく、詳
細にいえば、マイクロプロセッサ500は何らかの部分
要素に直接又は別の部分要素によって命令を通信するこ
とができる。
【0132】このコンピュータC1は、図4に概略的に
示すマーシャリング装置10を有する。
【0133】言うまでもなく、通信ネットワークにおけ
る各コンピュータC1〜C6はこのようなマーシャリン
グ装置を含むことができる。
【0134】マーシャリング装置により、あるコンピュ
ータ言語で作成されたデータオブジェクト11、ここで
はオブジェクトC++をインターネットネットワークのHT
TP通信プロトコルにて使用できるXML言語などの通信言
語へマーシャリングすることができる。
【0135】同じコンピュータは、通信言語で示された
オブジェクト12をデータ処理言語のオブジェクト11
へ変換するために逆変換を実行することができる逆マー
シャリング装置13を更に含む。
【0136】従って、マーシャリング装置10により実
行されるマーシャリング動作により、コンピュータにお
いてそのコンピュータのアプリケーションにより作成さ
れたオブジェクトを見ることができるようにする、言い
換えれば、それらのオブジェクトをネットワーク上で公
開することができる。
【0137】インターネットネットワークで使用できる
通信言語の一例を、その通信ネットワークに接続する異
なるサイトの間でデータオブジェクトを共用するために
マーシャリングする必要のある様々に異なるデータフィ
ールドの説明と共に、以下に示す。
【0138】この通信言語はXML言語の改良バージョン
である。
【0139】フィールド:Objects これは、いくつかのオブジェクトを遠隔アプリケーショ
ンへ送信することができる。この遠隔アプリケーション
は、逆マーシャリング装置13による、遠隔アプリケー
ションにより使用されるデータ処理言語への逆マーシャ
リングを開始するために、全てのオブジェクトが受信さ
れ終わるのを待つ必要はない。
【0140】 これは、整数、十進数、ブール要素、文字又は短い文字
チェーンのようなリテラルオブジェクトではなく、種々
のオブジェクトのチェーン、インタバル又はテーブルの
ようなコンテナオブジェクトでもないオブジェクトを符
号化することができる。
【0141】 <object href="http://oceania/web-obj/obj/person1.xml"> <int name="age" value="33"/> <object-ref name="spouse" href="http://oceania/web-obj/obj/person2.xml"/> ... </object> オブジェクトは1つの属性としてそのURIコンピュー
タアドレスを有することができる。オブジェクトは他の
データオブジェクト、コンテナオブジェクト、リテラル
オブジェクト及びオブジェクトへの参照を含むことがで
きる。また、オブジェクトはインタフェースへの1つ又
は複数の参照も含むことができ、それにより、このイン
タフェースに含まれるあらゆる動作又はファンクション
を支援することができる。
【0142】本発明のマーシャリング方法によれば、こ
の通信言語へマーシャリングされるデータオブジェクト
にデータオブジェクトとコンテナオブジェクトを直接に
含めることはできるが、リテラルオブジェクトのみをマ
ーシャリングし、他のオブジェクトは参照としてのみ含
めるのが好ましい。
【0143】フィールド:Interfaces 本発明の1つの態様によれば、いくつかのインタフェー
スを遠隔アプリケーションへ送信することが可能であ
る。先の場合と同様、遠隔アプリケーションは、そのア
プリケーションにより使用される言語への逆マーシャリ
ングを実行し、それらを使用するために、全てのインタ
フェースの受信を待つ必要はない。
【0144】 これは、JAVA又はC++言語で定義されている「Type」又
は「Class」のオブジェクトの類型的概念に相当する。
【0145】インタフェースは、オブジェクトにより支
援される動作を記述する。それらの動作は通常入力引数
を使用し、おそらくはある結果を供給する。
【0146】インタフェースは、そのインタフェースを
支援する全てのオブジェクトが通信言語へマーシャリン
グされるときに含む属性又はデータフィールドを更に記
述する。
【0147】インタフェースは、他のインタフェースへ
拡張するか、又はそれら他のインタフェースを使用する
ためのショートハンドを供給するのみであるかに関わら
ず、他のインタフェースへの参照を含むことができる。
その場合、オブジェクトは参照されるそれら他の全ての
インタフェースを支援する。
【0148】リテラルオブジェクト及び複雑オブジェク
トに関しては、事前定義済みインタフェースも存在す
る。
【0149】 <interface name="Employee" href="http://oceania/web-obj/class/Employee.xml"> <attributes>...</attributes> <functions>...</functions> </interface> フィールド:Attribute これは、インタフェースを支援するオブジェクトが通信
言語へマーシャリングされるときに含む属性のリストを
格納している。このリストにはリテラルオブジェクト、
コンテナオブジェクト、データオブジェクト自体及びオ
ブジェクトへの参照が含まれる。このフィールドは空で
あっても良い。
【0150】データオブジェクトとコンテナオブジェク
トは、マーシャリングの時点で、URIコンピュータア
ドレスを使用するそれらのオブジェクトへの参照と置き
換えられるのが好ましい。
【0151】 これは、このインタフェースを支援するデータオブジェ
クトと関連するファンクション又は動作のリストを格納
している。
【0152】 これは、「function」又は「method」の類型的概念に相当す
る。1つのファンクションはそのシグネチャ、例えば名
前、使用される入力引数の型及びこのファンクションが
実行されるときに得られるオブジェクトの型により識別
される。
【0153】本発明の第4の態様によれば、ファンクシ
ョンはソースコード、バイトコード又はコンパイルされ
たコードなどの実行コードを含むことができる。この場
合、ファンクションは遠隔アプリケーションにより実現
できる。
【0154】 これは、ファンクションがその実現のために必要とする
入力引数のリストを格納している。
【0155】 これは1つのファンクションの入力引数に相当し、リテ
ラルオブジェクト、コンテナオブジェクト、データオブ
ジェクト、又はURIコンピュータアドレスによりそれ
らのオブジェクトの1つへの参照であれば良い。
【0156】 これは、1つのファンクションの実行コードと、おそら
くはそのコードが供給されるであろうコンピュータ言語
とを格納している。コードの型は、例えばJavaScriptな
どのソースコード、Javaなどのバイトコード又はC++な
どのコンパイルされたコードと指定できる。
【0157】尚、データオブジェクトをマーシャリング
する場合、ファンクションがその実行コードを指定しな
いこともありうるという点に注意すべきである。更に、
このコードが大きすぎる場合は、属性「href」による参
照によってコードが含まれることになるであろう。
【0158】 <code language="JavaScript" type="source" type="http://oceania/web-obj/code/Integer/square.js"> ... </code> 以下に、リテラルオブジェクトを表現するフィールドの
非限定的リストを示す。
【0159】 このフィールドは、本発明の第1の態様に従って、短い
文字チェーンについてのみ使用されるのが好ましいとい
う点に注意すべきであり、その他のチェーンは属性「re
f」による参照によって含まれるのが好ましい。
【0160】 <string name="title" charset="iso-8859-1">The complete Shakespeare's work. </string> フィールド:Time <time name="now" value="13:13:57GMT"/> フィールド:Date <date name="today" value="Fri, 05 Mar 1999/> フィールド:URI address <uri name="CRF" value="http://www.crf.canon.fr/"/> フィールド:Exception これは、誤りが発生したことを指示できるようにする例
外の類型的概念に相当する。
【0161】 <exception value="Index not found" href="http://oceania/web-obj/ex/IndexNotFound.xml"/> 以下に、コンテナオブジェクトを表現するフィールドの
非限定的リストも示す。
【0162】フィールド:Interval これは、上限と下限を有し、同じ型であり、順序が重要
であるインタバルの類型的概念に相当する。
【0163】 これは、順序が重要ではない様々なオブジェクトを含む
セットの類型的概念に相当する。
【0164】 これは、順序が重要である様々なオブジェクト含むアレ
イの類型的概念に相当する。
【0165】 これらのセットにデータオブジェクト又はコンテナオブ
ジェクトを含める場合には、URIコンピュータアドレ
スによる参照を使用すべきである。
【0166】フィールド:Coded sequence これは、オブジェクトを直接的にではなく、キーによっ
てアクセス可能であるようなアレイ又は辞書の類型的概
念に相当する。それらのキーは、それ自体、様々なオブ
ジェクトであっても良い。オブジェクトの順序は重要で
はない。
【0167】 これはキーの集合体の中から1つのキーを区別するため
に使用される。
【0168】 これはキーの集合体の中で1つのキーの値を区別するた
めに使用される。
【0169】 フィールドは、参照により別のフィールドを含める目的
でも定義される。
【0170】フィールド:Interface reference これにより、名前及びURIコンピュータアドレスに基
づいてインタフェースを参照することが可能になる。
【0171】 <interface-ref name="Person" href="http://oceania/web-obj/class/Person.xml"/> フィールド:Object reference これにより、名前及びURIコンピュータアドレスに基
づいてオブジェクトを参照することが可能になる。
【0172】 <object-ref name="child" href="http://oceania/web-obj/obj/child1.xml"/> フィールド:Chain reference これにより、名前及びURIコンピュータアドレスに基
づいてチェーンを参照することが可能になる。
【0173】短い文字チェーンはオブジェクトとしてマ
ーシャリングされ、長いチェーンは参照によりマーシャ
リングされて、通信ネットワークの占有時間を短縮する
のが好ましい。長いチェーンと短いチェーンとを分類す
るために選択される閾値は、データ処理アプリケーショ
ンによって決まるであろう。
【0174】 <string-ref name="speech" href="http://oceania/web-obj/obj/speech1.xml"/> フィールド:Unordered set reference これにより、名前及びURIコンピュータアドレスによ
ってunordered set(順序なし集合)を参照することが
できる。
【0175】 これにより、名前及びURIコンピュータアドレスによ
ってordered set(順序付き集合)を参照することがで
きる。
【0176】 <unordered-seqref name="childrens" href="http://oceania/web-obj/obj/array1.xml"/> フィールド:Coded set reference これにより、名前及びURIコンピュータアドレスによ
ってunordered codedset(順序なし符号化集合)を参照
することができる。
【0177】 <unordered-seqref name="childrens" href="http://oceania/web-obj/obj/dictionary1.xml"/> フィールド:Null これにより、非既存オブジェクトを参照することができ
る。
【0178】 これにより、例えば、アプリケーションがネットワーク
に間欠的に接続されるような場合に、遠隔オブジェクト
に適用しなければならないファンクションのリストを一
旦据え置きモードで含めることが可能になる。アプリケ
ーションはあらかじめ要求を準備し、その後にその要求
を送信し、その応答としてオブジェクトの集合を受信す
ることができる。
【0179】 応答は、要求の中で挙げられたファンクションの実行の
順序に従った様々なオブジェクトの集合である。
【0180】 これにより、遠隔オブジェクトでファンクションを呼び
出すことが可能になる。先に説明した通り、ターゲット
オブジェクトと、ファンクションのパラメータとを指定
する必要がある。要求がオブジェクトのURIコンピュ
ータアドレスに直接アドレッシングされている場合に
は、ターゲットオブジェクトを省略できる。その応答
は、オブジェクトから成るか、或いは誤り発生の場合は
例外から構成される。
【0181】 <function name="square" href="http://oceania/web-obj/obj/calculator1.xml?square"> <target href="http://oceania/web-obj/obj/calculator1.xml"/> <arguments> <int value="5"/> </arguments> </function> 本発明の1つの態様によれば、アプリケーションが遠隔
オブジェクトデコードを実行することを望む場合、その
ファンクション自体ではなく、実行コードを供給する必
要がある。遠隔アプリケーションがファンクションを動
的に評価するキャパシティを持っていない場合には、例
外を返信することになる。
【0182】 <function> <target href="http://oceania/web-obj/obj/calculator1.xml"/> <arguments> <int value="5"/> </arguments> <code language="JavaScript"> ... </code> </function> この通信言語により、ネットワーク上でデータオブジェ
クト及びその属性のみならず、それらのオブジェクトの
インタフェースをも交換できるようになる。
【0183】このようにして、オブジェクトと関連する
ファンクションはネットワーク上で容易に共用され、遠
隔オブジェクトで実行されることができる。
【0184】図5に示すように、同じコンピュータC1
が互いに協働する2つのアプリケーション20、21を
使用することができる。これら2つのアプリケーション
20、21は同じオブジェクトサーバ22を介してデー
タを共用できる。それぞれのアプリケーション20、2
1は一方では内部データ23を使用し、他方では先に図
4を参照して説明したマーシャリング装置を使用するこ
とによりその他のアプリケーションに対し見える状態と
される外部データ24を使用する。
【0185】外部データ24は、実際には、それぞれの
アプリケーション20、21により作成又は使用される
内部データ23であり、マーシャリング装置10により
2つのアプリケーションに共通する通信言語へマーシャ
リングされており、従って、オブジェクトサーバ22を
介していずれかのアプリケーションへ送信可能である。
【0186】インタフェース25はデータオブジェクト
にリンクするファンクション及び属性をリストアップす
ることができる。
【0187】言うまでもなく、インタネット型のネット
ワーク4に接続する2つのコンピュータC1、C3の間
でも類似のファンクションが得られる。
【0188】図5に示すように、コンピュータC3は、
同様に内部データ23と、外部データ24とを使用する
第3のアプリケーション26を有する。それらの外部デ
ータ24も、コンピュータC3のデータ処理アプリケー
ション26により作成された何らかの内部データ23を
マーシャリングすることにより得られる。
【0189】従って、外部データ24は通信ネットワー
ク4によって、コンピュータC1のオブジェクトサーバ
22と同様のオブジェクトサーバ22を介してコンピュ
ータC1のアプリケーション20及び21に対して見え
る状態となっている。
【0190】次に、図6、図7及び図11を参照して、
データオブジェクト及びそのインタフェースをネットワ
ーク4上で公開することを可能にするマーシャリング方
法を説明する。
【0191】この例では、図2に示すようなコンピュー
タC1におけるオブジェクトO1のマーシャリングを考
えるが、本発明はこれには限定されない。
【0192】言うまでもなく、マーシャリングはネット
ワーク4のどのコンピュータC1からC6においても実
行可能である。
【0193】このオブジェクトO1は、コンピュータC
1で実現されるデータ処理アプリケーション20により
使用されるプログラミング言語、例えば、C++言語で作
成されていると考える。
【0194】このデータオブジェクトO1を、コンピュ
ータ通信ネットワーク4のHTTP通信プロトコルにより使
用できる通信言語にマーシャリングする。
【0195】マーシャリングの方法は、まずデータオブ
ジェクトO1に含まれるデータフィールドを読み取るス
テップE1を含む。このため、オブジェクトO1に含ま
れる第1のデータフィールドを選択する。
【0196】一連のテストステップE2、E3及びE4
は、このデータフィールドの構造が複雑な構造である
か、又は単純な構造であるかを判定する。
【0197】典型的には、複雑なデータ構造とは、例え
ばアレイ、最短の長さの文字のチェーン又はデータオブ
ジェクトそれ自体である。複雑な構造を持つデータフィ
ールドの他の例は、使用される通信言語を挙げたときに
先に示してある。
【0198】実際には、各データフィールドの構造を事
前に確定しておいた複雑データ構造リストLと比較す
る。この事前確定済みリストLは、図3に示すように、
コンピュータC1の読み取り専用メモリ501に格納可
能である。
【0199】従って、まず、テストステップE2におい
ては、データ構造がそれ自体データオブジェクトである
か否かを判定する。
【0200】その答えが肯定であれば、参照によるマー
シャリングのステップE5を以下に説明するように実行
する。
【0201】否定であれば、第2のテストステップE3
で、データフィールドの構造がアレイであるか否かを判
定する。
【0202】その答えが肯定であれば、同様に参照によ
るマーシャリングのステップE6を以下に説明するよう
に実行する。
【0203】否定であれば、最後のテストステップE4
を実行し、データフィールドが最小の長さの文字のチェ
ーンTであるか否かを判定する。
【0204】その答えが肯定であれば、参照によるマー
シャリングの第3のステップE7を以下に説明するよう
に実行する。否定であれば、データフィールドの構造は
単純であると考え、値によるマーシャリングのステップ
E8を実行する。これにより、あらゆるデータフィール
ドを通信言語へマーシャリングすることができる。
【0205】参照によるマーシャリングのステップE
5、E6及びE7は、データフィールドをURI(「Uni
form Resource Identifier」)コンピュータアドレスと
置き換えるステップを構成する。
【0206】この置き換えステップE5,E6及びE7
は、現実には、複雑なデータフィールド全体を直接にマ
ーシャリングするのではなく、それをコンピュータアド
レスと置き換えることから成るので、必要に応じて、こ
のデータフィールドを見出すことは可能である。
【0207】参照によるマーシャリングを実行するこれ
ら同一のステップE5、E6及びE7は、またデータフ
ィールドと関連するURIコンピュータアドレスを図6
及び図11に示すような関連付けテーブルT及びT’に
格納するステップでもある。
【0208】これらの関連付けテーブルT及びT’は、
例えばランダムアクセスメモリ502でセットアップさ
れ、その後、図3に示すコンピュータC1のハードディ
スク506のような不揮発性メモリに格納される。
【0209】従って、関連付けテーブルT及びT’は複
雑なデータフィールドとURIコンピュータアドレスと
の関連を格納することができる。
【0210】ここで、一例を挙げると、データオブジェ
クトO1をマーシャリングする場合、データオブジェク
トO1のデータフィールドに含まれる他の2つのデータ
オブジェクトO2及びO3がコンピュータアドレスUR
I1及びURI3とそれぞれ関連付けて第1のテーブル
Tに格納されることになる。
【0211】データオブジェクトO1は、コンピュータ
アドレスURI2と関連付けて格納される、アレイA1
の形態を取るデータ構造を更に含むことも考えられる。
【0212】また、別のコンピュータアドレスURI4
と関連して、所定の閾値より大きい長さを有するチェー
ンS1を更に含む場合もある。
【0213】このマーシャリング方法は、コンピュータ
オブジェクトO1の全てのデータフィールドがマーシャ
リングされるのを回避するものである。
【0214】更に、第2の関連付けテーブルT’はコン
ピュータアドレスURI1’、URI2’、…、URI
p’とそれぞれ関連付けてインタフェースI1、I2、
…、Ipを格納することができる。
【0215】これらのテーブルT及びT’において、デ
ータフィールドO2、A1、O3,S1、…、Om及び
インタフェースI1、I2、…、Ipはプログラミング
言語、即ちこの場合にはコンピュータ言語C++で格納さ
れるのが好ましい。
【0216】従って、コンピュータC1のデータ処理ア
プリケーションはインタフェースを標準クラスの形態で
直接使用することができる。
【0217】データフィールド又はインタフェースが別
のデータ処理アプリケーションにより要求され、そのデ
ータフィールド又はインタフェースを通信ネットワーク
を介して転送しなければならない場合に限り、必要に応
じて実行されるように、マーシャリングは一旦据え置か
れる。
【0218】第2のインタフェーステーブルT’によ
り、コンピュータアドレスURI’が与えられた場合
に、対応するインタフェースを見出すことが可能にな
る。そこで、サーバはそれが支援するオブジェクトのイ
ンタフェースを管理することができる。
【0219】また、データオブジェクトの型と対応する
インタフェースのアドレスURI’とを関連付けること
ができるようにするため、別のテーブルをサーバに格納
しても良いであろう。
【0220】本発明の第1の態様によるマーシャリング
方法を実現するために、データフィールドを読み取る手
段、置き換える手段及び格納する手段はコンピュータC
1のマイクロプロセッサ500に組み込まれており、読
み取り専用メモリ501は方法を実現するためのプログ
ラム命令を格納し、ランダムアクセスメモリは、マーシ
ャリングの実行中に変更される変数、特に関連付けテー
ブルT、T’を複数のレジスタに格納している。
【0221】更に、本発明は、図8に示すように、コン
ピュータ通信ネットワークを介してデータオブジェクト
を転送する方法にも関する。このコンピュータオブジェ
クト転送方法によれば、先に説明したようなマーシャリ
ング方法によってデータオブジェクトが見える状態にな
り、それらデータオブジェクトのURIコンピュータア
ドレスによって関連付けテーブルTで参照されるやいな
や、通信ネットワークを介してそれらのオブジェクトを
呼び出すことが可能である。
【0222】この転送方法は、本質的には、転送のため
のコンピュータ要求を受信するステップE11を含む。
【0223】この転送のためのコンピュータ要求は、イ
ンターネットの通信プロトコルにより定義される従来の
HTTP要求フォーマットを有すると考えられる。
【0224】これは、特に、要求されているオブジェク
トのコンピュータアドレスが入力されたフィールドを含
むことができる。
【0225】オブジェクトの転送要求GETの一例を以下
に挙げる。
【0226】データオブジェクトは以下の通りである。
【0227】 <object href="http://oceania/web-obj/obj/person1.xml"> <int name="age" value="33"/> <object-ref name="spouse" href="http://oceania/web-obj/obj/person2.xml"/> ... </object> このオブジェクト(「person1」)は、以下のコンピュー
タアドレスに位置している。
【0228】 http://oceania/web-obj/obj/employee1.xml HTTP通信プロトコルに従って、転送要求GETを使用して
オブジェクトを転送できる。
【0229】 GET/web-obj/obj/person1.xml HTTP/1.1 ... その他のオブジェクトに含まれるオブジェクトは、オブ
ジェクトのアドレスを含まれるオブジェクトの名前と連
結することにより得られるような名前を有する。例え
ば、先の例のオブジェクト「age」は、次のURIコン
ピュータアドレスを使用して直接に得ることができる。
【0230】 http://oceania/web-obj/obj/employee1.xml#age このリテラルオブジェクトはそれ独自のURIアドレス
を有することもできる。
【0231】 http://oceania/web-obj/obj/interger1.xml ファンクションも、それが定義するインタフェースのア
ドレスをファンクションの名前と連結することにより参
照できる。
【0232】 http://oceania/web-obj/class/Calculator.xml#square 次に、転送のためのコンピュータ要求のコンピュータア
ドレス、例えばURI1を取り出すために、取り出しス
テップE12を実行する。
【0233】次の識別ステップE13により、要求を受
信したコンピュータは、関連付けテーブルTでコンピュ
ータアドレスURI1と関連するデータオブジェクトO
2を見出すことができる。
【0234】更に厳密を期して、テストステップE4に
より、データオブジェクトが本当に関連付けテーブルT
から取り出されたコンピュータアドレスURI1と関連
しているか否かを検査することができる。
【0235】その答えが否定であれば、従来のように、
コンピュータは通信ネットワークを介して「object abs
ent(オブジェクトなし)」型のメッセージと共に、応
答として例外を返送する。
【0236】これに対し、関連付けテーブルTでオブジ
ェクトO2が見つかった場合には、マーシャリングステ
ップE16を実行して、この識別されたデータオブジェ
クトO2を通信ネットワークにより定義されるXML通信
言語へマーシャリングする。
【0237】次に、送信されてきた転送要求に応答し
て、マーシャリング済みのこのデータオブジェクトO2
を転送するステップE17を実行する。
【0238】転送装置の受信する手段、取り出す手段、
識別する手段、マーシャリングする手段及び転送する手
段はコンピュータC1のマイクロプロセッサ500に組
み込まれており、読み取り専用メモリ501はオブジェ
クトを転送するためのプログラム命令を格納し、ランダ
ムアクセスメモリは、転送方法の実行中に変更される変
数を格納するための複数のレジスタを含む。
【0239】このように、本発明によるマーシャリング
方法により、通信ネットワークにおいて、このネットワ
ークでアクセス可能である全ての文書により形成される
ウェブに類似する分散オブジェクトシステムが得られ
る。
【0240】既存の分散オブジェクトシステムと比較し
て、本発明によれば、ネットワーク上の共用データオブ
ジェクトのシステムに、通信ネットワークに関連する以
下のような様々な利点を導入することが可能になる。 ・ウェブのプロキシサーバではオブジェクトが隠蔽され
る; ・それらのオブジェクトがSSL(Secure Socket Layer)
プロトコル又はSHTTP (Secure HTTP)プロトコルに従
って安全に搬送される; ・それらのオブジェクトに数値サインが付される; ・それらのオブジェクトがEメール型の電子メッセージ
に含まれる; ・例えば、XSL言語(Extended Style Sheet)で書かれ
たスタイルシートを使用して、それらのオブジェクトが
視覚的に表現される; ・標準XML/DOM(Extended Markup Language/Document O
bject Management)アプリケーションによってオブジェ
クトがアクセスされる; ・ウェブの従来のツールによってそれらのオブジェクト
が発見され、且つそれらがウェブのディレクトリで参照
される; ・それらのオブジェクトがJavaScript型のソースコード
と一体化される; ・ウェブでは従来より慣例となっているURIコンピュ
ータアドレスによってそれらのオブジェクトに名前が付
けられる;及び ・ウェブの従来通りの方法に従ってそれらのオブジェク
トが符号化される。
【0241】本発明の第3の態様によれば、図9に示す
実施例に従ってサイトのデータオブジェクトを遠隔更新
する方法をも実現することができる。
【0242】このため、更新のためのコンピュータ要求
をコンピュータから、例えばネットワークの中の全ての
コンピュータへ送信する。そのような要求は、「一斉要
求」と呼ばれる一般的要求であると考えられる。
【0243】また、他のサイトへ送信されていたデータ
オブジェクトをそれらのサイトのアドレスと関連付けて
格納し、更新の要求を関係するサイトへのみ送信するこ
とも可能である。
【0244】この更新の要求はインターネットのHTTPプ
ロトコルに従ったフォーマットで書かれても良く、特
に、更新すべきオブジェクトのコンピュータアドレスを
含めるためのフィールド、並びにXML言語へマーシャリ
ングされたオブジェクト自体を含むことができる。
【0245】更新要求PUTの一例を以下に示す。これに
よれば、要求が「oceania」と呼ばれるコンピュータへ
送信されたと仮定して、アドレスhttp://oceania/web-o
bj/obj/person2.xmlでアクセス可能である、オブジェク
ト「Person」を作成することができる。
【0246】 PUT/web-obj/obj/person2.xml HTTP/1.1 ... <objects> <object> <interface name="Person" href="http://oceania/web-obj/class/Person.xml"/> <int name="age" value="33"/> <float name="size" value="1.82"/> <object-ref name="spouse" href="http://tasmania/web-obj/obj/person1.xml"/> </object> </objects> この更新要求PUTにより、遠隔場所にある既存のオブジ
ェクトを変更することもできる。
【0247】 PUT/web-obj/obj/person2.xml HTTP/1.1 ... <objects> <object> <interface name="Employee" href="http://oceania/web-obj/class/Employee.xml"/> <int name="age" value="33"/> <string name="email">moreau@crf.canon.fr</string> <string name="phone">00.100.200.300</string> </object> </objects> 関係するネットワークコンピュータの要求に対し、デー
タオブジェクト自体を一旦据え置き方式で送信すること
ができる。
【0248】そこで、遠隔コンピュータは、それぞれ、
まず更新のためのコンピュータ要求を受信するステップ
E20を実行する。
【0249】取り出すステップE21では、このコンピ
ュータ要求のコンピュータアドレス、例えばURI3を
取り出すことができる。
【0250】取り出すステップE22では、これと並行
して、同じコンピュータ要求から、更新すべき、XML通
信言語へマーシャリングされたデータオブジェクトO3
を取り出すことができる。
【0251】必ずしも必要ではないが、このデータオブ
ジェクトO3をマーシャリングするステップE23によ
り、データオブジェクトO3を遠隔サイトで使用される
データ処理アプリケーションにより使用されるプログラ
ミング言語へ逆マーシャリングすることが可能であるの
が好ましい。
【0252】言うまでもなく、このマーシャリングステ
ップE23は、遠隔サイトのデータ処理アプリケーショ
ンがこのオブジェクトO3を必要とするときが来るまで
実行を遅延されていても良いであろう。
【0253】識別するステップE24では、取り出され
たコンピュータアドレスURI3が遠隔サイトの関連付
けテーブルTに存在するか否かを検査することができ
る。
【0254】テストステップE25の終了時、その答え
が肯定であれば、取り出されたデータオブジェクトO3
を関連付けテーブルTに取り出されたコンピュータアド
レスURI3と関連付けて格納されている以前のデータ
オブジェクトと置き換える。
【0255】この更新するステップE26では、オブジ
ェクト自体を直接置き換えるのではなく、取り出された
データオブジェクトO3のデータフィールドをそのサイ
トの関連付けテーブルTに格納されている以前のデータ
オブジェクトにコピーするのが好ましい。
【0256】この予防措置により、この更新後のオブジ
ェクトO3を指示するリンク、即ちポインタを変化しな
いままに保持することができる。
【0257】これに対し、テストステップE25で取り
出されたコンピュータアドレスURI3に対応するオブ
ジェクトが関連付けテーブルTで見つからなかった場合
には、取り出されたデータオブジェクトと、取り出され
たコンピュータアドレスとのこの新たな関連をサイトの
関連付けテーブルTに追加するように、追加するステッ
プE27を実行する。
【0258】従って、遠隔場所において、ネットワーク
中のサイトの関連付けテーブルTの内容を追加すること
が可能である。
【0259】いずれの場合にも、この遠隔更新方法は、
遠隔サイトの関連付けテーブルTにおいて、更新要求か
ら取り出されたコンピュータアドレスとデータオブジェ
クトとを関連付けることから成る。
【0260】必要に応じて、更新が本当に実行されたこ
とを証明するために更新要求を送信したコンピュータへ
応答するステップE28をアドレッシングしても良い。
【0261】要求を受信する手段、アドレス及びオブジ
ェクトを取り出す手段、このアドレスとオブジェクトを
テーブルTにおいて置き換え又は追加により関連付ける
手段、及びオブジェクトをマーシャリングする手段は、
コンピュータC1のマイクロプロセッサ500に組み込
まれている。読み取り専用メモリ501は、更新方法を
実行するためのプログラム命令を格納し、ランダムアク
セスメモリは更新された関連付けテーブルTを格納して
いる。
【0262】同様に、通信ネットワークから何らかのデ
ータオブジェクトを削除するために関連付けテーブルT
からデータオブジェクトを削除する要求も通信ネットワ
ークを介して送信できるであろう。
【0263】この場合、削除すべきオブジェクトのコン
ピュータアドレスを含む削除要求はネットワーク中の全
てのサイト又は関係するサイトへアドレッシングされ
る。
【0264】オブジェクトを削除するための要求DELETE
の一例を以下に示す。
【0265】要求DELETEが「oceania」と呼ばれるコン
ピュータへアドレッシングされると仮定し、この例で削
除すべきオブジェクトは、アドレスhttp://oceania/web
-obj/obj/person2.xmlに位置している。
【0266】 DELETE/web-obj/obj/person2.xml HTTP/1.1 オブジェクトは以前のURIアドレスからはアクセスで
きなくなっているが、メモリには残っており、コンピュ
ータのデータ処理アプリケーションによりこれを使用す
ることは可能である。更に、別のコンピュータアドレス
を介してオブジェクトをアクセスすることは依然として
可能であろう。
【0267】図10に示すように、この削除要求を受信
すると(E30)、このコンピュータアドレスとデータ
オブジェクトとの関連が存在すれば、その関連が関連付
けテーブルTから削除される。
【0268】実際には、取り出すステップE31は削除
すべきデータオブジェクトのURIコンピュータアドレ
スを取り出す。
【0269】識別するステップE32を実行して、テー
ブルTの中でこのURIアドレスをシークする。
【0270】テストステップE33の終了時に、取り出
されたURIアドレスが識別されなかったならば、応答
するステップE34で例外を送信する。
【0271】一方、取り出されたアドレスが識別された
場合には、このアドレスと、それと関連するデータオブ
ジェクトとの関連が、削除するステップE35でテーブ
ルTから削除される。
【0272】最終ステップE36では、要求された削除
が正しく実行されたことを指示するために、「OK」型の
応答を送信することができる。
【0273】先に説明した通信言語の利用と、データオ
ブジェクトのマーシャリングによって、コンピュータ通
信ネットワーク4の遠隔場所でも、このデータオブジェ
クトに対しファンクションを実行することが可能にな
る。
【0274】通常、通信ネットワーク4により定義され
る通信プロトコルに従った転送ステップは、このファン
クションの実行コードと関連するファンクションを転送
する。
【0275】前述したように、実行コードはソースコー
ド、バイトコード、又はコンパイルされたコードのいず
れかであれば良い。
【0276】この転送するステップの間には、実行コー
ドに加えて、ファンクションはその実行に必要なパラメ
ータと関連付けられる。それらのパラメータもネットワ
ーク4の通信プロトコルにより使用できる通信言語へマ
ーシャリングされる。
【0277】遠隔場所でデータオブジェクトに対しファ
ンクションをそのインタフェースから実行することが望
まれる場合、転送するステップは、それぞれが実行コー
ドと関連する1つ又は複数のファンクションから構成さ
れる、このオブジェクトのインタフェースの全てを転送
する。
【0278】次に、図12から図15を参照して、本発
明の2つの実用に即した実施形態を説明する。
【0279】以下の説明を容易にし、且つ限定的な意味
合いを持たせないようにするために以下の説明において
は、ネットワークR1のコンピュータC1はローカルコ
ンピュータであり、且つインターネット4を介してコン
ピュータC1に接続するネットワークR2のコンピュー
タC3は遠隔コンピュータであると考える。
【0280】言うまでもなく、通信ネットワーク4の全
てのコンピュータはローカルコンピュータ又は遠隔コン
ピュータのいずれかである。
【0281】まず、図12及び図13を参照して、ロー
カルコンピュータC1において、遠隔データオブジェク
ト、例えば、遠隔コンピュータC3により作成されたデ
ータオブジェクトO2に対しコンピュータ通信ネットワ
ーク4を介してファンクションを起動することを可能に
する方法を説明する。
【0282】図12に示すように、この起動方法は、ま
ず、通信ネットワーク4の通信プロトコルにより使用で
きるXML通信言語へマーシャリングされた、遠隔データ
オブジェクトO2のコピーをローカルコンピュータC1
で受信するステップE40を含む。
【0283】この遠隔データオブジェクトO2の受信
は、例えば先に説明した転送要求GETなどの転送コンピ
ュータ要求及び図8に示すような転送方法を使用して実
行される。
【0284】ローカルコンピュータC1でオブジェクト
O2を受信したならば、このデータオブジェクトから、
オブジェクトのインタフェースを参照するコンピュータ
アドレスURI’を取り出すステップE41を実行す
る。
【0285】言うまでもなく、オブジェクトO2は、そ
れぞれ通信ネットワーク上でコンピュータアドレスによ
り参照されるいくつかのインタフェースを含むことがで
きる。
【0286】遠隔コンピュータC3にこのインタフェー
スの獲得要求GETを送るステップE42が実行される。
このインターフェスGET要求は、取り出されたコンピュ
ータアドレス、例えばコンピュータアドレスURI1を
含んでいる。
【0287】次に、送信されてきた獲得要求に応答し
て、コンピュータ通信ネットワーク4を介してインタフ
ェースを転送する方法を遠隔コンピュータC3で実行す
る。
【0288】図13に示すように、この転送方法は、ま
ずインタフェースGET要求を受信するステップE51を
含む。
【0289】次に、取り出すステップE52は、この獲
得要求から,要求されたインタフェースを参照するコン
ピュータアドレスURI1’を取り出す。
【0290】次に、インタフェースの関連付けテーブル
T’でそのインタフェースを見出すために、識別するス
テップE53を実行する。
【0291】この場合、例えばインタフェースの関連付
けテーブルT’を読み取ることにより、コンピュータア
ドレスURI1’と関連させてインタフェースI1を見
出すことができる。
【0292】テストステップE54は、そのようなイン
タフェースI1が本当に見出されたか否かを検査する。
【0293】その答えが否定であれば、ステップE55
において、誤りを指示する例外を送信することにより応
答を送信する。
【0294】これに対し、インタフェースI1が識別さ
れた場合には、必要に応じて、このインタフェースをXM
L言語へマーシャリングするために、マーシャリングす
るステップE56を実行する。
【0295】関連付けテーブルT’に格納されているイ
ンタフェースI1がプログラミング言語であり、まだマ
ーシャリングされていない場合に限り、このマーシャリ
ングするステップE56が実行されることは自明であ
る。
【0296】次に、XML通信言語へマーシャリングされ
たこのインタフェースをローカルコンピュータC1へ送
信するために、インタフェースを転送するステップE5
7を実行する。
【0297】このマーシャリング済みインタフェース
は、先にXML通信言語に関連して説明したように、それ
ぞれが実行コードと関連する1つ又は複数のファンクシ
ョンから構成されている。
【0298】次に、ローカルコンピュータC1におい
て、インタフェースGET要求の結果を受信するステップ
E43を実行する。
【0299】次の取り出すステップE44は、それぞれ
が実行コードと関連する1つ又は複数のファンクション
から構成されるインタフェースI1を取り出す。
【0300】この実施形態では、ステップE45からE
50により、ローカルコンピュータC1のデータ処理ア
プリケーションにより使用されるプログラミング言語で
クラスを作成できるようにするのが好ましい。
【0301】このクラスは受信したインタフェースI1
のファンクションと、ローカルコンピュータC1のデー
タ処理アプリケーションにより直接に実行可能であるそ
れらのファンクションの実行コードとから構成されてい
る。
【0302】この目的のために、作成するステップE4
5で対応するクラスを作成し、選択するステップE46
でインタフェースの第1のファンクションを選択する。
【0303】テストステップE47は、このインタフェ
ースの未処理のファンクションが存在するか否かを検査
する。ファンクションが残っていれば、ステップE48
で、そのファンクションの名前と実行コードを獲得し、
追加するステップE49で、このコードを対応するクラ
スに入れる。
【0304】次に、ステップE50においてインタフェ
ースI1の続くファンクションを考慮し、各々のファン
クションのコードを対応するクラスに追加するために、
ステップE47からE49を繰り返し実行する。
【0305】全てのファンクションを処理し終わったな
らば、ローカルコンピュータC1で、クラスに記録され
ているコードからコピーされたデータオブジェクトO2
に対しファンクションを直接に実行することができる。
【0306】本発明によるこの実施形態では、ローカル
コンピュータC1で直接、遠隔オブジェクトO2のコピ
ーに対しファンクションを起動することが可能である。
【0307】この実施形態においては、本発明による遠
隔実行装置及びその装置により実現される遠隔実行方法
が遠隔コンピュータC3に組み込まれていることが分か
るであろう。
【0308】即ち、獲得要求を受信する手段、コンピュ
ータアドレスを取り出す手段、インタフェースを識別す
る手段、及びこのインタフェースを転送する手段はコン
ピュータC3のマイクロプロセッサ500に組み込まれ
ており、読み取り専用メモリ501はコンピュータ通信
ネットワークを介してデータオブジェクトのインタフェ
ースを転送するためのプログラムを格納し、ランダムア
クセスメモリ502は、プログラムの実行中に変更され
る変数、特に、図8に示すような関連付けテーブルT’
を格納するための複数のレジスタを含む。
【0309】同様に、ローカルコンピュータC1で、遠
隔データオブジェクトO2に対しファンクションを起動
する装置は、このデータオブジェクトO2のコピーを受
信する手段と、このオブジェクトのインタフェースと関
連するコンピュータアドレスを取り出す手段と、このイ
ンタフェースを獲得するための要求を送信する手段と、
このインタフェースを受信する手段と、ローカルコンピ
ュータC1により使用されるプログラミング言語でクラ
スを作成する手段とを有する。
【0310】起動装置のこれらの手段はローカルコンピ
ュータC1のマイクロプロセッサ500に組み込まれて
おり、読み取り専用メモリは遠隔データオブジェクトO
2のファンクションをこのローカルコンピュータC1で
起動するためのプログラムを格納し、ランダムアクセス
メモリはこのプログラムの実行中に変更される変数をレ
ジスタに格納する。
【0311】次に、図14及び図15を参照して、遠隔
コンピュータC3に格納されているデータオブジェクト
O2のファンクションをコンピュータ通信ネットワーク
を介して起動することを可能にする本発明の第2の実施
形態を説明する。
【0312】この実施形態では、図14に示すように、
ローカルコンピュータC1で、コンピュータ要求を生成
する方法を実現する。
【0313】初期設定するステップE60は、ファンク
ションを遠隔呼び出しするために、空呼び出し要求POST
を作成する。
【0314】次に、遠隔データオブジェクトO2を参照
するコンピュータアドレスを記録するために、記録する
ステップE61を実行する。
【0315】この例では、遠隔オブジェクトO2のコン
ピュータアドレスはURI1である。
【0316】次に、記録するステップE62は、呼び出
されたファンクションの識別子をこの要求POSTに追加す
る。
【0317】典型的には、このファンクションは名前に
より識別できる。
【0318】この実施形態では、テストステップE63
で、このファンクションを実行するために入力引数が必
要であるか否かを検査するのが好ましい。
【0319】その答えが肯定であれば、先に説明したマ
ーシャリング方法に従ってそれらの入力引数をプログラ
ミング言語、この場合はC++からXML通信言語へマーシ
ャリングするために、マーシャリングするステップE6
4を実行する。
【0320】ステップE65は、それらの入力引数を呼
び出し要求POSTに追加する。
【0321】次に、ステップE66では、ファンクショ
ンと関連する次の入力引数を考慮し、全ての入力引数に
ついてステップE63からE66を繰り返す。
【0322】ファンクションの全ての入力引数を処理
し、呼び出し要求POSTに追加し終わったならば、テスト
ステップE67で、実行コードがこのファンクションと
関連しているか否かを検査する。
【0323】その答えが肯定であれば、追加するステッ
プE68で、この実行コードを呼び出し要求POST中のフ
ァンクションと関連付ける。
【0324】次に、転送するステップE69で、この要
求POSTを遠隔コンピュータC3へ送信する。
【0325】以下に、遠隔ファンクションに対する呼び
出し要求POSTの一例を示す。要求POSTが送信される先の
アドレスは、ファンクションが適用されるオブジェクト
のアドレスでなければならない。
【0326】 POST/web-obj/obj/calculator1.xml HTTP/1.1 ... <functions> <function name="square" type="int"> <arguments> <int value="5"/> </arguments> <code language:"Java Script" type:"source" href:http://oceania/web-obj/code/integer/square.js> ... </code> </function> </functions> 図15に示すように、次に、遠隔コンピュータC3でデ
ータオブジェクトO2に対しファンクションを起動する
方法を実現する。
【0327】受信するステップE70により、先に説明
したようにして生成された呼び出し要求POSTを受信する
ことができる。
【0328】次に、ファンクションが呼び出されるデー
タオブジェクトO2を参照するコンピュータアドレスを
取り出すために、取り出すステップE71を実行する。
【0329】また、要求からファンクションの識別子を
取り出すために、取り出すステップE72を実行する。
【0330】テストステップE73で、このファンクシ
ョンを実行するために入力引数が必要であるか否かを検
査するのが好ましい。その答えが肯定であれば、それら
の入力引数を取り出すステップE74を実行し、その
後、逆マーシャリングするステップE75で、それら全
ての入力引数をXML通信言語からC++などのプログラミ
ング言語へマーシャリングする。
【0331】ステップE76では、次の入力引数を考慮
する。従って、ステップE73からE76を繰り返すこ
とにより、それら全ての入力引数が解析されることにな
る。
【0332】要求POSTから全ての入力引数を取り出し、
マーシャリングし終わったならば、ステップE77で、
要求POSTに実行コードが挿入されているか否かを検査す
る。
【0333】その答えが肯定であれば、起動する方法
は、ファンクションと関連するこの実行コードを取り出
すステップE78と、このコードを遠隔データオブジェ
クトO2で実行するステップE79とを含む。
【0334】言うまでもなく、呼び出し要求POSTに実行
コードが挿入されていない場合には、ステップE80
で、遠隔コンピュータC3で利用可能なローカルな方法
を実行することになる。
【0335】テストステップE81は、このファンクシ
ョンの起動が誤りなく実行されたか否かを検査する。
【0336】誤りが起こっていた場合、ステップE82
において、ローカルコンピュータC1へ応答を送信す
る。周知のように、この応答は発生した誤りを指示する
ための例外を含む。
【0337】誤りが起こっていなければ、テストステッ
プE83で、実行されたファンクションが結果を供給す
るか否かを検査する。
【0338】その答えが否定であれば、ステップE84
で、「OK」のメッセージのみを含む応答をローカルコン
ピュータに向けて送信する。
【0339】これに対し、変更済みオブジェクトなどの
結果を供給しなければならない場合には、ファンクショ
ンが実行されたデータオブジェクトO2に対し、マーシ
ャリングするステップE85を実行して、このデータオ
ブジェクトO2をプログラミング言語C++からXML通信
言語へマーシャリングする。
【0340】次に、結果、即ちマーシャリングされたデ
ータオブジェクトO2を遠隔場所でそのファンクション
を呼び出したローカルコンピュータC1へ返送するため
に、送信するステップE86を実行する。
【0341】この実施形態では、本発明による遠隔場所
で実行する装置及び関連する方法は、ローカルコンピュ
ータC1に組み込まれている。
【0342】即ち、コンピュータアドレスを記録する手
段と、呼び出すべきファンクションの識別子を記録する
手段と、このファンクションと関連する実行コードを追
加する手段とを有し、コンピュータ要求POSTを生成する
装置はローカルコンピュータC1のマイクロプロセッサ
500に組み込まれており、読み取り専用メモリ501
はこのようなPOSTコンピュータ要求を生成するためのプ
ログラムを格納し、ランダムアクセスメモリ502は、
このプログラムの実行中に変更される変数を格納するた
めの複数のレジスタを有する。
【0343】同様に、本発明による起動装置は、遠隔コ
ンピュータC3に組み込まれている。
【0344】起動装置は起動要求POSTを受信する手段
と、遠隔コンピュータオブジェクトを参照するコンピュ
ータアドレスを取り出す手段と、呼び出すべきファンク
ションの識別子を取り出す手段と、このファンクション
の実行コードを取り出す手段と、このコードを実行する
手段とを有し、これらの手段はコンピュータC3のマイ
クロプロセッサ500に組み込まれている。
【0345】コンピュータC3の読み取り専用メモリ5
01は、コンピュータ通信ネットワークで起動方法を実
現するためのプログラムを格納し、ランダムアクセスメ
モリ502は、このプログラムの実行中に変更される変
数を格納するための複数のレジスタを有する。
【0346】このように、本発明によれば、通信ネット
ワークの様々なサイトにある各々のデータ処理アプリケ
ーションにより作成されたデータオブジェクトをこのネ
ットワークに接続する異なるサイトにより容易に共用す
ることができる。
【0347】オブジェクトが独自のURIコンピュータ
アドレスによって公開される、即ち見える状態にされる
と、直ちにネットワーク中のその他のアプリケーション
は、コンピュータアドレスを使用して、ネットワークに
共通する通信言語による表現を介してこのオブジェクト
をアクセスすることができる。
【0348】特に、オブジェクトと関連するファンクシ
ョンを通信ネットワークの遠隔場所から呼び出すことが
可能であり、特に通信ネットワークプロパーを介する不
必要な転送を回避することができる。
【図面の簡単な説明】
【図1】本発明を実現する通信ネットワークを概略的に
示す図。
【図2】分散型オブジェクトシステムを概略的に示す
図。
【図3】本発明を実現するコンピュータを示すブロック
図。
【図4】データオブジェクトをプログラミング言語から
通信言語への直接マーシャリング及び逆マーシャリング
を示す図。
【図5】本発明を実現する2台のコンピュータを示すブ
ロック図。
【図6】関連付けテーブルを格納するメモリスペースを
概略的に表す図。
【図7】本発明の第1の態様に従ってデータオブジェク
トをマーシャリングする方法を示すアルゴリズム。
【図8】本発明の第2の態様に従ってデータオブジェク
トを転送する方法を示すアルゴリズム。
【図9】本発明の第3の態様に従ってデータオブジェク
トを遠隔更新する方法を示すアルゴリズム。
【図10】データオブジェクトを排除する方法を示すア
ルゴリズム。
【図11】インタフェースの関連付けテーブルを格納す
るメモリスペースを概略的に表す図。
【図12】本発明の第5の態様に従ってローカルコンピ
ュータにおいてファンクションを起動する方法を示すア
ルゴリズム。
【図13】本発明の第6の態様に従ったインタフェース
転送方法を示すアルゴリズム。
【図14】本発明の第7の態様に従ってコンピュータ起
動要求を生成する方法を示すアルゴリズム。
【図15】本発明の第8の態様に従って遠隔コンピュー
タにおいてファンクションを起動する方法を示すアルゴ
リズム。

Claims (64)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ通信ネットワーク(4)で
    データオブジェクト(O1)をデータ処理アプリケーシ
    ョンにより使用されるプログラミング言語から前記コン
    ピュータ通信ネットワーク(4)の通信プロトコルによ
    り使用できる通信言語にマーシャリングするマーシャリ
    ング方法において、 前記データオブジェクト(O1)に含まれるデータフィ
    ールドを読み取るステップ(E1)と、 前記データフィールドの構造が複雑である場合、前記デ
    ータフィールドと関連するコンピュータアドレス(UR
    I)を前記データフィールドの代わりに用いるステップ
    (E5〜E7)と、 前記データフィールドと関連する前記コンピュータアド
    レス(URI)を関連付けテーブル(T)に格納するス
    テップ(E5〜E7)とを有することを特徴とするマー
    シャリング方法。
  2. 【請求項2】 前記格納するステップで、前記データフ
    ィールドは前記プログラミング言語で格納されることを
    特徴とする請求項1記載のマーシャリング方法。
  3. 【請求項3】 複雑なデータ構造は、少なくとも1つの
    データオブジェクト(O2、O3)、アレイ(A1)又
    は最小限の長さの文字のチェーン(S1)の中から選択
    されることを特徴とする請求項1又は2に記載のマーシ
    ャリング方法。
  4. 【請求項4】 前記データフィールドの構造をあらかじ
    め確定された複雑なデータ構造のリスト(L)と比較す
    るステップ(E2〜E4)を含むことを特徴とする請求
    項1乃至3のいずれか1項に記載のマーシャリング方
    法。
  5. 【請求項5】 コンピュータ通信ネットワークでデータ
    オブジェクトを転送する転送方法において、 コンピュータの転送要求を受信するステップ(E11)
    と、 前記コンピュータの要求からコンピュータアドレス(U
    RI)を取り出すステップ(E12)と、 関連付けテーブル(T)において前記コンピュータアド
    レス(URI)と関連するデータオブジェクトを識別す
    るステップ(E13〜E14)と、 前記識別されたデータオブジェクトを前記通信ネットワ
    ーク(4)の通信プロトコルにより使用できる通信言語
    へマーシャリングするステップ(E16)と、 前記マーシャリングされたデータオブジェクトを転送す
    るステップ(E17)とを有することを特徴とする転送
    方法。
  6. 【請求項6】 コンピュータ通信ネットワークにおける
    サイトでデータオブジェクトを遠隔更新する遠隔更新方
    法において、 コンピュータの更新要求を受信するステップ(E20)
    と、 前記コンピュータの要求からコンピュータアドレス(U
    RI)を取り出すステップ(E21)と、 前記コンピュータの要求から前記コンピュータ通信ネッ
    トワーク(4)の通信プロトコルにより使用できる通信
    言語へマーシャリングされたデータオブジェクトを取り
    出すステップ(E22)と、 取り出された前記コンピュータアドレス(URI)及び
    データオブジェクトを前記サイトの関連付けテーブル
    (T)で関連付けるステップ(E24〜E27)とを有
    することを特徴とする遠隔更新方法。
  7. 【請求項7】 取り出されたデータオブジェクトを前記
    サイトのコンピュータアプリケーションにより使用され
    るプログラミング言語へマーシャリングするステップ
    (E23)を含むことを特徴とする請求項6に記載の遠
    隔更新方法。
  8. 【請求項8】 関連付けるステップは、 前記サイトの関連付けテーブル(T)にて取り出された
    コンピュータアドレス(URI)を識別するステップ
    (E24〜E25)と、 識別された場合、取り出されたデータオブジェクトを、
    関連付けテーブル(T)にて前記取り出されたコンピュ
    ータアドレス(URI)と関連付けて格納された以前の
    データオブジェクトの代わりに用いるステップ(E2
    6)とを含むことを特徴とする請求項6又は7に記載の
    遠隔更新方法。
  9. 【請求項9】 代わりに用いるステップ(E26)で、
    取り出されたデータオブジェクトのデータフィールドを
    前記サイトの関連付けテーブル(T)に格納された以前
    のデータオブジェクトにコピーすることを特徴とする請
    求項8に記載の遠隔更新方法。
  10. 【請求項10】 関連付けるステップは、 前記サイトの関連付けテーブル(て)にて取り出された
    コンピュータアドレス(URI)を識別するステップ
    (E24〜E25)と、 識別されなかった場合、前記取り出されたデータオブジ
    ェクトと取り出されたコンピュータアドレスとの関連を
    前記サイトの関連付けテーブル(T)に追加するステッ
    プ(E27)とを含むことを特徴とする請求項6乃至9
    のいずれか1項に記載の遠隔更新方法。
  11. 【請求項11】 コンピュータ通信ネットワーク(4)
    で、データオブジェクト(O2)のファンクションを遠
    く離れて実行する遠隔実行方法において、通信ネットワ
    ーク(4)の通信プロトコルに応じて前記ファンクショ
    ンの実行コードと関連するファンクションを転送するス
    テップ(E57、E69)を含むことを特徴とする遠隔
    実行方法。
  12. 【請求項12】 前記転送するステップ(E57、E6
    9)において、前記ファンクションはコンピュータ通信
    ネットワーク(4)の通信プロトコルにより使用できる
    通信言語(XML)へマーシャリングされた少なくとも1
    つのパラメータとも関連付けられることを特徴とする請
    求項11に記載の遠隔実行方法。
  13. 【請求項13】 前記通信ネットワーク(4)の通信プ
    ロトコルに従って、前記ファンクションの実行コードと
    それぞれ関連する1つ又は複数のファンクションを有す
    る前記データオブジェクト(O2)のインタフェース
    (I1)を転送するステップ(E57)を含むことを特
    徴とする請求項11又は12に記載の遠隔実行方法。
  14. 【請求項14】 実行コードはソースコード、バイトコ
    ード又はコンパイルされたコードであることを特徴とす
    る請求項11乃至13のいずれか1項に記載の遠隔実行
    方法。
  15. 【請求項15】 ローカルコンピュータ(C1)で、コ
    ンピュータ通信ネットワーク(4)上の遠隔データオブ
    ジェクト(O2)のファンクションを起動する起動方法
    において、 ローカルコンピュータ(C1)で、通信ネットワーク
    (4)の通信プロトコルにより使用できる通信言語(XM
    L)へマーシャリングされた前記遠隔データオブジェク
    ト(O2)のコピーを受信するステップ(E40)と、 受信された前記データオブジェクト(O2)から前記デ
    ータオブジェクト(O2)のインタフェースを参照する
    少なくとも1つのコンピュータアドレス(URI1’)
    を取り出すステップ(E41)と、 コンピュータアドレス(URI1’)を含む前記インタ
    フェースの獲得要求を遠隔コンピュータ(C3)へ送信
    するステップ(E42)と、 前記ファンクションの実行コードとそれぞれ関連する1
    つ又は複数のファンクションを有する前記インタフェー
    ス(I1)を受信するステップ(E43)とを有するこ
    とを特徴とする起動方法。
  16. 【請求項16】 前記受信されたインタフェース(I
    1)の1つ又は複数のファンクションと前記ファンクシ
    ョンの実行コードとを有するクラスを前記ローカルコン
    ピュータ(C1)のデータ処理アプリケーションにより
    使用されるプログラミング言語で作成するステップ(E
    45〜E50)も含むことを特徴とする請求項15に記
    載の起動方法。
  17. 【請求項17】 コンピュータ通信ネットワーク(4)
    で、請求項15又は16に記載の前記起動方法の送信す
    るステップ(E42)により送信される獲得要求に応答
    してインタフェースを転送するインタフェース転送方法
    において、 前記獲得要求を受信するステップ(E51)と、 前記インタフェース(I1)を参照するコンピュータア
    ドレス(URI1’)を取り出すステップ(E52)
    と、 インタフェースと関連付けて前記コンピュータアドレス
    を格納する関連付けテーブル(T)において前記インタ
    フェース(I1)を識別するステップ(E53)と、 前記ファンクションの実行コードとそれぞれ関連する1
    つ又は複数のファンクションを有する、ネットワーク
    (4)の通信プロトコルで使用できる通信言語(XML)
    へマーシャリングされた前記インタフェース(I1)を
    転送するステップ(E57)とを有することを特徴とす
    るインタフェース転送方法。
  18. 【請求項18】 コンピュータ通信ネットワーク(4)
    における遠隔コンピュータ(C3)でデータオブジェク
    ト(O2)のファンクションを起動するためのコンピュ
    ータ要求を生成する生成方法において、 前記データオブジェクト(O2)を参照するコンピュー
    タアドレス(URI1)を入力するステップ(E61)
    と、 ファンクションの識別子を入力するステップ(E62)
    と、 前記ファンクションと関連する実行コードを追加するス
    テップ(E68)とを有することを特徴とする生成方
    法。
  19. 【請求項19】 コンピュータ通信ネットワーク(4)
    で、遠隔コンピュータ(C3)上のデータオブジェクト
    (O2)のファンクションを起動する起動方法におい
    て、 請求項18に記載の生成方法に応じて生成された起動要
    求を受信するステップ(E70)と、 前記起動要求から、データオブジェクト(O2)を参照
    するコンピュータアドレス(URI1)を取り出すステ
    ップ(E71)と、 前記ファンクションの識別子を取り出すステップ(E7
    2)と、 前記ファンクションと関連する実行コードを取り出すス
    テップ(E78)と、 データオブジェクト(O2)に対して取り出された前記
    コードを実行するステップ(E79)とを有することを
    特徴とする起動方法。
  20. 【請求項20】 コンピュータ通信ネットワーク(4)
    でデータオブジェクト(O1)をデータ処理アプリケー
    ションにより使用されるプログラミング言語から前記コ
    ンピュータ通信ネットワークの通信プロトコルにより使
    用できる通信言語にマーシャリングするマーシャリング
    装置において、 前記データオブジェクトに含まれるデータフィールドを
    読み取る手段(500、501、502)と、 前記データフィールドの構造が複雑である場合、前記デ
    ータフィールドと関連するコンピュータアドレス(UR
    I)を前記データフィールドの代わりに用いる手段(5
    00、501、502)と、 前記データフィールドと関連する前記コンピュータアド
    レスを関連付けテーブル(T)に格納する手段(50
    0、501、502)とを有することを特徴とするマー
    シャリング装置。
  21. 【請求項21】 格納する手段(500、501、50
    2)は、前記データフィールドを前記プログラミング言
    語で格納することを特徴とする請求項20に記載のマー
    シャリング装置。
  22. 【請求項22】 複雑なデータ構造は少なくとも1つの
    データオブジェクト(O2、O3)、アレイ(A1)又
    は最小限の長さの文字のチェーン(S1)の中から選択
    されることを特徴とする請求項20又は21に記載のマ
    ーシャリング装置。
  23. 【請求項23】 あらかじめ確定された複雑なデータ構
    造のリスト(L)を格納する手段(501)と、前記デ
    ータフィールドの構造を前記あらかじめ確定されたリス
    ト(L)と比較する手段(500、501、502)と
    を更に有することを特徴とする請求項20乃至22のい
    ずれか1項に記載のマーシャリング装置。
  24. 【請求項24】 マイクロプロセッサ(500)、デー
    タオブジェクトをマーシャリングするためのプログラム
    を格納する読み取り専用メモリ(501)、及び前記プ
    ログラムの実行中に変更される変数を格納するための複
    数のレジスタを有するランダムアクセスメモリ(50
    2)を含むことを特徴とする請求項20乃至23のいず
    れか1項に記載のマーシャリング装置。
  25. 【請求項25】 コンピュータ通信ネットワークでデー
    タオブジェクトを転送する転送装置において、 コンピュータの転送要求を受信する手段(500、50
    1、502)と、 前記コンピュータの要求からコンピュータアドレスを取
    り出す手段(500、501、502)と、 関連付けテーブル(T)において前記コンピュータアド
    レスと関連するデータオブジェクトを識別する手段(5
    00、501、502)と、 前記識別されたデータオブジェクトを前記通信ネットワ
    ークの通信プロトコルにより使用できる通信言語へマー
    シャリングする手段(10)と、 前記マーシャリングされたデータオブジェクトを転送す
    る手段(500、501、502)とを有することを特
    徴とする転送装置。
  26. 【請求項26】 マイクロプロセッサ(500)、コン
    ピュータ通信ネットワークでデータオブジェクトを転送
    するためのプログラムを格納する読み取り専用メモリ
    (501)、及び前記プログラムの実行中に変更される
    変数を格納するための複数のレジスタを有するランダム
    アクセスメモリ(502)を含むことを特徴とする請求
    項25に記載の転送装置。
  27. 【請求項27】 コンピュータ通信ネットワークにおけ
    るサイトでデータオブジェクトを遠隔更新する遠隔更新
    装置において、 コンピュータの更新要求を受信する手段(500、50
    1、502)と、 前記コンピュータの要求からコンピュータアドレスを取
    り出す手段(500、501、502)と、 前記コンピュータの要求から前記コンピュータ通信ネッ
    トワークの通信プロトコルにより使用できる通信言語へ
    マーシャリングされたデータオブジェクトを取り出す手
    段(500、501、502)と、 前記コンピュータアドレス(URI)と取り出されたコ
    ンピュータオブジェクトとを前記サイトの関連付けテー
    ブル(T)で関連付ける手段(500、501、50
    2)とを有することを特徴とする遠隔更新装置。
  28. 【請求項28】 取り出されたデータオブジェクトを前
    記サイトのデータ処理アプリケーションにより使用され
    るプログラミング言語へマーシャリングする手段(1
    3)も有することを特徴とする請求項27に記載の遠隔
    更新装置。
  29. 【請求項29】 前記関連付ける手段は、 前記サイトの関連付けテーブルにて取り出されたコンピ
    ュータアドレスを識別する手段(500、501、50
    2)と、 取り出されたデータオブジェクトを、関連付けテーブル
    (T)にて前記取り出されたコンピュータアドレスと関
    連付けて格納された以前のデータオブジェクトの代わり
    に用いる手段(500、501、502)とを有するこ
    とを特徴とする請求項27又は28に記載の遠隔更新装
    置。
  30. 【請求項30】 前記代わりに用いる手段(500、5
    01、502)は、取り出されたデータオブジェクトの
    データフィールドを前記サイトの関連付けテーブルに格
    納された以前のデータオブジェクトにコピーすることを
    特徴とする請求項29に記載の遠隔更新装置。
  31. 【請求項31】 前記関連付ける手段(500、50
    1、502)は、取り出されたデータオブジェクトと取
    り出されたコンピュータアドレスとの関連を前記サイト
    の前記関連付けテーブル(T)に追加する手段も有する
    ことを特徴とする請求項27乃至30のいずれか1項に
    記載の遠隔更新装置。
  32. 【請求項32】 マイクロプロセッサ(500)、コン
    ピュータ通信ネットワークにおけるサイトでコンピュー
    タオブジェクトの遠隔更新のためのプログラムを格納す
    る読み取り専用メモリ(501)、及び前記プログラム
    の実行中に変更される変数を格納する複数のレジスタを
    有するランダムアクセスメモリ(502)を含むことを
    特徴とする請求項27乃至31のいずれか1項に記載の
    遠隔更新装置。
  33. 【請求項33】 コンピュータ通信ネットワーク(4)
    で、データオブジェクト(O2)のファンクションを遠
    く離れて実行する遠隔実行装置において、通信ネットワ
    ーク(4)の通信プロトコルに応じてファンクションの
    実行コードと関連する前記ファンクションを転送する転
    送手段(500、501、502)を有することを特徴
    とする遠隔実行装置。
  34. 【請求項34】 転送手段(500、501、502)
    は、前記コンピュータ通信ネットワーク(4)の通信プ
    ロトコルにより使用できる通信言語(XML)へマーシャ
    リングされた少なくとも1つのパラメータを前記ファン
    クションと関連付けることを特徴とする請求項33に記
    載の遠隔実行装置。
  35. 【請求項35】 通信ネットワーク(4)の通信プロト
    コルに従って、前記ファンクションの実行コードとそれ
    ぞれ関連する1つ又は複数のファンクションを有する、
    データオブジェクト(O2)のインタフェースを転送す
    る転送手段(500、501、502)を有することを
    特徴とする請求項33又は34に記載の遠隔実行装置。
  36. 【請求項36】 実行コードはソースコード、バイトコ
    ード又はコンパイルされたコードであることを特徴とす
    る請求項33乃至35のいずれか1項に記載の遠隔実行
    装置。
  37. 【請求項37】 マイクロプロセッサ(500)、デー
    タオブジェクトにおけるファンクションの遠隔実行のた
    めのプログラムを格納する読み取り専用メモリ(50
    1)、及び前記プログラムの実行中に変更される変数を
    格納するための複数のレジスタを有するランダムアクセ
    スメモリ(502)を含むことを特徴とする請求項33
    乃至36のいずれか1項に記載の遠隔実行装置。
  38. 【請求項38】 ローカルコンピュータ(C1)でコン
    ピュータ通信ネットワーク(4)上の遠隔データオブジ
    ェクト(O2)のファンクションを起動する起動装置に
    おいて、 ローカルコンピュータ(C1)で、通信ネットワーク
    (4)の通信プロトコルにより使用できる通信言語(XM
    L)へマーシャリングされた前記遠隔データオブジェク
    ト(O2)のコピーを受信する手段(500、501、
    502)と、 受信された前記データオブジェクト(O2)から前記オ
    ブジェクト(O2)のインタフェース(I1)を参照す
    る少なくとも1つのコンピュータアドレス(URI
    1’)を取り出す手段(500、501、502)と、 コンピュータアドレス(URI1’)を含む前記インタ
    フェースの獲得要求を遠隔コンピュータ(C3)へ送信
    する手段(500、501、502)と、 前記ファンクションの実行コードとそれぞれ関連する1
    つ又は複数のファンクションを有する前記インタフェー
    ス(I1)を受信する手段(500、501、502)
    とを有することを特徴とする起動装置。
  39. 【請求項39】 前記受信されたインタフェースの1つ
    又は複数のファンクションと前記ファンクションの実行
    コードとを有するクラスを前記ローカルコンピュータ
    (C1)のデータ処理アプリケーションにより使用され
    るプログラミング言語(XML)で作成する手段(50
    0、501、502)も有することを特徴とする請求項
    38記載の起動装置。
  40. 【請求項40】 マイクロプロセッサ(500)、遠隔
    データオブジェクトにおけるファンクションを起動する
    ためのプログラムを格納する読み取り専用メモリ(50
    1)、及び前記プログラムの実行中に変更される変数を
    格納するための複数のレジスタを有するランダムアクセ
    スメモリ(502)を含むことを特徴とする請求項38
    又は39に記載の起動装置。
  41. 【請求項41】 コンピュータ通信ネットワーク(4)
    で、請求項38乃至40のいずれか1項に記載の前記起
    動装置の送信する手段により送信される獲得要求に応答
    してインタフェースを転送するインタフェース転送装置
    において、 前記獲得要求を受信する手段(500、501、50
    2)と、 前記インタフェース(I1)を参照するコンピュータア
    ドレス(URI1’)を取り出す手段(500、50
    1、502)と、 インタフェースと関連付けて前記コンピュータアドレス
    を格納する関連付けテーブル(T’)において前記イン
    タフェース(I1)を識別する手段(500、501、
    502)と、 ネットワーク(4)の通信プロトコルにより使用できる
    通信言語(XML)へマーシャリングされ、前記ファンク
    ションの実行コードとそれぞれ関連する1つ又は複数の
    ファンクションを有する前記インタフェース(I1)を
    転送する手段(500、501、502)とを有するこ
    とを特徴とするインタフェース転送装置。
  42. 【請求項42】 マイクロプロセッサ(500)、イン
    タフェース転送プログラムを格納する読み取り専用メモ
    リ(501)、及び前記プログラムの実行中に変更され
    る変数を格納する複数のレジスタを有するランダムアク
    セスメモリ(502)を含むことを特徴とする請求項4
    1に記載のインタフェース転送装置。
  43. 【請求項43】 コンピュータ通信ネットワーク(4)
    の遠隔コンピュータ(C3)でデータオブジェクト(O
    2)のファンクションを起動するためのコンピュータ要
    求を生成する生成装置において、 前記データオブジェクト(O2)を参照するコンピュー
    タアドレス(URI1)を入力する手段(500、50
    1、502)と、 ファンクションの識別子を入力する手段(500、50
    1、502)と、 前記ファンクションと関連する実行コードを追加する手
    段(500、501、502)とを有することを特徴と
    する生成装置。
  44. 【請求項44】 マイクロプロセッサ(500)、起動
    のためのコンピュータ要求を生成するプログラムを格納
    する読み取り専用メモリ(501)、及び前記プログラ
    ムの実行中に変更される変数を格納するための複数のレ
    ジスタを有するランダムアクセスメモリ(502)を含
    むことを特徴とする請求項43に記載の生成装置。
  45. 【請求項45】 コンピュータ通信ネットワーク(4)
    で、遠隔コンピュータ(C3)上のデータオブジェクト
    (O2)のファンクションを起動する起動装置におい
    て、 請求項18に記載の生成方法に応じて生成された起動要
    求を受信する手段(500、501、502)と、 前記起動要求から、データオブジェクト(O2)を参照
    するコンピュータアドレス(URI1)を取り出す手段
    (500、501、502)と、 前記ファンクションの識別子を取り出す手段(500、
    501、502)と、 前記ファンクションと関連する実行コードを取り出す手
    段(500、501、502)と、 データオブジェクト(O2)に対して取り出された前記
    コードを実行する手段(500、501、502)とを
    有することを特徴とする起動装置。
  46. 【請求項46】 マイクロプロセッサ(500)、遠隔
    データオブジェクトでファンクションを起動するための
    プログラムを格納する読み取り専用メモリ(501)、
    及び前記プログラムの実行中に変更される変数を格納す
    るための複数のレジスタを有するランダムアクセスメモ
    リ(502)を含むことを特徴とする請求項45に記載
    の起動装置。
  47. 【請求項47】 請求項20乃至24のいずれか1項に
    記載のデータオブジェクトをマーシャリングするマーシ
    ャリング装置を有することを特徴とするコンピュータ。
  48. 【請求項48】 請求項25又は26記載のデータオブ
    ジェクトを転送する転送装置を有することを特徴とする
    コンピュータ。
  49. 【請求項49】 請求項27乃至32のいずれか1項に
    記載の遠隔更新装置を有することを特徴とするコンピュ
    ータ。
  50. 【請求項50】 請求項33乃至37のいずれか1項に
    記載の遠隔実行装置を有することを特徴とするコンピュ
    ータ。
  51. 【請求項51】 請求項38乃至40のいずれか1項に
    記載の遠隔データオブジェクトのファンクションをコン
    ピュータで起動する起動装置を有することを特徴とする
    コンピュータ。
  52. 【請求項52】 請求項41又は42に記載のインタフ
    ェース転送装置を有することを特徴とするコンピュー
    タ。
  53. 【請求項53】 請求項43又は44に記載の起動のた
    めのコンピュータ要求を生成する生成装置を有すること
    を特徴とするコンピュータ。
  54. 【請求項54】 請求項45又は46に記載の遠隔コン
    ピュータでファンクションを起動する起動装置を有する
    ことを特徴とするコンピュータ。
  55. 【請求項55】 請求項20乃至24のいずれか1項に
    記載のデータオブジェクトをマーシャリングするマーシ
    ャリング装置及び/又は請求項25又は26に記載のデ
    ータオブジェクトを転送する転送装置及び/又は請求項
    27乃至32のいずれか1項に記載の遠隔更新装置及び
    /又は請求項33乃至37のいずれか1項に記載の遠隔
    実行装置及び/又は請求項38乃至40のいずれか1項
    に記載の遠隔データオブジェクトのファンクションをロ
    ーカルコンピュータで起動する起動装置及び/又は請求
    項41又は42に記載のインタフェース転送装置及び/
    又は請求項43又は44に記載の起動のためのコンピュ
    ータ要求を生成する生成装置及び/又は請求項45又は
    46に記載の遠隔コンピュータでファンクションを起動
    する起動装置を有することを特徴とするコンピュータ通
    信ネットワーク。
  56. 【請求項56】 ワイドエリアネットワークを形成する
    ことを特徴とする請求項55に記載のコンピュータ通信
    ネットワーク。
  57. 【請求項57】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項1乃至4のいず
    れか1項に記載のマーシャリング方法を実現するための
    ソフトウェアコードの一部を含むことを特徴とするコン
    ピュータプログラム。
  58. 【請求項58】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項5に記載の転送
    方法を実現するためのソフトウェアコードの一部を含む
    ことを特徴とするコンピュータプログラム。
  59. 【請求項59】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項6乃至10のい
    ずれか1項に記載の遠隔更新方法を実現するためのソフ
    トウェアコードの一部を含むことを特徴とするコンピュ
    ータプログラム。
  60. 【請求項60】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項11乃至14の
    いずれか1項に記載の遠隔実行方法を実現するためのソ
    フトウェアコードの一部を含むことを特徴とするコンピ
    ュータプログラム。
  61. 【請求項61】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項15又は16に
    記載のローカルコンピュータでファンクションを起動す
    る起動方法を実現するためのソフトウェアコードの一部
    を含むことを特徴とするコンピュータプログラム。
  62. 【請求項62】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項17に記載のイ
    ンタフェース転送方法を実現するためのソフトウェアコ
    ードの一部を含むことを特徴とするコンピュータプログ
    ラム。
  63. 【請求項63】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項18に記載の起
    動のためのコンピュータ要求を生成する生成方法を実現
    するためのソフトウェアコードの一部を含むことを特徴
    とするコンピュータプログラム。
  64. 【請求項64】 コンピュータにより読み取り可能であ
    るコンピュータプログラムにおいて、前記プログラムが
    コンピュータで実行されるときに請求項19に記載の遠
    隔コンピュータでファンクションを起動する起動方法を
    実現するためのソフトウェアコードの一部を含むことを
    特徴とするコンピュータプログラム。
JP2000191597A 1999-06-25 2000-06-26 コンピュータ通信ネットワークにおけるデータオブジェクトの転送方法および転送装置、起動方法と起動装置 Expired - Fee Related JP4965014B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR9908156 1999-06-25
FR9908155 1999-06-25
FR9908155A FR2795535A1 (fr) 1999-06-25 1999-06-25 Procede d'execution a distance d'une fonction sur un objet informatique dans un reseau de communication
FR9908156A FR2795536A1 (fr) 1999-06-25 1999-06-25 Procede de traduction, de transfert et de mise a jour d'un objet informatique sur un reseau de communication informatique

Publications (2)

Publication Number Publication Date
JP2001092794A true JP2001092794A (ja) 2001-04-06
JP4965014B2 JP4965014B2 (ja) 2012-07-04

Family

ID=26235005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000191597A Expired - Fee Related JP4965014B2 (ja) 1999-06-25 2000-06-26 コンピュータ通信ネットワークにおけるデータオブジェクトの転送方法および転送装置、起動方法と起動装置

Country Status (4)

Country Link
US (1) US6766350B1 (ja)
EP (1) EP1065592B1 (ja)
JP (1) JP4965014B2 (ja)
DE (1) DE60039554D1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807620B1 (en) * 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
US7240024B2 (en) 2000-10-10 2007-07-03 Canon Kabushiki Kaisha Method for remote execution of a function in a communication network
JP4747410B2 (ja) * 2000-11-10 2011-08-17 ソニー株式会社 映像切替表示装置および映像切替表示方法
WO2002042853A1 (en) * 2000-11-24 2002-05-30 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US20020188859A1 (en) * 2001-06-07 2002-12-12 Dollens James Terry DNA intrusion detection method
FR2826749B1 (fr) * 2001-07-02 2005-09-09 Canon Kk Description d'une interface applicable a un objet informatique
FR2830644A1 (fr) 2001-10-09 2003-04-11 Canon Kk Procede d'ordonnancement et d'execution de fonctions dans un reseau de communication
US6993713B2 (en) * 2002-06-06 2006-01-31 International Business Machines Corporation Web content management software utilizing a workspace aware JSP servlet
FR2841998B1 (fr) 2002-07-04 2004-10-22 Canon Kk Procede d'execution sur une station d'un reseau de communication d'un programme informatique represente dans un langage de balisage
US7886307B1 (en) * 2003-09-26 2011-02-08 The Mathworks, Inc. Object-oriented data transfer system for data sharing
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US7647632B1 (en) 2005-01-04 2010-01-12 Arcsight, Inc. Object reference in a system
US8423961B2 (en) * 2008-06-06 2013-04-16 Microsoft Corporation Simulating operations through out-of-process execution
CN105204824A (zh) * 2014-05-30 2015-12-30 北大方正集团有限公司 一种应用程序与移动终端之间通讯的方法及装置
US9983869B2 (en) * 2014-07-31 2018-05-29 The Mathworks, Inc. Adaptive interface for cross-platform component generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002516009A (ja) * 1997-06-03 2002-05-28 キーブー コーポレーション メディア・ライブラリに関連するアーキテクチャー内における電子データの流れおよび斯るデータの保存を管理する方法、並びに、該方法に用いるバイナリー・コンポーネント

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157961A (en) * 1992-12-21 2000-12-05 Sun Microsystems, Inc. Client-side stub interpreter
EP0604010B1 (en) * 1992-12-21 1999-12-29 Sun Microsystems, Inc. Method and apparatus for subcontracts in distributed processing systems
US6044409A (en) * 1996-06-26 2000-03-28 Sun Microsystems, Inc. Framework for marshaling and unmarshaling argument object references
US6189048B1 (en) * 1996-06-26 2001-02-13 Sun Microsystems, Inc. Mechanism for dispatching requests in a distributed object system
US6260078B1 (en) * 1996-07-03 2001-07-10 Sun Microsystems, Inc. Using a distributed object system to find and download java-based applications
US6175864B1 (en) * 1997-06-30 2001-01-16 Netscape Communications Corporation Method and apparatus for storyboard scripting of application programs running on a computer system
US6253256B1 (en) * 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6249803B1 (en) * 1997-12-18 2001-06-19 Sun Microsystems, Inc. Method and apparatus for executing code during method invocation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002516009A (ja) * 1997-06-03 2002-05-28 キーブー コーポレーション メディア・ライブラリに関連するアーキテクチャー内における電子データの流れおよび斯るデータの保存を管理する方法、並びに、該方法に用いるバイナリー・コンポーネント

Also Published As

Publication number Publication date
JP4965014B2 (ja) 2012-07-04
US6766350B1 (en) 2004-07-20
EP1065592A1 (en) 2001-01-03
DE60039554D1 (de) 2008-09-04
EP1065592B1 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
JP4965014B2 (ja) コンピュータ通信ネットワークにおけるデータオブジェクトの転送方法および転送装置、起動方法と起動装置
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
JP4824110B2 (ja) ページに関するページ・レイアウトを継承するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
JP4406609B2 (ja) 単一のインターフェイスからのデータの多重階層を管理するための手法
CN101114299B (zh) 编程地隐藏和显示WiKi页面布置部分的方法和数据处理系统
RU2419837C2 (ru) Рабочие потоки, ориентированные на данные
JP4694031B2 (ja) サーバ側制御オブジェクトを用いるデータ結合
US8560956B2 (en) Processing model of an application wiki
US8260815B2 (en) System and method for accessing non-compatible content repositories
US7296226B2 (en) XML-based multi-format business services design pattern
US20040216042A1 (en) System and method for generating high-function browser widgets with full addressability
WO2002005106A1 (en) Method and apparatus for providing process-container platforms
US6948120B1 (en) Computer-implemented system and method for hosting design-time controls
JP2002049484A (ja) クライアント側ユーザインタフェース要素を処理するサーバ側制御オブジェクト
CN101490674A (zh) 用于使用维基网页来定义维基网页布置的方法
JPH08339355A (ja) 分散形システムでの処理タスク実行呼び出し方法及び装置
CN106412086A (zh) 一种利用协议描述文件自动生成通信代码的方法及系统
EP3750078B1 (en) System and methods for loading objects from hash chains
JP2008165447A (ja) データアクセス装置、データアクセス方法、及び、コンピュータプログラム
JP2006500650A (ja) 自律型計算のための構成サービス
JP4099948B2 (ja) 構造化文書をプログラム言語の構造体データへマッピングするシステム及び方法及びプログラム
JP4660483B2 (ja) コンピューティング環境において使用するためのアイデンティティシステム
CN101286167A (zh) 用于访问物理数据存储器中的文件的系统和方法
KR101254419B1 (ko) Jee 환경에서 무중단 서비스를 제공하는 시스템 및 방법
JP2024022404A (ja) ファイル関連情報の管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110805

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120305

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees