JPH06295286A - コミュニケーションシステムにおけるコンピュータ間で情報を処理するための方法 - Google Patents
コミュニケーションシステムにおけるコンピュータ間で情報を処理するための方法Info
- Publication number
- JPH06295286A JPH06295286A JP7930293A JP7930293A JPH06295286A JP H06295286 A JPH06295286 A JP H06295286A JP 7930293 A JP7930293 A JP 7930293A JP 7930293 A JP7930293 A JP 7930293A JP H06295286 A JPH06295286 A JP H06295286A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instructions
- data
- computers
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- Plural Heterocyclic Compounds (AREA)
- Spinning Or Twisting Of Yarns (AREA)
Abstract
るための方法および装置を提供する。 【構成】 「移動プログラム」はディジタルデータ構造
であり、それは一連の命令および関連するデータを含
み、かつ少なくとも1つの次の行先または受信者を決定
して移動プログラムを受信し、かつそのプログラムによ
って決定されたすべての関連あるデータとともにそれ自
体を次の受信者または行先に送る能力を有する。移動プ
ログラムは任意のアルゴリズムに従ってサインされるべ
きディジタル材料、および必要に応じて確証されるべき
ディジタル材料を計算することが可能である。
Description
他のコンピュータ使用者へ必要な関連データとともにそ
れ自体を移動させる能力を有し、それにより様々なコン
ピュータノードでのデータ処理、データ認証、およびデ
ータ収集のための強力なツールとなる「移動」(travel
ling) プログラムを創造するための方法および装置に関
する。
ばしば人手を介して移動する。複数の組織間で文文書を
やり取りする必要がある場合には、郵便または配達サー
ビスがしばしば採用される。
術についてはよく知られている。電子郵便システム、電
子伝達システム等の急速な発達により或る種の商取引が
自動化されかつ多くの場合不必要である人手による文書
の伝達の幾らかはなくなった。
報を伝達するための或る先行技術の方法論は、いわゆる
「電子形式」方法論を利用する。この「電子形式」方法
論はユーザに対しデータを提供し、従来技術の表示装置
によりユーザの入力を促し、入力されたデータが正確に
入れられたことを確証しかつその後そのようなデータを
他のユーザに伝送するというものである。
論は非常に限定されたものである。たとえば、データが
何らかの値を表わしている場合、常にデータが操作もし
くは改ざんまたは単に偽造される危険性がつきまとう。
この危険性に対処する試みには、ディジタル的にサイン
されるべき或る種の重要なフィールドにフラグをつける
ことが含まれていた。これにより特定の入力フィールド
について或る限られた量ではあるが入れられたものと全
く同じであるとする認証が可能となる。
タ構造を組立てかつその後ディジタル的にサインするこ
とは不可能である。本願は、いかなるアルゴリズム等に
従っても、移動プログラムがサインされるべきディジタ
ル資料および必要に応じて確証されるべきディジタル資
料を計算することを可能にする。
サインされる実際のデータがいかなるフィールドデータ
自体とも違うようになることが可能となる。実際、サイ
ンされた資料がユーザにより提供される実際のデータを
全く含んでいないということも可能である。
の態様は、本願発明の移動プログラムがエントリーされ
たデータの局面に基づきEDI(電子データ交換)トラ
ンザクションを創出する場合である。プログラムはED
Iトランザクションにサインする能力を有する。このよ
うなEDIトランザクションは他の表のファイルまたは
この移動プログラムを駆動するスーパバイザーまたはイ
ンタプリタからのプログラム内の内部表に基づきルック
アップされた複雑なディジタル情報から構成され得る。
こうして、或る種のテーブルから選択された「X」とし
て単にエントリーされたかもしれない入力フィールド
と、サインされる実際のディジタル資料は全く異なって
いる。
いデータ構成に対する応用が考えられ、かつ恐らくは或
る期間を経て異なるものにより確証され得ると考えられ
る。たとえば、EDIの場合、署名はEDIトランザク
ション自体に結びつけられることが可能で、かつこのト
ランザクションの将来の受け手により確証され、それは
移動プログラムの脈絡を外れたものでもよい。このタイ
プのディジタル署名は紙の購入注文書または契約書の下
の部分にある手書きによる署名に類似するものである。
に加えて、本願発明によれば、プログラムはどのユーザ
がこの署名プロセスに参加すべきかを何らかの知られた
基準に基づき条件的に決定することを可能である。
ログラムは特定のデータ、ユーザまたは組合せについて
どのような共同署名の必要性が存在し得るかについてプ
ログラムの範囲内で論理的な決定を下すことができる。
これにはユーザのX.500(certificate)証明または
補強されたディジタル証明(たとえば本願発明人の米国
特許第4,868,877号または第5,005,20
0号によるもの)に含まれる情報を含み得る。完全なプ
ログラムとしてのフレキシビリティが存在するので、こ
のように取り出された情報をこの移動プログラムの将来
の伝送ルートの調整に使用することさえ可能である。
する点に加えて、本願発明は、許可の要件および使用を
含みかつ確証することをも可能にする。これはたとえば
許可の証明および委任を管理するという第4,868,
877号および第5,005,200号の教示を利用す
る。
用して移動プログラムが他のタイプの貴重な認証を提供
することを可能にする。たとえば、本願発明による保安
の便宜として、一人のユーザから他のユーザへの伝送の
すべてに関してディジタル署名認証を行なうことが可能
となる。これは移動プログラム自体、その変数および補
助的データまたはファイルを含む。
分的には、長期間の署名を保持するという点で上記のデ
ータ中心の認証とは相違しており、というのも伝送され
る変数および他のデータが、一度受け手側のユーザが行
動をとった場合に変更されるからである。この第2のタ
イプの認証はしたがって基本的には不正の防止策として
考えられかつまたこの形式の実際のユーザの一人による
ものであっても許可されない不正を法的に過去に遡って
監査するために使用され得る。
たは「ウィルス」も侵入していないことを確認するため
に、何らかの信頼のおける発行権者(たとえば著者)に
より移動プログラム自体にサイン、認証および許可が行
なわれ得る第3のタイプの認証を提供する(これはルー
トに沿ったプログラムの有効な所有権を有する使用者に
よる感染さえも防止する)。
ータ収集の自動化のための独自の機構を提供する。移動
プログラムが一人のユーザに送られ、関連するデータフ
ァイルを取り付け(または切り離し)かつ次のユーザへ
と移動し得る。一人または二人以上のユーザから収集さ
れたデータまたはファイルは他のユーザにより保管され
るかまたは所望であればバッチ処理のために蓄積され得
る。この方法論により個々のユーザがすべての必要なデ
ータを必要なフォーマットで伝送することに頼る必要が
なくなる。
ユーザへそれ自体が送られる移動プログラムの脈絡にお
ける電子文書交換(EDI)と、データの収集、編集、
および是認を効果的に行なう。プログラムの論理により
決定される適当な時点で、他の組織へ伝送するために標
準EDIトランザクション(たとえばX12 850購
入注文トランザクションセット)をプログラムで発生す
ることが可能である。移動プログラムは終了したトラン
ザクションのセットにディジタル的にサインすることが
可能である。したがって、標準化されたEDIおよび標
準化された署名を処理し得る受け手側の組織であれば、
その受け手側の組織が本願発明により教示される入手可
能なすべての強力な技術を有していなくても、入来する
資料を認証しかつ処理することが可能となる。
ランザクション、恐らくはサインされたものを移動プロ
グラムが受けかつそれらが構文解析されその変数に組込
まれることを可能にする。移動プログラムはそこで入力
を確証し、表示装置内に組込み、かつ必要に応じて様々
な受け手の間を移動させる能力を有する。
の図面とともに見るとき、以下の発明の好ましい実施例
の説明を読むことによりより良く理解されることであろ
う。
使用可能な例示的通信システムを示すブロック図であ
る。このシステムは端末A、B、…、Nがその上で通信
を行ない得る通信チャネル12を含む。通信チャネル1
2は、たとえば電話線等の保安処理がなされていない通
信チャネルでもよい。
従来技術のキーボード/CRT表示装置4に結合される
プロセッサ(メインメモリ)を有するIBM PC互換
性コンピュータでもよい。メインメモリ2を有するプロ
セッサはディスクメモリ等の不揮発性記憶装置にも結合
される。各端末A、B、…、Nはまた従来技術のモデム
(それぞれ6、8、10)に結合されると、移動プログ
ラムを含むメッセージを端子が伝送および受信すること
を可能にする従来技術のIBM PC通信ボード(図示
せず)を含む。
ム」はディジタルデータ構造であって、連続する命令と
関連データとを含み、かつ移動プログラムを受けかつそ
れ自体をプログラムにより決定されるすべての関連デー
タとともに次の受け手または行先へ伝送するための少な
くとも1つの次の行先または受け手を決定する能力を有
する。
ログラムに固有の論理、データ、および機能をロードし
かつ実行するのに必要ないかなるディジタル署名動作を
も達成し(これについては本明細書内でより詳細に説明
する)、かつそのメッセージを通信チャネル12(また
は通信チャネル12に接続され得る通信ネットワーク
(図示せず))に接続された他の端末に伝送することが
できる。
および5,005,200号ならびに第5,001,7
52号に記載されるディジタル署名および証明方法論が
ここで使用されてもよく、これら特許についてはここに
引用により援用する。代替的には、より従来技術のディ
ジタル署名方法論が使用されてもよい。
グラム」構造および方法論をより詳細に論じる前に、実
際の商取引の脈絡における一般的な動作の例について簡
単に説明する。まず、図1の端末Aのユーザが、回路設
計プロジェクトを完成するためにコンポーネント部品を
入手しようとしている会社における設計チームの一員で
ある比較的地位の低い技術者と想定する。
に詳細に説明するようなタイプの部品要求「移動プログ
ラム」をアクセスしたとする。要求「移動プログラム」
は技術者に対し必要とされるコンポーネント部品を説明
するように促す。移動プログラムはそれ自体を自動的に
次の行先、たとえば端末Bへのアクセスを有し、この組
織構造内ではより高い地位にあり、この要求を認めかつ
ディジタル的にこれにサインする権限を有している上役
に自動的に伝送する命令シーケンスを含む。移動プログ
ラムはまた補助的な情報たとえば将来の行先で必要なま
たは役に立つかもしれないファイルを伝送してもよい。
上役はこの要求に適切にディジタル的にサインを行なう
よう促される。ディジタル署名が単に特定の可変の値だ
けではなく可変の名称をも反映することは可能である。
代替的には、プログラム内で計算される変数から生じる
何らかの集合的構造を反映してもよく、その値がファイ
ルから読出されたデータ、ユーザによる入力、プログラ
ム内に内蔵されたデータ、様々な署名者の証明、または
ユーザの環境から取出されるデータ(たとえばユーザの
ID)等を含む多くの源のいずれかに基づいていてもよ
い。
ではこれが認められない場合とは違った経路をとること
になる。移動プログラムは組織内でそれ自体をどこへ伝
送すべきかを、動作端末Bでの上役からの入力に基づい
て決定する知能を有し得る。移動プログラムはまた所望
であれば要求に関連する適切なデータを、端末Bに関連
するメモリにロードしかつ所望であれば組織内のどこか
先に進める必要がある端末Bからのいずれかのファイル
を取付けることになる。
その後いつでも、その後のどのユーザに対しても、かつ
いずれの理由であっても、資料が確証されるように再計
算し、かつディジタル署名確証を行なう能力を有する。
対しても告知されることが可能で、または多くの場合に
は、移動プログラムは単に確証を行ないかつ(データの
改ざんが行なわれたことを示唆する)不良があれば、問
題を告知する。
77号および第5,005,200号の教示を実施し得
るので、いずれの受け手も必要な許可が行なわれたこと
を確認することができるように、許可についてもチェッ
クすることが可能である。
グラムの制御の下サインが行なわれた後、引続きこのデ
ータ構造を再構築しかつその署名を他のものに与えるこ
とが可能である。このようなデータはこの後はいずれの
ものによっても改ざんされ得ない。
送されたデータが一人のユーザから次のユーザに送られ
る際にディジタル的にサインされるという能力を実現す
る。受け手のコンピュータ内の移動プログラム処理装置
は移動プログラムがロードされると自動的にこの署名を
確証することができる。これによりコンポーネント等が
途中で変更されたり改ざんされたりすることはないこと
を確実にする。この全体的署名のみがこの特定の伝送の
間のデータの状態を表わし、かつその後のユーザにとっ
てはいかなる意味ももたないが、これは第三者に邪魔さ
れない完璧な伝送を確保するとともに、この形式を所有
している参加ユーザによる改ざんを追跡する必要がある
場合には法的監査機構を提供する。この全体的署名はこ
の署名が移動プログラム自体によって伝送プロセスの一
部として条件的に誘引され得るという点において電子郵
便がサインされる現在の能力とは異なるものである。
得られた後、移動プロセスは実際の購入注文をつくり出
すことになる。
グラムが幾つかの方法を支持し、所与の状況に応じた1
つの最も適切なものを選択してもよい。ここでは4つの
可能性について述べる。
と考えられる用紙の上に最終購入注文を単にプリントア
ウトし得る(会社のロゴ、レターヘッド等をプリントす
ることさえも可能)。
ピュータ−ファックス能力に結合されると、販売者のフ
ァックス装置上に現われると考えられる購入注文画像を
自動的に発生することが可能である。購入者は用紙を生
成する必要がない。
ム方法論を支持することがわかっていれば、移動プログ
ラムが販売者を単に次の行先に指定することも可能であ
る。
入者の移動プログラムが、販売者がこの移動プログラム
の方法論を取り扱う能力があるかどうかはっきり判断で
きないという可能性も高い。
ータを操作して標準EDI(電子データ交換)トランザ
クションを構築し、これが広い範囲で認識かつ処理され
る。移動プログラムはまたコンピュータEDIトランザ
クションに対しディジタル署名をさせてもよく、かつ署
名およびトランザクションの双方が伝送され得る。移動
プログラムはその後EDIトランザクションと何らかの
可能な署名とを受け手に対し伝送する(このような伝送
はその方向づけられた移動の一部としてのユーザからユ
ーザへの移動プログラムおよびその付属するものの伝送
とは独立しており、かつこれと混同されるべきではな
い)。
とができる受け手ならば誰でも受け取ったEDI入力を
扱うことができる。ディジタル署名を取り扱うことが可
能な受け手であれば誰でもこのトランザクションを認証
することができる。さらに、受け手がこれらを認識する
に足るソフトウェア能力を有している場合には、この受
け手は署名の一部として実施され得る認証を自動的に確
証することができる。どの範囲まで証明がサインされた
トランザクションとともに伝送されるかは移動プログラ
ムの論理による。
可能なレベルの自動化のいずれかを使用して、移動プロ
グラムは販売者への購入注文(P.O.)情報をスピン
オフすることが可能である。これに引続いて、移動プロ
グラムはそれ自体の1つのバージョンまたは恐らくは単
なる文字を発生者に戻し、P.O.が送られたことを告
知する。他の情報はアーカイブか、またはさらなる処理
を待つために待合せに送られ得る。この情報は簡単なメ
ッセージ、ファイルに加えられた記録で、さもなくば恐
らくは移動プログラムがフルのトラバーサル(自動「メ
イリング」または「伝送」)を予定する。
プログラムとその関連するコンポーネントの構造を示
す。図2の移動プログラムは少なくとも以下の多重フィ
ールドのセグメントを含む。第1のヘッダセグメント2
0は好ましくはコンポーネントセグメントの各々の大き
さ、関連するプログラム(かつできれば以下に述べる他
のセグメント)の名称、日付、各コンポーネントのタイ
プ(たとえばプログラムはソース言語プログラムかまた
はプログラムは既にコンパイルされたPコードか等)、
形式の識別、それを行なうために必要なインタプリタの
バージョン、プログラム再開の適切なポイントで実行を
再開することが必要なデータ(たとえば実行スタック、
PCB等)、最も最近のトラバーサルに関連する日付、
およびプログラム許可情報(PAI)を識別する。移動
プログラム構造内の各セグメントは「各コンポーネント
のタイプおよびサイズ」フィールド「S」がヘッダセグ
メント20内に含まれることがないようにそれ自体の表
現を含み得る。本願の目的に従い、プログラム許可情報
(PAI)は関連するプログラムが行なうことが許可さ
れる動作の範囲を規定する保安情報とみなされ得る(た
とえばファイルへのアクセスの定義、プログラム呼出能
力、電子郵便発生能力、データを他のユーザへ発送する
能力、文書をリリースする能力、機械言語プログラムを
実行する能力、メモリの特定の領域をアクセスする能
力、ユーザに対し情報を表示する能力、ディジタル署名
を要求する能力、ディジタル公証装置(digital notary
public)等にアクセスする能力である)。プログラム許
可情報の性質および使用に関してのさらなる詳細につい
ては本願出願人の出願である「プログラム許可情報を利
用するコンピュータシステム法および装置」という名称
の出願(代理人事件番号264−29)に見られる。ヘ
ッダセグメント20はまた関連の移動プログラムのバー
ジョン番号を含む。
例のヘッダに従いかつ好ましくは再構築された外部の実
施プログラム言語(たとえばREXX言語)またはPA
SCALもしくはCOBOLに近いもので書かれる。プ
ログラム自体はたとえば購入注文に関連する応用に関し
たものでもよい。
手に送る能力を含む上記に述べたような特徴を有するこ
とになる。したがって、プログラム22は一人または二
人以上の受け手に入手可能な何らかの媒体を経由してそ
れ自体を先に送る命令を含むことになり、これが本明細
書中では「トラバーサル」として知られる。1つのソー
スコード命令または幾つかのPコード命令が一人または
二人以上の識別された受け手に対して移動プログラムを
結果として「トラバーサル」するのに必要かもしれな
い。図2に示される移動プログラム構造はいかなる特定
のコンピュータアーキテクチャからも独立するように設
計されておりかつ国際標準(たとえばX.209フォー
マット)に従い構成されている。
24を含む。第1のユーザにより実行される前に、変数
セグメント24はほとんど空でもよい。一度プログラム
が受け手に送られると、さらなる変数がプログラムによ
り要求されるとおりに規定されることになりそれにより
プログラムがさらに実行されると変数の数が増えること
になる。例示目的のみで、変数セグメント24は或る変
数たとえば「トータル.ドル.受領」をこの変数の実際
のデータ値とともに識別し得る。
42の各々に示される関連情報を有し得る。フィールド
32は変数名称の大きさを識別する。変数名称自体はフ
ィールド34に記憶される。変数の値の大きさはフィー
ルド36に示される。変数の値はフィールド38内にあ
る。フィールド40は変数が属する実行スタックレベル
を識別する。実行スタックレベルが識別されるのは、同
じ変数名称がプログラム内の異なるレベルに存在し得る
からである(たとえば1つの変数名称は第1のサブルー
チン内に存在してもよく、かつ同じ変数名称が別のまた
は集まったサブルーチン内に存在しかつしかも異なる定
義を有し得る)。実行スタックレベルは受け手のコンピ
ュータ内の移動プログラムを再構築して送り手のコンピ
ュータ内で有していたものと同じ論理構造をとらせるた
めに有益である。フィールド42は変数のタイプ、たと
えばストリング、8ビットバイト、整数等を識別し得る
随意のフィールドである。
変数および関連情報のディジタル署名を含み得る。こう
して、1つまたは2つ以上の変数が移動プログラムの実
行経路の間の様々な時点でとられたディジタル署名を反
映することが可能となる。本願発明の重要な局面の1つ
は、移動プログラムがどのようなタイプの情報に対して
もディジタル署名をつくり出すことが可能な点である。
この署名自体が変数として運ばれる。この署名を確証す
るためには、プログラムがサインされた正確な値を示し
(またはできれば再計算し)、その後それを署名値(こ
れも変数で表わされる)とともに通過させて移動プログ
ラムの確証署名(VERIFYSIGNATURE)機能に送ることが必
要となる。変数のディジタル署名を含むことにより、受
け手側は、データが1)不正を受けておらず、2)有効
なサインを受け、かつ3)サインした人物が適切に許可
を受けたものであったことを確証することが可能とな
る。許可をディジタル署名と関連づけるための好ましい
機構を記載する上記の米国特許第5,005,200号
を参照されたい。
200号に記載のとおり受け手によりいかなる署名でも
確証され得るように、図2のセグメント26は移動プロ
グラムに何らかのディジタル署名と関連する証明を含ん
で示される。代替的には、証明はディジタル署名ととも
に「変数」セクションに含まれ得る。
ラムが移動プログラムのユーザに属するファイルを取り
付けかつ記憶することが可能になるように記録されかつ
名前をつけられたファイル画像を含む。その後、ユーザ
のファイルは移動プログラムとともに他の先行するユー
ザのファイルとともに伝送され得る。ファイルに名前を
つけることでユーザによるファイルの後々のアクセスが
容易となりかつ移動プログラムのユーザがたとえばさら
に伝送されるファイルまたは特定のユーザが特定の状況
下で保管するファイルを識別することが可能となる。
30を含み、これはたとえば受け手が、移動構造全体の
伝送が最後に送られてからは不正を受けていないことを
確証し得るように移動構造全体のディジタル署名を含
む。移動プログラムデータ構造について記載してきた
が、ここで移動プログラムの実行の間に使用されるデー
タ構造と移動プログラムを実行するための関連ソフトウ
ェアについて説明する。実行制御領域(XCA)データ
構造が図3に示される。XCAは一度移動プログラムが
受け手により受け取られかつPコードにコンパイルされ
ると(最初からPコードで送られた場合は除く)移動プ
ログラムを実行するプログラムにより要求される情報を
特定する。
82は入来のファイル内に現われたプログラムのアドレ
スおよび大きさを識別する。本明細書全体を通して、或
るセグメントが「アドレス」または「位置」を記憶する
ものとして記述される場合には、データは物理的または
論理的アドレスでかつ実際の物理的メモリ位置を必ずし
も直接的に特定する必要がない点を認識されたい。プロ
グラムはソースまたはPコードで受け取られかつどちら
であるかについての表示が維持される。実行制御領域は
プログラムのPコード版のアドレスとその大きさを表わ
すセグメント84を含む。現在のプログラム制御ブロッ
クのアドレス(またはアドレスへのポインタ)はセグメ
ント86内で識別される。たとえば使用されるファイル
制御ブロック(FCB)のリストを移動プログラムに関
連するファイルに取り付けかつ取り外す位置はセグメン
ト88に示される。移動プログラムに取り付けられる証
明を制御するために使用される証明制御領域(CCA)
のアドレスはセグメント90内に示される。「変数」情
報表(VIT)の位置は変数を「B−ツリー」の形式で
制御かつ維持するセグメント92内に示され、このツリ
ーは各プログラム「変数」の位置を識別する階層2進ツ
リー構造である。
在する認証と許可とを確証するために使用され得る保安
情報セグメント94を含む。セグメント96はアクセス
を必要とするかもしれない入来の移動プログラムを含む
ファイルの名称を規定する。セグメント98はプログラ
ム自体が入来経路に沿ってメイルされた回数を追い続け
る。実行制御領域はまた入力パラメータセクション11
0を含み、これによりプログラムの実行に関連するパラ
メータが識別され得る。実行制御領域セグメント102
はヘッダ情報が入手可能になるように移動プログラムフ
ァイルから受け取った入力ベッダ情報を識別する。
体に取り付けまたは取り外すときに使用されるファイル
制御ブロック(FCB)のデータ構造を示す。ファイル
制御ブロックは特定のユーザのシステム内で取り付けら
れるかまたは外される特定のファイルを指すタグを識別
するタグフィールド116を含む。ファイル制御ブロッ
クもまた次のファイル制御ブロックへのポインタである
セグメント110を含む。ファイル制御ブロックはまた
関連するファイルが受け取られた移動プログラムにより
ちょうど取り付けられたものかどうか、ファイルが次の
トラバーサルの際(たとえば次のメイリング)の際に取
り外され得るか否か、ファイルが外へ出たか(すなわち
関連のファイル画像が別個のユーザファイル内にロード
されたか)どうか等の様々な状態を規定する状態セグメ
ント112と、ファイルが流れ中心(stream oriented)
のものかまたは記録中心(record oriented)のものか等
の「ファイルのタイプ」に関するインジケータとを有す
る。ファイルの他の属性はこのフィールド内で規定され
得る。
がすばやくアクセスされ得るように主の入来の移動プロ
グラムファイル内のファイルの位置に関する表示を記憶
する。セグメント118はファイルのローカル名(すな
わち移動プログラムの最も最近の受け手により識別され
たファイル名)を識別する。ファイルのローカル名は、
ファイルが取り付けられかつさらなる受け手に送られる
かまたは既に取り付けられたファイルが「外に出されて
いる」、すなわち特定のユーザにより局所的に記憶され
ている場合に典型的に与えられるものである。加えて、
図4に示されるとおり、FCBは関連ファイルのハッシ
ュを含んでもよい。当業者により理解されるとおり、ハ
ッシュとは基礎となるデータを与えられれば、コンピュ
ータでは計算が容易なはずである「1方向」機能であ
る。ハッシュ値を与えられればハッシュ機能は計算的に
は基礎となるデータを決定することもそのハッシュとし
て特定される値を有するいかなるデータをつくり出すこ
とも不可能なはずである。すべての実用目的に関して、
元のデータの集合体にハッシュ機能を与えることから得
られた値は元のデータの偽造不可能な独自のフィンガプ
リントである。元のデータがいずれかの態様で変更され
た場合には、その修正されたデータのハッシュは異なる
ものになる。
れ得る例示的プログラム制御ブロックを示す。プログラ
ム制御ブロックは1つのルーチンが他のルーチンを呼出
し、各ルーチンが関連のプログラム制御ブロックを有す
る構成化されたプログラミングコンテキストにおいて実
行されているプログラムに関する制御情報の追跡を続け
る。
プログラム実行制御スタックにおける先行するプログラ
ム制御ブロックを指し示す。プログラム制御ブロックは
現在の実行プログラム内において実行されるべき次のP
コード位置を規定するセグメント52を含みセグメント
54は行なわれた最後のPコード動作のタイプを規定す
る。セグメント56は表現評価の間に使用される表現評
価スタックに対するポインタを含む。実行スタックは、
実行スタックが表現の評価と内部状態の追跡のために使
用されるという点でプログラムスタックとは典型的に異
なっている。セグメント58はこのスタックプログラム
のレベルを規定しかつセグメント60は共有される変数
のリストに対するポインタを規定する。REXX言語に
おいては、「露出された」ステートメントが共有された
変数をアクセスするために使用され得る。
変制御ブロックデータ構造(VCB)を示す。セグメン
ト62はBツリーのうちどこに変数が位置しかつ幾つか
のポインタを含み得るかを識別する。セグメント64は
変数値の大きさを識別しかつセグメント66はその値が
メモリのどこに位置するかを示すポインタを識別する。
セグメント68は変数のタイプを識別するために随意に
使用され得る。セグメント70は移動プログラムのどの
レベルに変数が関連しているかを識別して、プログラム
が実行された後に、プログラムに関連していたいずれか
の位置を示す変数が容易に削除され得るようにする。セ
グメント76および80は変数の名称の大きさおよび名
称それぞれを識別する。
る。インタプリタ実行駆動プログラムの「ローダ」部に
より行なわれる動作のシーケンスが図7−12に示され
る。これらの動作は移動プログラムを実行するための準
備に関連する。
なわち他のプログラムにより呼出されるモード、または
情報を収集しながらノードからノードへ送られるバッチ
動作モード等の複数の異なるモードの1つにおいて実行
し得る。初期化情報は特定の動作モードおよび関連する
実行時間パラメータを識別するスタートアップ動作(1
20)の間に入力される。
2に示される移動プログラム構造がどのようにしてロー
ドされるかを示す。移動プログラムをロードする際に、
インタプリタが実行制御領域XCAと初期プログラム制
御ブロックPCBとをつくり出す。これにより入力パラ
メータへのアクセスが省かれ、変数情報表(VIT)を
ロードしかつ初期化するために与えられていた入力ファ
イルの名称が省かれる(122)。フローチャートブロ
ック122において、実行制御領域および移動プログラ
ムに関連するプログラム制御ブロックが設定される。様
々なXCAおよびPCBフィールドが引続く処理の間に
満たされる。
移動プログラムのセグメント、すなわちヘッダ、プログ
ラム、変数、証明、ファイルおよびクロージャセグメン
トのローディングを開始する。たとえばヘッダプログラ
ム等の上記の移動プログラムセグメントの各々をロード
することにより以下のように適切なデータが充填される
ことになる。
トを処理する必要があるかどうかの判断が行なわれる。
もし必要であれば、初期入力はそのセグメントに関して
読出されかつセグメントのタイプが判定され、その後セ
グメントの処理がセグメントのタイプに応じて開始され
る(126)。
るセグメントが第1のセグメントかどうかを判断するた
めのチェックが行なわれる(150)。もしそうでない
場合には、ヘッダが最初のセグメントでなければならな
いので、エラー状態が存在することになる(152)。
第1のセグメントが処理されている場合には、ヘッダが
読出されハッシュされる。ヘッダのデータがXCA内に
記憶される(154)。
分岐して図7に戻る。ローダは処理されるべきセグメン
トがまだあるかどうかを判定する(124)。もしそう
ならばブロック126が実行されて図9に示すような
「プログラム」セグメントの処理が結果として行なわれ
る。最初、ヘッダが存在するかかつまだプログラムはロ
ードされていないかどうかを判定するチェックが行なわ
れる(160)。もし答えがノーであれば、エラー状態
が存在することになる(162)。もし答えがイエスの
場合には、プログラムが読出されかつハッシュがとられ
る(164)。
はプログラムに関連するディジタル署名(および/また
はヘッダ)が確証される(166)。ディジタル署名が
適正に許可されておらずまたは確証されない場合には、
エラー状態が生じる(166)。確証が発生すると、移
動プログラムに関する保安および許可情報が蓄えられる
(170)。代替的には、このような許可情報はヘッダ
またはプログラムセグメント内に保持され得る。
ードとして送られたかどうかを判定するチェックが行な
われる。Pコードではなくソースコードが送られた場合
には、ソースコードは当業者に周知の従来技術のコンパ
イラ技術を利用してPコードにコンパイルされかつソー
スコード画像は記憶174から削除される。ブロック1
72でのチェックにかかわらず、プログラムの入来ファ
イルにおける位置−−ソースであるかPコードフォーマ
ットであるかにかかわらず−−がXCA内に蓄えられ
る。入来画像の位置および範囲を知ることで最終的な外
へ向かうトラバーサルにプログラムをコピーすることが
簡略化される。最終的には、Pコードが単にコンパイル
されたか否か、または入来ファイルから読出されたか否
かにかかわらず、Pコードの主記憶アドレスおよび大き
さが178の実行制御領域(XCA)内に設定され、そ
の後図7に示されるルーチンがブロック124に再びエ
ントリーされて、これにより図10に示す「変数」セグ
メント処理等の残ったセグメントのローディングが生じ
る。
セグメントの処理において、ヘッダおよびプログラムは
ロードされているが先行する変数は何もないかどうかを
決定するチェックが行なわれる。もしそうでない場合、
エラー条件は結果的に192になる。もしヘッダおよび
プログラムはロードされているが先行する変数が何もな
ければ、もしあればすべての変数を読出す反復処理が開
始される。194で読出すべき変数が(さらに)あるか
否かを決定するチェックが行なわれる。もし読出すべき
変数がさらにあれば、各変数について変数制御ブロック
(VCB)が図6に示されるように作成され、変数制御
ブロック(VCB)への変数識別子および値の挿入なら
びにVCBにおける或る状態条件のセットによって完成
される。さらに、変数制御ブロックは変数情報テーブル
(VIT)の適切なスポットに加えられ、そのテーブル
はすべてのプログラム変数を含む(196)。
行に関する他の変数情報が198において適切にメモリ
スタックまたはプログラム制御ブロック内にロードされ
る。代替的に、そのような「制御」情報をここよりもヘ
ッダセグメントに保持することが望ましいかもしれな
い。その後、ルーチンはブロック194に分岐して戻
り、そこでさらなる変数を読出すことが必要であるか否
かを決定するチェックが行なわれる。この処理は変数が
もはや読出される必要がなくなるまで継続し、必要がな
くなった点でルーチンは図7のブロック124に分岐し
て戻り、その結果次のセグメントをロードする。
れ(200)、証明エレメントが作成され、それは記憶
装置の証明制御エリア(CCA)に加えられる(20
2)。図11に概略的に示されるように、すべての証明
が受け取られるまでこのプロセスは反復され、その時点
でルーチンはブロック124に分岐して戻りさらなるセ
グメントの検査を行なう。
証明セグメントを伝送し、それによってプログラム認証
/許可の一部として使用される証明がプログラム変数お
よびユーザからユーザへの認証によって使用されるあら
ゆる証明とともに維持され得ることが望ましいであろ
う。
る「ファイル」セグメント処理が行なわれる。ファイル
セグメントは典型的に「変数」セグメントに追従するの
で、変数セグメントが(たとえ空であっても)既にロー
ドされたか否かを決定するチェックが行なわれる。もし
そうでなければ、エラーが検出されており、適切なエラ
ーメッセージが212で発生される。もし「変数」セグ
メントが既にロードされていれば、ブロック214に示
されるように、そのファイルに関連のファイルタグが既
にロードされたか否かを決定するチェックが行なわれ
る。もしそうであれば、216でエラーが検出され、フ
ァイルが二重にされていることを示す。
ければ、ブロック218に示されるように、ファイル制
御ブロックがファイルのために組立てられ、タグ名がセ
ットされ、移動プログラムと既に関連しているかもしれ
ない他の状態識別子がセットされ、ファイル位置が入っ
てくるファイルに関してセットされる。
ュが計算され、FCBのセグメント115に保管され
る。ファイルのサイズはFCBのセグメント114に保
管される。ファイルはこのときメモリ内にロードされる
必要がない(220)。その後、作成されているファイ
ル制御ブロックがXCAに収集されたファイル制御ブロ
ックリストに加えられ、このルーチンはブロック124
に分岐して戻り次のセグメント(恐らく「クロージ
ャ」)を処理する。
のセグメントの各々についての前のすべてのハッシュか
らハッシュが計算される(230)。すべての「セグメ
ント」材料がハッシュを施されて読出されることが認識
されるべきである。ブロック232において、230で
とられ、計算されたハッシュが、(クロージャセグメン
トに記憶されている)移動プログラムが送られたときに
加えられたハッシュと一致しているか否かを決定するチ
ェックが行なわれる。もし一致していなければ、エラー
条件は234になる。
インされた否かに関するチェックが行なわれる(23
6)。もしそうでなければ、ブロック238に示される
ように、伝送データが全くサインされないという通知を
あるいは提示するような、所望されるいかなるレベルの
機密保護をも組込む処置が行なわれる(238)。
署名が確証され、移動プログラム(および関連の購買注
文または他の形式)を実際に送った当事者を正確に識別
するメッセージがユーザに提示される。このルーチンは
次の図7のブロック124に分岐して戻る。
と、ブロック124で処理されるべきセグメントがもう
ないかが決定される。その後、クロージャがうまく受信
され、処理されたか否かを決定するチェックが行なわれ
る(128)。もしそうでなければ、このルーチンは不
首尾な有効性のチェックを行ない(130)、132で
停止を処理した後、実行を中止する。
ロージャがうまく完了したことが明らかになると、プロ
グラム実行の準備のための様々なステップが行なわれる
(134)。この点で、スタックが復元され、変数情報
テーブルおよび変数制御ブロックが復元される。プログ
ラム制御ブロックは実行再開点を含むように復元され
る。
され、Pコード命令を実際に処理する。次の問題がここ
で検討されねばならない。すなわちプログラム実行が送
り手の機械から(トラバーサルの一部として)伝送され
たときと同じ状態で有効に復元されるため、移動プログ
ラムが送る機械内にあり、送る機械自体から戻ったとこ
ろであるか、または受け手の機械で復元されたところで
あるかをいかにして区別し得るかという問題である。
ることを許容する。もしトラバーサル機能がビルトイン
機能として実現されれば、インタプリタは特別な値(た
とえば「0」)をプログラムへ、それがそれ自身をうま
く送った後に戻し、別の値(たとえば「1」)をプログ
ラムへ、その実行が受け手の機械上で復元されるときに
戻すであろう。移動プログラムはこの状況を区別するた
めにこの値をテストすることができる。この区別が行な
われ得る別の方法は、移動プログラムに「先行トラバー
サルの数」を抽出する機能を与えることによる(XCA
のセグメント98)。このトラバーサルを行なう前に、
プログラムはこの機能を使用して先行−トラバーサル−
計数機能を保管することができる。もしそれが変数の値
と一致すれば、プログラムは送り手のコンピュータで実
行が再開していることを知り、もしそれが異なっていれ
ば(1だけ大きいはずであるが)、プログラムは受け手
のコンピュータで実行が再開していることがわかる。
とき、図7−13に示されるローダルーチンは極めて少
ない変数、ファイル、または証明で、あるいはそれらな
しで実行される。したがって、前述のステップのあるも
のは最初の処理の間省略されるであろう。ローダルーチ
ンは移動プログラムが初めて実行されるか、さらなる受
け手によって実行されるかにかかわらず実行される。
われる動作を示す。これは実行されるあらゆるPコード
命令について反復される。ブロック250に示されるよ
うに、次のPコード命令のロケーションが現在のPCB
(52)から引出され、これが「現在の」Pコード動作
になる。ブロック252において、Pコード動作の長さ
が決定され、「次のPコード」位置(52)が更新さ
れ、後に続くPコード命令を反映する。この型の現在の
Pコード動作は(54)に保管される(これはインタプ
リタが正確な動作に基づいて僅かな変化しか有さない共
通ルーチンを共用するのに有用である。たとえば「コー
ル」動作および「機能呼出」動作が、機能呼出がパラメ
ータが戻されることを期待する以外は同じである。)。
に、示されるPコード動作が行なわれる。ほとんどのP
コード機能はデータ操作、論理テストおよびプログラム
フロー制御を含む。例示のみによって、このようなPコ
ード動作は変数を位置決めして、スタックにその変数を
プッシュすることと、次のPコード動作をリセットして
それによってブランチ動作において生じるであろうよう
なフロー制御を変化させることと、演算またはストリン
グ動作を行なうことと、ポップされたスタック値に基づ
いてIF/THEN/ELSE動作を行なうことと、ス
タック値に基づいてDO/ITERATE/UNTIL
/WHILE、または他の動作を行なうことと、スタッ
ク値に基づいてSELECT/WHEN/OTHERW
ISE動作を行なうことと、「END」動作を行なって
DO/WHEN/SELECT動作を閉じることとを含
んでもよい。
コード動作が詳細に説明される。ここに与えられた手引
によって、Pコード機能はインタプリタの書込の精通者
によって簡単な態様で実現され得る。
らく無視すると、好ましい設計はPコード動作がそれら
の完了時に論理「割込」を発生することを許容する。
部動作が行なわれねばならない間、中断されることを許
容する。この割込概念は好ましい設計において冗長な待
機、または外部作業が呼出されるときは常に作業記憶の
ロールアウトを容易にするために使用される。
ドルーチンから戻ると、インタプリタはルーチンが論理
割込の信号を送ったか否かを決定する。もし送っていな
ければ、250に戻り、次のPコード動作を取扱う。
8の特別なチェックが、これが特別な「EXIT」要求
であるか否かを決定するために行なわれる。もしそうで
あれば、記憶、ファイル、変数、ロードサブルーチンな
どのようなこのプログラムの終わりで解放されるべきす
べての資源がブロック260で廃棄される。260によ
って保管されているであろうPコード動作からの可能性
のある戻り値がブロック259でこの移動プログラムの
呼出人へ戻される。
ロック261はROLLOUTが行なわれるべきか否か
を決定する。たとえば或る環境において、作業記憶に
は、ユーザが入力を入れるのを完了する間、または移動
プログラムが時間間隔が満期になるのを待機している
間、または冗長な(もしくは大きい)外部プログラムが
移動プログラム論理から呼出されている間、またはディ
ジタル署名ルーチンが実行されている間(それがユーザ
入力を含むことが多いので)、ロールアウトされること
が有用である。
OUTを生じるルーチンは、それらがビルトイン機能と
して、または言語ステートメント(それら自身のPコー
ドを含む)として組込まれるか否かにかかわらず、次の
ものを含む。
え、そうすることにおいて、ユーザに多数の証明から選
択することを請求し、かつユーザに個人の署名が解読さ
れ、使用されることを許容するユーザの秘密のパスワー
ドキーを与えることを請求するであろう。
る。
レクトリなどからの選択を許容する。 NOTARIZE 時間公認装置がそれ自身のディジタル署名を与えるのを
待機する。
切であり、これらの場合、ブロック262、264、2
68におけるロールアウトおよびロールイン処理は存在
しないか、または禁止されるであろう。
コード動作はまた少なくとも3つの関連の(「コールバ
ック」)機能のアドレスを供給する。
ールアウトの準備において必要ないかなる機能も行な
う。これは一時記憶にパームフィールドを準備して・・
・へ送ることを含んでもよい。
ン。できる限り多くの作業記憶が補助記憶へロールアウ
トされた後実行する。
−ロールアウトルーチンが終了した後、および作業記憶
が補助から復元された後ロールバックの後の詳細を取扱
う。典型的にはこれは、一時記憶に残っており、かつ実
行上にロードされるか、またはプログラム変数内にコピ
ーされねばならないインター−ロールアウトルーチンに
より計算された結果値をコピーすることを含む。
ウトルーチンが呼出される。これは空のルーチンである
か、またはたとえばインター−ロールアウトルーチンの
ためのパラメータをセットアップしてもよい。
状況が適当に与えられれば、ロールアウト機能が行なわ
れる。もし行なわれれば、ROLLOUTはVCBおよ
びそれらの値、FCB、証明およびCCA、実行スタッ
ク、VIT、XCA、Pコード自体、ならびに他のいか
なるブロックをも含むすべての作業記憶を(ファイルの
ような)ある補助記憶へ書込むことからなる。インタプ
リタ自体は記憶から開放されてもよく、十分な残余プロ
グラムおよびデータがインタプリタおよび作業記憶を後
に再ロードするために残っていると仮定すると、これは
特別なブロック(264)で行なわれてもよい。
ルアウトルーチンが呼出される。典型的にはこのルーチ
ンはユーザが入力を行なうこと、または未来時間もしく
は他の事象まで待機すること、または入力を待機する、
もしくは他の遅延を引き起こす、もしくはROLLOU
Tによって空にされた大きい記憶を要求するであろう別
のプログラムを呼出すことを待機する。
ルアウトが終了した後、インタプリタが再ロードされ、
実行スタック、すべての制御ブロック、Pコードを含む
作業記憶が補助記憶から復元される。
終処理も行なわれ、動作を一掃する。たとえば、これは
典型的にインター−ロールアウトルーチンにより戻され
た結果を実行スタックへ、またはプログラム「変数」へ
コピーすることを含む。
ハンドラ(250)の先頭へ戻され、そこで次のPコー
ド命令が処理される。
が検証される。好ましい実施例のインタプリタは3つの
CALLおよび機能を取扱う。すなわちインタプリタへ
「ビルトイン」されたルーチン、移動プログラムの一部
として書込まれるルーチン、およびインタプリタまたは
プログラムの外部にあり、プログラムが実行されるとき
動的に位置決めされ、呼出されるルーチンである。
簡単に表わされ、インタプリタはPコードのインデック
スに基づき特定の機能を単に位置決めし、(インタプリ
タ内の)ルーチンのアドレスを検索し、それを呼出す。
しかし、ほとんどのものは行なわないが、幾つかのビル
トイン機能がPコード割込の信号を送るかもしれないと
いうことを認識することが重要である。この場合、ビル
トイン機能は必要なプレ−ロールアウト、インター−ロ
ールアウトおよびポスト−待機ルーチンを与えねばなら
ない。
び機能を区別し、機能の場合においてのみ実行スタック
へ結果を戻すことに備える。たとえば、SIGN機能は
供給されたデータ上で計算されたディジタル署名を表わ
す値を戻す。
への呼出/機能によって新しいPCB実行レベルが30
0で作成される。新しいPCBはルーチンのPコードエ
ントリ点へ次のPコード命令(52)をセットすること
によって、サブルーチンの開始時に実行を開始するよう
にセットされる。ルーチンの最初の命令はブロック25
0に再び入るときアクセスされるであろう。パラメータ
がプログラムルーチンのために準備され、適当な状態条
件がセットされ、PCBのプログラムレベル58が呼出
プログラムより1つ高くセットされ、PCBは今現在の
PCB(82)として実行スタックの先頭に置かれる。
プログラムルーチンの結果はPコードRETURN動作
を通して呼出人へ送られる。
ムRETURN Pコード動作がいかに動作するかが見
られる。ブロック1200はRETURNが最高の(唯
一の)レベルのPCBからつくられるかを決定し、その
場合これはEXITとして動作し、ブロック1204は
Pコード「EXIT」割込が要求されているという信号
を送り、プログラム全体のRESULTとしてブロック
261によって最終的に戻される(図15)べき値とし
て(もしあれば)戻りRESULTを送る。
て、(たとえば呼出人のPCBでフィールド54をチェ
ックすることによって)呼出人がCALLまたは機能を
使用したか否かに関する決定が行なわれ、後者の場合ブ
ロック1206がスタック上に戻りVALUEを置く
(またはRETURNがオペランドを有さなければ省略
時の値を作成する)。
が一掃され、記憶域、ファイル、変数などを含むこのサ
ブルーチンに個人的な(別名「プログラムレベル」)す
べての資源が開放される。呼出人と共用されない変数の
ような資源は開放されず、利用可能である。
が開放され、それによって呼出人のPCBが現在のもの
となり、ブロック256ヘ戻り、そこで実行が再開す
る。
み、これらは移動プログラムへディジタル署名、ユーザ
ファイルを与えることに関する特定の移動プログラム関
連機能、および他の機能を達成して、移動プログラムの
設計者がこのような機能をプログラミングすることに関
与する必要性を除去する。
ぼすRETURN機能の性能およびプログラム制御ブロ
ックに関するPROC動作を含んでもよい。インタプリ
タはこの中に説明される対話式表示方法論/言語を使用
するDISPLAY動作も行なう。インタプリタはTR
AVERSE動作も行ない、その結果すべての関連デー
タと同様別の受け手へ移動プログラムが「メイリング」
される。
めに行なわれる動作のシーケンスを例示的に示す。この
ような外部機能または呼出はインタプリタ、または移動
プログラムの一部へは組込まれないが、むしろユーザの
プログラムライブラリの一部に組込まれる。名前をつけ
られた機能または呼出は幾つかの可能性のあるライブラ
リのいずれかから354で位置決めされる。
決定するチェックが行なわれる。もしプログラムが見つ
からなければ、所望ならばプログラムが終了したか、ま
たは省略時の処置が行なわれたかを決定するチェックが
358で行なわれてもよい。もし終了の決定がなされる
と、エラーメッセージが発生され、様々なハウスキーピ
ング/クリーンアップ動作が前述のように行なわれた後
プログラムが出される(360、362)。
処置がとられるべきであると示せば、たとえば特別な省
略時機能値を戻す(368)ことによって省略時の処置
がとられ、ルーチンは図14のノード0へ分岐して戻
り、さらなるPコード命令の実行を開始する。
れたチェックの結果見つかれば、パラメータがプログラ
ムによって構成される(364)。外部ルーチンの呼出
は可能性のあるロールアウトとともにPコード割込を含
む。これは、もし外部プログラムが冗長であるか、また
はいかなる環境においてももし外部ルーチンが膨大であ
ると、複数のユーザのスワッピング環境において記憶を
保存することを許容し、したがって移動プログラムによ
って使用される記憶は外部プログラムを満足に行なうた
めに空にされるべきである。この場合、Pコード割込が
ブロック366で信号によって送られる。示されるPR
E−ROLLOUTルーチンはスタック(または変数)
から一時記憶へ外部へコピーされる。INTER−RO
LLOUTルーチンはEXTERNALルーチンを呼出
し、いかなる戻された結果をも受け、POST−WAI
Tルーチンは(もし外部ルーチンが機能として呼出され
たならば)戻された結果をスタックへコピーする。
であることが可能である。もしそうであれば、Pコード
インタプリタの既存の既にロードされた画像を使用し、
新しいパラメータの組をブロック120へ単に送ること
によって特別な最適化が行なわれてもよい(図7)。こ
の場合、特別な論理がブロック262および264に挿
入され、インタプリタのコード自体を開放することを条
件付きで回避することが必要であろう。
々な特別のビルトイン機能に注意が向けられる。これら
の多くはビルトイン機能として、またはそれら自身の特
別なPコード動作を伴う言語ステートメントとしてのい
ずれかで実行され得る。
自身を予め定められた受け手へ伝送するとき行なわれる
動作を示す。ブロック398において、いかなるプログ
ラム許可情報もまずチェックされ、トラバーサル動作が
許容されることを保証する。(僅かな移動プログラムは
移動することを許容されないかもしれないが、単に最初
の使用で終了する幾つかの機能を行なうことは許容され
ることが考えられる。)プログラムが移動することを許
容されない稀な場合には、特別な戻りコードが呼出人へ
与えられる。
AVERSE」動作を実現する。さらに、この機能は機
能の直接の呼出人へ「0」を戻し、機能が受け手のコン
ピュータで再開された後呼出人へ「1」を戻すように規
定される。先に説明したように、戻りコードのこの違い
はプログラムが送り手および受け手のコンピュータ間の
区別をすることを許容する。
TRAVERSE機能がまず実行スタック上に値「1」
を予めロードし、スタックがそのままで伝送されること
がわかる。これはしたがって移動プログラムが受け手の
コンピュータ上で再構成され、再開されたとき戻される
であろう値である。「変数」情報テーブル、処理制御ブ
ロック、様々なスタック、変数制御ブロックのようなす
べての関連の変数データが、図2に示されるフォーマッ
トのような伝送フォーマット内に集められる。
ログラムヘッダが構成され、伝送される。移動プログラ
ムはセグメントごとに伝送されるが、実際にはフィール
ドごとのフォーマットで、または所望ならば何か別の方
法で伝送され得る。好ましくは、ハッシュが各セグメン
トについてそれが伝送されるに伴いとられる。
移動プログラムとともに受取られた入力ファイルからの
いかなる許可情報も出力伝送ファイルへコピーされる。
「変数」セグメントは各変数の名前、現在値、および関
連の状態を含んで伝送される(406)。この、または
前のトラバーサル中ディジタル(許可)署名を行なう一
部として集められたいかなる証明も伝送される。それゆ
え、ディジタル署名動作が行なわれるときはいつも、4
08においてすべての関連の証明が移動プログラムの証
明セクションに収集され、伝送される。署名はプログラ
ム内で(すなわち変数制御ブロック内で)変数として保
持される。現在好ましい実施例における証明はビルトイ
ン機能呼出を介してアクセスされ得る材料として扱われ
る。
する署名および全体の伝送の署名に関する証明でさえも
証明パッケージ内に含むことが可能であろう。しかし、
これはすべての証明が証明セグメントが書込まれたとき
に明瞭にわかることが必要であり、セグメントの論理お
よび恐らく位置が最適な処理を保証するために再び順序
付けされることが必要であろう。
ムセグメント内のプログラム許可情報によりプログラム
の許可署名に関する証明と、クロージャセグメント内の
署名によりユーザからユーザへの伝送署名許可のための
証明とを保持することが好ましい。
御ブロックが調べられ、その結果410において前のト
ラバーサル中に伝送されているであろうすべてのファイ
ルおよび新たに取付けられたファイルのいかなるものの
検査も行なわれる。ブロック412において調べるべき
ファイル制御ブロックがまだあるか否かを決定するチェ
ックが行なわれる。ブロック414で調べられたファイ
ルがスケジュールされて切り離されたか否かを決定する
チェックが行なわれる。もしそうであればルーチンは4
12へ分岐して戻り、ファイルまたはファイルタグのい
ずれも伝送のためにコピーされない。もしファイルがス
ケジュールされ、切り離されなければ、416でファイ
ルタグ名が伝送内にコピーされる。
てくる移動プログラムの一部であるか否かを決定するチ
ェックが行なわれる(418)。もしそれが入ってくる
トラバーサルの一部であったと決定されれば、ファイル
自体と同様入ってくるトラバーサルからのすべてのファ
イル属性が外部への伝送ファイルにコピーされる(42
2)。422でこの入力ファイル名は実行制御エリアX
CAを介してアクセスされてもよく、ファイルの入力位
置はファイル制御ブロックに関連する。
一部ではないが、むしろ移動プログラム実行中に取付け
られたものならば、ファイル、ファイルの型、およびそ
の属性が420において伝送ファイル内にコピーされ
る。その後、ルーチンはブロック412に分岐して戻
り、すべてのファイル制御ブロックが調べられるまで、
調べるべきファイル制御ブロックがまだあるか否かを決
定する。
のものが調べられると、全体のユーザからユーザへのデ
ィジタル署名がシステムプログラムによって要求されて
いるかまたは必要とされているか否かを決定するチェッ
クが430で行なわれる。このような全体の署名は伝送
された情報との変更を検出することにおいて有用であろ
う。もし全体のディジタル署名がとられれば、伝送され
たすべての材料のハッシュ上のディジタル署名動作が行
なわれる(432)。ディジタル署名動作は米国特許第
5,005,200 号(または所望されるような関連の許可認証
属性を有さない慣用的なディジタル署名技術)の教示に
従って行なわれてもよい。ブロック432に示されるよ
うに、ハッシュは予め伝送の各部分についてとられた。
代替的にハッシュがハッシュの各々についてとられても
よいことが注目される。ディジタル署名ステップは署名
を行なうユーザ対話を含んでもよい。
グメントとして伝送の終わりに与えられる。正当性の立
証は前の材料を反映するハッシュを伝送することによっ
て与えられる。サインされたハッシュは434において
ユーザからユーザへの認証を示すべきである。最終署名
の正当性を立証するのに必要ないかなる証明も証明セグ
メント内には既になく、CLOSUREセグメントに含
まれるべきである。その後、伝送が436で閉じられ
る。
グラムのためにそれが受け手のところに到着したとき実
行スタック上に予めロードされた値「1」が除去され、
現在の呼出人へ戻されてそれがそれ自身を区別すること
を許容する値「0」と置換えられる。
に、恐らく証明を選択して個人のキーを開けるか、また
はユーザに彼のディジタル署名トークン装置を作動する
ことを求めることのようなユーザ対話を含み、図20お
よび21に説明される材料が実際に好ましい実施例にお
いてPコード割込ルーチンとして作動するであろう。一
例として、TRAVERSE機能コードがPコード割込
をトリガし、そこでブロック399から430までの論
理がPRE−ROLLOUTルーチンとして作動する
が、432のブロックは、前述のユーザ対話を必要とす
るであろうためINTER−ROLLOUTルーチンと
して作動するかもしれない。ブロックはその後(434
など)POST−WAITルーチンとして作動する。
行中に様々な受け手へ伝送することが所望されるように
設計され得る。このような多重伝送において、変数は各
伝送に先立ち適切に変更され得る。この態様において、
処理を行なう位置にあるプログラムは実現依存の態様で
各受け手について異なる。
けるための動作のシーケンスを示す。取付ファイルルー
チンは識別されたファイルタグおよび識別されたファイ
ル名に応答する。ブロック440で示されるように、同
じタグを有するファイル制御ブロックが存在するか否か
を決定するチェックが行なわれる。もしそうであれば、
同じタグを有する前のファイルが442で削除される。
てアクセス可能な既存のファイルを反映するか否かを決
定するチェックが行なわれる。この点で、移動プログラ
ムはファイルにアクセスする能力を含むプログラムが行
なうことができる動作範囲を規定するプログラム許可情
報に関するものであってもよい。
名がアクセス可能であるか否かを決定するためにチェッ
クされるであろう。もしファイル名がユーザによってア
クセス可能でなければ、エラーコード/メッセージが4
46でユーザへ戻される。
あれば、ファイル制御ブロック(FCB)が特定のタグ
およびファイル名によって組立てられ、ファイルが44
8で次の、かつ後に続く移動プログラムの伝送中に取付
けられるであろう。ルーチンはその後ファイルがうまく
取付けられていることを示して再開される。
かにして消去されるかを示す。「消去」機能が実行され
ようとするとき、機密保護コードが、プログラムがこの
ような動作を行なうことを許可されたかどうかを決定す
るためにチェックされる(450)。もし機密保護コー
ドが、プログラムが特定のファイルを消去することを許
可されたことを示せば(452)、消去動作が行なわ
れ、454でルーチンはファイルがうまく消去されたか
否かを示し、分岐して戻る。代替的に、もしプログラム
が消去動作を行なうことを許可されなければ、呼出ルー
チンが、ファイルが消去されることができないというこ
とを示すエラーメッセージとともに戻される(45
6)。
り離す際行なわれる動作のシーケンスを示す。ブロック
458に示されるように、切り離されるべきファイルに
関する識別されたタグについてファイル制御ブロックが
存在するか否かを決定するチェックが行なわれる。もし
FCBが存在しなければ、主ルーチンが、ファイルが切
り離されることができないということを示すエラーメッ
セージとともに462で戻される。もしファイル制御ブ
ロックが458で決定されるように存在すれば、ファイ
ル制御ブロックは460で削除され、主ルーチンが、フ
ァイルがうまく切り離されたということを示して戻され
る。
とき、すなわちユーザファイルへ変形されるとき行なわ
れる動作のシーケンスを示す。移動プログラムはたとえ
ば簡易言語を表わす特定のファイルをとり、移動プログ
ラムがさらなる行先へ送られた後もこのようなファイル
をユーザとともに残る受け手ユーザのファイルへ変換し
てもよい。「移出」されるべきファイルはタグおよび出
力ファイル名、ならびにもし所望であればファイルが再
び書込まれてもよいか否かを識別する再書込インジケー
タによって識別されるであろう。
のタグについて存在するか否かがチェックされる。もし
FCBが存在しなければ、適切なエラー表示コードが発
生され、呼出ルーチンが(504)へ戻る。もしFCB
が特定のタグとともに存在しなければ、ファイルが入っ
てくる移動プログラムの一部であるか否かを決定するチ
ェックが500で行なわれる。もし移出されるべきファ
イルが入ってくるトラバーサルの一部でなかったなら
ば、それはユーザによって取付けられており、既にユー
ザのファイル内に存在しているにちがいなく、したがっ
て502で新たに取付けられたファイルを移出すること
が許容されないということを示すエラーメッセージが発
生される。もしファイルが入ってくるトラバーサルの一
部であったならば、特定のファイルが既に存在している
か否かを決定するチェックが行なわれる(480)。も
しそうであれば、ブロック482で特定のファイルを再
び書込むことが許可されるか否かを決定するチェックが
行なわれる。このチェックはプログラムが(もし「オー
バライティング」がなければ)特定の既存ファイルを変
更するか、または(もし「オーバライティング」が許容
されれば)特定のファイルを消去し、作成するかいずれ
が許容されるかを決定することを含む。もしそうでなけ
ればブロック484はプログラムへアクセスエラーを戻
すために使用される。もし482のチェックが再書込を
許可すれば、ファイルがオーバライティングされるべき
か、または新たな材料がファイルの終わりに加えられる
べきかに関する決定が行なわれる(486)。もしオー
バライティングが486で示されれば、既存ファイルが
消去される(488)。もしプログラム許可機密保全情
報によって許可されれば新たなファイルが作成され、フ
ァイルの初めに書込を開始するように準備がなされる
(490)。
ないが、新たな材料データが終わりに加えられるべきで
あれば、既存のファイルの終わりに加えることを開始す
る準備がブロック492に示されるように行なわれる。
その後、データは入ってくるトラバーサルファイルにお
ける正しい位置から出力ファイルへコピーされ(49
4)、移出動作がうまく行なわれていることを示し、主
ルーチンが再び入れられる(496)。
るべきとき行なわれる動作のシーケンスが例示的に示さ
れる。ディジタル署名機能の実現において、まずディジ
タルサイン動作がブロック510で示されるようにプロ
グラムによって許可されるか否かを決定するチェックが
行なわれる。プログラムがディジタル署名動作を行なう
ことを許可されるか否かは、プログラムに関連し、かつ
プログラムが許可を与えられない動作が行なわれないこ
とを確実にするように実行するとき常に監視されるプロ
グラム許可情報によって制御される。もしディジタル署
名動作が許可されなければ、511でディジタル署名機
能を拒絶するエラーメッセージが発生される。
ブロック514においてSIGN機能が、実際の署名を
行なうことに関連するユーザ対話を行なうであろうIN
TER−ROLLOUTルーチン(図27に示される)
による受信の準備において一時記憶へ(データ内容に必
要とされる許可のような)パラメータとともにサインさ
れるべきデータの画像を移動することによってユーザ対
話の準備をする。
は後述の割込ルーチンによって信号を送られる。
ユーザへどの証明が署名動作のために使用されるべきで
あるかを請求するために表示パネルが提示されねばなら
ない。署名動作は引用によってここに明確に援用されて
いる本発明者の米国特許第5,005,200 号に従って好まし
くは行なわれる。ユーザは米国特許第5,005,200 号の線
に沿って構成されたものを含むディジタル署名動作を行
なうために広範囲の証明を所有してもよい。INTER
−ROLLOUTルーチンはブロック509で記憶の多
くがロールアウトされた後(署名ルーチン自体がむろん
記憶内に残らねばならない)、制御が与えられる。
れば、制御はブロック515に進み、サイン動作へ戻さ
れるべきエラーインジケータを発生する。もし署名を行
なうのに適当な証明が1つだけあれば、それは自動的に
(513)へ送られる。もし1つより多くの適当な証明
があれば、ユーザは選択することが求められる(51
6)。もしユーザが断れば(517)、適切なエラーイ
ンジケータが発生され、プログラムへ送られる(51
5)。さもなければ選択された適当な証明が(513)
へ送られる。
(513)。もしブロック518がユーザのトークン上
にそれが位置決めされることを決定すれば、それがディ
ジタル署名を行なうことができるようにトークンへ通信
を請求するためにステップ(524)が使用される。そ
うでなければ、ユーザの個人のキーは秘密のパスワード
フレーズ下で暗号化されたシステムにおいて位置決めさ
れる。ユーザはこのパスワードを請求され(520)、
これは個人のキーを解読するために使用される。エラー
または無効なパスワードが検出されれば、適切なエラー
メッセージが発生される。本物のユーザ以外の誰かによ
って推量することを禁じるために、正しいパスワードを
与える試行は限られた回数しか許容されない。
のキーを解読するために使用され、これはひいては必要
な許可に従ってメッセージをサインするために使用され
る。この動作の後、秘密の材料のすべての痕跡が消去さ
れ、署名および証明が一時記憶に戻される(268、図
15)。(270)において一時記憶から実行スタック
へ署名を動かすPOST−WAITルーチン(530)
へ制御が与えられる。
れ、もしうまく行なわれていれば、サインする人の証明
のプルーフ階層が得られる。証明はもし既に現われてい
なければ、(XCA(90など)に保持される)全体の
証明収集物へ加えられる。
れる動作のシーケンスを示す。移動プログラムは図28
に関連して説明される表示レイアウト能力とともに関連
される。移動プログラムのレイアウト能力は付加的に高
められた能力とともにユーザの対話式表示モードにおけ
る使用のためのアプリケーションをタイプセットするこ
とに従来関連していた機能を適用する。
ユーザとの極めて融通性のある対話を行なうための様々
な属性と関連され得るようにレイアウトされてもよい。
様々な表示に関連する動作および機能はブロック540
に要約される。表示はインタプリタの表示処理部分によ
って制御される特定のレイアウト定義処理に基づき出力
を提示する。
ルドおよびフィールドの集まりの条件属性および静的属
性の分析を含む。表示処理サブルーチンにおいて、条件
論理を使用する変数置換および反復が必要に応じて行な
われる。変数置換が許可されているが、このシステム
は、たとえフィールドがレイアウト定義によって指示さ
れるようにその最終出力位置へ流れ込まされても、入力
変数とそのフィールドが対応する変数制御ブロック(V
CB)における画面上の表示されるべき場所との間の結
合を保持する。
イタリック、様式、サイズ、下線、ブリンク、反転映
像、非表示(たとえばパスワードの隠蔽のため)、高輝
度表示などを含む属性が各フィールドへ与えられる。さ
らに、可能性のあるエラーメッセージが検出されたエラ
ー条件に適当な場所に挿入され、適切なカーソル位置が
示される。
語は画面出力の定義だけではなく入力を受け取るための
定義も許可する。ブロック542に示されるように、ア
プリケーションによって適切に、入力フィールドを許容
するユーザの端末へフィールドが書込まれる。前に述べ
たように、データ構造は、ユーザが適切な入力フィール
ドへのデータエントリーを行なった後に補助記憶へロー
ルアウトされ(544)、ロールバック(546)され
てもよい。
込の信号を実際に送り、ブロック545を関連のINT
ER−ROLLOUTルーチンとして、かつブロック5
46を関連の変数のためにVCBへ入力フィールドをマ
ップして戻さなければならないPOST−WAITルー
チンとして実行させることを含む。これはデータを一時
記憶を介して通過させることを含む。
べての関連の変数に挿入される。すべての入力フィール
ドについて548でフィールドの正当性が立証される。
それゆえ、多数のフィールドについて数字だけが入れら
れることを確実にするようにチェックが行なわれてもよ
い。同様に、入力フィールドが特定の属性を有するか否
かを決定するチェックが行なわれてもよい。
ずれかでエラーがあったか否かを決定するチェックが行
なわれる。もしエラーがあれば、エラーメッセージが発
生され、カーソルが誤ったフィールドに位置決めされ
(552)、その後ルーチンが540へ分岐して戻り、
エラーメッセージ表示を発生する。
エラーを明らかにすることができなければ、さらなるチ
ェックが行なわれ、フィールドが脈絡において正しい
(たとえば2つの隣接するフィールドが個々には正しい
が、エラー条件がフィールドの組合せに関して規定され
るかもしれない。)という相互確証が554で行なわれ
る。相互確証に基づき、フィールドが脈絡のエラーを含
むか否かに関する決定が行なわれる。もしなければ、5
58で呼出人への復帰が行なわれる。もし脈絡のエラー
があれば、エラーメッセージがブロック552に従って
発生される。
ログラムの制御下にあることが注目されるべきである。
様々な仕様、利用ルーチンおよび共通の状況の取扱いの
簡略化への便宜があってよいが、一般にいかなる可能性
のある正当性立証も可能である。フィールドの相互の正
当性立証がより意味的な関心を含んでもよく、したがっ
て特別なプログラミングを必要とする傾向がある。
れる動作のシーケンスを示す。時間遅延機能は予め定め
られた時間間隔で起きる(wake up)ために使用されても
よく、入ってくる電子郵便が到着したか否かを確かめる
チェックを行ない、それ自身をそのメイルに取付け、そ
れによって入ってくる電子データ変換を効率的に取り扱
うために使用されてもよい。したがって、このような時
間遅延機構を通して、移動プログラムはメイルが到着し
たかどうかをチェックするために特定のメイルボックス
を予め定められた時間間隔で検査し得る。もしメイルが
到着していれば、移動プログラムはさらなる受け手によ
って取扱われるべき行先へメイルを送ることができる。
代替的に、移動プログラムは(メイルのような)入って
くるデータを検査し、様々な内容のインジケータに基づ
き自動的にトラバースを行ない、メイルを適切に処理し
得るそれ自身の新しい「瞬間」を引き起こすことができ
る。むろん、最初の「瞬間」は到着するあらゆる瞬間に
実行および処理を継続し得る。
EDIトランザクションであったならば、移動プログラ
ムは(たとえばREADビルトイン機能を使用して)情
報を読出し、それを壊して離し、内部変数にし、誰によ
って処理されるべきかを決定し、適切なトラバーサルを
行なう。一度うまく送られれば、レターが処分、移動、
または記録され、プログラムはその変数をクリアし、入
力をさらに探すことを再開することができる。
後、別のプログラムを呼出し、入ってくるデータを処理
することができる。もし他方のプログラムがたまたま移
動プログラムであれば、そのプログラムは必要な入力情
報を与えられ、それ自体を取扱いに適切なようにTRA
VERSEし得る。
DIトランザクションのような入来データのための自動
ルータとして作用し、それ自体を取り扱う準備ができて
いないトランザクションを他の移動プログラムに渡すこ
とを可能にするであろう。
の移動プログラムは即座に署名を確証することができる
であろう。もし署名が有効であれば、特にそれが米国特
許第5,005,200 号に従って行なわれれば、内容に対する
許可がプログラムに基づいて画面表示され、移動プログ
ラムは自動的にインスタンスをスピンオフして、入来ト
ランザクションを処理することができるであろう。
ば、入ってくる買い注文は自動的にかつ瞬時に発送部に
送られ、注文に応じることが可能であろう。
は権限のある署名よりもむしろ単純な署名を使用した品
物であれば、特例処理またはより詳細な検査のために様
々な事務員に送られるであろう。
延ルーチンは指定された時間に対してシステムアラーム
クロックをセットする。その後、補助記憶へのデータの
オプションのロールアウトが適切なルーチンでPコード
割込をスケジューリングすることによって実行され(5
72)、その後指定された時間期間の経過後にデータの
ロールインが実行される。その後呼出ルーチンへの戻り
が発生する(576)。
ための一連の動作を示す。このディレクトリはファイル
のディレクトリまたはユーザのディレクトリなどであり
得る。はじめに、リストがすべての候補項目から580
で作成される。その後ディスプレイは582でリストの
少なくとも一部分を表示するように発生される。ユーザ
は示されたこれらの項目から選択する機会を有し(58
3、585)、その後この機能は機能結果としてかまた
は特別な変数の組のいずれかとして、選択された項目の
名前を戻す(584)。
TはPコード割込機能の使用によって実行される。この
場合、INTER−ROLLOUTルーチンはユーザが
選択肢から選択するのを待ち、入力をPOST−WAI
Tルーチンを介してプログラム変数に戻す。
がディジタル署名を実行することをどのように許容する
かを示すルーチンである。ブロック600に示されるよ
うに、ディジタル的に署名されるべきデータはプログラ
ムがアクセスすることが可能なデータに基づいて組立て
られ、これにはユーザが供給した入力、ファイルから読
出されたデータ、前のトラバーサルから蓄積されたデー
タ、ユーザの環境に基づくデータ(たとえばユーザのT
SO名)、時間、プログラムそれ自体に組込まれたデー
タ、およびビルトイン機能から引出されたデータ(たと
えばビルトインX12データディクショナリ)が含まれ
る。適切な情報がユーザに表示される(602)。ユー
ザはそれから、ブロック604に示されるように、自分
がデータにサインしたいかどうかを決定する。もしユー
ザが署名を実行したいことを示せば、システムは、図2
6に例示されるように、署名機能を呼出し、さらにユー
ザと対話し、署名を完了する(606)。その後608
でディジタル署名が発生されプログラム変数として保管
される。
は、どのようにユーザがそこに説明された移動プログラ
ム法を利用しながら、比較的少ない動作を行なって、前
述のインタプリタに組込まれた強力な機能を達成するか
をある程度示す。
報を確証するかを例証する。ブロック610に示される
ように、確証されることが期待されるデータが組立てら
れる。その後、組立てられたデータおよび保管されたデ
ィジタル署名とともに任意の可能な権限要求を有する
「確証」機能が呼出される。確証機能は米国特許第5,00
5,200 号で述べられたように、または従来のディジタル
署名動作が変数をサインするために利用される場合には
標準的なディジタル署名技術を使用して、達成され得
る。その後、ブロック回路12の処理に基づいて署名が
確証されたかどうかが決定される(614)。もしそう
であれば、プログラム実行が続行される。もしそうでな
ければ、誤り状態は616でそのデータが不当にも変更
されたか、または何からの種類のプログラミングエラー
があったことを示すことになる。戻りコードは署名が無
効であるかどうか、それが許可能力を支援したかどう
か、およびもしそうであればその許可が確認されたかど
うかをプログラムが区別することを可能にするように規
定される。
されるべきファイルを集めるかを例示す。はじめに、プ
ログラムは620でたとえばユーザにファイルのリスト
を表示することによって転送されるべきファイルを決定
する。ファイルを決定するためにユーザ対話をする必要
があるかどうか決定するためにチェックが行なわれ得る
(622)。もしイエスであれば、ユーザは624で転
送されるべきファイルを決定するように促される。もし
ファイルを決定するためにユーザ対話を行なう必要がな
ければ、全体のファイル内容は626で転送されるべき
データの組に付けられる。動作は図22に述べられた付
加された機能を使用して達成され、この図は前に説明さ
れたようにファイルコントロールブロックを構築するこ
とを含む。
読出す際に実行される移動プログラム動作を例示する。
はじめに読出されるべきデータを含むファイルが決定さ
れる(630)。その後、632でデータが指定された
ファイルから読出されプログラム変数として保管され
る。図35は移動プログラムがどのようにプログラム変
数からファイルを更新または作成し得るかを例示する。
ブロック640に示されるように、その中にデータが書
込まれるべきユーザファイルがまず決定される。その
後、642でプログラム変数をユーザファイルに書込む
機能が呼出される。
ても、データ損失、変更、損傷または露見につながり得
るプログラム機能であれば何でも、セキュリティコント
ロールの支配下にあることが理解されなければならな
い。このようなコントロールはプログラムレベルで与え
られるかまたは入来プログラムに結びつけられ、恐らく
はやはりユーザによって課せられるものと或る予め定め
られた態様で組み合わされることによって行なわれる。
動プログラムはもしプログラムがそのように権限づけら
れればユーザのデータファイルを読出すかまたは書込む
ことができるだけである。
スの機能に対して存在する。データをユーザに表示す
る。
名を実行する。
ザファイルを作成する。
ザファイルに書込む。
ルを付加する。
す。ディジタル公証装置を呼出す。
ルの内容を読出す。
来するメイルを消去する。
様々なタイプのデータ送信を行なう。
ビス(FAX、プリンタ、オフィス機器、ロボット装
置、製造装置など)に結合される。
プログラムを呼出す。
動化、消去、変更、呼出し、または付加する。
され多数の異なった受信者に送られるように設計され得
るかを例示し、図37はどのように前に分割されたプロ
グラムが併合され得るかを示す。
たとえば多数の異なった受信者からサーベイデータを獲
得するために、またはデータを集めるもしくは組織の多
数の異なった幹部にデータを分配するために、移動プロ
グラムを分割する必要があるかもしれない。はじめに、
移動プログラムは650で分割の準備をするために様々
なハウスキーピング動作を実行する。その後、変数は6
52で特定のアプリケーション要求、たとえば特定のユ
ーザによって実行されるサーベイに従って設定される。
654で行先ユーザが決定され、図20および図21に
従ってトラバース機能が呼出され、プログラムのイメー
ジ、プログラム変数とともに個々の受信者に適合された
任意の他の適切なデータを送信する。送信された変数は
インスタンス1(656)からインスタンス2(65
8)、インスタンス3(660)、そしてインスタンス
N(662)へと変化し得る。
あるかどうかを決定するためにチェックが最終的に行な
われる(664)。もしそうであれば、ルーチンは65
2に分岐して戻り、さらなる行先に送信する。もしさら
なる行先がなければ、最終的な転送が654に対して上
で説明されたのと同一の態様で666で実行され、66
8で最終的な「インスタンス」をもたらし、その後分割
動作の完了になる。
何らかの他の処理に進むこともあり得る。恐らく、もし
それが入力ディストリビュータのようなバッチ環境で実
行していれば、かつすべての入力が現在使い尽くされて
いれば(多数のユーザにスピンオフされたばかりで)、
それは何か他のものが到着するまで遅延するであろう。
ラムはそれ自体をユーザからユーザに転送して、併合動
作が完了するまでデータをさらに併合するインテリジェ
ンスを有する。はじめに、移動プログラムは併合行先に
到着し実行される(680)。これが予め定められた変
数が設定されることによって決定されるマスタ「インス
タンス」であるかどうかを決定するためにチェックが行
なわれる。もし682でこれがマスタインスタンスでな
いことが決定されれば、684でスレーブインスタンス
が識別される。(685)で、スレーブプログラムはそ
れが特別な「DEBRIEF」パラメータで呼出された
どうかをチェックし(これはいつスレーブがマスタによ
って呼出されているかを決定するためにこのプログラム
によって使用される単なる規約である)、もしそうなら
(687)、すべての適切な情報はマスタインスタンス
に戻り、退出する。もしこれがDEBRIEF呼出しで
なければ、マスタインスタンスが利用可能であるかどう
か、つまり既に到着しているかを決定するために686
でチェックが行なわれる。もしマスタインスタンスが利
用可能であれば、図18に示される呼出の使用によっ
て、696でマスタインスタンスへの呼出が行なわれ
る。マスタインスタンスが呼出された後、ルーチンはブ
ロック680に分岐して戻る。もしマスタが利用可能で
なければ、688でその連続に対するマスタコントロー
ルがまだ到着していないというメッセージが発せられ
る。
と仮定して、ブロック682で、これがマスタインスタ
ンスであることが決定され、692で何か他のスレーブ
インスタンスが到着したかどうかを決定するためにチェ
ックが行なわれる。もしそうであれば、スレーブインス
タンスは予め定められたパラメータで呼出され、694
でデータの収集を開始する(恐らく「デブリーフィング
(debriefing)」と呼ばれる)。エントリポイントAでデ
ータはインスタンスから集められ、706でマスタに戻
され、収集ファイルに書込まれる。その後呼出されたば
かりのインスタンスは708で消去され、ルーチンは6
92に分岐して戻り、その場合には他のインスタンスが
到着したかどうかのさらなる情報が集められる。
いなければ、そのファイルはすべてのインスタンスがす
べて到着したかどうかを見るためにチェックされる(6
98)。もしそれらが到着していれば、700で決定さ
れたように、データは収集から移動プログラムの変数に
読込まれ得る。収集ファイルの予想されるサイズおよび
処理の性質に依存して、その瞬間に完成されたファイル
を処理し、それ自体を次の行先にトラバースするか、ま
たはその結果を大切に保護して単純なメッセージ、恐ら
くはEDIトランザクションにし、その生のデータを単
に送信することが、マスタプログラムにとってより望ま
しいかもしれない。
をそれ自体にATTACHし、それを大量に別のプロセ
スに転送することが適切であるかもしれない。704で
そのファイルは消去され、集合体データは次の行先に送
信される。もしすべてのインスタンスがまだ到着してい
なければ、「形式が到着するのを待つ」のようなメッセ
ージが発行され(702)、ルーチンは一時的に退出さ
せられる。
情報を併合するための代替のアプローチを示す。ブロッ
ク710で示されるように、移動プログラムは併合行先
に到着し、実行される。収集されたデータは712で特
別ファイルに書込まれる。714に示されるように、す
べての他のインスタンスが到着したかどうかを決定する
ためにチェックが行なわれる。もしそうであれば、収集
されたデータは716で処理され、プログラムは718
で次の行先にトラバースし、ルーチンは退出させられ
る。もしすべての他のインスタンスが714で決定され
たように到着していなければ、「より多くの形式が到着
するまで待つ」のようなメッセージが表示され(72
0)、現在のインスタンスは722で消去され、ルーチ
ンは退出させられる。
(EDI)生成機能を収容するためにどのように設計さ
れたかを示すフローチャートである。図39は特定の
「X12」標準特徴がどのように使用され得るかをより
具体的に示す。X12標準は関連するデータディクショ
ナリおよびセグメントディクショナリを有する。X12
セグメントディクショナリは、たとえば、買い注文を規
定するために必要なすべてのセグメントを規定するため
に使用され得る。各セグメントはその後ディクショナリ
で調べられる一片のデータであるとして規定される。項
目の量を特定するために多くの異なった方法があるの
で、データの多くの変化がX12で許容される。
リをビルトイン機能と呼ばれ得るインタプリタにはめ込
む。ブロック720で示されるように、はじめセグメン
ト名前および項目「XX、YY、WW、..」を特定す
ることによってX12サブルーチンへの呼出が行なわれ
る。プログラムは組織の環境に典型的な人気のある共通
オプションにX12データコードを与えることが可能で
あり、その結果通常の使用のためにオプションの短いリ
ストを構築することが可能である。このような項目の例
は買い注文脈絡において、項目数、部品数および量であ
る。この呼出はビルトインデータディクショナリへの呼
出になる。
するためにチェックが行なわれる(724で示されるよ
うに)。もしそうであれば、セグメント名が736です
べての関連するデータオプションのセグメントディクシ
ョナリテーブルを場所決めするビルトイン機能X12S
EGLISTを呼出すために使用される。その後、X1
2DATANAMEビルトイン機能はデータディクショ
ナリを使って738で各関連する説明データを拡張する
ために使用され、長い完全なリストが740で表示され
る。
ることを示せば、X12DATANAMEデータディク
ショナリは短いリストのオプションの各々の拡張された
記述を場所決めするために使用される。その後728で
短いリストが表示される。その後ユーザが730で示さ
れたような完全な長いリストを望んでいるかどうかを決
定するためにチェックが行なわれる。もしその答えがイ
エスであれば、ブロック736は上述のように実行され
る。もしノーであれば、短いリストかまたは長いリスト
のいずれかからのユーザの選択が受け入れられる(73
2)。
定するためにブロック734でチェックが行なわれる。
もしそうであれば、我々は742で完成されたX12ト
ランザクションを組立てかつ発行し、それからそのルー
チンを退出させる。742に関連して参照される発行動
作に対して、この発明は全体の移動プログラムをメイル
することに加えて、特定の組のX12データをメイルす
る能力を熟慮する。もしすべてのデータが734のチェ
ックによって示されるように集められなければ、より多
くのデータ項目が検索され、ルーチン実行が繰返され
る。
を受信する際の移動プログラムの用途に関連する。たと
えば、特定のユーザは移動プログラムが発生した買い注
文を受信したかもしれない。はじめに、受信されたED
Iトランザクションは750で読出される。恐らくタイ
マ遅延によって、図29を使って説明されたように、入
力としてそれ自体のコピーを産出する移動プログラムが
到着する。符号化されたEDIはそれから752でプロ
グラム変数に構文解析される。受信されたEDIはそれ
から記録保管所に移動され、可能な監査のために受信さ
れたものを保存する。このセグメントは756で結合さ
れたセグメントディクショナリを経て処理される。X1
2に関連するセグメント規則は強化され、それはたとえ
ば758で特定のフィールドの或る種類のデータを有し
ないことに関連するかもしれない。各データ項目に対し
て、各セグメントに関連するデータディクショナリは7
60で場所決めされる。DESC=X12DATANA
ME(SEGCODE,DATA ITEM)である7
62で示されるようなステートメントに対して、このス
テートメントはデータディクショナリへの呼出という結
果になり、データ項目の意味のある記述を得るであろ
う。検索された意味のある記述は表示変数におかれ、そ
の結果たとえば買い注文フォーマットでの買い注文の表
示になる。すべてのデータ項目はブロック762に分岐
して戻ることによって処理され、すべてのセグメントは
756に分岐して戻ることによって処理される。
証、本発明者の米国特許第5,001,752号(引用によりこ
こに援用する)によって説明されるような公証装置、ま
たは同様に他の装置にアクセスすることが可能なビルト
イン機能を与えることによってディジタル公証機構への
アクセスを許容する。
スすることを許容することによって、移動プログラムは
データをプラットホームに移動させることが可能であ
り、そこではディジタル公証は容易にアクセスされ、そ
のようにするためにビルトイン機能を使用する。これは
重要な署名、入ってくるトラフィックのための、または
何らかの他の理由のためのタイムスタンプのための公証
を可能にする。このような公証はプログラムの厳しい制
御下にあるので、自動的であろうとユーザ要求に基づく
ものであろうと任意の基準が使用され得る。
は外へ出ていくFAXへの結合を考慮しており、その結
果電子形式は、EDIに変換されるまたは印刷されるこ
とに加えて、最終的な受信者にFAXすることも可能で
あるようにされる。
れているように、移動プログラムがEDIトランザクシ
ョンを発しているときでさえ、それは依然として後で能
動化されてもよい。一例はまずはじめに電子要求として
機能し、それから十分な是認署名の後、買い注文を発生
する移動プログラムであろう。それはその後それ自体を
保管所に送り、そこで対応するインボイスおよび請求書
が最終的に到着(電子的または他の態様で)したときに
再び能動化され、その注文を受け取った船積および請求
書と一致させるための方法として機能し得る。それはど
の項目が受け取られ、どれがまだペンディングであるか
を追跡する論理を組込み得る。それ自体を柔軟に方向づ
ける能力のために、それは多くの異なった場所に広がり
得る。船積および受取りを扱う限りにおいて、移動プロ
グラムをバーコードリーダと結合し、人間のデータ入力
なしに送りかつ受け取られる材料を実証することもまた
可能である。
ス機器および他の装置ならびに機構を含む様々な装置に
結合され得ることを想定する。
受信者に同時に送られ得る。以下のリストは好ましい実
施例が実行することが可能な上述の機能の多くを繰返し
かつ要約する(かつ幾つかの付加的な機能を識別す
る)。このリストは例示のみであり、この発明が有利に
適用され得る他の多くのアプリケーションを余すところ
なく示すことが意図されるものではない。レイアウト言
語(たとえばTxXまたはSCRIPTに類似)を使用
してユーザにデータを表示する。
PTに類似)を使用してユーザから入力を請求する。
ータのためのディジタル署名を実行する。
ータに基づいてディジタル署名を確証する。
とを恐らく含んで共同署名を処理する。
ザファイルを作成する。
ザファイルに書込む。
メイルを受信する。
ルを移動または記録する。
メイルを作成する。
それを制御する。プリンタに結合するおよびそれを制御
する。
ィオ信号を送受信することが可能なデバイスに結合する
およびそれを制御する。
プ、ディスクなど)、ロボット装置、製造装置などを含
む様々なタイプの装置にアクセスする。
バーサルによって幾つかのインスタンスに分割する。
ずに、幾つかの移動プログラムに含まれたデータを単一
の形式に再結合することが可能である。
する。外部プログラムを呼出す。
呼出す。独立して実行する機能として他の移動プログラ
ムを能動化する。
データを抽出する。プログラムの名前、他の状態などの
ような、それを実行する必要性を伴わずに他の(非実
行)移動プログラムについての情報を決定する。
抽出する。この情報はもし共同署名要求が含まれれば直
接送ることを助けるために使用される。
プログラムのコピーをつくる、またはファイルとして他
のものへ移動プログラムをATTACHする。
他のものの新しいバージョンを様々な行先に輸送するた
めに使用し、現存するインスタンスのプログラムセグメ
ントをそのプログラムのより最新のバージョンである別
のものと置換える。こうするための1つの方法は、より
新しいプログラムセグメントが現存する移動プログラム
の端部に加えられるようにすることである。現存するイ
ンタプリタ/ローダの増強は、クロージャセグメントに
従うプログラムセグメントは提案されたプログラム改訂
を反映したことを認識するであろう。どんな通常送信で
も実行された後に、提案された改訂されたプログラムに
関連するディジタル署名を実証し、もしそれらが適切な
権限を実行していれば、標準トラバーサルの一部として
到着したプログラムの代わりに新しいプログラムを使用
し始めるであろう。
ァイルをユーザファイルに出す。
ジタル公証装置にアクセスする。
ザデータを送信し(トラバーサル以外で)、その結果そ
の送信は移動プログラムそれ自体を含まないようにする
(たとえばメッセージを他の行先に単に送る)。
CT)の使用、作成、表示、構築および受信を単純化す
るためのビルトイン機能を使用して、移動プログラムの
これらの機能を供給する必要性を伴わずに、共通の情報
および機構を便利に供給する。これはデータエレメント
ディクショナリ、セグメントディクショナリ、セグメン
ト規則およびトランザクションセット自体にアクセスす
るビルトイン機能を含む。
と考えられるものと関連して説明してきたが、この発明
は開示された実施例に制限されるものではないことが理
解されなければならず、それとは反対に前掲の特許請求
の範囲の精神および範囲内に含まれる様々な修正および
等価の配列をカバーすることが意図される。
ブロック図である。
の例示的構造を示す図である。
る。
けまたはそれ自体からファイルを外す際に使用されるフ
ァイル制御ブロック(FCB)のデータ構造を示す図で
ある。
御ブロックを示す図である。
ックデータ構造(VCB)を示す図である。
ロードされる様子を示す図である。
ドされる様子を示す図である。
ドされる様子を示す図である。
ロードされる様子を示す図である。
がロードされる様子を示す図である。
表わす図である。
理を示す図である。
機能または呼出を取り扱うための処理を示す図である。
を示す図である。
れる動作のシーケンスを示す図である。
れる動作のシーケンスを示す図である。
受け手に対しメイルする際に行なわれる動作を示す図で
ある。
受け手に対しメイルする際に行なわれる動作を示す図で
ある。
ための動作のシーケンスを示す図である。
る様子を示す図である。
行なわれる動作のシーケンスを示す図である。
ときに行なわれる動作のシーケンスを示す図である。
なわれる動作のシーケンスを示す図である。
行なわれる動作のシーケンスを示す図である。
動作のシーケンスを示す図である。
のシーケンスを示す図である。
ケンスを示す図である。
ィジタル署名を行なうことが可能になる様子を示すルー
チンを示す図である。
示す図である。
収集する様子を示す図である。
行なわれる移動プログラムの動作を示す図である。
ルを更新またはつくり出し得る様子を示す図である。
つプログラムを数々の異なる受け手に対し送り得る様子
を示す図である。
る様子を示す図である。
ジする代替的方策を示す図である。
け入れるべく設計された態様を示すフローチャートであ
る。
の移動プログラムの使用について示す図である。
Claims (47)
- 【請求項1】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換可能なチャネル(12)に結合されたコミュニケーシ
ョンシステムにおいて、前記コンピュータ間で情報を処
理するための方法であって、 第1のコンピュータに一連のプログラム命令(図2、ブ
ロック22)を与えるステップを含み、プログラム命令
は第1のコンピュータによって実行され、組の命令を受
信するべき少なくとも1つの次の行先を決定する命令を
含み、前記組の命令は前記命令を添付のデータとともに
前記次の行先に送信するための命令を含み、 ディジタル値を計算するステップを含み、その内容は前
記プログラムによって実行される論理決定および処理に
基づき、さらに少なくとも1つの行先で前記ディジタル
値に基づいてディジタル署名(432)を実行するステ
ップを含む、方法。 - 【請求項2】 前記ディジタル署名は前記一連のプログ
ラム命令によって論理的に処理されることにさらされる
データとして表わされる、請求項1に記載の方法。 - 【請求項3】 前記ディジタル署名に関連するディジタ
ル証明は前記一連のプログラム命令によって論理的に処
理されることにさらされるデータとして表わされる、請
求項1に記載の方法。 - 【請求項4】 前記ディジタル署名は次の行先に送信さ
れる前記添付データの一部として含まれる、請求項1に
記載の方法。 - 【請求項5】 前記一連のプログラム命令によって前記
データを認識された標準に少なくとも部分的に従う特殊
化されたデータ構造に転換するステップをさらに含み、
それによって前記データ構造は前記命令に関係なく有用
である、請求項1に記載の方法。 - 【請求項6】 ディジタル署名およびそれが与えられる
データを、前記プログラム命令とは関係なく、処理しか
つ確証するステップをさらに含む、請求項5に記載の方
法。 - 【請求項7】 データは一連の命令の指示の下で標準化
された電子データ交換(EDI)フォーマットに転換さ
れる、請求項1に記載の方法。 - 【請求項8】 ディジタル署名が選択的に与えられ得る
情報を論理的に組立てるステップを含み、かかる情報は
それに基づいて一連のプログラム命令が動作するプログ
ラム変数として扱われる、請求項1に記載の方法。 - 【請求項9】 ディジタル署名は前記一連のプログラム
命令の制御下で呼出され得る機能として実行される、請
求項1に記載の方法。 - 【請求項10】 前記ディジタル署名機能に供給される
データは、ユーザのファイルから読出されたデータ、前
記一連のプログラム命令にビルトインされたデータ、ユ
ーザによって入力されたデータ、他の署名から得られた
データ、およびディジタル証明(514)から得られた
データのうちの任意の組に基づいて値を反映する、請求
項9に記載の方法。 - 【請求項11】 署名人によって行使された権限が適切
に行使された(434)ことの確証を可能にするのに十
分なディジタル情報を含むことによって、ディジタル署
名(432)を実行するユーザに与えられた権限の表示
をさらに含む、請求項1に記載の方法。 - 【請求項12】 ディジタル証明の収集からディジタル
署名(434)を実行する際に使用されるべき証明を選
択するステップをさらに含む、請求項1に記載の方法。 - 【請求項13】 複数個のコンピュータ(端末a、b、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されたコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 第1のコンピュータに一連の命令(図2、ブロック2
2)を与えるステップを含み、命令は第1のコンピュー
タによって実行され、組の命令を受信するべき少なくと
も1つの次の行先を決定する命令を含み、前記組の命令
は添付のデータとともに前記命令を前記次の行先に送信
するための命令を含み、 前記命令の実行によって前記コンピュータの少なくとも
1つのユーザからデータを獲得するステップと、 前記データを認識された標準に少なくとも部分的に従う
特殊化されたデータ構造に前記命令の実行を経て転換す
るステップとを含み、それによって前記データ構造は前
記命令とは関係なく有用であり、さらに前記命令の実行
を経て前記データ構造をディジタル的に署名するステッ
プを含む、方法。 - 【請求項14】 データは組の命令の指示の下で標準化
された電子データ交換(EDI)フォーマットに転換さ
れる、請求項13に記載の方法。 - 【請求項15】 EDIトランスレータを使用すること
によって転換するステップを含む、請求項13に記載の
方法。 - 【請求項16】 EDIトランスレータは前記命令の制
御下で呼出される外部モジュールである、請求項15に
記載の方法。 - 【請求項17】 前記データ構造の集合体の少なくとも
一部は前記データ構造のディジタル署名とともに組の命
令とは関係なくデータの組として送信される、請求項1
3に記載の方法。 - 【請求項18】 前記データ構造の集合体の少なくとも
一部は前記データ構造のディジタル署名とともに組の命
令とは別個にストアされる、請求項13に記載の方法。 - 【請求項19】 ディジタル署名の結果は添付データの
一部としてストアされる、請求項13に記載の方法。 - 【請求項20】 ディジタル署名の結果は組の命令が少
なくとも1つの後続の行先で実行された場合に確証され
る、請求項13に記載の方法。 - 【請求項21】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 コンピュータに組の命令を受信するべき少なくとも1つ
の次の行先を決定する一連の命令を含む第1の移動プロ
グラムを与えるステップを含み、前記組の命令は前記命
令を添付データとともに前記次の行先に送信するための
命令を含み、 少なくとも前記コンピュータのうちの1つに第2の移動
プログラム(図37:694)を与えるステップと、 第1の移動プログラムの指示の下で第2の移動プログラ
ムを実行するステップとを含む、方法。 - 【請求項22】 第1および第2の移動プログラムは同
一の組の命令の異なったインスタンスである、請求項2
1に記載の方法。 - 【請求項23】 第1および第2の移動プログラムは全
く違う組の命令を含む、請求項21に記載の方法。 - 【請求項24】 第1の移動プログラムは第2(図3
7:694)によって実行されるべき動作を規定する第
2の移動プログラムにデータを与える、請求項21に記
載の方法。 - 【請求項25】 第2の移動プログラムはデータを第1
の移動プログラム(図37:687、706)に戻す、
請求項21に記載の方法。 - 【請求項26】 移動プログラムおよびデータが様々な
コンピュータシステムおよびハードウェアアーキテクチ
ャに基づいて解釈され得るように、双方の移動プログラ
ムがハイレベル解釈フォーマットで送信される、請求項
21に記載の方法。 - 【請求項27】 解釈フォーマットは少なくとも2つの
全く違う型のコンピュータで処理することが可能であ
る、請求項26に記載の方法。 - 【請求項28】 第1の移動プログラムは第2の移動プ
ログラムをメモリから消去する、請求項21に記載の方
法。 - 【請求項29】 第2のプログラムインスタンスはその
実行後保存される、請求項21に記載の方法。 - 【請求項30】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 コンピュータに一連の命令(図2、ブロック22)を含
む第1の移動プログラムインスタンスを与えるステップ
を含み、命令はコンピュータによって実行され、組の命
令を受信するべき少なくとも1つの次の行先を決定する
命令を含み、前記組の命令は前記命令を添付データとと
もに前記次の行先に送信するための命令を含み、 前記コンピュータの少なくとも1つに前記移動プログラ
ムインスタンス(図37:694)を与えるステップ
と、 第1の移動プログラムインスタンスの命令の指示の下で
第2の移動プログラムを処理するステップとを含む、方
法。 - 【請求項31】 処理動作は第2の移動プログラムイン
スタンスを消去するステップを含む、請求項30に記載
の方法。 - 【請求項32】 処理動作は第2の移動プログラムイン
スタンス(687、706)からデータを抽出するステ
ップを含む、請求項30に記載の方法。 - 【請求項33】 処理動作は第2の移動プログラムイン
スタンスのプログラム命令を変更するステップを含む、
請求項30に記載の方法。 - 【請求項34】 処理動作は第2の移動プログラムイン
スタンスにストアされた変数の値を変更するステップを
含む、請求項30に記載の方法。 - 【請求項35】 前記第2のプログラムインスタンスは
第1のプログラムインスタンスと同一の命令を含む、請
求項30に記載の方法。 - 【請求項36】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 第1のコンピュータに一連の命令(図2、ブロック2
2)を与えるステップを含み、命令はその第1のコンピ
ュータによって実行され、組の命令を受信するべき少な
くとも1つの次の行先を決定する命令を含み、前記組の
命令は前記命令を添付データとともに前記次の行先に送
信するための命令を含み、さらに前記一連の命令の実行
に応答してファイルを選択するステップと、 前記選択されたデータファイルの内容の少なくとも一部
を前記一連の命令(図35、図36、図37、640−
642、680−708、710−732)に応答して
前記次の行先に送信するステップとを含む、方法。 - 【請求項37】 前記ファイルのデータの少なくとも一
部をディジタル的にサインするステップを含む、請求項
36に記載の方法。 - 【請求項38】 前記ファイルのデータの少なくとも一
部のハッシュ値を計算するステップを含む、請求項36
に記載の方法。 - 【請求項39】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コミュニケーシ
ョンシステムで情報を送るための方法であって、 第1のコンピュータに1組の命令(図2、ブロック2
2)を与えるステップを含み、その組の命令は前記組の
命令の複数個のインスタンスを発生し、かつ前記インス
タンスのうちの1つを添付データとともにそれぞれ受信
する少なくとも第1および第2の行先への送信を開始す
る命令を含む第1のコンピュータによって実行され、さ
らに前記第1および第2の行先に送信された前記インス
タンス内にその全く違う送信経路(図37)の間に蓄積
されたデータを後で併合する能力を含むステップを含
む、方法。 - 【請求項40】 1つのインスタンスをマスタインスタ
ンス(682)として確立するステップと、さらにマス
タを制御して他のインスタンスが併合行先に到着したと
きに他のインスタンスからデータを抽出するステップを
さらに含む、請求項39に記載の方法。 - 【請求項41】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 第1のコンピュータに一連のプログラム命令(図2、ブ
ロック22)を与えるステップを含み、そのプログラム
命令は第1のコンピュータによって実行され、その組の
命令を受信するべき少なくとも1つの次の行先を決定す
る命令を含み、前記組の命令は前記命令を添付データと
ともに前記次の行先に送信するための命令を含み、さら
に前記一連の命令が実行することを許容されるその組の
動作を修飾するステップを含む、方法。 - 【請求項42】 前記修飾手段は前記プログラムを使用
する当事者によって指定される、請求項41に記載の方
法。 - 【請求項43】 前記修飾手段は前記移動プログラムを
使用する当事者によって信頼される1つの当事者によっ
てディジタル的に署名される、請求項41に記載の方
法。 - 【請求項44】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 第1のコンピュータに一連のプログラム命令(図2、ブ
ロック22)を与えるステップを含み、その一連のプロ
グラム命令は第1のコンピュータによって実行され、そ
の組の命令を受信するべき少なくとも1つの次の行先を
決定する命令を含み、前記組の命令は前記命令を添付デ
ータとともに前記次の行先に送信するための命令を含
み、さらにユーザトークンデバイスにストアされた個人
のキーを使用することによってディジタル署名を実行す
るステップを含む、方法。 - 【請求項45】 ユーザの個人のキーがトークンデバイ
スまたはコンピュータメモリにストアされているかどう
かを決定するステップと、署名を前記トークンデバイス
で、またはユーザのコンピュータでそれぞれ処理するス
テップとを含む、請求項44に記載の方法。 - 【請求項46】 複数個のコンピュータ(端末A、B、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 第1のコンピュータに一連のプログラム命令(図2、ブ
ロック22)を与えるステップを含み、その一連のプロ
グラム命令は第1のコンピュータによって実行され、そ
の組の命令を受信するべき少なくとも1つの次の行先を
決定する命令を含み、前記組の命令は前記命令を添付デ
ータとともに前記次の行先に送信するための命令を含
み、さらに日付/時間公証を実行するステップを含む、
方法。 - 【請求項47】 複数個のコンピュータ(端末a、b、
…、N)がそれを介してコンピュータがメッセージを交
換することが可能なチャネル(12)に結合されるコミ
ュニケーションシステムにおいて、前記コンピュータ間
で情報を処理するための方法であって、 第1のコンピュータに一連のプログラム命令(図1、2
2)を与えるステップを含み、そのプログラム命令は第
1のコンピュータによって実行され、その組の命令を受
信するべき少なくとも1つの次の行先を決定する命令を
含み、前記組の命令は前記命令を添付データとともに前
記次の行先に送信するための命令を含み、さらに時間遅
延機能(図9:570)を実行するステップを含む、方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US86355292A | 1992-04-06 | 1992-04-06 | |
| US863552 | 1992-04-06 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004169277A Division JP3973647B2 (ja) | 1992-04-06 | 2004-06-08 | コミュニケーションシステムにおいてコンピュータ間で情報を処理する方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06295286A true JPH06295286A (ja) | 1994-10-21 |
| JP3898769B2 JP3898769B2 (ja) | 2007-03-28 |
Family
ID=25341285
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07930293A Expired - Fee Related JP3898769B2 (ja) | 1992-04-06 | 1993-04-06 | コミュニケーションシステムにおけるコンピュータ間で情報を処理するための方法 |
| JP2004169277A Expired - Lifetime JP3973647B2 (ja) | 1992-04-06 | 2004-06-08 | コミュニケーションシステムにおいてコンピュータ間で情報を処理する方法 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004169277A Expired - Lifetime JP3973647B2 (ja) | 1992-04-06 | 2004-06-08 | コミュニケーションシステムにおいてコンピュータ間で情報を処理する方法 |
Country Status (11)
| Country | Link |
|---|---|
| US (2) | US5390247A (ja) |
| EP (2) | EP0565314B1 (ja) |
| JP (2) | JP3898769B2 (ja) |
| AT (1) | ATE198800T1 (ja) |
| AU (1) | AU662805B2 (ja) |
| CA (1) | CA2093094C (ja) |
| DE (1) | DE69329869T2 (ja) |
| DK (1) | DK0565314T3 (ja) |
| ES (1) | ES2153371T3 (ja) |
| GR (1) | GR3035527T3 (ja) |
| PT (1) | PT565314E (ja) |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08249290A (ja) * | 1995-03-10 | 1996-09-27 | Hitachi Ltd | 分散システム |
| JPH09325928A (ja) * | 1996-06-06 | 1997-12-16 | Fuji Xerox Co Ltd | メッセージ通信方法及び装置 |
| JPH10170596A (ja) * | 1996-12-09 | 1998-06-26 | Hitachi Ltd | 絶縁機器診断システム及び部分放電検出法 |
| JPH11506233A (ja) * | 1995-05-30 | 1999-06-02 | コーポレーション フォー ナショナル リサーチ イニシアティブズ | 分散タスク実行のためのシステム |
| JPH11282684A (ja) * | 1998-03-27 | 1999-10-15 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2001209621A (ja) * | 1999-11-17 | 2001-08-03 | Internatl Business Mach Corp <Ibm> | 「モバイル・ソフトウェア・エージェント」を経由してモバイル・データ処理装置と通信するシステムおよび方法 |
| JP2002014871A (ja) * | 2000-06-29 | 2002-01-18 | Fujitsu Ltd | コンテンツチェック方法、コンテンツ更新方法、および処理装置 |
| JP2004503036A (ja) * | 2000-07-11 | 2004-01-29 | エスアーペー アクチエンゲゼルシャフト | ネットワークベースのピア・トゥ・ピアのビジネス取引のための方法、装置及びシステム |
| JP2004524780A (ja) * | 2001-04-25 | 2004-08-12 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | 小型デバイスにおける暗号署名 |
| JP2008312204A (ja) * | 2008-06-09 | 2008-12-25 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2009201133A (ja) * | 2009-04-24 | 2009-09-03 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2010218561A (ja) * | 2010-04-12 | 2010-09-30 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2011078114A (ja) * | 2010-11-10 | 2011-04-14 | Canon Inc | 画像処理装置、画像処理装置の制御方法、およびプログラム |
Families Citing this family (192)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3200877B2 (ja) * | 1991-09-03 | 2001-08-20 | 株式会社日立製作所 | オフィス情報処理システム |
| US5557780A (en) * | 1992-04-30 | 1996-09-17 | Micron Technology, Inc. | Electronic data interchange system for managing non-standard data |
| ATE177857T1 (de) | 1992-05-15 | 1999-04-15 | Addison M Fischer | Verfahren und vorrichtung zur sicherheit eines computersystem mit programmberechtigungsdatenstrukturen |
| JPH06110925A (ja) * | 1992-09-28 | 1994-04-22 | Hitachi Ltd | ネットワークで接続された計算機とその利用方法 |
| US7209901B2 (en) | 1992-12-15 | 2007-04-24 | Sl Patent Holdings Llc C/O Aol Time Warner | Method for selling, protecting, and redistributing digital goods |
| US6266654B1 (en) * | 1992-12-15 | 2001-07-24 | Softlock.Com, Inc. | Method for tracking software lineage |
| US7831516B2 (en) * | 1992-12-15 | 2010-11-09 | Sl Patent Holdings Llc | System and method for redistributing and licensing access to protected information among a plurality of devices |
| US7089212B2 (en) * | 1992-12-15 | 2006-08-08 | Sl Patent Holdings Llc | System and method for controlling access to protected information |
| AU683038B2 (en) * | 1993-08-10 | 1997-10-30 | Addison M. Fischer | A method for operating computers and for processing information among computers |
| US5475756A (en) * | 1994-02-17 | 1995-12-12 | At&T Corp. | Method of authenticating a terminal in a transaction execution system |
| US5668878A (en) * | 1994-02-28 | 1997-09-16 | Brands; Stefanus Alfonsus | Secure cryptographic methods for electronic transfer of information |
| JP2846837B2 (ja) * | 1994-05-11 | 1999-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 障害を早期検出するためのソフトウェア制御方式のデータ処理方法 |
| US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
| US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
| EP0709766A1 (en) * | 1994-10-29 | 1996-05-01 | International Business Machines Corporation | Method for the transmission of line-oriented data sets |
| JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
| DE69521977T2 (de) * | 1994-12-13 | 2002-04-04 | International Business Machines Corp., Armonk | Verfahren und System zur gesicherten Programmenverteilung |
| US5664207A (en) * | 1994-12-16 | 1997-09-02 | Xcellenet, Inc. | Systems and methods for automatically sharing information among remote/mobile nodes |
| US5878230A (en) * | 1995-01-05 | 1999-03-02 | International Business Machines Corporation | System for email messages wherein the sender designates whether the recipient replies or forwards to addresses also designated by the sender |
| US6237096B1 (en) | 1995-01-17 | 2001-05-22 | Eoriginal Inc. | System and method for electronic transmission storage and retrieval of authenticated documents |
| US7162635B2 (en) * | 1995-01-17 | 2007-01-09 | Eoriginal, Inc. | System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents |
| US5748738A (en) * | 1995-01-17 | 1998-05-05 | Document Authentication Systems, Inc. | System and method for electronic transmission, storage and retrieval of authenticated documents |
| US7743248B2 (en) * | 1995-01-17 | 2010-06-22 | Eoriginal, Inc. | System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components |
| US7143290B1 (en) | 1995-02-13 | 2006-11-28 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
| US6948070B1 (en) | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
| US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
| US20120166807A1 (en) | 1996-08-12 | 2012-06-28 | Intertrust Technologies Corp. | Systems and Methods Using Cryptography to Protect Secure Computing Environments |
| US20060206397A1 (en) * | 1995-02-13 | 2006-09-14 | Intertrust Technologies Corp. | Cryptographic methods, apparatus and systems for storage media electronic right management in closed and connected appliances |
| US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
| US7133845B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
| US20080141033A1 (en) * | 1995-02-13 | 2008-06-12 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
| CN1312549C (zh) | 1995-02-13 | 2007-04-25 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
| US7095854B1 (en) * | 1995-02-13 | 2006-08-22 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
| US7165174B1 (en) | 1995-02-13 | 2007-01-16 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management |
| US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
| US7069451B1 (en) | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
| US7124302B2 (en) | 1995-02-13 | 2006-10-17 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
| US6658568B1 (en) | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
| US7133846B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
| US20060136923A1 (en) * | 1995-05-30 | 2006-06-22 | Kahn Robert E | System for distributed task execution |
| JP4162099B2 (ja) | 1995-06-02 | 2008-10-08 | 富士通株式会社 | ウィルス感染に対処する機能を持つ装置及びその記憶装置 |
| US5812669A (en) * | 1995-07-19 | 1998-09-22 | Jenkins; Lew | Method and system for providing secure EDI over an open network |
| US7337315B2 (en) * | 1995-10-02 | 2008-02-26 | Corestreet, Ltd. | Efficient certificate revocation |
| US5699431A (en) * | 1995-11-13 | 1997-12-16 | Northern Telecom Limited | Method for efficient management of certificate revocation lists and update information |
| US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
| US20060265336A1 (en) * | 1996-02-26 | 2006-11-23 | Graphon Corporation | Automated system for management of licensed digital assets |
| US20010011253A1 (en) * | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
| US5933503A (en) * | 1996-03-15 | 1999-08-03 | Novell, Inc | Controlled modular cryptography apparatus and method |
| US5758126A (en) * | 1996-03-19 | 1998-05-26 | Sterling Commerce, Inc. | Customizable bidirectional EDI translation system |
| US6003007A (en) | 1996-03-28 | 1999-12-14 | Dirienzo; Andrew L. | Attachment integrated claims system and operating method therefor |
| US9619841B2 (en) | 1996-03-28 | 2017-04-11 | Integrated Claims Systems, Llc | Systems to assist in the creation, transmission, and processing of health insurance claims |
| US6049671A (en) | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
| US5864620A (en) * | 1996-04-24 | 1999-01-26 | Cybersource Corporation | Method and system for controlling distribution of software in a multitiered distribution chain |
| US7555458B1 (en) | 1996-06-05 | 2009-06-30 | Fraud Control System.Com Corporation | Method of billing a purchase made over a computer network |
| US20030195848A1 (en) | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
| US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
| US7590853B1 (en) | 1996-08-12 | 2009-09-15 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
| US5794234A (en) * | 1996-08-14 | 1998-08-11 | The Ec Company | Method and system for providing electronic commerce between incompatible data processing systems |
| JP3952544B2 (ja) * | 1996-09-17 | 2007-08-01 | 株式会社東芝 | 分散システム |
| CA2269342C (en) * | 1996-10-23 | 2006-09-12 | Sdgi Holdings, Inc. | Spinal spacer |
| EP0840476B1 (en) * | 1996-10-31 | 2005-08-17 | Matsushita Electric Industrial Co., Ltd. | Encrypted communication system that limits the damage caused when a secret key has been leaked |
| US6253323B1 (en) * | 1996-11-01 | 2001-06-26 | Intel Corporation | Object-based digital signatures |
| US9219755B2 (en) | 1996-11-08 | 2015-12-22 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
| 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 |
| US6367012B1 (en) * | 1996-12-06 | 2002-04-02 | Microsoft Corporation | Embedding certifications in executable files for network transmission |
| US6802061B1 (en) * | 1996-12-12 | 2004-10-05 | Microsoft Corporation | Automatic software downloading from a computer network |
| US6347398B1 (en) | 1996-12-12 | 2002-02-12 | Microsoft Corporation | Automatic software downloading from a computer network |
| US6285991B1 (en) | 1996-12-13 | 2001-09-04 | Visa International Service Association | Secure interactive electronic account statement delivery system |
| AU775197B2 (en) * | 1996-12-13 | 2004-07-22 | Visa International Service Association | Secure interactive electronic account statement delivery system |
| FR2757661B1 (fr) * | 1996-12-24 | 1999-01-22 | Gemplus Card Int | Procede de transfert securise de donnees par un reseau de communication |
| US6839842B1 (en) * | 1996-12-27 | 2005-01-04 | Intel Corporation | Method and apparatus for authenticating information |
| US5963944A (en) * | 1996-12-30 | 1999-10-05 | Intel Corporation | System and method for distributing and indexing computerized documents using independent agents |
| EP0954799B1 (en) * | 1997-01-24 | 2001-08-22 | Extricity, Inc. | A system and method for creating, executing and maintaining cross-enterprise processes |
| US6260145B1 (en) * | 1997-02-14 | 2001-07-10 | Fujitsu Limited | System and method of authentication of digital information |
| US5872848A (en) * | 1997-02-18 | 1999-02-16 | Arcanvs | Method and apparatus for witnessed authentication of electronic documents |
| US7062500B1 (en) | 1997-02-25 | 2006-06-13 | Intertrust Technologies Corp. | Techniques for defining, using and manipulating rights management data structures |
| US5920861A (en) | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
| IL133024A (en) * | 1997-05-29 | 2003-11-23 | Sun Microsystems Inc | Method and apparatus for signing and sealing objects |
| US6122372A (en) * | 1997-06-04 | 2000-09-19 | Signet Assurance Company Llc | System and method for encapsulating transaction messages with verifiable data generated identifiers |
| US5982893A (en) * | 1997-06-04 | 1999-11-09 | Simple Access Partners, Llc. | System and method for processing transaction messages |
| US6256667B1 (en) | 1997-09-29 | 2001-07-03 | Viewlocity Ab | Intelligent messaging |
| JPH1131105A (ja) * | 1997-07-10 | 1999-02-02 | Fuji Xerox Co Ltd | データカプセル生成装置および方法 |
| US6112304A (en) * | 1997-08-27 | 2000-08-29 | Zipsoft, Inc. | Distributed computing architecture |
| US6832202B1 (en) * | 1997-08-29 | 2004-12-14 | Electronic Data Systems Corporation | Method and system of routing requests for authorized approval |
| EP0907120A3 (en) * | 1997-10-02 | 2004-03-24 | Tumbleweed Software Corporation | Method amd apparatus for delivering documents over an electronic network |
| US6112181A (en) | 1997-11-06 | 2000-08-29 | Intertrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
| US7092914B1 (en) | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
| US6275937B1 (en) * | 1997-11-06 | 2001-08-14 | International Business Machines Corporation | Collaborative server processing of content and meta-information with application to virus checking in a server network |
| US6094731A (en) * | 1997-11-24 | 2000-07-25 | Symantec Corporation | Antivirus accelerator for computer networks |
| US6385627B1 (en) | 1997-11-24 | 2002-05-07 | International Business Machines Corporation | Method, apparatus and computer program product for providing document user role indication |
| CA2226062A1 (en) * | 1997-12-31 | 1999-06-30 | Ibm Canada Limited-Ibm Canada Limitee | Workflow mechanism for a stateless environment |
| JP3579240B2 (ja) * | 1998-02-13 | 2004-10-20 | 富士通株式会社 | 電子メール装置及び電子メールプログラムを記録したコンピュータ読取可能な記録媒体 |
| US6862732B1 (en) * | 1998-02-25 | 2005-03-01 | Metaserver, Inc. | Method and apparatus for event-driven processing of data |
| US7233948B1 (en) | 1998-03-16 | 2007-06-19 | Intertrust Technologies Corp. | Methods and apparatus for persistent control and protection of content |
| US6324650B1 (en) | 1998-03-16 | 2001-11-27 | John W.L. Ogilvie | Message content protection and conditional disclosure |
| US6751735B1 (en) | 1998-03-23 | 2004-06-15 | Novell, Inc. | Apparatus for control of cryptography implementations in third party applications |
| US6532451B1 (en) * | 1998-03-23 | 2003-03-11 | Novell, Inc. | Nested strong loader apparatus and method |
| US6615350B1 (en) | 1998-03-23 | 2003-09-02 | Novell, Inc. | Module authentication and binding library extensions |
| US6701433B1 (en) | 1998-03-23 | 2004-03-02 | Novell, Inc. | Method and apparatus for escrowing properties used for accessing executable modules |
| US6754822B1 (en) * | 1998-04-30 | 2004-06-22 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forshung E.V. | Active watermarks and watermark agents |
| US7046258B1 (en) * | 1998-05-28 | 2006-05-16 | Canon Kabushiki Kaisha | Display and control of permitted data processing based on control information extracted from the data |
| US6549932B1 (en) * | 1998-06-03 | 2003-04-15 | International Business Machines Corporation | System, method and computer program product for discovery in a distributed computing environment |
| US6460070B1 (en) * | 1998-06-03 | 2002-10-01 | International Business Machines Corporation | Mobile agents for fault diagnosis and correction in a distributed computer environment |
| US6553403B1 (en) * | 1998-06-03 | 2003-04-22 | International Business Machines Corporation | System, method and computer program product for monitoring in a distributed computing environment |
| US6308274B1 (en) | 1998-06-12 | 2001-10-23 | Microsoft Corporation | Least privilege via restricted tokens |
| US6308273B1 (en) | 1998-06-12 | 2001-10-23 | Microsoft Corporation | Method and system of security location discrimination |
| US6505300B2 (en) * | 1998-06-12 | 2003-01-07 | Microsoft Corporation | Method and system for secure running of untrusted content |
| US6279111B1 (en) | 1998-06-12 | 2001-08-21 | Microsoft Corporation | Security model using restricted tokens |
| US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
| CA2242130A1 (en) | 1998-08-07 | 2000-02-07 | Silanis Technology Inc. | Method for parallel approval of documents in a distributed network |
| CA2246006A1 (en) * | 1998-09-25 | 2000-03-25 | Silanis Technology Inc. | Remote template approvals in a distributed network environment |
| CA2246049A1 (en) | 1998-09-25 | 2000-03-25 | Silanis Technology Inc. | Method of creating authenticated verifiable reproductions of electronic documents |
| US6567917B1 (en) * | 1999-02-01 | 2003-05-20 | Cisco Technology, Inc. | Method and system for providing tamper-resistant executable software |
| CA2366562A1 (en) * | 1999-04-12 | 2000-10-19 | Silanis Technology Inc. | Secure electronic document creation, approval and distribution method in an open and distributed network environment |
| US6671805B1 (en) | 1999-06-17 | 2003-12-30 | Ilumin Corporation | System and method for document-driven processing of digitally-signed electronic documents |
| EP1171811A1 (en) * | 1999-04-13 | 2002-01-16 | Ilumin Corporation | System and method for document-driven processing of digitally-signed electronic documents |
| US6389537B1 (en) * | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
| US7650504B2 (en) * | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
| US7430670B1 (en) | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
| US7243236B1 (en) | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
| EP1531383A3 (en) | 1999-07-30 | 2005-07-27 | Intertrust Technologies Corp. | Methods and systems for transaction record delivery using thresholds and multi-stage protocol |
| US7406603B1 (en) | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
| US6985885B1 (en) | 1999-09-21 | 2006-01-10 | Intertrust Technologies Corp. | Systems and methods for pricing and selling digital goods |
| US6931420B1 (en) | 1999-09-24 | 2005-08-16 | Silanis Technology Inc. | Method for the separate authentication of a template and user data |
| US6954858B1 (en) * | 1999-12-22 | 2005-10-11 | Kimberly Joyce Welborn | Computer virus avoidance system and mechanism |
| NZ519959A (en) | 1999-12-24 | 2004-08-27 | Telstra New Wave Pty Ltd | A virtual token carrying rules of use, capabilities and token relational information |
| GB0003920D0 (en) * | 2000-02-21 | 2000-04-05 | Ncipher Corp Limited | Computer system |
| US7086085B1 (en) | 2000-04-11 | 2006-08-01 | Bruce E Brown | Variable trust levels for authentication |
| US7124408B1 (en) * | 2000-06-28 | 2006-10-17 | Microsoft Corporation | Binding by hash |
| JP2002032290A (ja) * | 2000-07-13 | 2002-01-31 | Canon Inc | 検査方法及び検査システム |
| US7546275B1 (en) * | 2000-07-20 | 2009-06-09 | International Business Machines Corporation | Decentralized electronic certified payment |
| US6691070B1 (en) * | 2000-11-03 | 2004-02-10 | Mack Information Systems | System and method for monitoring a controlled environment |
| US7574481B2 (en) * | 2000-12-20 | 2009-08-11 | Microsoft Corporation | Method and system for enabling offline detection of software updates |
| US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
| US20020091940A1 (en) * | 2001-01-05 | 2002-07-11 | Welborn Christopher Michael | E-mail user behavior modification system and mechanism for computer virus avoidance |
| TWI238637B (en) * | 2001-01-10 | 2005-08-21 | Ibm | Method and system for processing of documents with electronic signatures |
| US20070219918A1 (en) * | 2001-01-19 | 2007-09-20 | Jonathan Schull | System and method for controlling access to protected information |
| US6981038B2 (en) * | 2001-01-23 | 2005-12-27 | International Business Machines Corporation | Methods, systems and computer program products for determining simple network management protocol (SNMP) object identifiers in a management information base (MIB) file |
| AT4577U3 (de) * | 2001-04-13 | 2006-09-15 | It Solution Information Techno | Programmlogik für datenverarbeitungsanlagen zur medienbruchfreien fertigung und weiterverarbeitungelektronischer signaturen für strukturierte daten, die in ein grafisches layout eingebettet sind |
| CN100343847C (zh) * | 2001-06-19 | 2007-10-17 | 富士施乐株式会社 | 电子文档格式管理系统及方法 |
| US6721956B2 (en) * | 2001-07-17 | 2004-04-13 | Scientific-Atlanta, Inc. | Interactive information services system and associated method for capturing transaction data |
| US8819253B2 (en) | 2001-11-13 | 2014-08-26 | Oracle America, Inc. | Network message generation for automated authentication |
| GB2388284B (en) * | 2001-11-13 | 2004-04-28 | Sun Microsystems Inc | Message generation |
| US7137004B2 (en) | 2001-11-16 | 2006-11-14 | Microsoft Corporation | Manifest-based trusted agent management in a trusted operating system environment |
| US7370366B2 (en) | 2001-11-16 | 2008-05-06 | International Business Machines Corporation | Data management system and method |
| JP2003244138A (ja) * | 2002-02-18 | 2003-08-29 | Fujitsu Ltd | 原本作成装置及び原本性保証装置 |
| US7213269B2 (en) | 2002-02-21 | 2007-05-01 | Adobe Systems Incorporated | Application rights enabling |
| US6978276B2 (en) * | 2002-03-21 | 2005-12-20 | International Business Machines Corporation | Method and system for detaching files to a specified location |
| US8086867B2 (en) * | 2002-03-26 | 2011-12-27 | Northrop Grumman Systems Corporation | Secure identity and privilege system |
| US7184985B2 (en) * | 2002-05-30 | 2007-02-27 | Microsoft Corporation | Method, system, and apparatus for providing secure access to a digital work |
| US7278168B1 (en) | 2002-11-27 | 2007-10-02 | Adobe Systems Incorporated | Dynamic enabling of functionality in electronic document readers |
| US8660960B2 (en) | 2002-11-27 | 2014-02-25 | Adobe Systems Incorporated | Document digest allowing selective changes to a document |
| US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
| US7735144B2 (en) | 2003-05-16 | 2010-06-08 | Adobe Systems Incorporated | Document modification detection and prevention |
| US7315947B2 (en) | 2003-05-20 | 2008-01-01 | Adobe Systems Incorporated | Author signatures for legal purposes |
| JP2005149029A (ja) * | 2003-11-13 | 2005-06-09 | Matsushita Electric Ind Co Ltd | コンテンツ配信システム、コンテンツサーバ、コンテンツ受信装置、コンテンツ配信方法、プログラム及び記録媒体 |
| US7478381B2 (en) * | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
| US7574706B2 (en) * | 2003-12-15 | 2009-08-11 | Microsoft Corporation | System and method for managing and communicating software updates |
| US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
| JP4537235B2 (ja) * | 2005-03-15 | 2010-09-01 | キヤノン株式会社 | 電子メール通信装置及び電子メール通信方法並びにプログラム |
| US7702734B2 (en) * | 2005-03-15 | 2010-04-20 | Canon Kabushiki Kaisha | E-mail communication apparatus and data processing method and program |
| US20060271915A1 (en) * | 2005-05-24 | 2006-11-30 | Contentguard Holdings, Inc. | Usage rights grammar and digital works having usage rights created with the grammar |
| US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
| EP1780653B1 (en) * | 2005-10-20 | 2011-11-30 | Sap Ag | Controlled path-based process execution |
| JP4754982B2 (ja) * | 2006-02-13 | 2011-08-24 | パナソニック株式会社 | ファイル転送システム |
| US9514117B2 (en) | 2007-02-28 | 2016-12-06 | Docusign, Inc. | System and method for document tagging templates |
| US9092629B2 (en) * | 2007-04-16 | 2015-07-28 | The Directv Group, Inc. | Method and apparatus for authenticating a code image upon starting a device |
| US8655961B2 (en) | 2007-07-18 | 2014-02-18 | Docusign, Inc. | Systems and methods for distributed electronic signature documents |
| US8949706B2 (en) * | 2007-07-18 | 2015-02-03 | Docusign, Inc. | Systems and methods for distributed electronic signature documents |
| US8321933B2 (en) * | 2007-11-14 | 2012-11-27 | Caterpillar Inc. | Securing electronic control unit code |
| US8484752B2 (en) * | 2007-11-14 | 2013-07-09 | Caterpillar Inc. | Verifying authenticity of electronic control unit code |
| US8312023B2 (en) * | 2007-12-21 | 2012-11-13 | Georgetown University | Automated forensic document signatures |
| US20100106977A1 (en) * | 2008-10-24 | 2010-04-29 | Jan Patrik Persson | Method and Apparatus for Secure Software Platform Access |
| US8682998B2 (en) * | 2008-10-31 | 2014-03-25 | Software Ag | Method and server cluster for map reducing flow services and large documents |
| US8239496B2 (en) * | 2009-03-13 | 2012-08-07 | Docusign, Inc. | Systems and methods for document management transformation and security |
| JP4743297B2 (ja) * | 2009-03-16 | 2011-08-10 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置、機能拡張方法およびユーザ認証システム |
| JP4856225B2 (ja) * | 2009-09-15 | 2012-01-18 | 株式会社沖データ | 画像データ生成装置 |
| JP5411282B2 (ja) * | 2009-09-17 | 2014-02-12 | パナソニック株式会社 | 情報処理装置、管理装置、不正モジュール検知システム、不正モジュール検知方法、不正モジュール検知プログラムを記録している記録媒体、管理方法、管理プログラムを記録している記録媒体および集積回路 |
| US9251131B2 (en) | 2010-05-04 | 2016-02-02 | Docusign, Inc. | Systems and methods for distributed electronic signature documents including version control |
| US20110300516A1 (en) * | 2010-06-02 | 2011-12-08 | Microsoft Corporation | Tactile Tile Vocalization |
| WO2011156819A2 (en) | 2010-06-11 | 2011-12-15 | Docusign, Inc. | Web-based electronically signed documents |
| US9824198B2 (en) | 2011-07-14 | 2017-11-21 | Docusign, Inc. | System and method for identity and reputation score based on transaction history |
| US9268758B2 (en) | 2011-07-14 | 2016-02-23 | Docusign, Inc. | Method for associating third party content with online document signing |
| CA2841812C (en) | 2011-07-14 | 2019-09-24 | Docusign, Inc. | Online signature identity and verification in community |
| SG11201400184YA (en) | 2011-08-25 | 2014-08-28 | Docusign Inc | Mobile solution for signing and retaining third-party documents |
| US10511732B2 (en) | 2011-08-25 | 2019-12-17 | Docusign, Inc. | Mobile solution for importing and signing third-party electronic signature documents |
| US9230130B2 (en) | 2012-03-22 | 2016-01-05 | Docusign, Inc. | System and method for rules-based control of custody of electronic signature transactions |
| US10453058B2 (en) | 2014-12-17 | 2019-10-22 | Heartland Payment Systems, Inc. | E-signature |
| US10694352B2 (en) | 2015-10-28 | 2020-06-23 | Activision Publishing, Inc. | System and method of using physical objects to control software access |
| US11157626B1 (en) | 2019-05-29 | 2021-10-26 | Northrop Grumman Systems Corporation | Bi-directional chain of trust network |
| US12248504B2 (en) | 2023-05-31 | 2025-03-11 | Docusign, Inc. | Document container with candidate documents |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01195568A (ja) * | 1988-01-29 | 1989-08-07 | Hitachi Ltd | 電子化文書編集制御方式 |
| US5005200A (en) * | 1988-02-12 | 1991-04-02 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
| US5214702A (en) * | 1988-02-12 | 1993-05-25 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
| US4868877A (en) * | 1988-02-12 | 1989-09-19 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
| US4951196A (en) * | 1988-05-04 | 1990-08-21 | Supply Tech, Inc. | Method and apparatus for electronic data interchange |
| US5022080A (en) * | 1990-04-16 | 1991-06-04 | Durst Robert T | Electronic notary |
| CA2041992A1 (en) * | 1990-05-18 | 1991-11-19 | Yeshayahu Artsy | Routing objects on action paths in a distributed computing system |
| US5142578A (en) * | 1991-08-22 | 1992-08-25 | International Business Machines Corporation | Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors |
| US5164988A (en) * | 1991-10-31 | 1992-11-17 | International Business Machines Corporation | Method to establish and enforce a network cryptographic security policy in a public key cryptosystem |
| US5261002A (en) * | 1992-03-13 | 1993-11-09 | Digital Equipment Corporation | Method of issuance and revocation of certificates of authenticity used in public key networks and other systems |
| EP0578212B1 (en) * | 1992-07-07 | 2000-06-14 | Sharp Kabushiki Kaisha | Active control apparatus with an adaptive digital filter |
-
1993
- 1993-03-31 AU AU35607/93A patent/AU662805B2/en not_active Ceased
- 1993-03-31 CA CA002093094A patent/CA2093094C/en not_active Expired - Lifetime
- 1993-04-01 AT AT93302613T patent/ATE198800T1/de active
- 1993-04-01 DK DK93302613T patent/DK0565314T3/da active
- 1993-04-01 ES ES93302613T patent/ES2153371T3/es not_active Expired - Lifetime
- 1993-04-01 EP EP93302613A patent/EP0565314B1/en not_active Expired - Lifetime
- 1993-04-01 EP EP00112426A patent/EP1031908A3/en not_active Ceased
- 1993-04-01 PT PT93302613T patent/PT565314E/pt unknown
- 1993-04-01 DE DE69329869T patent/DE69329869T2/de not_active Expired - Lifetime
- 1993-04-06 JP JP07930293A patent/JP3898769B2/ja not_active Expired - Fee Related
- 1993-09-20 US US08/123,676 patent/US5390247A/en not_active Expired - Lifetime
-
1994
- 1994-01-05 US US08/174,154 patent/US5337360A/en not_active Expired - Lifetime
-
2001
- 2001-03-08 GR GR20010400366T patent/GR3035527T3/el unknown
-
2004
- 2004-06-08 JP JP2004169277A patent/JP3973647B2/ja not_active Expired - Lifetime
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08249290A (ja) * | 1995-03-10 | 1996-09-27 | Hitachi Ltd | 分散システム |
| JPH11506233A (ja) * | 1995-05-30 | 1999-06-02 | コーポレーション フォー ナショナル リサーチ イニシアティブズ | 分散タスク実行のためのシステム |
| JPH09325928A (ja) * | 1996-06-06 | 1997-12-16 | Fuji Xerox Co Ltd | メッセージ通信方法及び装置 |
| JPH10170596A (ja) * | 1996-12-09 | 1998-06-26 | Hitachi Ltd | 絶縁機器診断システム及び部分放電検出法 |
| US7633643B2 (en) | 1998-03-27 | 2009-12-15 | Canon Kabushiki Kaisha | Image processing apparatus, control method thereof, and storage medium storing control program, with interpreter for program objects represented in byte codes, and with application programming interface function programs used commonly by program objects |
| US7259883B2 (en) | 1998-03-27 | 2007-08-21 | Canon Kabushiki Kaisha | Image processing apparatus, control method of image processing apparatus, and storage medium storing therein control program for image processing apparatus |
| JPH11282684A (ja) * | 1998-03-27 | 1999-10-15 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| US7973963B2 (en) | 1998-03-27 | 2011-07-05 | Canon Kabushiki Kaisha | Image forming apparatus, method of controlling image forming apparatus, and memory medium for storing computer program for executing method, with function program providing API |
| US8300253B2 (en) | 1998-03-27 | 2012-10-30 | Canon Kabushika Kaisha | Image forming apparatus, method of controlling image forming apparatus, and memory medium for storing computer program for executing method, with interpreter for control programs that are provided for execution on OS-independent platform |
| JP2001209621A (ja) * | 1999-11-17 | 2001-08-03 | Internatl Business Mach Corp <Ibm> | 「モバイル・ソフトウェア・エージェント」を経由してモバイル・データ処理装置と通信するシステムおよび方法 |
| JP2002014871A (ja) * | 2000-06-29 | 2002-01-18 | Fujitsu Ltd | コンテンツチェック方法、コンテンツ更新方法、および処理装置 |
| JP2004503036A (ja) * | 2000-07-11 | 2004-01-29 | エスアーペー アクチエンゲゼルシャフト | ネットワークベースのピア・トゥ・ピアのビジネス取引のための方法、装置及びシステム |
| JP2004524780A (ja) * | 2001-04-25 | 2004-08-12 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | 小型デバイスにおける暗号署名 |
| JP2008312204A (ja) * | 2008-06-09 | 2008-12-25 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2009201133A (ja) * | 2009-04-24 | 2009-09-03 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2010218561A (ja) * | 2010-04-12 | 2010-09-30 | Canon Inc | 画像処理装置、画像処理装置の制御方法、および記憶媒体 |
| JP2011078114A (ja) * | 2010-11-10 | 2011-04-14 | Canon Inc | 画像処理装置、画像処理装置の制御方法、およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0565314B1 (en) | 2001-01-17 |
| DE69329869T2 (de) | 2001-08-16 |
| US5390247A (en) | 1995-02-14 |
| EP1031908A2 (en) | 2000-08-30 |
| DK0565314T3 (da) | 2001-03-19 |
| JP2004348751A (ja) | 2004-12-09 |
| EP1031908A3 (en) | 2004-12-15 |
| US5337360A (en) | 1994-08-09 |
| JP3898769B2 (ja) | 2007-03-28 |
| PT565314E (pt) | 2001-05-31 |
| CA2093094A1 (en) | 1993-10-07 |
| AU662805B2 (en) | 1995-09-14 |
| ATE198800T1 (de) | 2001-02-15 |
| EP0565314A3 (ja) | 1994-01-19 |
| CA2093094C (en) | 2000-07-11 |
| AU3560793A (en) | 1993-10-07 |
| JP3973647B2 (ja) | 2007-09-12 |
| GR3035527T3 (en) | 2001-06-29 |
| EP0565314A2 (en) | 1993-10-13 |
| DE69329869D1 (de) | 2001-02-22 |
| ES2153371T3 (es) | 2001-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3898769B2 (ja) | コミュニケーションシステムにおけるコンピュータ間で情報を処理するための方法 | |
| US5748960A (en) | Method and apparatus for validating travelling object-oriented programs with digital signatures | |
| US7093132B2 (en) | Method and apparatus for protecting ongoing system integrity of a software product using digital signatures | |
| EP0674253A1 (en) | Shared file editing system with file content secrecy, version management and asynchronous editing | |
| CN110874739A (zh) | 实现高完整性、高带宽、低延迟、安全处理的分布式计算和存储网络 | |
| US20050231738A1 (en) | Electronic document management system | |
| WO2019234446A1 (en) | Annotations for protocol flow implementing transactions of a distributed ledger system | |
| CN112565369B (zh) | 一种智能合约实现方法、应用服务节点、存储介质及系统 | |
| US6282535B1 (en) | Digital signaturing method and system for wrapping multiple files into a container for open network transport and for burning onto CD-ROM. | |
| KR102866653B1 (ko) | 탈중앙 아이디와 검증가능 자격증명을 이용한 분산 워크플로우 시스템 및 방법 | |
| JP3705891B2 (ja) | コンピュータシステム | |
| EP1599964B1 (en) | Authenticity of an electronic document containing active content | |
| HK1030662A (en) | Method and apparatus for creating, supporting, and using travelling programs | |
| CN100456312C (zh) | 具有验证功能的电子文档 | |
| KR20260015057A (ko) | 사용자 계정 관리 방법 및 그 시스템 | |
| AU722119B2 (en) | A method for operating computers and for processing information among computers | |
| JPS63153633A (ja) | プログラムの利用制限方式 | |
| Sherlock et al. | Com beyond microsoft: Designing and implementing com servers on compaq platforms | |
| JP2001325038A (ja) | サンプルパターン提供システム用制御装置及び表示装置 | |
| Fischer | WORKFLOW. 2000---ELECTRONIC DOCUMENT AUTHORIZATION IN PRACTICE | |
| Brackin et al. | Romulus, A Computer Security Properties Modeling Environment: Romulus Theories. Volume 4. | |
| Watson et al. | An Automated Invoicing System for Online Interlibrary Loan Requests | |
| JP2001056838A (ja) | 会計データの装置間対話処理方式、コンピュータ装置、会計データの対話処理プログラムの記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031209 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040303 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040308 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040608 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040928 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041214 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050309 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050520 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20060303 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061030 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061222 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |