JPH1083299A - オブジェクト指向プログラムなどの処理で使用されるオブジェクトのオブジェクト・タイプを固有に識別する識別子を生成するシステムおよび方法 - Google Patents

オブジェクト指向プログラムなどの処理で使用されるオブジェクトのオブジェクト・タイプを固有に識別する識別子を生成するシステムおよび方法

Info

Publication number
JPH1083299A
JPH1083299A JP9120323A JP12032397A JPH1083299A JP H1083299 A JPH1083299 A JP H1083299A JP 9120323 A JP9120323 A JP 9120323A JP 12032397 A JP12032397 A JP 12032397A JP H1083299 A JPH1083299 A JP H1083299A
Authority
JP
Japan
Prior art keywords
fingerprint
digital
information stream
hash value
digital information
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
JP9120323A
Other languages
English (en)
Inventor
James H Waldo
ジェームズ・エイチ・ワルド
Krishna Bharat
クリシュナ・バーラット
Roger Riggs
ロジャー・リッグス
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1083299A publication Critical patent/JPH1083299A/ja
Pending 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Collating Specific Patterns (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 オブジェクト指向プログラムなどの処理で使
用されるクラスなどのオブジェクト・タイプを固有に識
別する「フィンガープリント」識別子を生成する改良さ
れた新規のシステムを提供する。 【解決手段】 フィンガープリント生成システムは、オ
ブジェクト指向プログラミング構成においてオブジェク
トのフィンガープリント値を生成する。オブジェクト
は、ディジタル情報ストリームを備え、フィンガープリ
ント生成システムは、そのディジタル情報ストリームか
ら固定長フィンガープリント値を生成する。フィンガー
プリント生成システムは、オブジェクトを備えるディジ
タル情報ストリームを受け、選択されたハッシュ値生成
アルゴリズムに従ってディジタル情報ストリームを処理
し、フィンガープリント値を備えるハッシュ値を生成す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は全般的には、オブジ
ェクト指向プログラミング技法などによって設計された
プログラムを処理するコンピュータ・システムなどで使
用されるシステムおよび方法の分野に関し、詳細には、
そのようなプログラムの処理で使用されるオブジェクト
のタイプを固有に識別する識別子を生成するシステムお
よび方法の分野に関する。
【0002】引用による組み込み The JavaTMLanguage Specif
ication(Sun Microsystems,
Inc.、1993年ないし1995年)(下記では
「Java言語仕様」と呼ぶ)。The Java V
irtual Machine Specificat
ion(Sun Microsystems,In
c.、1993年ないし1995年)(下記では「Ja
va仮想マシン仕様」と呼ぶ)。「System An
d Method for Facilitating
Dynamic Loading of ”Stub”
Information to Enable a
Program Operating inOne A
ddress Space to Invoke Pr
ocessing of a Remote Meth
od or Procedure in Anothe
r Address Space」(Atty.Doc
ketNo.P1189)(下記では「Wollrat
h等の特許出願」と呼ぶ)と題する、本明細書に組み込
まれAnn M.Wollrath等の名義で本明細書
と同じ日付に出願された米国特許出願第08/636、
706号。
【0003】
【従来の技術】オブジェクト指向プログラミング技法を
使用して開発されたコンピュータ・プログラムでは通
常、プログラムの処理で使用できる「オブジェクト」が
開発される。通常、オブジェクトは、アレイなどのデー
タ群や、手順およびメソッドを定義するプログラム・コ
ードなどの要素を備えることができる。あるオブジェク
ト指向コンピュータ・プログラミング言語、すなわち前
述のJava言語仕様で記述されたJavaTMプログラ
ミング言語では、プログラムは「クラス」および「イン
タフェース」を定義する。クラスは、それぞれ、インタ
フェースへの参照によって呼び出すことができる、1つ
または複数のメソッドまたは手順を定義するために使用
される。インタフェースは、1組のメソッドを宣言し、
具体的には各メソッド、メソッドを処理する際に使用さ
れる引数のタイプ、メソッドによって返される値のデー
タ・タイプ、メソッドの処理時に生成されることがある
例外の識別子を識別するための機構を与える。クラス
は、それが実施する特定の1組のインタフェース、すな
わちクラス自体がメソッドのプログラミング・コードを
含むインタフェースを宣言することができる。別法とし
て、クラスは、それ自体が、他のどこかで宣言すること
ができる特定のインタフェースを実施することを示すこ
とができる。それぞれの異なるクラスは、同じインタフ
ェースを実施することを示すことができ、それぞれ、イ
ンタフェース内で宣言されるすべてのメソッドを処理す
る際に使用されるプログラム・コードを有する。各クラ
スで与えられるプログラム・コードは、他のクラスで与
えられるプログラム・コードとは異なるものであるが、
対応するメソッドのプログラム・コードは同じ結果を与
える。
【0004】Javaプログラムが、クラスによって維
持されるメソッドから与えることができるサービスを処
理する必要があるとき、クラスのインスタンスをその実
行環境にロードすることも、又はクラスのインスタンス
が、Wollrath等の特許出願に記載されたように
メソッドのリモート実行を呼び出すこともできる。どち
らの場合でも、実行環境にオブジェクトをロードする必
要があり、すなわちオブジェクト・クラス・インスタン
ス自体を備えるオブジェクトをロードするか、あるいは
リモート・インタフェースをサポートするクラスのイン
スタンスの場合には、メソッドのリモート呼出しを可能
にするスタブ・クラス・インスタンスをロードする必要
がある。これらのオブジェクトは、それを使用するプロ
グラムとは別にかつ独立に生成されることがある(スタ
ブ・クラス・インスタンスの場合は、そうである可能性
が高い)。プログラムは、オブジェクトをロードする
際、オブジェクトと、たとえばクラスによって宣言され
るインタフェースや、クラスのそれぞれのメソッドの処
理系を備えるプログラム・コードを含めてオブジェクト
の様々な構成要素を再構築するために処理する必要があ
る情報ストリームを受ける。通常、クラスは、オブジェ
クト名などの識別子を有するが、そのような識別子は通
常、プログラム開発者によって割り当てられ、したがっ
て固有のものではない。したがって、同じ名前を有する
2つのクラスがそれぞれの非常に異なる構造を有し、し
たがってクラスを再構築するのに必要なそれぞれの異な
る方法を有することがある。また、時間の経過と共に、
特定の名前を有するクラスの構造が変化し、クラスを再
構築するために必要な方法の変更が必要になることがあ
る。したがって、プログラムは、クラスを再構築するう
えでどの方法を使用すべきかを判定する場合に、プログ
ラム開発者から与えられた名前などの識別子に必ずしも
依存できるわけではない。
【0005】
【発明が解決しようとする課題】本発明は、オブジェク
ト指向プログラムなどの処理で使用されるクラスなどの
オブジェクト・タイプを固有に識別する「フィンガープ
リント」識別子を生成する改良された新規のシステムお
よび方法を提供する。
【0006】
【課題を解決するための手段】本発明は特に、それぞれ
の異なる構造および内容を有するクラスがそれぞれの異
なるフィンガープリント識別子を有するように、それぞ
れのクラスの実際の構造および内容を使用して生成され
るフィンガープリント識別子を生成するシステムおよび
方法である。簡単に言えば、本発明は、オブジェクト指
向プログラミング構成におけるオブジェクトのフィンガ
ープリント値を生成する新しいフィンガープリント生成
システム、方法、コンピュータ・プログラム製品であ
る。オブジェクトはディジタル情報ストリームを備え、
フィンガープリント生成システムは、そのディジタル情
報ストリームから固定長フィンガープリント値を生成す
る。オブジェクトを備えるディジタル情報ストリーム
は、選択されたハッシュ値生成アルゴリズムに従って処
理され、フィンガープリント値を備えるハッシュ値が生
成される。ハッシュ値生成アルゴリズムは、 i.入力ディジタル情報ストリームに応答して、所定数
のディジタル・ビットを有するディジタル・ハッシュ値
が出力として生成され、 ii.ディジタル・ハッシュ値が、ディジタル情報スト
リームの関数であり、そのため、(a)2つの同じ入力
ストリームが与えられた場合、同じディジタル・ハッシ
ュ値が生成され、(b)2つの異なる入力ストリームが
与えられた場合、同じディジタル・ハッシュ値が生成さ
れる可能性が極めて低く、 iii.「参照側オブジェクト」としてのオブジェクト
が、被参照オブジェクトとしての他のオブジェクトの参
照を含むとき、参照側オブジェクトの入力ディジタル情
報ストリームが、被参照オブジェクト自体のディジタル
情報ストリームではなく、被参照オブジェクトのために
前に生成されたフィンガープリントを含むだけでよく、
選択されたハッシュ値生成アルゴリズムに従って生成さ
れたディジタル・ハッシュ値が、フィンガープリント生
成システムによって生成されたフィンガープリントを備
えることを特徴とするハッシュ値生成アルゴリズム・ク
ラスから選択される。
【0007】本発明は、特に添付の特許請求の範囲で指
摘されている。本発明の上記およびその他の利点は、下
記の説明を添付の図面と共に参照することによってより
よく理解することができる。
【0008】
【発明の実施の形態】図1は、本発明によって構築され
たオブジェクト・タイプ識別子生成システムを含むコン
ピュータ構成10の機能ブロック図である。図1を参照
するとわかるように、コンピュータ・ネットワーク10
は、通信リンク14によって相互接続された(全体とし
て参照符号12(n)で識別された)複数のコンピュー
タ12(I)ないし12(N)を含む。従来どおり、少
なくともいくつかのコンピュータ12(n)は、それぞ
れ、システム装置と、ビデオ表示装置と、キーボードや
マウスなどのオペレータ入力装置とを含む、パーソナル
・コンピュータまたはコンピュータ・ワークステーショ
ンの形である。コンピュータ12(n)は、従来型の記
憶済みプログラム・コンピュータ・アーキテクチャのも
のである。システム装置は一般に、処理装置、メモリ、
ディスク記憶要素やテープ記憶要素などの大容量記憶装
置と、コンピュータと通信リンク14を相互接続するネ
ットワーク・インタフェース装置18(n)を含め他の
要素(独立には示していない)とを含む。ビデオ表示装
置によって、コンピュータは処理済みデータおよび処理
状況をオペレータに表示することができ、オペレータ入
力装置によって、オペレータはコンピュータによるデー
タ処理および制御処理を入力することができる。コンピ
ュータ12(n)は、それぞれのネットワーク・インタ
フェース装置18(n)を通じ、通信リンク14を介し
て、情報をメッセージの形で互いに転送し合う。
【0009】一実施形態では、ネットワーク10は「ク
ライアントサーバ」構成として構成され、様々なコンピ
ュータがサーバおよびクライアントとして動作する。一
態様では、サーバ・コンピュータは、「ファイル・サー
バ」として大容量記憶装置を含むことができる。大容量
記憶装置は、クライアント・コンピュータ自体の処理動
作で使用できるように通信リンク14を介してクライア
ント・コンピュータによって検索できるプログラムおよ
びデータのコピーを記憶することができる。クライアン
ト・コンピュータは必要に応じて、サーバ・コンピュー
タにデータを格納することもできる。このデータは、後
で、データを格納したクライアント・コンピュータまた
はその他のクライアントが、その処理動作で使用できる
ように検索することもできる。また、1つまたは複数の
サーバ・コンピュータは「コンピュータ・サーバ」とし
て、クライアント・コンピュータからのリモート要求に
応答してある種の処理動作を実行し、処理結果を、要求
側クライアント・コンピュータが後続の処理において使
用できるようにこのクライアント・コンピュータに返す
ことができる。いずれのケースでも、サーバ・コンピュ
ータは、クライアント・コンピュータにほぼ類似するも
のであってよく、システム装置と、ビデオ表示装置と、
オペレータ入力装置とを含み、オペレータによってクラ
イアント・コンピュータと同様にデータ処理動作に使用
することができる。実際には、そのような構成では、サ
ーバとして動作するコンピュータが、他のコンピュータ
のための記憶動作または処理動作、あるいはその両方を
実行できるため、第1のコンピュータは、サーバとして
動作するコンピュータを含めて他のコンピュータのため
の記憶動作および処理動作を要求する際にクライアント
として動作することもできるので、「クライアント/サ
ーバ」関係は相対的なものとみなすことができる。別法
として、いくつかのサーバ・コンピュータは、クライア
ント・コンピュータからの検索要求または記憶要求また
はリモート処理要求を受け取って処理し、そのような要
求に対する応答を生成する、処理要素、メモリ要素、大
容量記憶要素、ネットワーク・インタフェース要素のみ
を含むことができる。
【0010】ネットワーク10においてクライアント・
コンピュータ12(n)を相互接続する通信リンク14
は従来どおり、ワイヤ、または光ファイバ、またはコン
ピュータ12(n)間で情報を表す信号を送るためのそ
の他の媒体を備えることができる。参照14で識別され
た通信リンクは、コンピュータ12(n)を使用中の人
が、クライアント・コンピュータ12(n)からある距
離の位置に配置できるサーバ・コンピュータ16から、
プログラムとデータを含む情報にアクセスすることがで
きる、公衆電話システムやインターネットなどの公衆網
を備えることができる。前述のように、各コンピュータ
12(n)は通常、それぞれのコンピュータを通信リン
ク14に接続するのに適した(それぞれの矢印18
(n)で表された)ネットワーク・インタフェース装置
を含む。
【0011】本発明は、オブジェクト指向プログラムな
どの処理で使用されるオブジェクトのオブジェクト「タ
イプ」を固有に識別するために、本明細書では「フィン
ガープリント」と呼ぶ識別子の生成を容易にするシステ
ムを提供する。Java仮想マシンから与えられる実行
環境に関連して処理される、Java言語仕様で記述さ
れたJavaTMプログラミング言語で与えられたプログ
ラムに関連して本発明を説明する。Java仮想マシン
は、Java仮想マシン仕様で指定される。背景知識と
して、Java言語仕様で記述されたJavaプログラ
ミング言語のプログラムは、「クラス」および「インタ
フェース」を定義する。クラスは、それぞれ、インタフ
ェースへの参照によって呼び出すことができる、1つま
たは複数のメソッドまたは手順を定義するために使用さ
れる。クラスは、「スーパークラス」に関連付けられ、
「スーパークラス」を拡張することができ、そのため、
スーパークラスのすべてのインタフェースおよびメソッ
ドを備え、追加インタフェースまたはメソッド、あるい
はその両方を含むこともできる。クラスは、それぞれ、
スーパークラスを備え、場合によっては拡張する、1つ
または複数のサブクラスを有することもできる(したが
って、各サブクラスのスーパークラスを備える)。クラ
スは、そのクラスによって実施されるメソッドの処理時
に呼び出すことができる、他のインタフェースとクラス
を含む他のオブジェクトを参照することもできる。
【0012】インタフェースは、1組のメソッドを宣言
するための機構を構成する。そのため、インタフェース
は、たとえばメソッド名によって、インタフェースによ
って宣言された各メソッドを識別し、メソッドに与える
べき引数のデータ・タイプ、メソッドから返されるリタ
ーン値のデータ・タイプ、メソッドの処理中に破棄でき
る例外の識別子を識別する。クラスは、それが実施する
特定の1組のインタフェースを宣言することも、あるい
は他のどこかで宣言できる特定のインタフェースを実施
することを示すこともでき、どちらの場合も、インタフ
ェースで宣言されるすべてのメソッドの処理で使用され
るプログラム・コードを含む。それぞれの異なるクラス
は、同じインタフェースを実施することを示すことがで
き、各クラスは、インタフェースで宣言されたすべての
メソッドを処理する際に使用されるプログラム・コード
を有する。各クラスで与えられるプログラム・コード
は、他のクラスで与えられるプログラム・コードとは異
なるものでよいが、対応するメソッドのプログラム・コ
ードは同じ結果を与える。インタフェースは、そのイン
タフェースを使用して呼び出すことができるメソッドを
実施する特定のクラスとは独立に宣言することができ、
そのため、メソッドを呼び出すクラスと、メソッドを実
際に実施するクラスは、共通のスーパークラスを共用す
る必要はない。したがって、インタフェースは、メソッ
ドの処理で使用される手順を示さずに1組のメソッドを
宣言するための機構を与える。
【0013】上記で指摘したように、本発明は、オブジ
ェクト指向プログラムなどの処理で使用できるそれぞれ
の異なるオブジェクトを固有に識別するためにフィンガ
ープリントの生成を容易にするシステムを提供する。J
avaプログラミング言語を使用して生成されたプログ
ラムでは、様々なカテゴリのプログラム要素がオブジェ
クトを構成することができる。本発明に特に重要なこと
として、処理で使用できるようにインスタンス化された
クラスがオブジェクトを構成することができ、本発明
は、たとえばJavaプログラムが処理されている実行
環境によって使用できる各クラスごとの固有の識別子ま
たは「フィンガープリント」を生成し、実行環境にオブ
ジェクトがロードされるときにオブジェクトを識別し、
オブジェクトの再構築を容易にする。クラスの「タイ
プ」のフィンガープリントは、いくつかの目的に使用す
ることができる。たとえば、フィンガープリントは、処
理時に使用すべきであり、同じコンピュータ・システム
またはネットワーク10に接続された他のコンピュータ
・システムから検索してローカル処理のために実行環境
にロードすべき正しいクラス、またはWollrath
等の特許出願に記載されたように同じコンピュータ・シ
ステムまたはネットワーク10に接続された他のコンピ
ュータ・システム内のクラスによって維持されるメソッ
ドの呼出しリモート処理で使用すべき正しいクラスを識
別するために、実行環境で実行されているプログラムに
よって使用することができる。
【0014】また、フィンガープリントを使用して、実
行環境にクラス・インスタンスをロードするのを助ける
ことができる。通常、クラス・インスタンスなどのオブ
ジェクトを実行環境にロードする際、そのオブジェクト
は情報ストリームとして受信され、実行環境は情報スト
リームの様々な部分をクラス・インスタンスの様々な構
成要素に関係付け、それによって情報ストリームからク
ラス・インスタンスを再構築する必要がある。実行環境
は、実行環境自体が情報ストリームを受信しクラス・イ
ンスタンスを再構築できるようにする、プログラミング
・コードなどのリソースを使用することができる。その
ように検索できる様々なオブジェクトの構造が固有のも
のである可能性が高いので、実行環境は、情報ストリー
ムを受けたときにオブジェクトを再構築できるようにす
る適当なプログラミング・コードを確実に有する必要が
ある。後述のように、本発明のシステムおよび方法によ
れば、フィンガープリントは実際のオブジェクトの構造
および内容に基づいて生成され、したがって実行環境
は、オブジェクトのフィンガープリントを使用して、ロ
ード中のオブジェクトを、オブジェクトを再構築するた
めに使用できるプログラミング・コードに関連付けるこ
とができる。フィンガープリントがオブジェクトの構造
に基づくものなので、たとえばプログラム開発者が与え
ることができる、オブジェクト名など、オブジェクトに
関連付けられた他の識別子が同じである場合でも、それ
ぞれの異なる構造を有する2つのオブジェクトはそれぞ
れの異なるフィンガープリントを有する可能性が高い。
【0015】他の問題は、クラス、したがってそのイン
スタンス化が、参照側クラスがその処理で使用できるメ
ソッドを含む他の「被参照」クラスを参照することがで
きるために生じる。この場合、クラスのフィンガープリ
ントは、クラス自体の様々な構成要素だけでなく、クラ
スから参照される被参照クラスも反映する必要がある。
【0016】この背景情報を用いて、再び図1を参照す
ると分かるように、本発明は、様々なオブジェクト22
(m)を維持または使用して各オブジェクトごとのそれ
ぞれのフィンガープリント24(m)を生成する1つま
たは複数のコンピュータ12(n)と共に使用できるフ
ィンガープリント生成装置20を備える。フィンガープ
リント生成装置20は、下記で図2および3に関連して
説明するように各オブジェクト22(m)を処理し、フ
ィンガープリント24(m)を生成する。受けたオブジ
ェクトのフィンガープリント24(m)は、オブジェク
トの「タイプ」を識別するためにフィンガープリントと
して使用され、オブジェクト22(m)を維持するコン
ピュータ・システム12(N)によって処理されるプロ
グラムが使用するタイプ、または他のコンピュータ・シ
ステム12(I)ないし12(N−1)によって処理さ
れているプログラムが必要とするタイプのものとしてオ
ブジェクト22(m)を識別するために使用できる値を
表す。オブジェクト22(m)が、他のコンピュータ・
システム12(I)ないし12(N−1)によって処理
されているプログラムが必要とするタイプのものである
場合、コンピュータ・システム12(N)はオブジェク
ト22(m)を他のコンピュータ・システム12(I)
ないし12(N−1)で使用できるように通信リンク1
4を介してそのコンピュータ・システムにダウンロード
し、あるいは前述のWollrath等の出願に記載さ
れたようにリモート・メソッド呼出し動作においてオブ
ジェクト自体の処理を実行することができる。いずれの
場合も、フィンガープリント24(m)は、オブジェク
トのタイプを固有に識別する働きをし、それによって実
際上、オブジェクトが、プログラムが必要とするメソッ
ド、入力データ・タイプ、リターン・データ・タイプを
与え、かつオブジェクトをロードする実行環境が、オブ
ジェクトを受けたときに、その受けた情報ストリームか
らオブジェクトを正しく再構築するようにする。
【0017】上記で指摘したように、クライアント・コ
ンピュータ12(n)は、図2に関連して説明する、フ
ィンガープリント24(m)を生成するフィンガープリ
ント生成装置20を含む。図2を参照すると分かるよう
に、ベリファイア20は、オブジェクト・フィンガープ
リント値生成装置31と、オブジェクト・フィンガープ
リント・テーブル32と、オブジェクト・ストア34と
を含む。オブジェクト・ストア34は、オブジェクト2
2(m)のバイナリ・コードをオブジェクトのフィンガ
ープリント24(m)と共に受ける。オブジェクト・フ
ィンガープリント値生成装置31は、オブジェクト22
(m)および被参照オブジェクト(図示せず)の内容を
数値データとして処理し、オブジェクト・フィンガープ
リント値を生成する。被参照オブジェクトとは、ストア
34内のオブジェクトで参照されるオブジェクト、すな
わちストア34内のオブジェクトに関連付けられたクラ
スで参照される他のクラスの参照である。オブジェクト
・フィンガープリント値を生成する際、オブジェクト・
フィンガープリント値生成装置31は、すでに被参照オ
ブジェクトのオブジェクト・フィンガープリント値を生
成し、オブジェクト・フィンガープリント・テーブル3
2に記憶している場合、被参照オブジェクトのすでに生
成されているオブジェクト・フィンガープリント情報を
使用して、オブジェクト・ストア34内のオブジェクト
のオブジェクト・フィンガープリント値を生成すること
ができる。これとは異なり、ストア34内のオブジェク
トによって他のオブジェクトが参照される場合、フィン
ガープリント生成装置20はこの他のオブジェクトの値
を生成し、現在オブジェクト・ストア34内にあるオブ
ジェクトのフィンガープリントを生成する。
【0018】前述のように、オブジェクト・フィンガー
プリント値生成装置31は、オブジェクト・ストア34
内のオブジェクト22(m)のコピーを処理してオブジ
ェクト・フィンガープリント値を生成し、この値を比較
器に与える。特定の一実施形態では、オブジェクト・フ
ィンガープリント値生成装置31は、従来型のセキュア
・ハッシュ・アルゴリズムを使用してオブジェクト22
(m)を処理する。オブジェクト・フィンガープリント
値生成装置31に対して有用なセキュア・ハッシュアル
ゴリズムは、下記の特性を有する。
【0019】1)アルゴリズムを実行すると、ディジタ
ル情報ストリームが入力として受信され、固定サイズ・
ディジタル値(すなわち、所定の固定数のデータ・ビッ
トまたはバイト)が出力として生成される。
【0020】2)ディジタル出力値は入力情報の関数で
あり、そのため、(a)2つの同じ入出力ストリームが
与えられた場合、同じディジタル出力値が生成され、
(b)2つの異なる入力ストリームが与えられた場合、
同じディジタル出力値が生成される可能性が極めて低
い。
【0021】3)ディジタル出力値から入力ストリーム
を再生することができる可能性は極めて低い。
【0022】4)(「参照側オブジェクト」としての)
オブジェクトが、他のオブジェクトの参照を含むとき、
参照側オブジェクトのための入力ストリームは、被参照
オブジェクト自体を必要とするのではなく、被参照オブ
ジェクトのためにすでに生成されたフィンガープリント
を含むだけでよい。
【0023】これらの特性によって(特に特性2(a)
および(b))、下記のことが保証される。
【0024】(a)2つのオブジェクト22(m)のた
めにフィンガープリント生成装置20によって生成され
たフィンガープリント23(m)が同じ値を有する場
合、それらのフィンガープリントは、同じタイプのもの
であり、同じ1組のメソッドを与え、同じ入力データ・
タイプを必要とし、同じデータ・タイプの結果を与え、
同じ再構築プログラミング・コードを使用して再構築す
ることができる。
【0025】(b)2つのオブジェクト22(m)のた
めにフィンガープリント生成装置20によって生成され
たフィンガープリント24(m)がそれぞれの異なる値
を有する場合、それらのフィンガープリントは、それぞ
れの異なるタイプのものであり、したがって同じ1組の
メソッドを与えず、あるいはそれぞれの異なる入力デー
タ・タイプを必要とし、あるいはそれぞれの異なる結果
データ・タイプを与えることがあり、いずれの場合もそ
れぞれの異なる構造を有する可能性が高い。
【0026】この場合、プログラムはオブジェクトのフ
ィンガープリントを使用してオブジェクトを固有に識別
することができる。National Institu
teof Science and Technolo
gyから入手できるNIST SHA、RSA,In
c.から入手できるRC4 Secure HashA
lgorithmおよびRC5 Secure Has
h Algorithmなどのセキュア・ハッシュ・ア
ルゴリズムは、これらの特性を有するセキュア・ハッシ
ュ・アルゴリズムを示すものである。
【0027】フィンガープリントを生成するフィンガー
プリント生成装置20によって実行される動作につい
て、図3−8のフローチャートに関連して説明する。し
かし、先へ進む前に、オブジェクト・フィンガープリン
ト値を生成するためにフィンガープリント生成装置20
によって処理されるオブジェクト22(m)の構造を説
明しておくと助けとなる。一実施形態では、オブジェク
ト20はたとえば、Java言語仕様で記述されたJa
vaプログラミング言語で与えられるインスタンス化ク
ラスの形である。オブジェクト22(m)は、被参照オ
ブジェクト識別子セクション40(m)と、インタフェ
ース・セクション41(m)と、フィールド・セクショ
ン42(m)と、メソッド及び手順セクション43
(m)とを含む複数のセクションを含む。オブジェクト
22(m)が他のオブジェクトを参照する場合、被参照
オブジェクト識別子セクション40(m)は、他のオブ
ジェクトを識別する識別子を含み、他のオブジェクトが
どのようにアクセスできるかを示すインジケータを与え
る。オブジェクトが他のオブジェクトを参照しない場
合、被参照オブジェクト識別子セクション40(m)は
空である。
【0028】メソッド及び手順セクション43(m)
は、オブジェクトの呼出しを通じて呼び出すことができ
る特定のメソッド、手順、ルーチンなど(本明細書では
全体として「メソッド」として識別する)を与える。セ
クション43(m)で与えられるメソッドは、被参照オ
ブジェクト識別子セクション40(m)で識別される他
のオブジェクトを参照することができる。インタフェー
ス・セクション41(m)は実際上、たとえばセクショ
ン43(m)で識別される特定のメソッドの名前と、特
定のメソッドを呼び出すための呼出しにおいて与えるべ
きパラメータとを含む、オブジェクトのインタフェース
のリストを含む。クライアント・コンピュータ12
(n)によって処理されているプログラムは、セクショ
ン41(m)内のインタフェース・リストを使用して、
オブジェクト22(m)の呼出しを通じて呼び出すこと
ができる特定のメソッドを識別することができる。フィ
ールド・セクション42(m)は、たとえばセクション
43(m)で定義されたメソッドで使用される変数およ
びその他の要素のリストを与え、変数が、たとえば特定
のオブジェクト22(m)に固有のものであるか、それ
とも特定のオブジェクト22(m)の限られた部分であ
るかなどを示すこともできる。
【0029】この背景情報を用いて、フィンガープリン
ト生成装置20によって実行される動作を図3−8のフ
ローチャートに関連して説明する。図3−8を参照する
と分かるように、オブジェクト・フィンガープリント値
生成装置31は最初、オブジェクト・フィンガープリン
ト・テーブル32がすでに、識別されたオブジェクトの
オブジェクト・フィンガープリント値を有するかどうか
を判定する(ステップ100)。オブジェクト・フィン
ガープリント値生成装置31は、ステップ100で肯定
的な判定を下した場合、後に続く処理でオブジェクト・
フィンガープリント値を使用する(ステップ101)。
【0030】一方、ステップ100でオブジェクト・フ
ィンガープリント値生成装置31が否定的な判定を下し
た場合、オブジェクト・フィンガープリント・テーブル
32はまだ、識別されたオブジェクトのオブジェクト・
フィンガープリント値を有していない。その場合、オブ
ジェクト・フィンガープリント生成装置31はステップ
102へ進み、このオブジェクトのオブジェクト・フィ
ンガープリントを生成する手順を開始する。オブジェク
ト・フィンガープリント値生成装置31は、各シーケン
ス中に、セキュア・ハッシュ・アルゴリズムを使用し
て、セクション40(m)ないし43(m)に含まれる
情報が反復的に処理され、オブジェクト22(m)のオ
ブジェクト・フィンガープリント値が生成される、一連
のシーケンスでオブジェクト・フィンガープリントを生
成する。
【0031】この動作では最初、被参照オブジェクト識
別子セクション40(m)が1つまたは複数の被参照オ
ブジェクト識別子を含む場合、オブジェクト・フィンガ
ープリント値生成装置31は、1つの被参照オブジェク
トのフィンガープリントを処理する各反復において、被
参照オブジェクト識別子セクション40(m)で識別さ
れた被参照オブジェクトのフィンガープリントを処理す
る。各反復で、被参照オブジェクトのすでに生成された
オブジェクト・フィンガープリント値がオブジェクト・
フィンガープリント・テーブル32に記憶されている場
合、オブジェクト・フィンガープリント値生成装置31
は、オブジェクト・フィンガープリント・テーブル32
のこのフィンガープリントを使用する。一方、被参照オ
ブジェクトのすでに生成されたオブジェクト・フィンガ
ープリント値がオブジェクト・フィンガープリント・テ
ーブル32に記憶されていない場合、オブジェクト・フ
ィンガープリント生成装置31はその被参照オブジェク
トのオブジェクト・フィンガープリント値を生成し、オ
ブジェクト・フィンガープリント・テーブル32に記憶
し、それを使用してオブジェクト22(m)のオブジェ
クト・フィンガープリント値を生成しようとする。
【0032】具体的には、オブジェクト・フィンガープ
リント値生成装置31は、被参照オブジェクト識別子セ
クション40(m)が被参照オブジェクト識別子を含む
かどうかを識別し(ステップ102)、そうである場
合、被参照オブジェクト識別子セクション40(m)か
ら被参照オブジェクト識別子のリストを検索する(ステ
ップ103)。オブジェクト・フィンガープリント値生
成装置31は次いで、所定のソート方式に従ってリスト
をソート順に並べる(ステップ104)。被参照オブジ
ェクト識別子は、それを使用してオブジェクト・フィン
ガープリント値を生成する前にオブジェクト・フィンガ
ープリント値生成装置31によってソートされ、そのた
め、被参照オブジェクト識別子が同じ順序になり、フィ
ンガープリント24(m)が生成される時点にはかかわ
らずに同じフィンガープリント値が生成される。
【0033】オブジェクト・フィンガープリント値生成
装置31は、セクション40(m)の被参照オブジェク
ト識別子をソートした後、ソート済みリスト内の「次
の」被参照オブジェクトを選択し、(ステップ105)
選択した被参照オブジェクト識別子で識別された被参照
オブジェクトに関連して図3−8に示した動作を実行
し、この被参照オブジェクトのオブジェクト・フィンガ
ープリント値を与え、あるいは生成する。第1の反復
で、オブジェクト・フィンガープリント値生成装置31
は、ソート済みリスト内の第1の被参照オブジェクト識
別子を選択し、その後に続く反復(もしあれば)で、ソ
ート済みリスト内の順次リストされた被参照オブジェク
ト識別子を選択する。オブジェクト・フィンガープリン
ト・テーブル32が、選択されたオブジェクト識別子で
識別された被参照オブジェクトの被参照オブジェクトの
オブジェクト・フィンガープリント値を有さず、コンピ
ュータ12(n)が被参照オブジェクトのコピーを有さ
ない場合、コンピュータは、この被参照オブジェクトを
維持する他のコンピュータから被参照オブジェクトを検
索する必要がある。別法として、コンピュータが被参照
オブジェクトのコピーを検索せず、あるいは検索できな
い場合、オブジェクト・フィンガープリント値生成装置
31は終了することができる。
【0034】オブジェクト・フィンガープリント値生成
装置31は、選択された被参照オブジェクトのオブジェ
クト・フィンガープリント値を生成または検索した後、
セキュア・ハッシュ・アルゴリズムに関連してオブジェ
クト・フィンガープリント値を処理し、オブジェクト2
2(m)の中間フィンガープリント値を生成する(ステ
ップ106)。その後、オブジェクト・フィンガープリ
ント値生成装置31は、ソート済みリスト内に他の被参
照オブジェクト識別子があるかどうかを判定する(ステ
ップ107)。オブジェクト・フィンガープリント値生
成装置31は、ステップ107で肯定的な判定を下した
場合、ステップ104に戻り次の被参照オブジェクト識
別子を選択し、それによって識別されたオブジェクトの
オブジェクト・フィンガープリント値を処理する。
【0035】ステップ102に戻ると分かるように、被
参照オブジェクト識別子セクション40(m)が空であ
る場合、オブジェクト・フィンガープリント値生成装置
31はそのステップで否定的な判定を下す。その場合、
又はオブジェクト・フィンガープリント値生成装置31
がステップ107で否定的な判定を下した場合、生成装
置31は一連のステップを実行し、インタフェース・セ
クション41(m)にリストできるインタフェース名を
処理する。最初、オブジェクト・フィンガープリント値
生成装置31は、インタフェース名セクション41
(m)がインタフェース名を含むかどうかを判定し(ス
テップ110)、そうである場合、インタフェース名セ
クション40(m)からインタフェース名のリストを検
索する(ステップ111)。オブジェクト・フィンガー
プリント値生成装置31は次いで、所定のソート方式に
従ってリストをソート順に並べる(ステップ112)。
インタフェース名は、それを使用してオブジェクト・フ
ィンガープリント値を生成する前にオブジェクト・フィ
ンガープリント値生成装置31によってソートされ、そ
のため、インタフェース名が同じ順序になり、フィンガ
ープリント24(m)が生成される時点にはかかわらず
に同じフィンガープリント値が生成される。
【0036】オブジェクト・フィンガープリント値生成
装置31は、セクション41(m)のインタフェース名
をソートした後、ソート済みリスト内の「次の」インタ
フェース名を選択する(ステップ113)。第1の反復
で、オブジェクト・フィンガープリント値生成装置31
は、ソート済みリスト内の第1のインタフェース名を選
択し、その後に続く反復(もしあれば)で、ソート済み
リスト内の順次リストされたインタフェース名を選択す
る。オブジェクト・フィンガープリント値生成装置31
は、セキュア・ハッシュ・アルゴリズムに関連してイン
タフェース名を処理し、オブジェクト22(m)の更新
済み中間フィンガープリント値を生成する(ステップ1
14)。その後、オブジェクト・フィンガープリント値
生成装置31は、ソート済みインタフェース名リスト内
に他のインタフェース名があるかどうかを判定する(ス
テップ115)。オブジェクト・フィンガープリント値
生成装置31は、ステップ115で肯定的な判定を下し
た場合、ステップ113に戻り次のインタフェース名を
選択し、それをセキュア・ハッシュ・アルゴリズムに関
連して使用する。
【0037】ステップ110に戻ると分かるように、イ
ンタフェース名セクション41(m)が空である場合、
オブジェクト・フィンガープリント値生成装置31はそ
のステップで否定的な判定を下す。その場合、あるいは
オブジェクト・フィンガープリント値生成装置31がス
テップ115で否定的な判定を下した場合、生成装置3
1は一連のステップを実行し、フィールド・セクション
42(m)にリストできる変数名を処理する。最初、オ
ブジェクト・フィンガープリント値生成装置31は、フ
ィールド・セクション42(m)が変数名を含むかどう
かを判定し(ステップ120)、そうである場合、フィ
ールド・セクション42(m)から変数名のリストを検
索する(ステップ121)。オブジェクト・フィンガー
プリント値生成装置31は次いで、所定のソート方式に
従ってリストをソート順に並べる(ステップ122)。
変数名は、それを使用してオブジェクト・フィンガープ
リント値を生成する前にオブジェクト・フィンガープリ
ント値生成装置31によってソートされ、そのため、変
数名が同じ順序になり、フィンガープリント24(m)
が生成される時点にはかかわらずに、同じフィンガープ
リント値が生成される。
【0038】オブジェクト・フィンガープリント値生成
装置31は、フィールド・セクション42(m)の変数
名をソートした後、ソート済みリスト内の「次の」変数
名を選択する(ステップ123)。第1の反復で、オブ
ジェクト・フィンガープリント値生成装置31は、ソー
ト済みリスト内の第1の変数名を選択し、その後に続く
反復(もしあれば)で、ソート済みリスト内の順次リス
トされた変数名を選択する。オブジェクト・フィンガー
プリント値生成装置31は、セキュア・ハッシュ・アル
ゴリズムに関連して変数名を処理し、オブジェクト22
(m)の更新済み中間フィンガープリント値を生成する
(ステップ124)。その後、オブジェクト・フィンガ
ープリント値生成装置31は、ソート済みフィールド・
リスト内に他の変数名があるかどうかを判定する(ステ
ップ125)。オブジェクト・フィンガープリント値生
成装置31は、ステップ125で肯定的な判定を下した
場合、ステップ123に戻り次のインタフェース名を選
択し、それをセキュア・ハッシュ・アルゴリズムに関連
して処理する。
【0039】ステップ120に戻ると分かるように、フ
ィールド・セクション42(m)が空である場合、オブ
ジェクト・フィンガープリント値生成装置31はそのス
テップで否定的な判定を下す。その場合、あるいはオブ
ジェクト・フィンガープリント値生成装置31がステッ
プ125で否定的な判定を下した場合、生成装置31は
一連のステップを実行し、メソッド及び手順セクション
43(m)にリストされるメソッドを処理する。最初、
オブジェクト・フィンガープリント値生成装置31は、
メソッド及び手順セクション43(m)がメソッドを含
むかどうかを判定し(ステップ130)、そうである場
合、セクション43(m)からメソッドのリストを検索
する(ステップ131)。オブジェクト・フィンガープ
リント値生成装置31は次いで、所定のソート方式に従
ってリストをソート順に並べる(ステップ132)。メ
ソッドは、それを使用してオブジェクト・フィンガープ
リント値を生成する前にオブジェクト・フィンガープリ
ント値生成装置31によってソートされ、そのため、メ
ソッドが同じ順序になり、メソッドの順序が変化する場
合、フィンガープリント24(m)が生成される時点に
はかかわらずに同じフィンガープリント値が生成され
る。
【0040】オブジェクト・フィンガープリント値生成
装置31は、セクション43(m)のメソッドをソート
した後、ソート済みリスト内の「次の」メソッドを選択
する(ステップ133)。第1の反復で、オブジェクト
・フィンガープリント値生成装置31は、ソート済みリ
スト内の第1のメソッドを選択し、その後に続く反復
(もしあれば)で、ソート済みリスト内の順次リストさ
れたメソッドを選択する。オブジェクト・フィンガープ
リント値生成装置31は、セキュア・ハッシュ・アルゴ
リズムに関連して、選択されたメソッドを処理し、オブ
ジェクト22(m)の更新済み中間フィンガープリント
値を生成する(ステップ134)。その後、オブジェク
ト・フィンガープリント値生成装置31は、ソート済み
リスト内に他のメソッドがあるかどうかを判定する(ス
テップ135)。オブジェクト・フィンガープリント値
生成装置31は、ステップ135で肯定的な判定を下し
た場合、ステップ123に戻り次のメソッドを選択し、
それをセキュア・ハッシュ・アルゴリズムに関連して処
理する。
【0041】ステップ130に戻るとメソッド及び手順
セクション42(m)が空である場合、オブジェクト・
フィンガープリント値生成装置31はそのステップで否
定的な判定を下す(これが行われるのは、たとえばオブ
ジェクトがクラスを定義するのではなく、インタフェー
スを宣言する場合である)。その場合、あるいはオブジ
ェクト・フィンガープリント値生成装置31がステップ
135で否定的な判定を下した場合、生成装置31はセ
キュア・ハッシュ・アルゴリズムに関連してオブジェク
ト22(m)全体を処理し、したがって更新済み中間フ
ィンガープリント値が、オブジェクト22(m)のオブ
ジェクト・フィンガープリント値に対応する。その場
合、オブジェクト・フィンガープリント値生成装置31
は、オブジェクト22(m)のオブジェクト・フィンガ
ープリント値をオブジェクト・フィンガープリント・テ
ーブル32に記憶する(ステップ140)。
【0042】本発明はいくつかの利点を与える。特に、
本発明は、オブジェクト22(m)などのオブジェクト
が、特定のタイプのものであり、クライアント・コンピ
ュータの処理で使用できるように再構築できることを、
クライアント・コンピュータ12が高い確率で判定でき
るようにする構成を提供する。本発明は、プログラムが
処理において必要とするオブジェクトを識別するための
タイプ情報を与えるためにプログラムによって使用でき
るフィンガープリント値をオブジェクト22(m)に与
えることによってこれを行う。これによって、オブジェ
クト名などの他の識別子が不要になる。オブジェクト名
は、一般に固有のものである必要はないが、いずれにせ
よ、オブジェクト名で命名されたオブジェクトは、プロ
グラムで使用できなくなるように変化したとしても、変
化せず同じままである。
【0043】当然のことながら、上記で図1ないし8に
関連して説明した構成にいくつかの修正を加えることが
できる。たとえば、ネットワークによって相互接続され
た複数のコンピュータ・システム12(n)に関連して
この構成を説明したが、当然のことながら、この構成を
コンピュータ・システムと共に使用して、単一の独立型
コンピュータ上で処理できるように、たとえばコンピュ
ータ読取り可能媒体(磁気ディスクやCD−ROMな
ど)のプログラムと共に配布することができるオブジェ
クトのフィンガープリントを生成することができる。ま
た、上記で図2に関連して説明した4つのセクション4
0(m)ないし43(m)を有するオブジェクトに関連
してこの構成を説明したが、当然のことながら、それぞ
れの異なる数のセクションと、場合によってはそれぞれ
の異なるタイプのセクションを有するオブジェクトと共
にこの構成を使用することができる。特に重要なこと
は、フィンガープリントがオブジェクトのタイプ、すな
わちメソッド、入力変数のデータ・タイプ、出力変数の
データ・タイプをかなり固有に識別するように生成され
ることである。
【0044】当然のことながら、本発明によるシステム
は、任意の部分を適当なプログラムによって制御するこ
とができる、特殊目的ハードウェアまたは汎用コンピュ
ータ・システム、あるいはその組合せで全体的または部
分的に構築することができる。プログラムは、従来どお
り、システムの一部を全体的または部分的に構成するこ
とも、あるいは全体的または部分的にシステム上に記憶
することもでき、あるいは従来どおりに情報を転送する
ネットワークまたはその他の機構を介してシステムに全
体的または部分的に与えることができる。また、当然の
ことながら、システムは、システムに直接接続すること
も、あるいは従来どおりに情報を転送するネットワーク
またはその他の機構を介してシステムへ情報を転送する
こともできるオペレータ入力要素(図示せず)を使って
オペレータから与えられる情報によって操作し、あるい
はその他の方法で制御することができる。
【0045】前述の説明は、本発明の特定の実施態様に
制限されている。しかし、本発明に様々な変形および修
正を加えて本発明のいくつかまたはすべての利点を達成
することができることは明らかである。添付の特許請求
の範囲の目的は、このような変形および修正、ならびに
本発明の真の趣旨および範囲内の他のそのような変形お
よび修正をカバーすることである。
【図面の簡単な説明】
【図1】 本発明によって構築されたオブジェクト・タ
イプID生成システムを含むコンピュータ構成の機能ブ
ロック図である。
【図2】 図1に示した構成で有用なオブジェクト検証
システムの機能ブロック図である。
【図3】 図2に示したオブジェクト検証システムの動
作を理解するうえで有用なフローチャートである。
【図4】 図2に示したオブジェクト検証システムの動
作を理解するうえで有用なフローチャートである。
【図5】 図2に示したオブジェクト検証システムの動
作を理解するうえで有用なフローチャートである。
【図6】 図2に示したオブジェクト検証システムの動
作を理解するうえで有用なフローチャートである。
【図7】 図2に示したオブジェクト検証システムの動
作を理解するうえで有用なフローチャートである。
【図8】 図2に示したオブジェクト検証システムの動
作を理解するうえで有用なフローチャートである。
【符号の説明】 10 コンピュータ・ネットワーク 12 コンピュータ 14 通信リンク 18 ネットワーク・インタフェース装置 20 フィンガープリント生成装置 22 オブジェクト 23、24 フィンガープリント 31 オブジェクト・フィンガープリント値生成装置 32 オブジェクト・フィンガープリント・テーブル 40 被参照オブジェクト識別子セクション 41 インタフェース・セクション 42 フィンガープリント・セクション 43 メソッド及び手順セクション
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年7月15日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図 2】
【図 1】
【図 7】
【図 3】
【図 4】
【図 5】
【図 6】
【図 8】
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 クリシュナ・バーラット アメリカ合衆国・30309・ジョージア州・ アトランタ・ザ パド ノース イース ト・264 (72)発明者 ロジャー・リッグス アメリカ合衆国・01803・マサチューセッ ツ州・バーリントン・ブライアウッド レ ーン・4

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト指向プログラミング構成に
    おいて、ディジタル情報ストリームを備えるオブジェク
    トのフィンガープリント値を生成する際に使用するフィ
    ンガープリント生成システムであって、 A.オブジェクトを備えるディジタル情報ストリームを
    受けるレシーバと、 B.ハッシュ値生成アルゴリズムのクラスから選択され
    たハッシュ値生成アルゴリズムに従ってディジタル情報
    ストリームを処理するオブジェクト・フィンガープリン
    ト値生成装置であって i.入力されたディジタル情報ストリームに応答して、
    所定数のディジタル・ビットを有するディジタル・ハッ
    シュ値が出力として生成され、 ii.ディジタル・ハッシュ値がディジタル情報ストリ
    ームの関数となり、そのため、(a)2つの同じ入力ス
    トリームが与えられた場合、同じディジタル・ハッシュ
    値が生成され、(b)2つの異なる入力ストリームが与
    えられた場合、同じディジタル・ハッシュ値が生成され
    る可能性が極めて低く、 iii.「参照側オブジェクト」としてのオブジェクト
    が、被参照オブジェクトとしての他のオブジェクトの参
    照を含むとき、オブジェクト・フィンガープリント値生
    成装置が、被参照オブジェクトに関連付けられたディジ
    タル情報ストリームではなく、被参照オブジェクトの生
    成された被参照オブジェクト・フィンガープリントを含
    む参照側オブジェクトの入力ディジタル情報ストリーム
    を処理することができ、 選択されたハッシュ値生成アルゴリズムに従って生成さ
    れたディジタル出力値が、前記フィンガープリント生成
    システムによって生成されたフィンガープリントを備え
    るオブジェクト・フィンガープリント値生成装置とを備
    えることを特徴とするフィンガープリント生成システ
    ム。
  2. 【請求項2】 オブジェクト指向プログラミング構成に
    おいて、ディジタル情報ストリームを備えるオブジェク
    トのフィンガープリント値を生成する際に使用するフィ
    ンガープリント生成方法であって、 A.オブジェクトを備えるディジタル情報ストリームを
    受けるステップと、 B.ハッシュ値生成アルゴリズムのクラスから選択され
    たハッシュ値生成アルゴリズムに従ってディジタル情報
    ストリームを処理するステップであって、 i.入力したディジタル情報ストリームに応答して、所
    定数のディジタル・ビットを有するディジタル・ハッシ
    ュ値が出力として生成され、 ii.ディジタル・ハッシュ値がディジタル情報ストリ
    ームの関数となり、そのため、(a)2つの同じ入力ス
    トリームが与えられた場合、同じディジタル・ハッシュ
    値が生成され、(b)2つの異なる入力ストリームが与
    えられた場合、同じディジタル・ハッシュ値が生成され
    る可能性が極めて低く、 iii.「参照側オブジェクト」としてのオブジェクト
    が、被参照オブジェクトとしての他のオブジェクトの参
    照を含むとき、オブジェクト・フィンガープリント値生
    成装置が、被参照オブジェクトに関連付けられたディジ
    タル情報ストリームではなく、被参照オブジェクトの生
    成された被参照オブジェクト・フィンガープリントを含
    む参照側オブジェクトの入力ディジタル情報ストリーム
    を処理することができ、 選択されたハッシュ値生成アルゴリズムに従って生成さ
    れたディジタル出力値が、前記フィンガープリント生成
    システムによって生成されたフィンガープリントを備え
    るステップとを含むフィンガープリント生成方法。
  3. 【請求項3】 オブジェクト指向プログラミング構成に
    おいて、ディジタル情報ストリームを備えるオブジェク
    トのフィンガープリント値を生成するようにコンピュー
    タを制御する際に使用するフィンガープリントを生成す
    るプログラムを記録したコンピュータ読取り可能な記録
    媒体であって、 A.前記コンピュータが、オブジェクトを備えるディジ
    タル情報ストリームを受けるようにするレシーバ・プロ
    グラムと、 B.ハッシュ値生成アルゴリズムのクラスから選択され
    たハッシュ値生成アルゴリズムに従って、前記コンピュ
    ータにディジタル情報ストリームを処理させるオブジェ
    クト・フィンガープリント値を生成するプログラムであ
    って、 i.入力したディジタル情報ストリームに応答して、所
    定数のディジタル・ビットを有するディジタル・ハッシ
    ュ値が出力として生成され、 ii.ディジタル・ハッシュ値がディジタル情報ストリ
    ームの関数となり、そのため、(a)2つの同じ入力ス
    トリームが与えられた場合、同じディジタル・ハッシュ
    値が生成され、(b)2つの異なる入力ストリームが与
    えられた場合、同じディジタル・ハッシュ値が生成され
    る可能性が極めて低く、 iii.「参照側オブジェクト」としてのオブジェクト
    が、被参照オブジェクトとしての他のオブジェクトの参
    照を含むとき、オブジェクト・フィンガープリント値生
    成装置が、被参照オブジェクトに関連付けられたディジ
    タル情報ストリームではなく、被参照オブジェクトの生
    成された被参照オブジェクト・フィンガープリントを含
    む参照側オブジェクトの入力ディジタル情報ストリーム
    を処理することができ、 選択されたハッシュ値生成アルゴリズムに従って生成さ
    れたディジタル出力値が、前記フィンガープリント生成
    システムによって生成されたフィンガープリントを備え
    るプログラムととを記録したフィンガープリントを生成
    するプログラムを記録したコンピュータ読取り可能な記
    録媒体。
  4. 【請求項4】 オブジェクト指向プログラミング構成に
    おいて、ディジタル情報ストリームを備えるオブジェク
    トのフィンガープリント値を生成する際に使用するフィ
    ンガープリント生成システムであって、 A.コンピュータと、 B.前記コンピュータを制御し、 i.前記コンピュータが、オブジェクトを備えるディジ
    タル情報ストリームを受けるようにするレシーバ・モジ
    ュールと、 ii.ハッシュ値生成アルゴリズムのクラスから選択さ
    れたハッシュ値生成アルゴリズムに従って、前記コンピ
    ュータにディジタル情報ストリームを処理させるオブジ
    ェクト・フィンガープリント値生成モジュールであっ
    て、 a.入力したディジタル情報ストリームに応答して、所
    定数のディジタル・ビットを有するディジタル・ハッシ
    ュ値が出力として生成され、 b.ディジタル・ハッシュ値がディジタル情報ストリー
    ムの関数となり、そのため、(I)2つの同じ入力スト
    リームが与えられた場合、同じディジタル・ハッシュ値
    が生成され、(II)2つの異なる入力ストリームが与
    えられた場合、同じディジタル・ハッシュ値が生成され
    る可能性が極めて低く、 c.「参照側オブジェクト」としてのオブジェクトが、
    被参照オブジェクトとしての他のオブジェクトの参照を
    含むとき、オブジェクト・フィンガープリント値生成装
    置が、被参照オブジェクトに関連付けられたディジタル
    情報ストリームではなく、被参照オブジェクトの生成さ
    れた被参照オブジェクト・フィンガープリントを含む参
    照側オブジェクトの入力ディジタル情報ストリームを処
    理することができ、 選択されたハッシュ値生成アルゴリズムに従って生成さ
    れたディジタル出力値が、前記フィンガープリント生成
    システムによって生成されたフィンガープリントを備え
    るモジュールとを備える制御構成とを備えるフィンガー
    プリント生成システム。
  5. 【請求項5】 オブジェクト指向プログラミング構成に
    おいて、ディジタル情報ストリームを備えるオブジェク
    トのフィンガープリント値の生成を容易にするためにコ
    ンピュータと共に使用する制御装置であって、 A.前記コンピュータが、オブジェクトを備えるディジ
    タル情報ストリームを受けるようにするレシーバ・モジ
    ュールと、 B.ハッシュ値生成アルゴリズムのクラスから選択され
    たハッシュ値生成アルゴリズムに従って、前記コンピュ
    ータにディジタル情報ストリームを処理させるオブジェ
    クト・フィンガープリント値生成モジュールであって i.入力されたディジタル情報ストリームに応答して、
    所定数のディジタル・ビットを有するディジタル・ハッ
    シュ値が出力として生成され、 ii.ディジタル・ハッシュ値がディジタル情報ストリ
    ームの関数となり、そのため、(a)2つの同じ入力ス
    トリームが与えられた場合、同じディジタル・ハッシュ
    値が生成され、(b)2つの異なる入力ストリームが与
    えられた場合、同じディジタル・ハッシュ値が生成され
    る可能性が極めて低く、 ii.「参照側オブジェクト」としてのオブジェクト
    が、被参照オブジェクトとしての他のオブジェクトの参
    照を含むとき、オブジェクト・フィンガープリント値生
    成装置が、被参照オブジェクトに関連付けられたディジ
    タル情報ストリームではなく、被参照オブジェクトの生
    成された被参照オブジェクト・フィンガープリントを含
    む参照側オブジェクトの入力ディジタル情報ストリーム
    を処理することができ、 選択されたハッシュ値生成アルゴリズムに従って生成さ
    れたディジタル出力値が、前記フィンガープリント生成
    システムによって生成されたフィンガープリントを備え
    るモジュールと、を備えることを特徴とする制御構成。
  6. 【請求項6】 コンピュータ読取り可能媒体上に記憶さ
    れ、コンピュータによって実行することができ、それぞ
    れ、オブジェクト指向プログラミング構成において、デ
    ィジタル情報ストリームを備えるオブジェクトのフィン
    ガープリント値の生成を容易にするようコンピュータを
    制御するように構成された、複数のモジュールを含む、
    コードを配布するシステムであって、 A.前記コンピュータが、オブジェクトを備えるディジ
    タル情報ストリームを受けるようにする受信機モジュー
    ルと、 B.ハッシュ値生成アルゴリズムのクラスから選択され
    たハッシュ値生成アルゴリズムに従って、前記コンピュ
    ータにディジタル情報ストリームを処理させるオブジェ
    クト・フィンガープリント値生成モジュールであって、 i.入力したディジタル情報ストリームに応答して、所
    定数のディジタル・ビットを有するディジタル・ハッシ
    ュ値が出力として生成され、 ii.ディジタル・ハッシュ値がディジタル情報ストリ
    ームの関数となり、そのため、(a)2つの同じ入力ス
    トリームが与えられた場合、同じディジタル・ハッシュ
    値が生成され、(b)2つの異なる入力ストリームが与
    えられた場合、同じディジタル・ハッシュ値が生成され
    る可能性が極めて低く、 ii.「参照側オブジェクト」としてのオブジェクト
    が、被参照オブジェクトとしての他のオブジェクトの参
    照を含むとき、オブジェクト・フィンガープリント値生
    成装置が、被参照オブジェクトに関連付けられたディジ
    タル情報ストリームではなく、被参照オブジェクトの生
    成された被参照オブジェクト・フィンガープリントを含
    む参照側オブジェクトの入力ディジタル情報ストリーム
    を処理することができ、 選択されたハッシュ値生成アルゴリズムに従って生成さ
    れたディジタル出力値が、前記フィンガープリント生成
    システムによって生成されたフィンガープリントを備え
    るモジュールとを備えることを特徴とするシステム。
JP9120323A 1996-04-23 1997-04-23 オブジェクト指向プログラムなどの処理で使用されるオブジェクトのオブジェクト・タイプを固有に識別する識別子を生成するシステムおよび方法 Pending JPH1083299A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/636,707 US5815709A (en) 1996-04-23 1996-04-23 System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US08/636707 1996-04-23

Publications (1)

Publication Number Publication Date
JPH1083299A true JPH1083299A (ja) 1998-03-31

Family

ID=24553016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9120323A Pending JPH1083299A (ja) 1996-04-23 1997-04-23 オブジェクト指向プログラムなどの処理で使用されるオブジェクトのオブジェクト・タイプを固有に識別する識別子を生成するシステムおよび方法

Country Status (6)

Country Link
US (1) US5815709A (ja)
EP (1) EP0803810A3 (ja)
JP (1) JPH1083299A (ja)
KR (1) KR970072642A (ja)
SG (1) SG63702A1 (ja)
TW (1) TW424211B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012531675A (ja) * 2009-06-26 2012-12-10 シンプリヴィティ・コーポレーション ファイルシステム
US10474631B2 (en) 2009-06-26 2019-11-12 Hewlett Packard Enterprise Company Method and apparatus for content derived data placement in memory

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094949B1 (en) 1994-10-21 2012-01-10 Digimarc Corporation Music methods and systems
US6560349B1 (en) 1994-10-21 2003-05-06 Digimarc Corporation Audio monitoring using steganographic information
US7562392B1 (en) * 1999-05-19 2009-07-14 Digimarc Corporation Methods of interacting with audio and ambient music
US6505160B1 (en) 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6578044B1 (en) * 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6832223B1 (en) * 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US6401109B1 (en) * 1996-11-18 2002-06-04 International Business Machines Corp. Virtual socket for JAVA interprocess communication
US6553428B1 (en) * 1996-11-18 2003-04-22 International Business Machines Corporation Distributed object instantiation of native objects in java
US6073163A (en) * 1997-06-10 2000-06-06 Oracle Corporation Method and apparatus for enabling web-based execution of an application
US6148407A (en) * 1997-09-30 2000-11-14 Intel Corporation Method and apparatus for producing computer platform fingerprints
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6125400A (en) * 1997-11-10 2000-09-26 International Business Machines Corporation Method and system of running object oriented programs across a network through compression and distillation of remote method invocation
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
EP1058883A2 (en) * 1998-02-26 2000-12-13 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US7689532B1 (en) 2000-07-20 2010-03-30 Digimarc Corporation Using embedded data with file sharing
US6332218B1 (en) * 1998-06-30 2001-12-18 Sun Microsystems, Inc. System and method for automatically instantiating classes in a virtual machine
US6185730B1 (en) * 1998-07-23 2001-02-06 International Business Machines Corporation Method and apparatus for creating dippable beans in a java environment
US6496824B1 (en) * 1999-02-19 2002-12-17 Saar Wilf Session management over a stateless protocol
US6199194B1 (en) * 1998-09-25 2001-03-06 Adaptec, Inc. Method and system for programming firmware over a computer network
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6813762B1 (en) * 2000-02-22 2004-11-02 Freescale Semiconductor, Inc. Method for processing program files in a programming language capable of dynamic loading
US6922735B2 (en) * 2000-04-03 2005-07-26 Texas Instruments Incorporated Management of co-processor information by integrating non-program information with program information
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
DE10064526A1 (de) * 2000-12-14 2002-06-27 Helmut Schumacher Verfahren zur Generierung von Objektidentifikationen, insbesondere bei Datenbanken
US7080373B2 (en) * 2001-03-07 2006-07-18 Freescale Semiconductor, Inc. Method and device for creating and using pre-internalized program files
US7046819B2 (en) 2001-04-25 2006-05-16 Digimarc Corporation Encoded reference signal for digital watermarks
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7302590B2 (en) * 2003-01-06 2007-11-27 Microsoft Corporation Systems and methods for providing time-and weight-based flexibly tolerant hardware ID
US7337330B2 (en) * 2003-03-10 2008-02-26 Cyberview Technology, Inc. Universal game download system for legacy gaming machines
CA2724141A1 (en) * 2003-03-10 2004-09-23 Mudalla Technology, Inc. Dynamic configuration of a gaming system
KR20040082898A (ko) * 2003-03-20 2004-09-30 박동춘 불특정 다중 지문 인식을 이용한 유동형 비밀번호 관리 방법
US7097107B1 (en) 2003-04-09 2006-08-29 Mobile-Mind, Inc. Pseudo-random number sequence file for an integrated circuit card
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
GB2426837A (en) * 2005-06-01 2006-12-06 Hewlett Packard Development Co Checking the integrity of a software component
US7698703B2 (en) * 2005-06-29 2010-04-13 Gemalto Inc. Imparting digital uniqueness to the types of a programming language using a unique digital sequence
US8375066B2 (en) * 2010-04-26 2013-02-12 International Business Machines Corporation Generating unique identifiers
US8560698B2 (en) 2010-06-27 2013-10-15 International Business Machines Corporation Allocating unique identifiers using metadata
US9135323B2 (en) * 2012-09-13 2015-09-15 Raytheon Company System and method for classifying data dump data
US20150249572A1 (en) * 2014-03-03 2015-09-03 Futurewei Technologies, Inc. Software-Defined Network Control Using Functional Objects
US10341342B2 (en) 2015-02-05 2019-07-02 Carrier Corporation Configuration data based fingerprinting for access to a resource
CN110569130B (zh) * 2019-07-29 2021-12-14 华为技术有限公司 一种跨进程通信方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US5189700A (en) * 1989-07-05 1993-02-23 Blandford Robert R Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents
US5265206A (en) * 1990-10-23 1993-11-23 International Business Machines Corporation System and method for implementing a messenger and object manager in an object oriented programming environment
EP0501613A3 (en) * 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
AU683038B2 (en) * 1993-08-10 1997-10-30 Addison M. Fischer A method for operating computers and for processing information among computers
US5369702A (en) * 1993-10-18 1994-11-29 Tecsec Incorporated Distributed cryptographic object method
US5737599A (en) * 1995-09-25 1998-04-07 Rowe; Edward R. Method and apparatus for downloading multi-page electronic documents with hint information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012531675A (ja) * 2009-06-26 2012-12-10 シンプリヴィティ・コーポレーション ファイルシステム
US10474631B2 (en) 2009-06-26 2019-11-12 Hewlett Packard Enterprise Company Method and apparatus for content derived data placement in memory

Also Published As

Publication number Publication date
EP0803810A2 (en) 1997-10-29
TW424211B (en) 2001-03-01
SG63702A1 (en) 1999-03-30
KR970072642A (ko) 1997-11-07
EP0803810A3 (en) 2000-02-23
US5815709A (en) 1998-09-29

Similar Documents

Publication Publication Date Title
JPH1083299A (ja) オブジェクト指向プログラムなどの処理で使用されるオブジェクトのオブジェクト・タイプを固有に識別する識別子を生成するシステムおよび方法
US11681564B2 (en) Heterogeneous computing-based task processing method and software and hardware framework system
EP1076290B1 (en) Method for on-demand network application download and execution
US5765205A (en) Method and system for on-demand software distribution
US6654793B1 (en) System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US9015697B2 (en) On-demand software module deployment
EP0547759A2 (en) Non supervisor-mode cross-address space dynamic linking
JPH0922392A (ja) オブジェクト間のコンスピラシのための方法および装置
US20030046264A1 (en) Report generation system and method
EP0733972A2 (en) Method and apparatus for managing relationships among objects in a distributed object environment
US7058655B2 (en) Determining object graph and object graph projection
US20090204593A1 (en) System and method for parallel retrieval of data from a distributed database
US11321090B2 (en) Serializing and/or deserializing programs with serializable state
CN1552022A (zh) 文件归档
US20060212879A1 (en) System and method for retrieving and analyzing data from a variety of different sources
EP1461695A2 (en) Modified class loaders and their utilisation method
CN106776720A (zh) 一种文件处理方法和装置
CN113051102B (zh) 文件备份方法、装置、系统、存储介质和计算机设备
US5898871A (en) Dynamic object communication protocol
US7028313B2 (en) Method for transmitting function parameters to a remote node for execution of the function thereon
US20020144020A1 (en) Method for transparent, location-independent, remote procedure calls in a hetrogeneous network environment
US20190278639A1 (en) Service for enabling legacy mainframe applications to invoke java classes in a service address space
US6253205B1 (en) Object oriented translation framework method, apparatus, and program
CA3089289A1 (en) System and methods for loading objects from hash chains
WO1999044134A1 (en) Method and system for facilitating access to a lookup service