JP2002505491A - 分散形システムにおける動的情報証明のための装置及び方法 - Google Patents

分散形システムにおける動的情報証明のための装置及び方法

Info

Publication number
JP2002505491A
JP2002505491A JP2000533947A JP2000533947A JP2002505491A JP 2002505491 A JP2002505491 A JP 2002505491A JP 2000533947 A JP2000533947 A JP 2000533947A JP 2000533947 A JP2000533947 A JP 2000533947A JP 2002505491 A JP2002505491 A JP 2002505491A
Authority
JP
Japan
Prior art keywords
code
proof
machine
request
module arranged
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
JP2000533947A
Other languages
English (en)
Inventor
ケネス シー アール シー アーノルド
アン エム ウォールラス
ジェイムズ エイチ ウォルド
Original Assignee
サンマイクロシステムズ インコーポレーテッド
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 US09/044,932 external-priority patent/US6466947B2/en
Application filed by サンマイクロシステムズ インコーポレーテッド filed Critical サンマイクロシステムズ インコーポレーテッド
Publication of JP2002505491A publication Critical patent/JP2002505491A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 コールの容量の増大と、潜在的な証明費用の増加をもたらすことなく、分散形システムにおけるデータ又は他の情報の証明を効率化すること。 【解決手段】 分散形システムにおける証明のために、ポリシィオブジェクトを使用する。機械は、データの証明を管轄するコードの参照を含むポリシィオブジェクトをダウンロードする。機械は、コードを取得し、局所的にデータ又は他の情報を証明するために、この参照を使用する。データ変更のための特定の規則に関しては、ポリシィオブジェクトは、ダウンロードされるときに、新たな規則のためのコードに対する参照を提供するために、更新されてもよい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、分散形システムにおける機械間でのオブジェクトの転送のためのシ
ステム及び方法に関し、特に、分散形システムにおける動的情報証明のためのシ
ステム及び方法に関する。
【0002】
【従来技術】
(関連出願の引用) 以下に示す米国特許出願は、本出願が依拠し、かつ、参照により本出願に援用
するものである。 1998年2月26日に提出された米国仮特許出願第60/076,048号
、発明の名称「分散形コンピューティングシステム」。 同日に提出された米国特許出願第09/044,923号、発明の名称「記憶
装置のリーシングのための方法及びシステム」、代理人整理番号06502.0
011−01000。 同日に提出された米国特許出願第09/044,838号、発明の名称「分散
形システムにおける委託証明のリーシングのための方法、装置及び生産物」、代
理人整理番号06502.0011−02000。 同日に提出された米国特許出願第09/044,834号、発明の名称「分散
形システムにおけるグループ会員資格のリーシングのための方法、装置、及び生
産物」、代理人整理番号06502.0011−03000。 同日に提出された米国特許出願第09/044,916号、発明の名称「故障
検知のためのリーシング」、代理人整理番号06502.0011−04000
。 同日に提出された米国特許出願第09/044,933号、発明の名称「イベ
ントベースドシステムにおける移送挙動のための方法」、代理人整理番号065
02.0054−00000。 同日に提出された米国特許出願第09/044,919号、発明の名称「分散
形システムにおけるイベント通知のためのオブジェクトの据え置き復元及び遠隔
ローディング」、代理人整理番号06502.0062−01000。 同日に提出された米国特許出願第09/044,938号、発明の名称「遠隔
方法呼び出しのための方法及び装置」、代理人整理番号06502.0102−
00000。 同日に提出された米国特許出願第09/045,652号、発明の名称「遠隔
方法を識別するための決定性ハッシュのための方法及びシステム」、代理人整理
番号06502.0103−00000。 同日に提出された米国特許出願第09/044,790号、発明の名称「分散
形システムにおける遠隔オブジェクトの状態を決定するための方法及び装置」、
代理人整理番号06502.0104−00000。 同日に提出された米国特許出願第09/044,930号、発明の名称「分散
形システムにおける遠隔手順呼び出しに関連する処理を実行するためのダウンロ
ード可能なスマートプロキシ」、代理人整理番号06502.0105−000
00。 同日に提出された米国特許出願第09/044,917号、発明の名称「遠隔
方法の中断及び続行」、代理人整理番号06502.0106−00000。 同日に提出された米国特許出願第09/044,835号、発明の名称「デー
タベースにおけるマルチエントリー及びマルチテンプレート整合のための方法及
びシステム」、代理人整理番号06502.0107−00000。 同日に提出された米国特許出願第09/044,839号、発明の名称「デー
タベースにおけるインプレース修正のための方法及びシステム」、代理人整理番
号06502.0108。 同日に提出された米国特許出願第09/044,945号、発明の名称「デー
タベースにおけるタイプフェース属性の整合のための方法及びシステム」、代理
人整理番号06502.0109−00000。 同日に提出された米国特許出願第09/044,931号、発明の名称「分散
形システムにおける動的ルックアップサービス」、代理人整理番号06502.
0110−00000。 同日に提出された米国特許出願第09/044,939号、発明の名称「分散
形システムにおいて装置と通信する際に用いられるダウンロード可能なコードを
提供するための装置及び方法」、代理人整理番号06502.0112−000
00。 同日に提出された米国特許出願第09/044,826号、発明の名称「ルッ
クアップサービスへのアクセスを容易化するための方法及びシステム」、代理人
整理番号06502.0113−00000。 1998年2月26日に提出された米国特許出願第09/030,840号、
発明の名称「ネットワークを超えた動的分散形コンピューティングのための方法
及び装置」、代理人整理番号06502.0115−00000。 同日に提出された米国特許出願第09/044,936号、発明の名称「永続
的な共用記憶領域のための会話形設計ツール」、代理人整理番号06502.0
116−00000。 同日に提出された米国特許出願第09/044,934号、発明の名称「多様
トークンベースドコントロール」、代理人整理番号06502.0117−00
000。 同日に提出された米国特許出願第09/044,915号、発明の名称「スタ
ックベースドアクセスコントロール」、代理人整理番号06502.0118−
00000。 同日に提出された米国特許出願第09/044,944号、発明の名称「スタ
ックベースド機密条件」、代理人整理番号06502.0119−00000。 同日に提出された米国特許出願第09/044,837号、発明の名称「機密
条件のプリメソッド指示」、代理人整理番号06502.0120−00000
【0003】 (発明の背景) 二地点間データ転送に集中する分散形プログラムは、遠隔端末アクセスとファ
イル転送のための特殊目的プロトコルを使用することによって、適切かつ効率的
に処理することができる。そのようなプロトコルは、1つのプログラムのために
特別に作られ、様々な分散形プログラム(例えば、分散処理システム、電子メー
ルシステム、コンピュータ会議システムなど)を構築するための基礎を提供する
ものではない。
【0004】 一方、慣用の転送サービスは、分散形プログラムを構築するための基礎として
用いることができるが、これらのサービスは、異なる機械において異なるタイプ
のデータの使用、同期の容易性の欠如、及び単純プログラミングパラダイムのた
めの規定がないこと、のような多くの構成上の問題を示している。
【0005】 分散形システムは、通常、通信ネットワークによって相互に接続された異なる
タイプの多くの機械を含んでいる。各機械は、固有の内部データタイプ、固有の
アドレス配列規則、及び固有のオペレーティングシステムを有している。この異
質性が、分散形システムを構築するときに問題を引き起こす。その結果、プログ
ラム開発者は、そのような異質の分散形システムのために開発されたプログラム
の中に、情報が異なる機械において処理されかつ矛盾無く解釈されることを保証
する処理を行う機能を含めなければならない。
【0006】 しかしながら、プログラムの大部分は、プロセス間での要求と応答の会話を使
用しており、そこでは、開始プログラム(すなわち、通信を開始するプログラム
)は、応答が返されるまで待ちながらブロックされ、従って、この期間、アイド
ル状態となるということに注目することによって、1つの単純化が与えられる。
これは、プロセス間の手続呼び出し機構によってモデル化することができる。そ
の種の機構の1つは、遠隔手続呼び出し(RPC)と呼ばれているものである。
【0007】 RPCは、同一機械又は異なる機械上で作動している2つのプロセス(例えば
、プログラム、アプレットなど)間の同期通信を提供するための機構である。単
純なケースにおいては、1つのプロセス、例えば、クライアントプログラムは、
他のプロセス、例えば、サーバープログラムにメッセージを送信する。この場合
、プロセスにとっては、メッセージの送信又は受信のいずれかの時に同期してい
ることは必要ではない。クライアントプログラムにとっては、メッセージを転送
し、次いで新たな動作を始めることが可能であり、サーバープログラムの環境に
とっては、サーバープログラムが新たなメッセージを処理する準備ができるまで
、入ってくるメッセージをバッファに入れることが可能である。
【0008】 しかしながら、RPCは、一方向にパラメータをパスすること、サーバプログ
ラムのコールされた手続が完了するまでコーリングプロセス(すなわち、クライ
アントプログラム)をブロックすること、及び、その後に応答を返送することを
要求するローカルな手続呼び出しをもっぱらモデル化しているので、同期に制約
を課している。従って、RPCは、2つのメッセージ転送と、コールの持続時間
のための2つのプロセスの同期とを含んでいる。
【0009】 RPC機構は、通常、ローカル手続呼び出しパラダイムを使用して2つのプロ
セッシング部分において実施され、1つの部分はクライアントサイドであり、ま
た他の部分はサーバーサイドである。これらの部分の双方については、図1を参
照しながら、以下に説明する。
【0010】 図1は、RPC機構を使用したコール情報の流れを表す図である。図1に示す
ように、クライアントプログラム100は、コールを発する(ステップ102)
。次に、RPC機構101は、そのコールを、コールパケットの引数としてパッ
クし(ステップ103)、RPC機構101は、次いでこれをサーバープログラ
ム109に転送する(ステップ104)。コールパケットは、また、最初にコー
ルを送信したクライアントプログラム100を識別するための情報も含んでいる
。コールパケットが転送された後(ステップ104)、RPC機構101は、サ
ーバープログラム109からの応答を待つ間、待ち状態に入る。
【0011】 サーバープログラム109のためのRPC機構108(サーバープログラム1
09がクライアントプログラム100と同一のプラットフォーム上にある時には
、RPC機構101と同一のRPC機構であっても良い。)は、コールパケット
を受信し(ステップ110)、コールパケットからそのコールの引数をアンパッ
クし(ステップ111)、コール情報を用いて、そのコールがアドレスされたサ
ーバープログラム109を識別し、サーバープログラム109に対してコールの
引数を提供する。
【0012】 サーバープログラムは、コールを受信し(ステップ112)、適切な手続を呼
び出すことによってそのコールを処理し(ステップ115)、RPC機構108
に応答を返送する(ステップ116)。次に、RPC機構108は、応答パケッ
トにその応答をパックし(ステップ114)、これをクライアントプログラム1
00に転送する(ステップ113)。
【0013】 応答パケットの受信(ステップ107)は、RPC機構101に、待ち状態か
ら出ること及び応答パケットから応答をアンパックすることを誘発させる(ステ
ップ106)。次に、RPC101は、そのコールに応えて、クライアントプロ
グラム100に対して応答を供給する(ステップ105)。これが、ローカル手
続呼び出しパラダイムにならって作られる典型的なRPC機構のプロセスフロー
である。RPC機構は、ローカル手続呼び出しパラダイムを使用するので、クラ
イアントプログラム100は、コールがあったときに応答が受信されるまでブロ
ックされる。すなわち、クライアントプログラム100は、サーバプログラム1
09からの応答を待つというよりも、むしろ、コールを送信した後、その固有の
処理を続行することができない。
【0014】 ジャバ(商標)プログラミング言語は、典型的には、プラットフォームに依存
しないフォーマットでコンパイルされ、バイトコード命令集合を使用するオブジ
ェクト指向プログラミング言語であり、ジャバ仮想計算機(JVM)をサポート
しているいかなるプラットフォーム上においても実行することができる。この言
語は、例えば、”ジャバ言語仕様”、ジェームス ゴスリング、ビル ジョイ及
びガイ スティール共著、アディソン−ウェスレイ、1996年、に記載されて
おり、参照によって本出願に引用する。JVMは、例えば、”ジャバ仮想計算機
仕様”、ティム リンドホルム及びフランク イェリン共著、アディソン ウェ
スレイ、1996年に記載されており、参照によって本出願に引用する。
【0015】 JVMは、いかなるタイプのプラットフォーム上においても実行することがで
きるので、JVMを用いた分散形プログラムの実施は、異質な分散形システムの
ためのプログラムの開発に関連する困難性を著しく減少させる。さらに、JVM
は、システムのプログラム間通信を可能とするジャバ遠隔方法呼び出しシステム
(RMI)を使用している。RMIは、例えば、以下の文書によって説明される
ものであり、参照によって本出願に引用する。「遠隔方法呼び出し仕様」、サン
マイクロシステムズ インコーポレーテッド(1997)。これは、ユニバー
サル リソース ロケータ(URL)を介して入手することができる。http
://www.javasoft.com/products/jdk/1.1
/docs/guide/rmi/spec/rmiTOC.doc.html
【0016】 図2は、JVMを用いた方法呼び出しを転送し及び受信するための機械201
及び202を含むオブジェクト指向分散形システム200におけるオブジェクト
の流れを示す図である。システム200において、機械201は、オブジェクト
を、転送されるオブジェクトのタイプ及びオブジェクトを構成するデータの識別
を含むバイトストリーム207に変換することによって、オブジェクト203の
ためのコールに対して応答するためにRMI205を使用する。機械201が、
オブジェクト203のためのコールに対して応答している間、システム200内
にある同一又は他の機器上で作動しているプロセスは、その要求に対する応答を
待つことなく、処理を続行することができる。
【0017】 機械202は、バイトストリーム207を受信する。RMI206を用いて、
機械202は、自動的に、これを対応するオブジェクト204に変換する。これ
は、オブジェクト203のコピーであり、オブジェクトを、機械202上で実行
しているプログラムによって使用可能なものにする。機械202は、また、最初
にこのオブジェクトをバイトストリームに変換し、次いで3番目の機械に対して
これを送信することにより、このオブジェクトを他の機械に転送することもでき
る。3番目の機械もまた、自動的に、バイトストリームを対応するオブジェクト
に変換する。
【0018】
【発明が解決しようとする課題】
機械間の通信は、データ又は他の情報の証明を含んでいても良い。そのような
証明は、典型的には、特定のデータ又は他の情報の証明ための多数のコールを要
求し、これが、コールの容量の増大と、潜在的な証明費用の増加をもたらす。従
って、分散形システムにおいては、データ又は他の情報の証明を効率化すること
が要求されている。
【0019】
【課題を解決するための手段】
本発明に係る第1の方法は、証明オブジェクトのための要求を転送する。その
要求に対する応答は、証明オブジェクトに対応する第1コードの指示及び証明に
関連する処理のための第2コードの指示を含めて、受信される。証明オブジェク
トは、指示された第1コードを用いて構成され、情報は、指示された第2コード
を用いて証明される。
【0020】 本発明に係る第2の方法は、証明オブジェクトのための要求を転送する。その
要求に対する応答は、証明オブジェクトに対応するコードの指示を含めて、受信
される。証明オブジェクトは、指示されたコードを使用して構成され、情報は、
構成されたオブジェクトに基づいて証明される。
【0021】 本発明に係る第3の方法は、機械において、証明に使用するオブジェクトのた
めの要求を受信する。その要求に対する応答は、証明オブジェクトを構成するた
めの第1コードの指示を含めて、かつ、証明に関連する処理のための第2コード
の指示を含めて、転送される。
【0022】 本発明に係る第1の装置は、証明オブジェクトのための要求を転送する。この
装置は、その証明オブジェクトに対応する第1コードの指示及び証明に関連する
処理のための第2コードの指示を含めて、要求に対する応答を受信する。この装
置は、指示された第1コードを用いて証明オブジェクトを構成し、指示された第
2コードを用いて情報を証明する。
【0023】 本発明に係る第2の装置は、証明オブジェクトのための要求を転送し、その証
明オブジェクトに対応するコードの指示を含めて、要求に対する応答を受信する
。この装置は、指示されたコードを用いて証明オブジェクトを構成し、構成され
たオブジェクトに基づいて情報を証明する。
【0024】 本発明に係る第3の装置は、機械において、証明に使用するオブジェクトのた
めの要求を受信する。この装置は、証明オブジェクトを構成するための第1コー
ドの指示を含めて、かつ、証明に関連する処理のための第2コードの指示を含め
て、要求に対する応答を転送する。
【0025】
【発明の実施の形態】
添付された図面は、この明細書に取り入れられ、かつ、この明細書の一部を構
成し、その記述と共に、本発明の利点及び概念を説明するものである。
【0026】 (概要) 本発明に係る機械は、分散形システムにおいて、証明オブジェクトとも呼ばれ
るポリシィオブジェクトを使用することができ、このポリシィオブジェクトは、
証明が必要とされるときに処理を実行するものである。機械は、データ又は他の
情報の証明を管理するコードに対する参照を含むポリシィオブジェクトをダウン
ロードする。機械は、コードを取得するため、及び、例えば、アイテム間のデー
タ拘束、データアイテム、又はオブジェクトを局所的に証明するために、その参
照を使用する。証明オブジェクトは、また、他のタイプの情報を証明するために
も使用される。データ又は情報の変更のための特定の規則に関しては、ポリシィ
オブジェクトは、それがダウンロードされたときに、新たな規則のためのコード
に対する参照を提供するために更新されても良い。
【0027】 本発明に係るシステムは、RPC又はRMIの変形を用いて、引数及び返却値
をパスしながら、1つのプロセスから他のプロセスにポリシィオブジェクトを効
率的に転送するものであり、各プロセスは、異なる機械上にあっても良い。”機
械”の用語は、この文脈においては、物理機械又は仮想機械を指すために用いら
れる。多数の仮想機械は、同一の物理機械上に存在していてもよい。RPCシス
テムの例には、分散形計算方式環境(DCE)RPC、及びマイクロソフト分散
形共通オブジェクトモデル(DCOM)RPCが含まれる。
【0028】 (分散処理システム) 図3は、本発明を実施する際に用いられる典型的な分散処理システム300を
図示したものである。図3において、分散処理システム300は、ネットワーク
雲319で表現されるネットワーク配置において連結された3つの独立した、か
つ、異質のプラットフォーム301、302及び303を含んでいる。雲319
で表現されるネットワーク配置の構成及びプロトコルは、それがプラットフォー
ム301、302及び303間における情報の通信を許す限り、重要ではない。
加えて、3個のプラットフォームを使用することは、単なる例示であり、本発明
の実施を、特定の数のプラットフォームを使用することに限定するものではない
。さらに、特定のネットワーク体系は、本発明の実施例にとって重要ではない。
例えば、本発明の実施に用いることができる他のネットワーク体系としては、他
のすべてのプラットフォームが連結されるネットワークコントローラとして1つ
のプラットフォームを用いるものがある。
【0029】 分散処理システム300を実施する場合において、各プラットフォーム301
、302及び303は、それぞれ、プロセッサ316、317及び318、並び
に、メモリ304、305及び306を含んでいる。各メモリ304、305及
び306に含まれているものは、それぞれ、アプリケーション307、308及
び309、オペレーティングシステム310、311及び312、並びに、RM
Iコンポーネント313、314及び315である。
【0030】 アプリケーション307、308及び309は、本発明の実施によって提供さ
れるサービスを対象として仕事をするために以前に書かれ、かつ修正されたもの
、あるいは、本発明の実施によって提供されるサービスを利用するために特別に
書かれたもののいずれかのプログラムであっても良い。アプリケーション307
、308及び309は、本発明の実施に従って実行されるオペレーションを呼び
出す。
【0031】 オペレーティングシステム310、311及び312は、それぞれ、対応する
プロセッサ316、317及び318に結びつけられた典型的な基本オペレーテ
ィングシステムである。プラットフォーム301、302及び303は、異質な
ものであっても良い。例えば、プラットフォーム301は、サンマイクロシステ
ムズ社によって製造されたウルトラスパーク(登録商標)マイクロプロセッサを
プロセッサ316として有し、ソラリス(登録商標)をオペレーティングシステ
ム310として使用する。プラットフォーム302は、シリコングラフィクス社
によって製造されたMIPSマイクロプロセッサをプロセッサ317として有し
、ユニックスをオペレーティングシステム311として使用する。最後に、プラ
ットフォーム303は、インテル社によって製造されたペンティアムマイクロプ
ロセッサをプロセッサ318として有し、マイクロソフトウィンドウズ95をオ
ペレーティングシステム312として使用する。本発明の実施は、これに限定さ
れるものではなく、同質のプラットフォームでも同様に適応することができる。
【0032】 サン、サンマイクロシステムズ、ソラリス、ジャバ、及びサンロゴは、米国及
び他の国におけるサンマイクロシステムズ社の商標又は登録商標である。ウルト
ラスパーク及び他のすべてのスパーク商標は、許諾を得て使用されており、米国
及び他の国において、スパークインターナショナル社の商標である。スパーク商
標が付された生産物は、サンマイクロシステムズ社によって開発された体系に基
づいている。
【0033】 メモリ304、305及び306は、関連するプラットフォームのための一般
的な記憶のようないくつかの機能を提供する。他の機能は、各プロセッサ316
、317及び318によって実行されている間に、それぞれ、アプリケーション
307、308及び309、RMIコンポーネント313、314及び315、
並びにオペレーティングシステム310、311及び312を記憶することであ
る。加えて、メモリ304、305及び306の一部は、ネットワーク319中
のすべてのプラットフォーム301、302及び303が利用可能な共用記憶域
を構成しても良い。RMIコンポーネント313、314及び315は、図を単
純化するために図示されていないJVMと関連して作動することを特筆しておく
【0034】 (分散形システムインフラストラクチャ) 本発明に係るシステム及び方法は、特別な分散形システム400内においても
また作動することができる。これについては、図4及び図5を参照しながら説明
する。分散形システム400は、(1)システムのユーザに、多くの装置のネッ
トワークを超えてサービス及び資源を共用することを許すため、(2)プログラ
マーに、強く安全な分散形システムの開発を可能とするツール及びプログラミン
グパターンを提供するため、並びに、(3)分散形システムを管理する作業を単
純化するために、ハードウェア及びソフトウェアを含む様々なコンポーネントを
備えている。この目的を達成するために、分散形システム400は、シームレス
な形式で、コード及びデータの双方が装置から装置に移動することを許容するジ
ャバプログラミング環境を利用している。従って、分散形システム400は、ジ
ャバプログラミング環境のトップにレイヤされ、これによって生じる安全性と、
これによって提供される強いタイピングとを含むこの環境の特性を利用する。
【0035】 図4及び図5に示す分散形システムにおいて、異なるコンピュータ及び装置は
、ユーザには単一のシステムにいるように見えるものに連合される。単一のシス
テムのように見えることによって、分散形システム400は、パーソナルコンピ
ュータあるいはワークステーションの柔軟性及び個別化された応答性を放棄する
ことなく、単一システムによって提供可能なアクセスの単純性と共用の力を提供
する。分散形システム400は、地理的に分散しているが、信用、運営及びポリ
シィの基本的な考えに同意しているユーザによって操作される数千の装置を含ん
でいても良い。
【0036】 典型的な分散形システムの内部には、1又はそれ以上の装置によって提供され
るサービスの様々な論理的グルーピングがあり、そのような各論理的グルーピン
グは、Djinnとして知られている。”サービス”とは、ユーザ、プログラム
、装置又は、他のサービスがアクセス可能であり、かつ、計算でき、記憶に関係
し、通信に関係し、及び他のユーザにアクセスを供給することに関係がある資源
、データ又は機能を言いう。Djinnの一部として提供されるサービスの例に
は、プリンタ、ディスプレイ及びディスクのような装置、プログラム又はユーテ
ィリティのようなソフトウェア、データベース及びファイルのような情報、並び
に、システムのユーザが含まれる。
【0037】 ユーザ及び装置の双方とも、Djinnに結合することができる。Djinn
に結合したとき、ユーザ又は装置は、0又はそれ以上サービスをDjinnに加
え、セキュリティの制約を条件として、それに含まれるサービスのいずれにもア
クセスすることができる。すなわち、装置とユーザは、Djinnと連合し、そ
のサービスへのアクセスを共用する。Djinnのサービスは、プログラム的に
は、他のオブジェクト、異なるプログラミング言語で書かれたソフトウェアコン
ポーネント、又はハードウェア装置を含むジャバプログラミング環境のオブジェ
クトのように見える。サービスは、そのサービスに要求されるオペレーションを
定義するインターフェースを有し、サービスのタイプは、そのサービスを構成す
るインターフェースを決定する。
【0038】 分散形システム400は、ネットワーク408で相互に接続されたコンピュー
タ402、コンピュータ404及び装置406を備えている。装置406は、プ
リンタ、ファックス機械、記憶装置、コンピュータ、あるいは他の装置のような
多くの装置のいずれであっても良い。ネットワーク408は、ローカルエリアネ
ットワーク、ワイドエリアネットワーク、あるいは、インターネットのいずれで
あっても良い。わずか2つのコンピュータと1つの装置が分散形システム400
に備えられているものとして図示されているが、当業者であれば、分散形システ
ム400は、追加のコンピュータ又は装置を含んでいても良いことがわかるであ
ろう。
【0039】 図5は、分散形システム400の多くのソフトウェアコンポーネントを示すた
めに、コンピュータ402を詳細に図示したものである。当業者であれば、コン
ピュータ404又は装置406が同様に配置されていても良いことがわかるであ
ろう。コンピュータ402は、メモリ502、第2記憶装置504、中央演算ユ
ニット(CPU)506、入力装置508、及びビデオディスプレイ510を含
んでいる。メモリ502は、ルックアップサービス512、ディスカバリィサー
バ514、及びジャバランタイムシステム516を含んでいる。ジャバランタイ
ムシステム516は、ジャバRMIシステム518及びJVM520を含んでい
る。第2記憶装置504は、ジャバスペース522を含んでいる。
【0040】 上述したように、分散形システム400は、ジャバプログラミング環境に基づ
いており、従って、ジャバランタイムシステム516を利用する。ジャバランタ
イムシステム516は、ジャバランタイムシステムのトップで作動しているプロ
グラムが、プラットフォームに依存しない方法で、ホストオペレーティングシス
テムのウィンドウイング機能及びネットワーキング機能を含む様々なシステム機
能にアクセスすることを許容するジャバAPIライブラリィズを含んでいる。ジ
ャバAPIライブラリィズは、ジャバランタイムシステムがポートされるすべて
のオペレーティングシステムを通って単一の共用APIを供給するので、ジャバ
ランタイムシステムのトップで作動しているプログラムは、ホストプラットフォ
ームのオペレーティングシステムやハードウェア配置にかかわらず、プラットフ
ォームに依存しない方法で作動する。ジャバランタイムシステム516は、カリ
フォルニア州、マウンテンビューのサンマイクロシステムズ社から入手可能なジ
ャバソフトウェア開発キットの一部として供給される。
【0041】 JVM520もまた、プラットフォーム独立性を容易化する。JVM520は
、バイトコードの形式でプログラムから指示を受信し、それらをオブジェクトコ
ードのような実行のための形式に動的に変換することによって、これらのバイト
コードを解釈し、これらを実行する抽象的なコンピュータのように機能する。R
MI518は、1つのコンピュータ又は装置上で実行しているオブジェクトに、
他のコンピュータ又は装置上にあるオブジェクトの方法を呼び出すことを許容す
ることによって遠隔方法呼び出しを容易化する。RMI及びJVMの双方とも、
ジャバソフトウェア開発キットの一部として提供される。
【0042】 ルックアップサービス512は、特定のDjinnにとって入手可能なサービ
スを定義する。すなわち、分散形システム400内部に、1より多いDjinn
があり、その結果として、1より多いルックアップサービスがある。ルックアッ
プサービス512は、Djinn内部に各サービスのための1つのオブジェクト
を含んでおり、各オブジェクトは、対応するサービスにアクセスすることを容易
化する様々な方法を含んでいる。ルックアップサービス512は、先に参照によ
って本出願に引用した米国特許出願、発明の名称「ルックアップサービスへのア
クセスを容易化するための方法及びシステム」に記載されている。
【0043】 ディスカバリサーバ514は、ブートアンドジョイン(又はディスカバリィ)
として知られるプロセスの間に、新たな装置が分散形システム400に付加され
た時、及び、そのような新しい装置が発見された時を検出し、このディスカバリ
サーバは、ルックアップサービス512に対するリファレンスを新たな装置にパ
スし、これによって、新たな装置は、ルックアップサービスにそのサービスを登
録し、Djinnのメンバーとなる。登録の後、新たな装置は、Djinnのメ
ンバーとなり、その結果として、その装置は、ルックアップサービス512に含
まれるすべてのサービスにアクセスすることができる。ブートアンドジョインの
プロセスは、前に参照により本出願に引用した米国特許出願、発明の名称「分散
形システムにおいて装置と通信する際に使用するダウンロード可能なコードを供
給するための装置及び方法」に記載されている。
【0044】 ジャバスペース522は、オブジェクトを記憶するために、分散形システム4
00内のプログラムによって使用されるオブジェクトリポジトリィである。プロ
グラムは、分散形システム400内の他の装置がオブジェクトにアクセス可能と
するだけでなく、オブジェクトを永続的に記憶するためにジャバスペース522
を使用する。ジャバスペースは、共通譲受人に譲受され、1997年11月17
日に提出された米国特許出願第08/971,529号、発明の名称「多様なエ
ントリー及びエントリー整合に用いられるデータベースシステム」に記載されて
おり、参照によって本出願に引用する。当業者であれば、典型的な分散形システ
ム400は、多くのルックアップサービス、ディスカバリィサーバ、及びジャバ
スペースを含んでいても良いことがわかるであろう。
【0045】 (分散処理システム内におけるデータフロー) 図6は、証明に用いるポリシィオブジェクトの転送に用いられるオブジェクト
指向分散形ネットワーク600の図である。ネットワーク600は、クライアン
ト機械601及びサーバー機械604を含み、コンピュータ、もしくは、1もし
くはそれ以上のコンピュータ上で実行される仮想機械、又は、図3、4及び5を
参照して記述された機械を用いて実施することができる。クライアント機械60
1は、RMI602と、関連するオブジェクト603を含んでいる。サーバー機
械604は、RMI605と、関連するポリシィオブジェクト606を含んでい
る。
【0046】 クライアント機械601は、RMI602を用いて、コール又は要求609を
ポリシィオブジェクト606を要求しているRMI605に転送する。これに応
えて、RMI605は、コール610において、ポリシィオブジェクト606又
はこれに対する参照を転送する。RMI602及びクライアント機械601は、
データ又は他の情報の証明のために、オブジェクト603として表されるポリシ
ィオブジェクトを使用する。必要であれば、RMI602は、ポリシィオブジェ
クトによって使用されるコード608を取得するために、コードサーバー607
にアクセスしても良い。コードサーバーは、コードにアクセスし、特定のタイプ
又はクラスのオブジェクトの要求に対して応答し、そのオブジェクトのためのコ
ードを返すエンティティ及びプロセスである。コードサーバーは、機械604の
内部に配置されていても良く、あるいは、他の機械上にあっても良い。また、コ
ードは、コードサーバーと同一のプラットフォーム上に存在していても良く、あ
るいは、別個のプラットフォーム上にあっても良い。
【0047】 RMI602は、そのオブジェクトに関連するコードのためのURL形式での
ネットワークでアクセス可能なロケーションを使用して、そのようなコードにア
クセスしても良い。URLは、この分野において知られており、参照によって本
出願に引用する説明としては、例えば、”ジャバチュートリアル:インターネッ
トのためのオブジェクト指向プログラミング”、pp494−507、メアリー
カンピオン及びキャシー ウォルラス共著、アディソン−ウェスレイ、199
6年、に記載されている。
【0048】 オブジェクトは、サンマイクロシステムズ社から入手可能なオブジェクト直列
化仕様又はRMI仕様において説明されているように、オブジェクトストリーム
として転送されても良い。入力及び出力ストリームを含むストリームは、また、
例えば、以下のテキストに記載されており、参照によって本出願に引用する。”
ジャバチュートリアル:インターネットのためのオブジェクト指向プログラミン
グ”、pp325−53、メアリー カンピオン及びキャシー ウォルラス共著
、アディソン−ウェスレイ、1996年。
【0049】 (ポリシィオブジェクトの転送) 図7は、証明オブジェクトとも呼ばれるポリシィオブジェクトを用いた証明の
ためのプロセス700のフローチャートである。機械は、最初に、証明が要求さ
れているかどうかを決定する(ステップ701)。もし、そうであれば、機械は
、サーバーからポリシィオブジェクトを要求し(ステップ702)、データ又は
他の情報の証明に使用するコードの参照を含むポリシィオブジェクトを受信する
(ステップ703)。参照を用いて、機械は、証明のためのコードをダウンロー
ドする(ステップ704)。コードのダウンロードは、1997年10月15日
に提出された米国特許出願第08/950,756号、発明の名称「分散形シス
テムにおけるオブジェクトの据え置き復元及び遠隔ローディング」に記載された
方法を用いて発生しても良く、参照により本出願に引用する。
【0050】 機械は、次に、データ又は他の情報を取得する(ステップ705)。機械は、
データ又は情報が有効かどうかをポリシィオブジェクトを使用して決定する(ス
テップ706)が、これは、局所的な処理を通して発生してもよい。有効性は、
特定の予め定義された基準に基づくものであっても良い。もし、データ又は情報
が有効でない場合には、機械は、新たなデータ又は情報を取得する。例えば、機
械は、ユーザに対し、データの再入力を要求するメッセージを提供する(ステッ
プ707)。機械は、次に、処理のための他のデータ又は情報があるかどうかを
決定する(ステップ708)。もし、そうであれば、付加的なデータを受信し、
かつ、証明するために、ステップ705に戻る。そうでない場合には、機械は、
証明されたデータ又は他の情報を利用する(ステップ709)。例えば、機械は
、サーバーにデータを提出しても良い。これらのステップの間、サーバーは、証
明に関係するポリシィや規則を更新するために、コードの参照又はコード自身の
ようなコードの指示を送信しても良い。すなわち、ポリシィ又は規則は、クライ
アント機械が、現在のポリシィや規則のためのコード又はコードに対する参照を
受信し、かつ、維持するように、動的に更新される。
【0051】 図7に示すステップを実施する機械は、図3、4、5及び6に示すように、機
能を実行するためのコンピュータプロセッサを含んでいても良い。それらは、プ
ロセッサに上述した機能を実行させるように配置されたモジュールやプログラム
を含んでいても良い。それらは、また、メモリ内に記憶されたコンピュータプロ
グラム生産物を含んでいても良い。コンピュータプログラム生産物は、機械にこ
の明細書に記載した機能を実行させるために具体化されたコンピュータで読み取
り可能な媒体、又はコンピュータで読み取り可能なコードを有する媒体を含んで
いても良い。その媒体は、搬送波に一体化されたコンピュータデータシグナル、
及び、プロセッサによって実行されるときには、この明細書に記載された方法を
実行することによって、プロセッサに、絶対アドレスにある周辺機器に確実にア
ドレスさせる指示の代表的なシーケンスを含んでいても良い。媒体は、また、こ
の明細書に記載された方法を実行する際に使用するためのデータ構造が含まれて
いても良い。加えて、図7に示す処理は、スマートプロキシの使用を通じて発生
させても良い。これは、同日に提出され、共通譲受人に譲渡される米国特許出願
、発明の名称「分散形システムにおける遠隔手続呼び出しに関連する処理を実行
するためのダウンロード可能なスマートプロキシ」に記載されており、参照によ
って本出願に引用する。
【0052】 (ポリシィオブジェクトの例) 以下に、イクスペンスリポート中のデータを証明するためのポリシィオブジェ
クトを使用した本発明の一例を示す。表1は、クライアントが、このイクスペン
スリポートの例のために、サーバー上で呼び出すことができる方法を定義する、
ジャバプログラミング言語で書かれた遠隔ポリシィインターフェースの一例であ
る。
【0053】
【表1】 public interface ExpenceServer extends Remote{ Policy getPolicy() throws RemoteException; void submitReport(ExpenseReport report) throws RemoteException, InvalidReportException; }
【0054】 表1に示すインターフェースは、2つの方法をサポートしている。ゲットポリ
シィ(”getPolicy”)方法は、インターフェースを実施するオブジェクトを返 す。サブミットリポート(”submitReport”)方法は、完了したイクスペンスリ
クエストを提出し、そのリポートが、ある理由によって異常である場合には、イ
クセプションを投げる(生成する)。ポリシーインターフェースは、表2に示す
方法を宣言し、イクスペンシリポートに対して入力を加えることを容認できるか
どうかをクライアントに通知する。
【0055】
【表2】 public interface Policy{ void checkValid (ExpenceEntry entry) throw PolicyViolationException; }
【0056】 もし、イクスペンスリポート入力が有効である場合には、それが、現在のポリ
シィと整合していることを意味しており、その方法は、正常に復帰する。そうで
ない場合には、エラーを記述するイクセプションを投げる。典型的なポリシィイ
ンターフェースは、局所的(遠隔でない)であっても良く、従って、クライアン
トにとって局所的であるオブジェクトにより実施されても良い。表3は、クライ
アントが、どのようにこの例を処理するかについて示したものである。
【0057】
【表3】 Policy curPolicy=server.getPolicy(); start a new expense report show the GUI to the user while (user keeps adding entries){ try{ curPolicy.checkValid(entry);//throws exception if not OK add the entry to the expense report }catch(policyViolationException e){ show the error to the user } } server.submitReport(report);
【0058】 ユーザが、クライアントソフトウェアに、新たなイクスペンスリポートを始動
することを要求するときは、クライアントは、サーバに対し、現在のイクスペン
スポリシィを具体化するオブジェクトを返すかどうかを尋ねるために、”server
.getPolicy”方法を呼び出す。加えられた各入力は、最初に、承認のためにポリ
シィオブジェクトに提出される。もし、ポリシィオブジェクトが、エラーを報告
しないときは、入力は、リポートに加えられる。そうでない場合には、エラーは
、修正動作を促すためにユーザに対して表示される。ユーザが、リポートへの入
力の追加を完了したときは、全リポートは、提出される。表4は、サーバーが、
どのようにこの例を処理するかを示したものである。
【0059】
【表4】 import java.rmi.*; import java.rmi.server.*; class ExpenseServerImpl extends UnicastRemoteObject implements ExpenseServer { ExpenseServerImpl() throws RemoteException{ //...set up server state... } public Policy getPolicy(){ return new TodaysPolicy(); } public void submitReport(ExpenseReport report){ //...write the report into the db... } }
【0060】 タイプ”UnicasRemoteObject”は、このサーバーに対応する遠隔オブジェクト
の種類を定義し、この例においては、複写されたサービスに対して反対する単一
サーバーである。ジャバプログラミング言語クラス”ExpenseServerImpl”は、 遠隔インターフェース”ExpenseServer”の方法を実施する。遠隔ホスト上のク ライアントは、”ExpenseServerImpl”オブジェクトに対してメッセージを送信 するために、RMIを使用することができる。表5は、このイクスペンスリポー
トの例のためのポリシィの一実施例である。
【0061】
【表5】 public class TodaysPolicy implements Policy{ public void checkValid(ExpenceEntry entry) throws PolicyViolationException { if(entry.dollars()<20){ return;//no receipt required }else if(entry.haveReceipt()==false){ throw new PolicyViolationException("receipt required"); } } }
【0062】 表5に定義されるポリシィは、レシートのない入力が20ドルより少ないこと
を保証するためにチェックする。もし、20ドル未満のミールのみが”receipts
required”ポリシィから免除されるように、ポリシィが明日変わる場合には、 新たなポリシィの実施は、表6に示すようにして与えられる。
【0063】
【表6】 public class TomorrowPolicy implements Policy{ public void checkValid(ExceptionEntry entry) throws PolicyViolationException { if(entry.isMeal()&&entry.dollars()<20){ return;//no receipt required }else if (entry.haveReceipt()==false){ throw new PolicyViolationException ("receipt required"); } } }
【0064】 表6に定義される新たなポリシィ(”TomorrowsPolicy”)は、サーバー上で インストールされ、サーバーは、次に、現在の(”TodaysPolicy”)オブジェク
トの代わりに新たなポリシィオブジェクトを伝達しても良い。クライアントが、
サーバーのゲットポリシィ方法を呼び出したときには、クライアント上のRMI
は、返されたオブジェクトが既知のタイプかどうかを証明する。最初に、各クラ
イアントが”TomorrowsPolicy”オブジェクトに遭遇したときは、クライアント のRMIは、”getPolicy”方法が返る前にポリシィの実施をダウンロードし、 クライアントは、次に、新たなポリシィの実施を始める。このイクスペンスリポ
ートの例は、証明のためにポリシィオブジェクトを使用する一例に過ぎないもの
であり、ポリシィオブジェクトには、他の多くの応用が可能である。
【0065】 本発明に係るシステムの図示された実施例は、JVM仕様に基づくジャバプロ
グラミング言語を実行するコンピュータシステムに関連して記述されているが、
本発明は、異なるプログラミング言語からのコードを処理する他のコンピュータ
システムに対しても同様に適用可能である。特に、本発明は、オブジェクト指向
プログラミングシステム及び非オブジェクト指向プログラミングシステムの双方
で実施しても良い。加えて、本発明に係る実施例は、ジャバプログラミング環境
において処理するように記載されているが、当業者であれば、本発明が他のプロ
グラミング環境においても同様に使用できることがわかるであろう。
【0066】 本発明は、典型的な実施例に関連して説明されているが、多くの修正は、当業
者にとって直ちに明白となることがわかるであろう。また、本出願は、いかなる
改良又は変形もカバーすることが意図されている。例えば、ポリシィオブジェク
トのための異なるラベル又は定義は、本発明の範囲から逸脱することなく使用す
ることができる。本発明は、クレーム及びその均等物にのみ限定される。
【0067】
【発明の効果】
本発明によれば、コールの容量の増大と、潜在的な証明費用の増加をもたらす
ことなく、分散形システムにおけるデータ又は他の情報の証明を効率化すること
ができるという効果がある。
【図面の簡単な説明】
【図1】 RPC機構を用いたコール情報の流れを示す図である。
【図2】 オブジェクト指向分散形システムにおけるオブジェクトの転送を
示す図である。
【図3】 本発明を実施する際に使用できる典型的な分散処理システムの図
である。
【図4】 典型的な分散形システムインフラストラクチャの図である。
【図5】 図4に示す分散形システムインフラストラクチャ内にあるコンピ
ュータの図である。
【図6】 ポリシィオブジェクトの転送に使用するための典型的な分散形ネ
ットワークの図である。
【図7】 ポリシィオブジェクトを用いたデータの有効性のための処理のフ
ローチャートである。
【符号の説明】
600 分散形ネットワーク 601 クライアント機械 602 RMI 603 オブジェクト 604 サーバー機械 605 RMI 606 オブジェクト 607 コードサーバー 608 コード
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IN,IS,JP,KE, KG,KP,KR,KZ,LC,LK,LR,LS,L T,LU,LV,MD,MG,MK,MN,MW,MX ,NO,NZ,PL,PT,RO,RU,SD,SE, SG,SI,SK,SL,TJ,TM,TR,TT,U A,UG,UZ,VN,YU,ZW (72)発明者 ウォールラス アン エム アメリカ合衆国、01450 マサチューセッ ツ州、グロトン、ノースウッズ ロード 9 (72)発明者 ウォルド ジェイムズ エイチ アメリカ合衆国、01826 マサチューセッ ツ州、ドラカット、ルビィ ロード 155 Fターム(参考) 5B045 GG01 5B098 AA09 AA10 FF01 GA04 GA06 GC16 GD02 GD11

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 多数の機械を備えた分散形システムにおけるオブジェクトを
    転送するための方法であって、 証明オブジェクトのための要求を転送し、 前記証明オブジェクトに対応する第1コードの指示及び証明に関連する処理の
    ための第2コードの指示を含む前記要求に対する応答を受信し、 前記指示された第1コードを用いて前記証明オブジェクトを構成し、及び、 前記指示された第2コードを用いて情報を証明することを備えた方法。
  2. 【請求項2】 前記証明には、前記情報を証明するための処理を局所的に実
    行することが含まれる請求項1に記載の方法。
  3. 【請求項3】 前記受信には、前記証明に関連する更新された処理のための
    第3コードの指示を受信することが含まれる請求項1に記載の方法。
  4. 【請求項4】 多数の機械を備えた分散形システムにおけるオブジェクトを
    転送するための方法であって、 証明オブジェクトのための要求を転送し、 前記証明オブジェクトに対応するコードの指示を含む前記要求に対する応答を
    受信し、 前記指示されたコードを用いて前記証明オブジェクトを構成し、及び、 前記構成されたオブジェクトに基づいて情報を証明することを備えた方法。
  5. 【請求項5】 多数の機械を備えた分散形システムにおけるオブジェクトを
    転送するための方法であって、 機械において、証明に使用するオブジェクトのための要求を受信し、及び、 前記証明オブジェクトを構成するための第1コードの指示を含み、かつ、前記
    証明に関連する処理のための第2コードの指示を含む前記要求に対する応答を転
    送することを備えた方法。
  6. 【請求項6】 多数の機械を備えた分散形システムにおけるオブジェクトを
    転送するための装置であって、 証明オブジェクトのための要求を転送するために配置されたモジュールと、 前記証明オブジェクトに対応する第1コードの指示及び証明に関連する処理の
    ための第2コードの指示を含む前記要求に対する応答を受信するために配置され
    たモジュールと、 前記指示された第1コードを用いて前記証明オブジェクトを構成するために配
    置されたモジュールと、 前記指示された第2コードを用いて情報を証明するために配置されたモジュー
    ルとを備えた装置。
  7. 【請求項7】 前記証明モジュールは、前記情報を証明するための処理を局
    所的に実行するために配置されたモジュールを含む請求項6に記載の装置。
  8. 【請求項8】 前記受信モジュールは、前記証明に関連する更新された処理
    のための第3コードの指示を受信するために配置されたモジュールを含む請求項
    6に記載の装置。
  9. 【請求項9】 多数の機械を備えた分散形システムにおけるオブジェクトを
    転送するための装置であって、 証明オブジェクトのための要求を転送するために配置されたモジュールと、 前記証明オブジェクトに対応するコードの指示を含む前記要求に対する応答を
    受信するために配置されたモジュールと、 前記指示されたコードを用いて前記証明オブジェクトを構成するために配置さ
    れたモジュールと、 前記構成されたオブジェクトに基づいて情報を証明するために配置されたモジ
    ュールとを備えた装置。
  10. 【請求項10】 多数の機械を備えた分散形システムにおけるオブジェクト
    を処理するための装置であって、 機械において、証明に使用するオブジェクトのための要求を受信するために配
    置されたモジュールと、 前記証明オブジェクトを構成するための第1コードの指示を含み、かつ、前記
    証明に関連する処理のための第2コードの指示を含む前記要求に対する応答を転
    送するために配置されたモジュールとを備えた装置。
  11. 【請求項11】 多数の機械を備えた分散形システムにおけるオブジェクト
    を転送するためのシステムであって、 第1の機械と、 第2の機械と、 前記第1の機械と前記第2の機械とを連結するネットワークと、 オブジェクトを受信するための装置とを備え、 該装置は、証明オブジェクトのための要求を転送するために配置されたモジュ
    ールと、 前記証明オブジェクトに対応する第1コードの指示を含み、かつ、証明に関連
    する処理のための第2コードの指示を含む前記要求に対する応答を受信するため
    に配置されたモジュールと、 前記指示された第1コードを用いて前記証明オブジェクトを構成するために配
    置されたモジュールと、 前記指示された第2コードを用いて情報を証明するために配置されたモジュー
    ルとを含むシステム。
  12. 【請求項12】 前記証明モジュールは、前記情報を証明するための処理を
    局所的に実行するために配置されたモジュールを含む請求項11に記載のシステ
    ム。
  13. 【請求項13】 前記受信モジュールは、前記証明に関連する更新された処
    理のための第3コードの指示を受信するために配置されたモジュールを含む請求
    項11に記載のシステム。
  14. 【請求項14】 多数の機械を備えた分散形システムにおけるオブジェクト
    を転送するためのシステムであって、 第1の機械と、 第2の機械と、 前記第1の機械と前記第2の機械とを連結するネットワークと、 オブジェクトを受信するための装置とを備え、 該装置は、証明オブジェクトのための要求を転送するために配置されたモジュ
    ールと、 前記証明オブジェクトに対応するコードの指示を含む前記要求に対する応答を
    受信するために配置されたモジュールと、 前記指示されたコードを用いて前記証明オブジェクトを構成するために配置さ
    れたモジュールと、 前記構成されたオブジェクトに基づいて情報を証明するために配置されたモジ
    ュールとを含むシステム。
  15. 【請求項15】 多数の機械を備えた分散形システムにおけるオブジェクト
    を転送するためのシステムであって、 第1の機械と、 第2の機械と、 前記第1の機械と前記第2の機械とを連結するネットワークと、 オブジェクトを転送するための装置とを備え、 該装置は、機械において、証明に使用するオブジェクトのための要求を受信す
    るために配置されたモジュールと、 前記証明オブジェクトを構成するための第1コードの指示を含み、かつ、前記
    証明に関連する処理のための第2コードの指示を含む前記要求に対する応答を転
    送するために配置されたモジュールとを含むシステム。
  16. 【請求項16】 方法を実行するためのコンピュータシステムを制御する命
    令を含むコンピュータで読み取り可能な媒体を備えたコンピュータプログラム生
    産物であって、 前記方法は、証明オブジェクトのための要求を転送し、 前記証明オブジェクトに対応する第1コードの指示、及び、証明に関連する処
    理のための第2コードの指示を含む前記要求に対する応答を受信し、 前記指示された第1コードを用いて前記証明オブジェクトを構成し、 前記指示された第2コードを用いて情報を証明することを含むコンピュータプ
    ログラム生産物。
  17. 【請求項17】 前記証明には、前記情報を証明するための処理を局所的に
    実行することを含む請求項16に記載のコンピュータプログラム生産物。
  18. 【請求項18】 前記受信には、前記証明に関連する更新された処理のため
    の第3コードの指示を受信することを含む請求項16に記載のコンピュータプロ
    グラム生産物。
  19. 【請求項19】 方法を実行するためのコンピュータシステムを制御する命
    令を含むコンピュータで読み取り可能な媒体を備えたコンピュータプログラム生
    産物であって、 前記方法は、証明オブジェクトのための要求を転送し、 前記証明オブジェクトに対応するコードの指示を含む前記要求に対する応答を
    受信し、 前記指示されたコードを用いて前記証明オブジェクトを構成し、 前記構成されたオブジェクトに基づいて情報を証明することを含むコンピュー
    タプログラム生産物。
  20. 【請求項20】 方法を実行するためのコンピュータシステムを制御する命
    令を含むコンピュータで読み取り可能な媒体を備えたコンピュータプログラム生
    産物であって、 前記方法は、機械において、証明に使用するオブジェクトの要求を受信し、 前記証明オブジェクトを構成するための第1コードの指示を含み、かつ、前記
    証明に関連する処理のための第2コードの指示を含む前記要求に対する応答を転
    送することを含むコンピュータプログラム生産物。
  21. 【請求項21】 コンピュータで読み取り可能な記憶媒体に記憶され、分散
    形システムにおける機械間の電子的な転送が可能なオブジェクトの表現を指定す
    る製造物であって、 該製造物は、要求に応じて、第1機械から第2機械に転送される証明オブジェ
    クトを備え、該証明オブジェクトは、情報を証明するための処理を実行するコー
    ドの指示を含む製造物。
  22. 【請求項22】 多数の機械を備えた分散形システムにおけるオブジェクト
    を転送するための装置であって、 証明オブジェクトのための要求を転送する手段と、 前記証明オブジェクトに対応する第1コードの指示及び証明に関連する処理の
    ための第2コードの指示を含む前記要求に対する応答を受信する手段と、 前記指示された第1コードを用いて前記証明オブジェクトを構成する手段と、 前記指示された第2コードを用いて情報を証明することを備えた装置。
JP2000533947A 1998-02-26 1999-02-16 分散形システムにおける動的情報証明のための装置及び方法 Pending JP2002505491A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US09/044,932 US6466947B2 (en) 1998-03-20 1998-03-20 Apparatus and method for dynamically verifying information in a distributed system
US09/044,932 1998-03-20
PCT/US1999/003222 WO1999044296A2 (en) 1998-02-26 1999-02-16 Apparatus and method for dynamically verifying information in a distributed system

Publications (1)

Publication Number Publication Date
JP2002505491A true JP2002505491A (ja) 2002-02-19

Family

ID=26722173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000533947A Pending JP2002505491A (ja) 1998-02-26 1999-02-16 分散形システムにおける動的情報証明のための装置及び方法

Country Status (7)

Country Link
US (1) US7089263B2 (ja)
EP (1) EP1057272A2 (ja)
JP (1) JP2002505491A (ja)
KR (1) KR20010041227A (ja)
CN (1) CN1292115A (ja)
AU (1) AU2680399A (ja)
WO (1) WO1999044296A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418484B2 (en) * 2001-11-30 2008-08-26 Oracle International Corporation System and method for actively managing an enterprise of configurable components
CN1306403C (zh) * 2003-12-30 2007-03-21 北京金山数字娱乐科技有限公司 一种用于游戏的网络服务器系统
US20060212422A1 (en) * 2005-03-21 2006-09-21 Anil Khilani Efficiently executing commands against a large set of servers with near real time feedback of execution and presentation of the output of the commands
US8407206B2 (en) * 2005-05-16 2013-03-26 Microsoft Corporation Storing results related to requests for software development services
US7434041B2 (en) * 2005-08-22 2008-10-07 Oracle International Corporation Infrastructure for verifying configuration and health of a multi-node computer system
US8615578B2 (en) * 2005-10-07 2013-12-24 Oracle International Corporation Using a standby data storage system to detect the health of a cluster of data storage servers
US20070204039A1 (en) * 2006-02-24 2007-08-30 Prasanna Inamdar System and method of downloading restricted applications to wireless devices
US8196123B2 (en) * 2007-06-26 2012-06-05 Microsoft Corporation Object model for transactional memory
US8380688B2 (en) * 2009-11-06 2013-02-19 International Business Machines Corporation Method and apparatus for data compression
US9842006B2 (en) 2009-12-01 2017-12-12 International Business Machines Corporation Application processing allocation in a computing system
CN104604313A (zh) * 2013-03-20 2015-05-06 华为技术有限公司 用户设备冲突检测方法、用户设备和基站
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US111814A (en) * 1871-02-14 Improvement in breech-loading fire-arms
US5132A (en) * 1847-05-29 brown
FR2476349A1 (fr) 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4800488A (en) * 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
US4819233A (en) * 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
US5724540A (en) 1988-03-28 1998-03-03 Hitachi, Ltd. Memory system having a column address counter and a page address counter
JPH0293952A (ja) 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5305196A (en) * 1989-05-01 1994-04-19 Credit Verification Corporation Check transaction processing, database building and marketing method and system utilizing automatic check reading
US8700458B2 (en) * 1989-05-01 2014-04-15 Catalina Marketing Corporation System, method, and database for processing transactions
US5327559A (en) 1990-10-23 1994-07-05 International Business Machines Corporation Remote and batch processing in an object oriented programming system
JPH0799497B2 (ja) * 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
JPH05233326A (ja) 1991-12-19 1993-09-10 Internatl Business Mach Corp <Ibm> コンピュータシステムにおいて事象を取り扱う方法及びシステム
JPH05173988A (ja) 1991-12-26 1993-07-13 Toshiba Corp 分散処理方式および該分散処理に適用されるトランザクション処理方式
US5303042A (en) 1992-03-25 1994-04-12 One Touch Systems, Inc. Computer-implemented method and apparatus for remote educational instruction
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5423042A (en) * 1992-10-23 1995-06-06 International Business Machines Corporation Remote procedure execution
US5511196A (en) 1992-11-17 1996-04-23 International Business Machines Corporation Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
US5475840A (en) 1993-04-13 1995-12-12 Sun Microsystems, Inc. High performance dynamic linking through caching
US5459837A (en) 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
US5506984A (en) 1993-06-30 1996-04-09 Digital Equipment Corporation Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
US5446901A (en) * 1993-06-30 1995-08-29 Digital Equipment Corporation Fault tolerant distributed garbage collection system and method for collecting network objects
AU6702594A (en) * 1993-12-17 1995-07-03 Taligent, Inc. Object-oriented distributed communications directory service
US5664191A (en) * 1994-06-30 1997-09-02 Microsoft Corporation Method and system for improving the locality of memory references during execution of a computer program
EP0694837A1 (en) * 1994-07-25 1996-01-31 International Business Machines Corporation Dynamic workload balancing
AU3415595A (en) * 1994-10-04 1996-04-26 Banctec, Inc. An object-oriented computer environment and related method
US5961582A (en) 1994-10-25 1999-10-05 Acorn Technologies, Inc. Distributed and portable execution environment
JP3405627B2 (ja) * 1994-11-08 2003-05-12 三星電子株式会社 画像形成装置の現像装置
US5553282A (en) * 1994-12-09 1996-09-03 Taligent, Inc. Software project history database and method of operation
US5491791A (en) * 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US6363409B1 (en) * 1995-04-24 2002-03-26 Microsoft Corporation Automatic client/server translation and execution of non-native applications
US5978773A (en) * 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5745703A (en) * 1995-07-18 1998-04-28 Nec Research Institute, Inc. Transmission of higher-order objects across a network of heterogeneous machines
US5644720A (en) * 1995-07-31 1997-07-01 West Publishing Company Interprocess communications interface for managing transaction requests
US5682534A (en) * 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US6009464A (en) 1995-09-20 1999-12-28 Sun Microsystems, Inc. Method and apparatus for enabling application programs to communicate with network clients and servers
US5806042A (en) * 1995-10-11 1998-09-08 Kelly; William Franklin System for designing and implementing bank owned life insurance (BOLI) with a reinsurance option
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5692047A (en) * 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5915112A (en) * 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US5761507A (en) 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US5754977A (en) 1996-03-06 1998-05-19 Intervoice Limited Partnership System and method for preventing enrollment of confusable patterns in a reference database
US5764915A (en) 1996-03-08 1998-06-09 International Business Machines Corporation Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack
US5721825A (en) * 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
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
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
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6018619A (en) * 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US6327656B2 (en) * 1996-07-03 2001-12-04 Timestamp.Com, Inc. Apparatus and method for electronic document certification and verification
US5758077A (en) * 1996-08-02 1998-05-26 Hewlett-Packard Company Service-centric monitoring system and method for monitoring of distributed services in a computing network
US6212578B1 (en) * 1996-09-09 2001-04-03 Oracle Corporation Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls
US6757729B1 (en) * 1996-10-07 2004-06-29 International Business Machines Corporation Virtual environment manager for network computers
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6058381A (en) 1996-10-30 2000-05-02 Nelson; Theodor Holm Many-to-many payments system for network content materials
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6154844A (en) * 1996-11-08 2000-11-28 Finjan Software, Ltd. System and method for attaching a downloadable security profile to a downloadable
US6034925A (en) 1996-12-02 2000-03-07 Thomson Consumer Electronics, Inc. Accessing control method for identifying a recording medium in a jukebox
US6282581B1 (en) * 1997-03-27 2001-08-28 Hewlett-Packard Company Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment
US6189046B1 (en) * 1997-03-27 2001-02-13 Hewlett-Packard Company Mechanism and method for merging cached location information in a distributed object environment
US6104716A (en) * 1997-03-28 2000-08-15 International Business Machines Corporation Method and apparatus for lightweight secure communication tunneling over the internet
US6408342B1 (en) * 1997-03-28 2002-06-18 Keith E. Moore Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US6192044B1 (en) 1997-03-31 2001-02-20 Intel Corporation Employing a look-up service and a callee connection service to establish a network phone call between a caller and a callee
US5999988A (en) * 1997-03-31 1999-12-07 Sun Microsystems, Inc. Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems
US6003050A (en) 1997-04-02 1999-12-14 Microsoft Corporation Method for integrating a virtual machine with input method editors
US6041351A (en) * 1997-04-17 2000-03-21 Newmoon.Com Network traffic by instruction packet size reduction
US6003065A (en) * 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US6055562A (en) 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US6157960A (en) * 1997-05-07 2000-12-05 International Business Machines Corporation Technique for programmatically creating distributed object programs
US5991808A (en) * 1997-06-02 1999-11-23 Digital Equipment Corporation Task processing optimization in a multiprocessor system
US6219675B1 (en) 1997-06-05 2001-04-17 Microsoft Corporation Distribution of a centralized database
US6343308B1 (en) 1997-08-14 2002-01-29 International Business Machines Corporation Systems, methods and computer programs for mixing different versions of Java classes
US6078655A (en) 1997-08-27 2000-06-20 At&T Corp Automatic international reattempt method and apparatus
US5960404A (en) * 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
US6199068B1 (en) 1997-09-11 2001-03-06 Abb Power T&D Company Inc. Mapping interface for a distributed server to translate between dissimilar file formats
EP1019812A1 (en) 1997-10-01 2000-07-19 BRITISH TELECOMMUNICATIONS public limited company Resource management system
US6804711B1 (en) * 1997-10-06 2004-10-12 Mci, Inc. Method and apparatus for managing call processing services in an intelligent telecommunication network
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US20010052087A1 (en) * 1998-04-27 2001-12-13 Atul R. Garg Method and apparatus for monitoring a network environment
US6093216A (en) 1998-05-29 2000-07-25 Intel Corporation Method of run-time tracking of object references in Java programs
US6385643B1 (en) 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
US6301613B1 (en) * 1998-12-03 2001-10-09 Cisco Technology, Inc. Verifying that a network management policy used by a computer system can be satisfied and is feasible for use
US6216158B1 (en) 1999-01-25 2001-04-10 3Com Corporation System and method using a palm sized computer to control network devices
US6604140B1 (en) * 1999-03-31 2003-08-05 International Business Machines Corporation Service framework for computing devices
US6603772B1 (en) * 1999-03-31 2003-08-05 Cisco Technology, Inc. Multicast routing with multicast virtual output queues and shortest queue first allocation
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US6578074B1 (en) * 1999-06-25 2003-06-10 Mediaone Group, Inc. Provisioning server enhancement
WO2001013228A2 (en) 1999-08-13 2001-02-22 Sun Microsystems, Inc. Graceful distribution in application server load balancing
US6564174B1 (en) * 1999-09-29 2003-05-13 Bmc Software, Inc. Enterprise management system and method which indicates chaotic behavior in system resource usage for more accurate modeling and prediction
US6757762B1 (en) 1999-10-29 2004-06-29 Unisys Corporation Multi-mode processor bus bridge
US6324568B1 (en) * 1999-11-30 2001-11-27 Siebel Systems, Inc. Method and system for distributing objects over a network
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
AU2001264844A1 (en) 2000-05-24 2001-12-03 Cohere Networks, Inc. Apparatus, system, and method for balancing loads to network servers
US6757262B1 (en) * 2000-09-15 2004-06-29 Motorola, Inc. Service framework supporting remote service discovery and connection
JP2002132739A (ja) 2000-10-23 2002-05-10 Nec Corp スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体
US7398216B2 (en) 2000-12-12 2008-07-08 Lockheed Martin Corporation Network dynamic service availability
US20030005132A1 (en) 2001-05-16 2003-01-02 Nortel Networks Limited Distributed service creation and distribution
US6633835B1 (en) * 2002-01-10 2003-10-14 Networks Associates Technology, Inc. Prioritized data capture, classification and filtering in a network monitoring environment

Also Published As

Publication number Publication date
WO1999044296A3 (en) 1999-10-28
WO1999044296A2 (en) 1999-09-02
EP1057272A2 (en) 2000-12-06
US7089263B2 (en) 2006-08-08
AU2680399A (en) 1999-09-15
KR20010041227A (ko) 2001-05-15
US20020198895A1 (en) 2002-12-26
CN1292115A (zh) 2001-04-18

Similar Documents

Publication Publication Date Title
US6983285B2 (en) Apparatus and method for dynamically verifying information in a distributed system
US6393497B1 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6487607B1 (en) Methods and apparatus for remote method invocation
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US6272559B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6560656B1 (en) Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
JP3853593B2 (ja) ウェブアプリケーションサーバにおいて拡張可能な認証機構を実現するための方法および装置
US6134603A (en) Method and system for deterministic hashes to identify remote methods
JP4729172B2 (ja) 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置
US6629154B1 (en) Method and system for deterministic hashes to identify remote methods
JP2001522114A (ja) 分散を意識させない態様で分散ソフトウェア開発を容易にするための方法およびシステム
US6708171B1 (en) Network proxy
JP2002505491A (ja) 分散形システムにおける動的情報証明のための装置及び方法
US7363487B2 (en) Method and system for dynamic client authentication in support of JAAS programming model
JP2002505463A (ja) 分散システム内の遠隔処理呼出に関連する処理をおこなうためのダウンロード可能なスマートプロキシ
EP1057113B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
EP1235149A2 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system