[go: up one dir, main page]

JPH07200317A - Operation right management device - Google Patents

Operation right management device

Info

Publication number
JPH07200317A
JPH07200317A JP5349335A JP34933593A JPH07200317A JP H07200317 A JPH07200317 A JP H07200317A JP 5349335 A JP5349335 A JP 5349335A JP 34933593 A JP34933593 A JP 34933593A JP H07200317 A JPH07200317 A JP H07200317A
Authority
JP
Japan
Prior art keywords
thread
change
memory area
operation right
authority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5349335A
Other languages
Japanese (ja)
Inventor
Toshinari Takahashi
俊成 高橋
Toshio Okamoto
利夫 岡本
Atsushi Fukumoto
淳 福本
Shiyoukou Shin
承昊 申
Hideki Yoshida
英樹 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP5349335A priority Critical patent/JPH07200317A/en
Publication of JPH07200317A publication Critical patent/JPH07200317A/en
Priority to US08/779,118 priority patent/US5892944A/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】 スレッドの操作権管理の柔軟化を目的とす
る。 【構成】 本発明は、複数の並行して実行されるスレッ
ドによりプログラムを実行する手段と、各スレッドに対
する操作を、この操作を行う主体となるスレッドまたは
ユーザ、もしくはこの操作を行う主体が存在するメモリ
領域またはプログラムの少なくともいずれかに基づい
て、許可するか否かを指示する操作権情報を記憶する手
段とを備える操作権管理装置において、前記操作権情報
の変更を、この変更を行う主体となるスレッドまたは、
ユーザもしくはこの変更を行う主体が存在するメモリ領
域またはプログラムの少なくともいずれかに基づいて、
許可するか否かを示す変更権情報を記憶する手段と、前
記操作権情報の変更を実行する前に、記憶された前記変
更権情報を参照して、この変更が許可されるか否かを検
証する手段とを具備したことを特徴とする。
(57) [Summary] [Purpose] The purpose is to make the management of thread operation rights flexible. According to the present invention, there are means for executing a program by a plurality of threads that are executed in parallel, and a thread or a user who is an entity that performs this operation, or an entity that performs this operation. In an operation right management device including a means for storing operation right information for instructing whether to permit or not based on at least one of a memory area and a program, the operation right information is changed by a main body that makes this change. Becomes a thread or
Based on the memory area and / or program where the user or the entity making this change exists,
Means for storing change right information indicating whether or not to permit, and before executing the change of the operation right information, refer to the stored change right information to determine whether or not this change is permitted. And means for verifying.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、計算機システム中での
メモリ領域またはスレッドへの操作権を管理する操作権
管理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an operation right management device for managing an operation right to a memory area or a thread in a computer system.

【0002】[0002]

【従来の技術】近年マイクロプロセッサの性能向上によ
り複数の小型のコンピュータをネットワークでつないで
使用することが通常のこととなり、ネットワーク結合さ
れた計算機やユーザー同士での協調作業が可能となり、
操作権の管理を厳密に行う必要が出てきた。
2. Description of the Related Art In recent years, it has become common to use a plurality of small computers by connecting them to a network due to improvement in the performance of microprocessors, and it becomes possible for computers and users connected to each other to cooperate with each other.
It has become necessary to strictly manage the operation right.

【0003】またオブジェクト指向技術の進歩やサーバ
・クライアント・モデルのような新しいパラダイムの出
現により、従来の記憶装置やファイルを単位とした操作
権管理では十分な性能が得られなくなってきた。
Further, due to the progress of the object-oriented technology and the emergence of a new paradigm such as the server / client model, it has become impossible to obtain sufficient performance in the conventional operation right management for each storage device or file.

【0004】こういった問題を解決するために、単一仮
想記憶などの技術により、メモリやCD−ROMやハー
ドディスク・ドライブのような記憶装置、さらにはディ
スプレイやキーボードといったあらゆる計算機資源を同
一の概念で管理するオペレーティング・システムの設計
が試みられている。中でも、各種の資源を同一の仮想空
間上に配置する単一仮想記憶の技術は特徴的なものであ
る。さらに、この単一仮想記憶をいくつかのブロックに
分割し、ブロック単位で操作権を管理する方法が提案さ
れている。この管理単位を「メモリ領域」と呼び、あら
ゆる記憶装置の操作権管理の単位として用いられる。
In order to solve such a problem, by using a technique such as a single virtual memory, a memory, a storage device such as a CD-ROM or a hard disk drive, and all computer resources such as a display and a keyboard have the same concept. Attempts have been made to design an operating system that is managed by. Among them, the technique of single virtual memory in which various resources are arranged in the same virtual space is characteristic. Further, a method has been proposed in which this single virtual memory is divided into several blocks and the operation right is managed in block units. This management unit is called a "memory area" and is used as a unit for managing the operation right of all storage devices.

【0005】一方、オペレーティング・システムはマイ
クロ・カーネル技術の定着により、プログラムの実行を
管理するスレッドという単位を使って管理するのが一般
的になりつつある。すなわち、プログラム実行の制御対
象としてプロセスまたはスレッドと呼ばれる制御単位が
用いられる。個々のスレッドは独立にプロセッサのレジ
スタ値やスタックなどを持ち、オペーレーティング・シ
ステムによりプロセッサを割り当てられた間だけプログ
ラムを実行し、一定時間後またはハードウェア割り込み
などが発生したときにオペレーティング・システムはス
レッドに対するプロセッサの割り当てを解除して他のス
レッドへプロセッサを割り当てる。個々のスレッドは独
立したレジスタ値を持っているため、仮想的に並列に動
いているプロセッサであるとみなすことができる。
On the other hand, with the establishment of the micro kernel technology, the operating system is generally managed by using a unit called a thread for managing the execution of a program. That is, a control unit called a process or thread is used as a control target of program execution. Each thread has its own register value, stack, etc. of the processor, executes the program only while the processor is allocated by the operating system, and the operating system after a certain period of time or when a hardware interrupt occurs. Deallocates a processor to a thread and allocates a processor to another thread. Since each thread has an independent register value, it can be regarded as a processor that operates virtually in parallel.

【0006】このようなオペレーティングシステムで
は、メモリ領域とスレッドという二つの概念を単位とし
て計算機資源を構成し、そこへの操作権を管理する情報
もACL(Access Control List)という形で各メモリ領
域および各スレッドに付随させて管理することが行われ
る。
In such an operating system, a computer resource is configured in units of two concepts of a memory area and a thread, and information for managing operation right to the computer resource is also in the form of ACL (Access Control List). Management is performed in association with each thread.

【0007】例えば、スレッドの場合を例に説明する
と、スレッド自体を操作したいとき、すなわちスレッド
の実行を一時停止したり再開したりしたいときやスレッ
ドを強制的に消滅させたいとき、またはスレッドの情報
(レジスタ値やスタック等の内部状態)を調べたいとき
のため、オペレーティングシステムはスレッド操作命令
群を備えており、あるスレッドから別のスレッドを操作
することが可能である。このようなスレッド操作命令群
は、ユーザプログラムからシステムコールとしてオペレ
ーティング・システムに指示し、利用できるようになっ
ている。
For example, in the case of threads, when it is desired to operate the threads themselves, that is, to suspend or resume the execution of the threads, to forcibly delete the threads, or information on the threads. The operating system is provided with a thread operation instruction group in order to examine (internal state of register value, stack, etc.), and one thread can operate another thread. Such a thread operation instruction group can be used by instructing the operating system as a system call from a user program.

【0008】このようなスレッド操作命令があるとき
に、どのスレッドからでもスレッド操作命令を発行でき
るようにすると、不当な操作もできることになってしま
うので保護の機能が必要になる。たとえばスレッドを強
制的に消滅させるようなことは特定の権限を持つスレッ
ドだけから行えるようにすることが必要になる。
If any thread can issue a thread operation instruction when there is such a thread operation instruction, an illegal operation can be performed, so a protection function is required. For example, it is necessary to allow a thread to be forcibly killed only by a thread with a specific privilege.

【0009】さらに、仮想空間が複数あり、仮想空間ご
とに1つのプログラムやデータが配置されており、スレ
ッドもその空間内しか動きまわれないようなMach
(参考文献:「分散オペレーティング・システム」前川
守他編、共立出版)をはじめとするオペレーティング・
システムの場合、同じ空間内に存在するスレッドの保護
を同一とし、スレッドの保護をメモリ空間の保護に依存
する方法をとっている。
Furthermore, there are a plurality of virtual spaces, one program and one data are arranged in each virtual space, and the threads are moved only within that space.
(Reference: "Distributed Operating Systems" edited by Mamoru Maekawa et al., Kyoritsu Shuppan)
In the case of the system, the protection of threads existing in the same space is made the same, and the protection of threads depends on the protection of memory space.

【0010】しかし、それらのスレッドを区別して保護
することはできない。また、単一仮想空間のシステムの
ように、1つのアドレス空間内にすべてのプログラムが
配置され、複数のスレッドが存在する場合、スレッドの
保護はメモリ保護だけではなくオペレーティングシステ
ムによる権限の設定が必要になる。
However, the threads cannot be protected separately. When all programs are placed in one address space and there are multiple threads, as in a single virtual space system, thread protection requires not only memory protection but also permission setting by the operating system. become.

【0011】この問題のひとつの解決法は、スレッドの
所有者を決めて、同一の所有者のスレッド間ではスレッ
ドの操作を許す方式であり、Unixオペレーティングシス
テムのsignalはこれに相当する。しかしこれでは同一の
所有者のスレッド間の保護の柔軟性に欠け、さらに、操
作権限を他の所有者のスレッドに渡すことができない。
また、複数の所有者のスレッドからのスレッド操作を可
能にしたりできないなど、柔軟にスレッドの操作ができ
るようなスレッド保護機能が不足していた。
One solution to this problem is to determine the owner of a thread and allow the threads to operate between threads of the same owner, and the signal of the Unix operating system corresponds to this. However, this lacks the flexibility of protection between threads of the same owner, and further, cannot pass the operation privilege to threads of other owners.
In addition, there is a lack of a thread protection function that enables flexible thread operation, such as enabling or disabling thread operations from threads owned by multiple owners.

【0012】また、一方ではデータ・ファイルへの操作
権の多彩な設定ができるように、ファイルやディレクト
リに対するACLに、情報の追加権、削除権、ACLの
変更権などのさまざまな情報を付加して柔軟性を高めよ
うとするDCE(参考文献:OSF DCE技術解説、
ソフトリサーチセンター)のような試みもあるが、やは
り複数の所有者にメモリ領域のACLの管理を行わせる
ような柔軟な保護機能は不足している。
On the other hand, various information such as information addition right, deletion right, ACL change right, etc. are added to the ACL for the file or directory so that various operation rights can be set for the data file. DCE (Reference: OSF DCE technical explanation,
Although there is an attempt by the Soft Research Center), a flexible protection function that allows a plurality of owners to manage the ACL of the memory area is also lacking.

【0013】[0013]

【発明が解決しようとする課題】以上述べてきたことに
基づいて従来の操作権管理装置の主要な課題をまとめる
と次のようになる。
Based on the above, the main problems of the conventional operation right management device are summarized as follows.

【0014】(1)従来、スレッドに対する操作を、こ
の操作を行う主体や、この操作を行う主体が存在するメ
モリ領域などに基づいて、許可するか否かを指示する方
法は試みられている。しかし、スレッドに対するこの操
作権情報を変更する権利については、例えば、そのスレ
ッドの所有者には認める、あるいはルートと呼ばれる特
別のユーザにのみ認める、といった単純な管理しか行う
ことができなかった。
(1) Conventionally, there has been attempted a method of instructing whether or not a thread operation is permitted based on the subject who performs this operation, the memory area in which the subject who performs this operation exists, and the like. However, with respect to the right to change the operation right information for a thread, for example, the owner of the thread is allowed, or only a special user called a root is allowed to perform a simple management.

【0015】(2)また、従来、実メモリ、仮想メモ
リ、データ・ファイルなどのメモリ領域に対する操作を
行う主体や、この操作を行う主体が存在するメモリ領域
などに基づいて、許可するか否かを指示する方法は試み
られている。しかし、メモリ領域に対するこの操作権情
報を変更する権利については、例えば、そのメモリ領域
の所有者には認める、あるいはルートと呼ばれる特別の
ユーザにのみ認める、といった単純な管理しか行うこと
ができなかった。
(2) Further, conventionally, whether or not to permit is based on the entity that operates the memory area such as the real memory, virtual memory, and data file, and the memory area where the entity that performs this operation exists. The method of directing is being tried. However, with regard to the right to change this operation right information for a memory area, for example, the owner of the memory area is allowed, or only a special user called the root is allowed to perform a simple management. .

【0016】(3)さらに、スレッドやメモリに対する
操作権を柔軟に記述し、かつ、同様に変更権をも柔軟に
記述すると、柔軟な記述ができるようになる反面、スレ
ッドやメモリに対する保護のためのデータ量が多くな
り、その管理が複雑になるという欠点を持つという問題
がある。
(3) Furthermore, if the operation right to the thread and the memory is flexibly described and the change right is also flexibly described, the flexible description becomes possible, but for the protection of the thread and the memory. However, there is a problem that it has a drawback that the amount of data is large and its management becomes complicated.

【0017】このように、従来の操作権管理装置では、
メモリ領域単位での操作権限の設定ができなかったり、
操作権限の設定の面で柔軟性に欠けたり、または、同一
の仮想アドレス空間を共有しているスレッド間では保護
が無かったか、または制約が強かった。
As described above, in the conventional operation right management device,
You can not set the operation authority in the memory area unit,
It was inflexible in the setting of operation authority, or there was no protection between threads sharing the same virtual address space, or there was a strong restriction.

【0018】本発明は、上記課題を考慮してなされたも
のであり、別々の仮想空間にいるスレッド間はもとよ
り、同一仮想アドレス空間を共有しているスレッド間で
のスレッド操作命令あるいは個々のメモリ領域に対し
て、同一の方法で柔軟性があり、かつ十分な保護を行う
操作権管理装置を提供することを目的とする。
The present invention has been made in consideration of the above problems, and it is not only for threads in different virtual spaces but also for thread operation instructions or individual memories between threads sharing the same virtual address space. It is an object of the present invention to provide an operation right management device that is flexible in the same way and sufficiently protects an area.

【0019】[0019]

【課題を解決するための手段】上記目的を達成するため
に、本発明(請求項1)では、複数の並行して実行され
るスレッドによりプログラムを実行する手段と、各スレ
ッドに対する操作を、この操作を行う主体となるスレッ
ドまたはユーザ、もしくはこの操作を行う主体が存在す
るメモリ領域またはプログラムの少なくともいずれかに
基づいて、許可するか否かを指示する操作権情報を記憶
する手段とを備える操作権管理装置において、前記操作
権情報の変更を、この変更を行う主体となるスレッドま
たは、ユーザもしくはこの変更を行う主体が存在するメ
モリ領域またはプログラムの少なくともいずれかに基づ
いて、許可するか否かを示す変更権情報を記憶する手段
と、前記操作権情報の変更を実行する前に、記憶された
前記変更権情報を参照して、この変更が許可されるか否
かを検証する手段とを具備したことを特徴とする。
In order to achieve the above object, the present invention (Claim 1) includes means for executing a program by a plurality of threads executed in parallel, and operation for each thread. An operation including a thread or a user who is a main body for performing an operation, or a means for storing operation right information for instructing whether or not to permit based on at least one of a memory area and a program in which the main body performing the operation exists. In the right management device, whether or not to permit the change of the operation right information based on at least one of a thread as a main body of the change, a memory area in which the user or the main body of the change exists, or a program. Means for storing change right information indicating the stored change right information before executing the change of the operation right information. Irradiation to, characterized by comprising a means for verifying whether the change is allowed.

【0020】また、本発明(請求項2)では、実メモリ
または仮想メモリを複数のメモリ領域の集合として管理
する手段と、各メモリ領域に対する操作を、この操作を
行う主体となるスレッドまたはユーザ、もしくはこの操
作を行う主体が存在するメモリ領域またはプログラムの
少なくともいずれかに基づいて、許可するか否かを指示
する操作権情報を記憶する手段とを備える操作権管理装
置において、前記操作権情報の変更を、この変更を行う
主体となるスレッドまたは、ユーザもしくはこの変更を
行う主体が存在するメモリ領域またはプログラムの少な
くともいずれかに基づいて、許可するか否かを示す変更
権情報を記憶する手段と、前記操作権情報の変更を実行
する前に、記憶された前記変更権情報を参照して、この
変更が許可されるか否かを検証する手段とを具備したこ
とを特徴とする。
According to the present invention (claim 2), a means for managing the real memory or the virtual memory as a set of a plurality of memory areas, and an operation for each memory area, a thread or a user who is a main body of the operation, Alternatively, in the operation right management device provided with a means for storing operation right information for instructing whether to permit or not based on at least one of a memory area or a program in which an entity performing this operation exists, A means for storing change right information indicating whether or not to permit a change based on at least one of a thread which is a main body of the change, a user or a memory area where the main body of the change exists, or a program. Before the change of the operation right information is performed, the change is permitted by referring to the stored change right information. Characterized by comprising a means for verifying whether or not.

【0021】また、望ましくは、上記発明(請求項1)
において、スレッド作成時には、あらかじめ定められた
デフォルトの変更権情報が設定されることを特徴とす
る。
Preferably, the above invention (Claim 1)
In (1), when the thread is created, a predetermined default change right information is set.

【0022】また、望ましくは、上記発明(請求項2)
において、メモリ領域作成時には、あらかじめ定められ
たデフォルトの変更権情報が設定されることを特徴とす
る。
Preferably, the above invention (claim 2).
In the above, when the memory area is created, a predetermined default change right information is set.

【0023】さらに、上記各操作権管理装置において、
前記操作権情報を記憶する手段の情報を変更することが
不可能になるような、前記変更権情報を記憶する手段の
情報の変更を認めないようにしても良い。
Further, in each of the above operation right management devices,
The change of the information of the means for storing the change right information may be prohibited so that the information of the means for storing the operation right information cannot be changed.

【0024】また、本発明(請求項3)では、上記発明
(請求項1または2)において、前記変更権情報を前記
操作権情報に付随されて記憶することを特徴とする。
The present invention (Claim 3) is characterized in that, in the above-mentioned invention (Claim 1 or 2), the change right information is stored in association with the operation right information.

【0025】さらに、上記各操作権管理装置において、
前記操作権情報を記憶する手段の情報を変更することの
できる複数の条件を記憶する操作権管理権限記憶手段
と、前記変更権情報を記憶する手段の情報に変更を加え
ようとする際に該操作権管理権限記憶手段の情報により
この変更を行う権限があるか否かを検証する手段と、こ
の権限があると検証された場合に前記変更を許可する手
段とをさらに設けても良い。また、この場合、前記変更
権情報を記憶する手段の情報を変更することが不可能に
なるような、前記操作権変更権管理権限記憶手段の情報
の変更を認めないようにしても良い。
Further, in each of the above operation right management devices,
The operation right management authority storing means for storing a plurality of conditions capable of changing the information of the means for storing the operation right information, and the operation right managing means for storing the change right information when the information of the means for storing the change right information is to be changed. Means for verifying whether or not there is an authority to make this change based on the information in the operation right management authority storage means, and means for permitting the change when it is verified that this authority is provided may be further provided. Further, in this case, the change of the information of the operation right change right management authority storage means may be prohibited so that the information of the means for storing the change right information cannot be changed.

【0026】[0026]

【作用】本発明(請求項1)によれば、スレッドへの操
作権の管理のみならず、その操作権の管理の権限である
変更権についても、さまざまな条件の組み合わせによっ
て柔軟に表現、管理することができるようになる。
According to the present invention (Claim 1), not only the management of the operation right to the thread, but also the change right which is the management right of the operation right can be flexibly expressed and managed by combining various conditions. You will be able to.

【0027】この機構を用いれば、スレッドの操作権に
関して、特定のスレッドにのみその変更を許可したり、
またそれらの複数の条件を組み合わせて表現したりする
ことができる。
With this mechanism, regarding the operation right of a thread, only a specific thread can change the operation right,
Also, it is possible to express by combining a plurality of these conditions.

【0028】特に、近年多く利用されるようになったグ
ループウェアと呼ばれる計算機の協調作業アプリケーシ
ョンを作成する際には、スレッドの共有や、排他制御、
他のプログラムからの保護、などのきめ細かな制御を容
易に記述することが必要になるが、本発明を用いればこ
の記述を柔軟に行うことができる。
In particular, when creating a computer collaborative work application called a groupware, which has been widely used in recent years, thread sharing, exclusive control,
It is necessary to easily describe detailed control such as protection from other programs, but this description can be flexibly performed by using the present invention.

【0029】また、プログラムの誤りや、システム・コ
ールの不正な呼び出しなどによって、スレッドへの操作
権が異常に書き換えられてしまうことを未然に防ぐこと
ができるので、スレッドの共有を行いつつもなおスレッ
ドの動作に関する信頼性が飛躍的に向上する。
Further, it is possible to prevent the operation right to the thread from being abnormally rewritten due to an error in the program, an illegal call to the system call, or the like. The reliability of thread operation is dramatically improved.

【0030】また、本発明(請求項2)によれば、メモ
リ領域への操作権の管理のみならず、その操作権の管理
の権限である変更権についても、さまざまな条件の組み
合わせによって柔軟に表現、管理することができるよう
になる。
Further, according to the present invention (Claim 2), not only the management of the operation right to the memory area but also the change right which is the authority of the management of the operation right can be flexibly set by combining various conditions. You will be able to express and manage.

【0031】この機構を用いれば、メモリ領域への操作
権に関して、特定のスレッドにのみその変更を強化した
り、特定のメモリ領域に存在するスレッドにのみその変
更を許可したり、またそれら複数の条件を組み合わせて
表現したりすることができる。
Using this mechanism, with respect to the operation right to the memory area, the change can be strengthened only to a specific thread, only the thread existing in the specific memory area can be allowed to change, and a plurality of them can be changed. Conditions can be combined and expressed.

【0032】特に、近年利用が試みられている単一仮想
記憶と呼ばれる、複数のアプリケーションが同一の仮想
空間上で動作するオペレーティング・システムにおいて
は、メモリ領域の共有や、排他制御、他のプログラムか
らの保護、などのきめ細かな制御を記述することが必要
となるが、本発明を用いればこの記述を柔軟に行うこと
ができる。
Particularly, in an operating system called a single virtual memory, which has been attempted to be used in recent years, in which a plurality of applications operate in the same virtual space, memory area sharing, exclusive control, and other programs are used. It is necessary to describe detailed control such as protection of the above, but this description can be flexibly performed by using the present invention.

【0033】また、プログラムの誤りや、システム・コ
ールの不正な呼び出しなどによって、メモリ領域への操
作権が異常に書き換えられてしまうことを未然に防ぐこ
とができるので、メモリ領域に書かれたデータが不用意
に書き換えられてしまうことがおこらず、メモリ領域の
共有を行いつつもなおメモリ領域に書かれたデータに対
する信頼性が飛躍的に向上する。
Further, since it is possible to prevent the operation right to the memory area from being abnormally rewritten due to an error in the program, an illegal call of the system call, etc., the data written in the memory area can be prevented. Is not accidentally rewritten, and the reliability of the data written in the memory area is dramatically improved while the memory area is shared.

【0034】さらに、本発明(請求項3)によれば、ス
レッドやメモリに対する操作権情報と、その操作権情報
の変更を行う変更権情報とは、一般に共通点が多く、デ
ータ構造も似通ったものになることが多い。本発明にお
いては、変更権情報を操作権情報に付随させて記憶する
ことにより、共通のデータをなるべく一つのものとして
管理するため、データ量を少なくすることができ、変更
権および操作権を検証するための手続きも共通化する。
Further, according to the present invention (Claim 3), the operation right information for the thread and the memory and the change right information for changing the operation right information generally have a lot in common and the data structures are similar. Often becomes a thing. In the present invention, since the change right information is stored in association with the operation right information, common data is managed as one as much as possible, so that the data amount can be reduced and the change right and the operation right can be verified. The procedure for doing this is also standardized.

【0035】また、スレッドやメモリに対する操作権や
変更権などの管理は、一般にメモリ管理ユニットと呼ば
れるハードウェアを用いることによって、実行性能を向
上させることができる。そのような場合に、操作権およ
び変更権それぞれに別のハードウェアを用意すること
は、計算機の構成を複雑にする可能性がある。しかし、
本発明によって、操作権と変更権を同一に管理すること
により、必要なハードウェアを単純化することができ
る。
The management of the operation right and the change right for the threads and the memory can be improved in execution performance by using hardware generally called a memory management unit. In such a case, providing different hardware for the operation right and the change right may complicate the configuration of the computer. But,
According to the present invention, necessary hardware can be simplified by managing the operation right and the change right in the same manner.

【0036】[0036]

【実施例】以下、図面を参照して本発明の実施例につい
て説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0037】本発明に係る操作権管理装置は、オペレー
ティング・システム(OS)と呼ばれる計算機システム
全体の実行制御を行うものの構成要素の一部である。O
Sは計算機資源であるメモリ、プロセッサ、周辺機器を
管理し、また、ユーザプログラムとよばれるユーザが指
示した実務上の処理を行うプログラムの実行を制御す
る。一つの装置上には複数のユーザプログラムがのって
おり、OSがそれらのプログラム間の制御も行う。
The operation right management device according to the present invention is a part of the constituent elements of an operating system (OS) that controls the execution of the entire computer system. O
The S manages a memory, a processor, and a peripheral device which are computer resources, and controls the execution of a program called a user program for performing practical processing instructed by the user. A plurality of user programs are loaded on one device, and the OS also controls these programs.

【0038】ユーザプログラムは、実行上に必要となる
物理メモリなどの資源を確保したり、周辺機器にデータ
を入出力したり、他のユーザプログラムにデータを転送
したり、処理を依頼したり、実行を制御するためにOS
に対して指示を行うことが必要となる。このOSに対す
る指示をシステムコールを呼ばれる特別な手段で行う。
本実施例では、システムコールのうち、操作権を考慮す
るユーザプログラムの制御に関して説明する。
The user program secures resources such as a physical memory necessary for execution, inputs / outputs data to / from a peripheral device, transfers data to another user program, requests processing, OS to control execution
It is necessary to give instructions to. This OS is instructed by a special means called a system call.
In the present embodiment, control of a user program that takes into account the operation right among system calls will be described.

【0039】操作権については、スレッドの管理とメモ
リ領域の管理がある。これらメモリ領域の管理とスレッ
ドの管理については同一の部分が多いので、同様の機構
を重複して説明することは避け、主にスレッドに対する
操作権管理を例として、同一の部分には同一の用語を用
いて説明する。
The operation right includes thread management and memory area management. Since the management of these memory areas and the management of threads are often the same, avoid duplicative description of the same mechanism, and mainly using the operation right management for threads as an example, the same terms will be used for the same parts. Will be explained.

【0040】なお、本実施例では、メモリの「操作」と
は、アクセス(読み書き実行)のことを表すものとす
る。
In this embodiment, the "operation" of the memory means access (read / write execution).

【0041】最初に、本実施例の特徴を概略的に述べ
る。本実施例では、個々のメモリ領域またはスレッドに
対して、どのような条件で操作を許可するかという情報
を登録したリストを設け、このリストにより許可されて
いる場合に限り、操作を許可するとともに、この情報自
体を変更することのできる権限を、前記リストと同一の
形式、類似の形式あるいは共通の形式で管理する。ま
た、特定の条件の時にのみこの変更を許す機構を付加す
る。また、この変更をする権限の変更についても同一の
形式、類似の形式あるいは共通の形式で管理する。
First, the features of this embodiment will be briefly described. In this embodiment, for each memory area or thread, a list in which information on what condition the operation is permitted is registered is provided, and the operation is permitted only when the list permits the operation. , The authority to change the information itself is managed in the same format, similar format or common format as the list. Also, a mechanism that allows this change only under specific conditions is added. Further, the change of authority for making this change is managed in the same format, a similar format, or a common format.

【0042】この結果、本実施例は、不当な操作命令や
プログラムの誤りからメモリ領域やスレッドを保護し、
またこのような誤った操作命令を検出することによって
プログラムの誤りの検出を容易とするために、メモリ領
域またはスレッドごとに設けた操作の可否を示す情報を
変更する権利自体もそのメモリ領域またはスレッドが持
つので、操作権の管理のみならず、操作権の管理の権限
すらも同一の形式、類似の形式あるいは共通の形式で管
理し、削除し、追加し、または変更することを柔軟に行
うことができるようになる、という作用効果を奏するも
のである。
As a result, the present embodiment protects the memory area and threads from illegal operation instructions and program errors,
Further, in order to facilitate detection of a program error by detecting such an erroneous operation instruction, the right itself to change the information indicating whether the operation is permitted or not provided for each memory area or thread is also the memory area or thread. Since it has, the management of not only the operation right but also the authority of the operation right management can be managed in the same format, a similar format, or a common format, and can be flexibly performed to delete, add, or change. It is possible to achieve the above-mentioned effect.

【0043】また、この操作権の管理の権限は、メモリ
領域やスレッドの所有者とは全く別の機構より、通常の
アクセス制御リストと同様の形式で複数持つので、操作
権管理の権限を複数のスレッドで共有したり、自分の作
ったメモリ領域やスレッドの管理権を他のスレッドに譲
渡したりするなどの柔軟な操作権管理が可能となる。
Since the operation right management authority has a plurality of operations in the same format as a normal access control list by a mechanism completely different from the owner of the memory area and the thread, a plurality of operation right management rights are provided. Flexible management of operation rights is possible, such as sharing with other threads, and transfer of management rights of the memory area and thread created by itself to other threads.

【0044】(第1の実施例)以下、本発明の第1の実
施例について説明する。
(First Embodiment) A first embodiment of the present invention will be described below.

【0045】図1は、本実施例の全体構成図である。プ
ログラム記憶部1には、計算機で処理する命令が記述さ
れたユーザプログラムや処理する対象のデータ、計算機
で処理途中の結果を一時的に記憶するスタックなどのデ
ータがメモリ空間上に蓄えられている。メモリ空間は、
複数の領域(メモリ領域)に区切られて管理され、それ
ぞれの領域には、お互いを区別するための識別子がつい
ており、メモリ領域ごとにプログラムやデータやスタッ
クを配置している。
FIG. 1 is an overall configuration diagram of this embodiment. In the program storage unit 1, a user program in which instructions to be processed by a computer are written, data to be processed, data such as a stack for temporarily storing results during processing by the computer, and the like are stored in a memory space. . The memory space is
It is managed by being divided into a plurality of areas (memory areas), and each area is provided with an identifier for distinguishing each other, and programs, data, and stacks are arranged in each memory area.

【0046】さらに、プログラム記憶部1に蓄えられて
いるプログラムを解釈実行し、データを処理する実行主
体であるプロセッサ2と、プロセッサ内の状態を管理す
るスレッド管理部3、プロセッサの実行状態の切り替え
処理を行う実行状態切り替え部4がある。
Further, the processor 2 which is an execution subject for interpreting and executing the program stored in the program storage unit 1 and processing data, the thread management unit 3 for managing the state in the processor, and switching of the execution state of the processor There is an execution state switching unit 4 that performs processing.

【0047】プロセッサ2内には、命令の実行途中に一
時的に利用するレジスタ類、現在実行している命令のプ
ログラム記憶部での位置を示すためのプログラムカウン
タ(PC)、スタックデータの先頭位置を示すスタック
ポインタ(SP)などが存在し、これら一連のデータを
入れ替えることで、複数の別々のユーザプログラムの処
理を時分割で並行して進めることが可能となる。
In the processor 2, the registers temporarily used during the execution of the instruction, the program counter (PC) for indicating the position of the currently executed instruction in the program storage unit, the top position of the stack data There is a stack pointer (SP) or the like that indicates that, and by exchanging a series of these data, it is possible to perform processing of a plurality of different user programs in parallel in a time-sharing manner.

【0048】スレッドとは、上記プロセッサ内で使用す
る一連のデータのことを呼び、これを複数組用意し、こ
のスレッドを切り替えてプロセッサにセットし実際に実
行させることにより、時分割処理が可能となる。
A thread refers to a series of data used in the above processor. A plurality of sets of this data are prepared, and the threads are switched and set in the processor to be actually executed, thereby enabling time division processing. Become.

【0049】メモリ領域ID記憶部5は、現在実行中の
プログラムがプログラム記憶部1のどのメモリ領域に存
在しているかを、そのメモリ領域のIDとして記憶して
いるものである。これは、プロセッサ2内のPCの値を
利用し、現在実行中のメモリ領域IDを求めて、記憶し
ている。このメモリ領域IDは、現在実行中のプログラ
ムIDとみなすこともできる。
The memory area ID storage unit 5 stores in which memory area of the program storage unit 1 the program currently being executed exists as an ID of the memory area. This uses the value of the PC in the processor 2 to find and store the memory area ID currently being executed. This memory area ID can also be regarded as the program ID currently being executed.

【0050】スレッド管理部3の中にはスレッド管理テ
ーブルと呼ぶ表があり、プロセッサ2にセットするレジ
スタの情報やそのほかの情報がスレッドごとに管理され
ている。スレッドには、お互いを区別するために識別子
(スレッドID)がついている。
The thread management unit 3 has a table called a thread management table, in which information on registers set in the processor 2 and other information is managed for each thread. Threads are provided with an identifier (thread ID) to distinguish them from each other.

【0051】実行状態切替部4は、現在プロセッサ2上
で実行しているスレッド(例えばスレッドID=1)を
中断し、スレッド(スレッドID=1)の状態をスレッ
ド管理テーブルの所定の位置(スレッドID=1の格納
領域)に退避し、別のスレッド(例えばスレッドID=
2)を起動すべく、スレッド管理テーブルのスレッド
(スレッドID=2)の情報をプロセッサ2に再セット
し、スレッド(スレッドID=2)の実行を再開させ
る。また、実行状態切替部4には、さらに、どのスレッ
ドをセットし退避するかを決定するスレッドスケジュー
リング機構(図示せず)と、いつスケジューリングする
か指示するタイマ部(図示せず)が存在する。
The execution state switching unit 4 suspends the thread (for example, thread ID = 1) currently being executed on the processor 2, and changes the state of the thread (thread ID = 1) to a predetermined position (thread It is saved in the storage area of ID = 1) and another thread (for example, thread ID =
In order to activate 2), the information of the thread (thread ID = 2) in the thread management table is reset in the processor 2, and the execution of the thread (thread ID = 2) is restarted. The execution state switching unit 4 further includes a thread scheduling mechanism (not shown) that determines which thread is set and saved, and a timer unit (not shown) that instructs when to schedule.

【0052】スレッドID記憶部6は、スレッドIDを
記憶するためのものである。
The thread ID storage unit 6 is for storing the thread ID.

【0053】操作権リスト記憶部7は、スレッド保護に
関するテーブルを保持し、スレッドごとにスレッドに対
する操作を実行する権限がどうなっているかを記憶する
もので、操作権限判定部12で使用される。本実施例は
スレッドの操作権管理を例として説明しているが、メモ
リ領域の操作権管理の場合には、この操作権リスト記憶
部7はメモリ領域の保護に関するテーブルを保持し、ス
レッドごとにメモリ領域に対する操作を実行する権限が
どうなっているかを記憶するものである。以下同様にス
レッドに関する機構とメモリ領域に関する機構の同一の
部分については説明を省略し、スレッドに関するものを
代表して記述する。
The operation right list storage unit 7 holds a table relating to thread protection and stores the authority to execute an operation for each thread, and is used by the operation authority determination unit 12. Although the present embodiment has been described by taking the operation right management of threads as an example, in the case of the operation right management of the memory area, the operation right list storage unit 7 holds a table relating to the protection of the memory area, and for each thread. It stores what is the authority to execute an operation on the memory area. Similarly, the description of the same parts of the thread-related mechanism and the memory area-related mechanism will be omitted, and only the thread-related mechanism will be described as a representative.

【0054】さて、システムコールとしてユーザプログ
ラムを実行しているあるスレッドが他のスレッドに対し
て制御しようとする例として、Thread Get Statusシ
ステムコールを発行する場合について説明する。
As an example in which a thread executing a user program as a system call attempts to control another thread, Thread Get How to issue the Status system call is explained.

【0055】このシステムコールは、スレッドIDで指
示されたスレッドの状態、つまりそのスレッドのレジス
タ類の情報を、このシステムコールの呼び出し元のユー
ザ・プログラムに通知するものである。いま、スレッド
1(スレッドID=1)がプログラムA(メモリ領域I
D=A)を実行中、そこでスレッド2(スレッドID=
2)の情報をこのシステムコールで得ようとしたとす
る。C言語で記載されているプログラムAでは、次のよ
うに記されている。 err = Thread Get Status(2, &Thread Status);こ
こで、関数Thread Get Statusがスレッドの情報を得
るシステムコールであって、第1引数の2は、スレッド
2(スレッドID=2)の情報を得ることを指示してお
り、第2引数の&Thread Statusはシステムコールの結
果得られたスレッド2の情報を格納するメモリ領域の先
頭位置を指示している。また、このシステムコールの実
行が成功したかどうかは、この関数の返り値として変数
err に入る。
This system call notifies the state of the thread designated by the thread ID, that is, the information about the registers of the thread to the user program that called the system call. Now, thread 1 (thread ID = 1) is assigned to program A (memory area I
D = A is being executed, and thread 2 (thread ID =
Suppose that you tried to obtain the information in 2) with this system call. In the program A written in C language, it is written as follows. err = Thread Get Status (2, & Thread Status); where the function Thread Get Status is a system call that obtains thread information, the first argument 2 indicates that thread 2 (thread ID = 2) information is obtained, and the second argument & Thread Status indicates the start position of the memory area for storing the information of the thread 2 obtained as a result of the system call. In addition, whether the execution of this system call succeeded is variable as the return value of this function.
Enter err.

【0056】この関数をプログラムAのスレッド1が実
行すると、スレッド1はシステムコールにより実行モー
ドがユーザレベルから特権レベルに遷移し、OSを呼び
出す。特権レベルとは、OSが処理を行う専用レベルの
ことである。
When the thread 1 of the program A executes this function, the execution mode of the thread 1 transits from the user level to the privilege level by a system call and calls the OS. The privilege level is a dedicated level for processing by the OS.

【0057】呼び出されたOSでは、OS内のシステム
コール受付部8に処理が移る。ここでは、このシステム
コールを呼びだした元のユーザプログラムの中断処理を
行い、要求されたシステムコールの種類と指示された引
き数を受取り、それぞれその情報を引数検出部9とシス
テムコールの種類判別部10に送る。
In the called OS, the processing moves to the system call accepting unit 8 in the OS. Here, the original user program that called this system call is interrupted, the type of the requested system call and the specified argument are received, and the information is respectively received by the argument detection unit 9 and the type determination unit of the system call. Send to 10.

【0058】本例では、指示されたシステムコールは、
Thread Get Statusなので、システムコールの種類判
定部10で、次には、Thread Get Status処理部11
を呼び出す。
In this example, the instructed system call is
Thread Get Since it is Status, in the system call type determination unit 10, next, Thread Get Status processing unit 11
Call.

【0059】そこでの処理は、図2に示した操作権リス
ト記憶部7を使って行われる。この例では操作権リスト
記憶部7はスレッドに対する操作権リストを記憶するも
のである。この記憶部には、図2に示したようなテーブ
ルを保持している。テーブルには、操作スレッドID、
対象スレッドID,操作スレッドが存在するメモリ領域
ID、スレッド操作権限、スレッド操作権変更権限の各
エリアをもっている。
The processing there is performed using the operation right list storage unit 7 shown in FIG. In this example, the operation right list storage unit 7 stores an operation right list for threads. The storage unit holds a table as shown in FIG. In the table, the operation thread ID,
The target thread ID, the memory area ID in which the operation thread exists, the thread operation authority, and the thread operation authority change authority areas are provided.

【0060】同様のエリアとしては、対象スレッドが存
在するメモリ領域IDを指定することも考えられるが、
本例ではかかるエリアを持たないものを例として説明す
る。
As a similar area, it is possible to specify the memory area ID in which the target thread exists,
In this example, a case without such an area will be described as an example.

【0061】メモリ領域に対する操作権リスト記憶部も
同様であるが、テーブルの内容は若干異なる。これにつ
いての詳細は第2の実施例で説明する。
The operation right list storage section for the memory area is similar, but the contents of the table are slightly different. Details of this will be described in the second embodiment.

【0062】操作スレッドIDとはスレッド操作のシス
テムコールを実行しようとしているスレッドのスレッド
IDのことで、対象スレッドIDとはこのシステムコー
ルの引数で指定された操作対象のスレッドIDを示す。
また、操作スレッドが存在するメモリ領域IDとは、こ
の実行されようとしているシステムコールを含むプログ
ラムの存在するメモリ領域IDのことであり、スレッド
操作権限とは、どういうスレッド操作が可能かを示すも
ので、スレッドの内部状態を読み出す権限、スレッドの
内部状態を変更する権限、スレッドの実行を停止/再開
する権限の3つの権限を独立に指定することができる。
スレッド操作権変更権限は、スレッド操作権限の記入さ
れたフィールドの情報を変更する権限のことであり、こ
の権限が指定されている場合、その列に書かれているス
レッド操作権限のフィールドの情報が変更できるだけで
なく、その列に書かれている対象スレッドIDに関する
全てのスレッド操作権限フィールドの情報を変更するこ
とができる。
The operation thread ID is the thread ID of the thread that is about to execute the thread operation system call, and the target thread ID is the thread ID of the operation target specified by the argument of this system call.
Further, the memory area ID in which the operation thread exists is the memory area ID in which the program including the system call to be executed exists, and the thread operation authority indicates what kind of thread operation is possible. With, it is possible to independently specify three authorities: authority to read the internal state of the thread, authority to change the internal state of the thread, and authority to stop / resume execution of the thread.
The thread operation authority change authority is the authority to change the information in the field in which the thread operation authority is entered.When this authority is specified, the information in the thread operation authority field written in that column is Not only can it be changed, but all thread operation authority field information relating to the target thread ID written in that column can be changed.

【0063】たとえば図の例では、スレッド1(スレッ
ドID=1)が発したシステムコールでは、スレッド2
(スレッドID=2)の内部状態の参照と変更は可能だ
が、スレッド2の実行の停止/再開およびスレッド2の
操作権限の変更はできないことを示している。また、ス
レッド1は、スレッド3(スレッドID=3)に対して
は実行の停止/再開はできるがそれ以外の操作はできな
い。さらに、スレッド1は、スレッド2とスレッド3以
外のスレッドに対しては、何の操作もできないことを示
している。また、スレッド100(スレッドID=10
0)はスレッド2の内部状態の読み出しおよび操作権限
の変更ができることを示している。
For example, in the example shown in the figure, in the system call issued by thread 1 (thread ID = 1), thread 2
Although it is possible to refer to and change the internal state of (thread ID = 2), it is indicated that the execution / stopping of the execution of the thread 2 and the operation authority of the thread 2 cannot be changed. Also, the thread 1 can stop / resume execution of the thread 3 (thread ID = 3), but cannot perform other operations. Further, it is shown that the thread 1 cannot perform any operation on the threads other than the threads 2 and 3. Also, thread 100 (thread ID = 10
0) indicates that the internal state of the thread 2 can be read and the operation authority can be changed.

【0064】スレッド1が対象スレッドの場合の例で、
テーブル中の操作スレッドが存在するメモリ領域IDの
部分にallという情報が保持されているが、これは、
このシステムコールがどのユーザプログラムから行われ
ても同等で、システムコールを実行するスレッドIDの
みに実行権限が依存することを示している。
In the example when the thread 1 is the target thread,
The information "all" is held in the memory area ID portion where the operation thread exists in the table.
This system call is the same regardless of which user program is executed, indicating that the execution authority depends only on the thread ID that executes the system call.

【0065】メモリ領域IDの欄がallでないとき
は、そのIDのメモリ領域に存在するプログラムからシ
ステムコールが実行された時の操作権限を規定する。た
とえば、スレッド3が、プログラムA(メモリ領域ID
=A)の実行中、スレッド1に対しては、すべての操作
が可能であるが、それ以外のときは、操作不可である。
つまり、スレッド3がプログラムB(メモリ領域ID=
B)の実行中、スレッド1に対して同様なシステムコー
ルを実行しても操作できないし、スレッド5(スレッド
ID=5)がプログラムAにおいてスレッド1に対して
同じシステムコールを実行しても操作できない。すなわ
ち、このテーブルに記載のないスレッド操作は一切でき
ない。
When the memory area ID column is not all, the operation authority when the system call is executed from the program existing in the memory area of the ID is defined. For example, the thread 3 is the program A (memory area ID
= A) is being executed, all operations can be performed on the thread 1, but otherwise, the operations are not possible.
That is, thread 3 is program B (memory area ID =
During the execution of B), it is impossible to operate even if a similar system call is executed for thread 1, and it is operated even if thread 5 (thread ID = 5) executes the same system call for thread 1 in program A. Can not. That is, thread operations not listed in this table cannot be performed at all.

【0066】図2の例では、スレッド操作権限変更権限
のフィールドは1つだけであるが、前記3つの権限ごと
に操作権の変更権限を別々に指定できるようにしても良
い。
In the example of FIG. 2, there is only one thread operation authority change authority field, but the operation authority change authority may be specified separately for each of the three authorities.

【0067】また、スレッド操作権限には、本前の例で
挙げた3つの権限の他にもあってよい。例えば、操作を
するユーザのユーザID、該当フィールドを時間制限す
るための有効期間開始時刻、有効時間終了時刻などが考
えられる。その場合にも、それら権限の変更権を設定す
ることができる。
The thread operation authority may be other than the three authorities mentioned in the previous example. For example, the user ID of the operating user, the effective period start time for time-limiting the corresponding field, the effective time end time, and the like can be considered. Even in that case, the right to change those authorities can be set.

【0068】また、本実施例では、スレッド操作権限と
スレッド操作権の変更権限とを、同一のテーブルの中で
操作スレッドID、対象スレッドID、操作スレッドが
存在するメモリ領域IDを共有して表現しているが、ス
レッド操作権限と、スレッド操作権の変更権限とを別々
のテーブルに記述し、それぞれについて操作スレッドI
D、対象スレッドID、操作スレッドが存在するメモリ
領域IDを指定しても良い。
Further, in this embodiment, the thread operation authority and the thread operation authority change authority are expressed in the same table by sharing the operation thread ID, the target thread ID, and the memory area ID in which the operation thread exists. However, the thread operation authority and the thread operation authority change authority are described in separate tables, and the operation thread I
The D, the target thread ID, and the memory area ID in which the operation thread exists may be designated.

【0069】次に、Thread Get Status処理部11の
処理の流れを図3に示す。
Next, Thread Get The flow of processing of the Status processing unit 11 is shown in FIG.

【0070】まず、ステップS1にて、このシステムコ
ールを実行した操作スレッドID、メモリ領域IDをそ
れそれスレッドID記憶部6とメモリ領域ID記憶部5
から情報を得る。上述したように、現在実行中のスレッ
ドIDは、実行状態切替部4でセットされ、現在実行中
のメモリ領域IDは、プロセッサの内部にあるPCの情
報からセットされている。さらに、システムコールの第
一引数から対象スレッドID検出部13が対象スレッド
IDを得ている。第二引数からは、スレッド情報格納位
置検出部14が、このシステムコールの実行結果を格納
するユーザ・プログラムのメモリ位置を検出する。
First, in step S1, the operation thread ID and the memory area ID that have executed this system call are assigned to the thread ID storage section 6 and the memory area ID storage section 5, respectively.
Get information from. As described above, the thread ID currently being executed is set by the execution state switching unit 4, and the memory area ID currently being executed is set from the information of the PC inside the processor. Furthermore, the target thread ID detection unit 13 obtains the target thread ID from the first argument of the system call. From the second argument, the thread information storage position detector 14 detects the memory position of the user program that stores the execution result of this system call.

【0071】次にステップS2にて、以上の3つの情報
をもとに操作権記憶部71の表を引き、該当エントリを
サーチし、スレッド操作権限を調べる。もし、見つかれ
ば、ステップS3に進み、なければステップS8を行う
エラー処理部15へ進む。
In step S2, the table of the operation right storage unit 71 is drawn based on the above three pieces of information, the corresponding entry is searched, and the thread operation right is checked. If found, the process proceeds to step S3, and if not found, the process proceeds to the error processing unit 15 which performs step S8.

【0072】サーチは、テーブルの上から順に比較を行
い、最初にマッチしたエントリの情報を次のステップ以
降で利用する。テーブルのフィールドのall部分は、
すべてにマッチすることを意味する。もし、テーブルの
最後のエントリまで比較し、マッチしなかったらサーチ
の失敗となる。
In the search, the comparison is performed in order from the top of the table, and the information of the first matching entry is used in the subsequent steps. The all part of the table field is
Means match everything. If the last entry in the table is compared and no match is found, the search fails.

【0073】ステップS3では、見つかったエントリの
スレッド操作権限を表す部分のうち、スレッド内部状態
読出権限に該当する部分の情報を読み出し、許可か否か
を判断する。この判定は操作権限判定部12で行う。も
し判定で許可されればステップS4へ進み、不許可にな
ればステップS8のエラー処理へ移る。
In step S3, of the portion representing the thread operation authority of the found entry, the information of the portion corresponding to the thread internal state reading authority is read to determine whether it is permitted. This determination is performed by the operation authority determination unit 12. If the determination is permitted, the process proceeds to step S4, and if the determination is not permitted, the process proceeds to the error processing of step S8.

【0074】次のステップS4では、対象スレッドに対
して、許可されたスレッドの内部状態を読み出すための
スレッド管理テーブルの参照操作を実行する。この処理
はスレッド状態参照実行部16にて行う。ここでは、該
当スレッドの内部状態であるスレッド情報を、スレッド
情報格納位置検出部14で指示されたメモリ中に格納す
る。
In the next step S4, the reference operation of the thread management table for reading the internal state of the permitted thread is executed for the target thread. This processing is performed by the thread state reference execution unit 16. Here, the thread information, which is the internal state of the thread, is stored in the memory designated by the thread information storage position detection unit 14.

【0075】ステップS5にて、ステップS4での処理
結果を判定する。処理が成功するとステップS6にて、
成功を示すコードをシステムコール終了部17へ伝え
る。失敗するとステップS7にて、失敗を示すコードを
システムコール終了部17へ伝える。
In step S5, the processing result in step S4 is determined. If the processing is successful, in step S6,
A code indicating success is transmitted to the system call termination unit 17. If it fails, a code indicating the failure is transmitted to the system call termination unit 17 in step S7.

【0076】ステップS8では、エラーコードをシステ
ムコール終了部17へ伝える。
In step S8, the error code is transmitted to the system call termination section 17.

【0077】Thread Get Status処理部11での処理
を終えると、最後に、システムコール終了部17に処理
が進む。このシステムコールを実行したユーザプログラ
ムに返す返値をシステムコールの返値として戻るように
処理を行い、中断していた呼出元のユーザプログラムの
実行ができるように復帰処理を行い、実行レベルを特権
レベルからユーザレベルへ戻す処理を行う。
Thread Get When the processing in the Status processing unit 11 is completed, the process finally proceeds to the system call ending unit 17. The return value returned to the user program that executed this system call is returned as the return value of the system call, and the return processing is performed so that the interrupted caller user program can be executed. Perform processing to return from the level to the user level.

【0078】次に、操作権記憶部71に記入されたスレ
ッド操作権限を変更するシステムシステムコールについ
て説明する。
Next, a system system call for changing the thread operation authority written in the operation authority storage unit 71 will be described.

【0079】Thread Add Acl(指定操作スレッドI
D、指定対象スレッドID、指定メモリ領域ID、追加
する指定操作権限) なるシステムコールは、上記で説明
したスレッド操作権限を、新たに追加するものである。
Thread Add Acl (specified operation thread I
D, designated thread ID, designated memory area ID, designated operation authority to be added) newly adds the thread operation authority described above.

【0080】いま、スレッド100(スレッドID=1
00)がスレッド1(スレッドID=1)に対し、スレ
ッド2(スレッドID=2)の実行の停止/再開権限を
付与しようとしたとする。C言語で記載されているプロ
グラムCでは、次のように記されている。
Now, thread 100 (thread ID = 1
It is assumed that 00) tries to give the thread 1 (thread ID = 1) the right to stop / resume execution of the thread 2 (thread ID = 2). In the program C written in the C language, it is written as follows.

【0081】err = Thread Add Acl(1, 2, all, THR
EAD SUSPEND);ここで、関数Thread Add Acl は、
スレッドに対する操作権を追加するためのシステムコー
ルであって、第1引数の1は、指定した操作スレッド番
号(対象スレッドID)が1であること、すなわちスレ
ッドID=1に対して権限を与えることを指示してい
る。第2引数の2は、指定した対象スレッド番号(指定
対象スレッドID)が2であること、すなわちスレッド
ID=2を操作する権限であることを指示している。第
3引数のallは、指定した操作スレッドが存在するメ
モリ領域ID(指定メモリ領域ID)がallであるこ
と、すなわち操作スレッドが存在するメモリ領域IDに
よって与える権限を制限することはしないということを
指示している。第4引数のTHREAD SUSPEND は、これら
3つの指定した組み合わせに対して、付加する操作権限
(指定操作権限)を指示している。この例では、スレッ
ドの実行の停止/再開権限を付加することを意味してい
る。第4引数には複数種類の権限を同時に指定すること
もできる。
Err = Thread Add Acl (1, 2, all, THR
EAD SUSPEND); where the function Thread Add Acl is
This is a system call for adding an operation right to a thread, and the first argument 1 is that the specified operation thread number (target thread ID) is 1, that is, the authority is given to the thread ID = 1. Is instructing. The second argument of 2 indicates that the designated target thread number (designated target thread ID) is 2, that is, the authority to operate the thread ID = 2. The third argument all indicates that the memory area ID (specified memory area ID) in which the specified operation thread exists is all, that is, the authority given by the memory area ID in which the operation thread exists is not restricted. Instructing. THREAD of the 4th argument SUSPEND indicates the operation authority (specified operation authority) to be added to these three specified combinations. In this example, it means that the authority to stop / resume the execution of the thread is added. Multiple types of authority can be specified at the same time as the fourth argument.

【0082】この関数をプログラムCのスレッド100
が実行すると、スレッド100はシステムコールにより
プロセッサの実行モードをユーザレベルから特権レベル
に遷移させ、OSを呼び出す。特権レベルとは、OSが
処理を行う専用レベルのことである。
This function is called by the thread 100 of the program C.
Is executed, the thread 100 changes the execution mode of the processor from the user level to the privilege level by a system call, and calls the OS. The privilege level is a dedicated level for processing by the OS.

【0083】呼び出されたOSでは、OS内のシステム
コール受付部8に処理が移る。ここでは、このシステム
コールを呼び出した元のユーザプログラムの中断処理を
行い、要求されたシステムコールの種類と指示された引
数を受け取り、それぞれその情報を引数検出部9とシス
テムコールの種類判別部10に送る。
In the called OS, the processing moves to the system call accepting unit 8 in the OS. Here, the original user program that called this system call is interrupted, the type of the requested system call and the designated argument are received, and the information is respectively received by the argument detection unit 9 and the system call type determination unit 10. Send to.

【0084】本例では、指示されたシステムコールは、
Thread Add Acl なので、システムコールの種類判別
部10で、Thread Add Acl 処理部21を呼び出す。
Thread Add Acl 処理部21は図1におけるThread
Get Status処理部11を図4のように置き換えたもの
である。なお、Thread Add Acl 処理部21とThread
Get Status処理部11は本来一体のブロック図とし
て示すべきものであるが、図が煩雑になるため説明の便
宜をはかり図1および図4の別々の図としてある。
In this example, the instructed system call is
Thread Add Since it is an Acl, the type of system call
Part 10, Thread Add Call the Acl processing unit 21.
Thread Add The Acl processing unit 21 is Thread in FIG.
Get The status processing part 11 is replaced as shown in FIG.
Is. In addition, Thread Add Acl processor 21 and Thread
Get The Status processing unit 11 is originally an integrated block diagram.
Although it should be shown, it is a convenience of explanation because the figure becomes complicated.
For convenience, it is provided as a separate view of FIGS.

【0085】そこでの処理は、図2に示したスレッド操
作権リスト記憶部7を使って行われる。その内容および
意味は前に説明した通りである。
The processing there is performed using the thread operation right list storage unit 7 shown in FIG. The content and meaning are as described above.

【0086】次に、図5にThread Add Acl 処理部2
1の処理の流れを示す。
Next, FIG. 5 shows Thread. Add Acl processing unit 2
1 shows the flow of processing 1.

【0087】まず、ステップS11にて、このシステム
コールを実行した実行スレッドID、メモリ領域IDを
それぞれスレッドID記憶部6とメモリ領域ID記憶部
5から情報を得る。さらに、システムコールの第2引数
から指定対象スレッドID検出部23が、このシステム
コールによってスレッド操作権限の変更を行う対象とし
たスレッドのIDを得る。
First, in step S11, the execution thread ID and memory area ID that executed this system call are obtained from the thread ID storage section 6 and the memory area ID storage section 5, respectively. Further, from the second argument of the system call, the designated thread ID detection unit 23 obtains the ID of the thread for which the thread operation authority is changed by this system call.

【0088】次にステップS12にて、以上の3つの情
報をもとにスレッド操作権リスト記憶部7のテーブルを
引き、該当エントリをサーチする。もし、見つかれば、
ステップS13に進み、なければステップS19を行う
エラー処理部15へ進む。サーチは、テーブルの上から
順に比較を行い、最初にマッチしたエントリの情報を次
のステップ以降で利用する。テーブルのフィールドのa
ll部分は、全てにマッチすることを意味する。もし、
テーブルの最後のエントリまで比較し、マッチしなかっ
たらサーチの失敗となる。
Next, in step S12, the table of the thread operation right list storage unit 7 is pulled based on the above three pieces of information, and the corresponding entry is searched. If found,
If it does not proceed to step S13, the process proceeds to the error processing unit 15 which carries out step S19. In the search, the comparison is performed in order from the top of the table, and the information of the first matching entry is used in the subsequent steps. Table field a
The ll part means match everything. if,
The last entry in the table is compared, and if there is no match, the search fails.

【0089】ステップS13では、見つかったエントリ
のスレッド操作権変更権限に該当する部分の情報を読み
出し、許可か否かを判断する。この判定は操作権変更権
判定部26で行う。もし判定で許可されればステップS
14へ進み、不許可になればステップS19のエラー処
理へ移る。
In step S13, the information of the portion corresponding to the thread operation right changing authority of the found entry is read out and it is determined whether or not it is permitted. This determination is performed by the operation right change right determination unit 26. If the judgment permits, step S
If it is not permitted, the process proceeds to step S19 for error processing.

【0090】ステップS14では、システムコールの第
1引数から、指定対象スレッドID検出部23が指定し
た対象スレッドIDを得る。また、システムコールの第
3引数から、指定メモリ領域ID検出部24が指定した
操作スレッドが存在するメモリ領域IDを得る。さら
に、システム・コールの第4引数から、指定操作権限検
出部25が指定した追加すべき操作権限を得る。
In step S14, the target thread ID designated by the designated thread ID detector 23 is obtained from the first argument of the system call. Also, the memory area ID in which the operation thread specified by the specified memory area ID detection unit 24 exists is obtained from the third argument of the system call. Further, the operation authority to be added specified by the specified operation authority detecting unit 25 is obtained from the fourth argument of the system call.

【0091】ステップS15では、ステップS11およ
びステップS14で得られた対象スレッドID、指定対
象スレッドID、指定メモリ領域ID、指定操作権限を
もとに操作権リスト変更部27が操作権リスト記憶部7
を書き換える。つまり、まず操作権リスト記憶部7のテ
ーブルを順にサーチし、対象スレッドIDと指定対象ス
レッドIDと指定メモリ領域IDの3つが全て一致する
列があれば、その列のスレッド操作権限のフィールドを
書き換え、もしなければ、指定した3つのIDを示す列
を新たに操作権リスト記憶部7のテーブルに追加する。
この例では、指定した3つのIDと一致する列が最初に
見付かるので、その列のスレッド操作権限のフィールド
にあるスレッドの実行の停止/再開権限を×から○に変
更する。
In step S15, the operation right list changing unit 27 operates the operation right list storage unit 7 based on the target thread ID, the specified target thread ID, the specified memory area ID, and the specified operation authority obtained in steps S11 and S14.
Rewrite. That is, first, the table of the operation right list storage unit 7 is sequentially searched, and if there is a column in which all three of the target thread ID, the designated target thread ID, and the designated memory area ID match, the field of the thread manipulation authority of that column is rewritten. If not, a column showing the three designated IDs is newly added to the table of the operation right list storage unit 7.
In this example, the column that matches the three specified IDs is found first, so the thread execution stop / resume authority in the thread operation authority field in that column is changed from x to o.

【0092】ステップS16にて、ステップS15での
処理結果を判定する。処理が成功するとステップS17
にて、成功を示すコードをシステムコール終了部17へ
伝える。失敗するとステップS18にて、失敗を示すコ
ードをシステムコール終了部17へ伝える。ステップS
19では、エラーコードをシステムコール終了部17へ
伝える。
In step S16, the processing result in step S15 is determined. If the processing is successful, step S17
Then, a code indicating success is transmitted to the system call termination unit 17. If it fails, a code indicating the failure is transmitted to the system call termination unit 17 in step S18. Step S
At 19, the error code is transmitted to the system call termination section 17.

【0093】Thread Add Acl 実行部21での処理を
終えると、最後にシステムコール終了部17に処理が進
む。このシステムコールを実行したユーザプログラムに
返す返値をシステムコールの返値として戻るように処理
を行い、中断していた呼出元のユーザプログラムの実行
ができるように復帰処理を行い、実行レベルを特権レベ
ルからユーザレベルへ戻す処理を行う。
Thread Add When the processing in the Acl execution unit 21 is completed, the process finally proceeds to the system call end unit 17. The return value returned to the user program that executed this system call is returned as the return value of the system call, and the return processing is performed so that the interrupted caller user program can be executed. Perform processing to return from the level to the user level.

【0094】本例のようなThread Add Acl システム
・コールの実行が成功した結果、図2で示された操作権
リスト記憶部7のデータは図6のように変更される。
Thread as in this example Add As a result of the successful execution of the Acl system call, the data in the operation right list storage unit 7 shown in FIG. 2 is changed as shown in FIG.

【0095】本例では操作権リスト変更部27におい
て、書換を必要とする該当フィールドを書き換えるだけ
で、Thread Add Acl システム・コールからの要求を
実行することができたが、Thread Add Acl システム
・コールに与えられた引数の内容によっては、該当フィ
ールドを書き換えるだけでは表現できず、操作権リスト
記憶部7のデータを増やさなくてはならない。
In this example, the operation right list changing unit 27 only needs to rewrite the corresponding fields that need to be rewritten. Add I was able to execute the request from the Acl system call, but Thread Add Depending on the contents of the argument given to the Acl system call, it cannot be expressed simply by rewriting the corresponding field, and the data in the operation right list storage unit 7 must be increased.

【0096】例えば、操作権リスト記憶部7のデータが
先の図2に示したとおりであるとき、 Thread Add
Acl (3, 2, A, THREAD SUSPEND*THREAD GET STATU
S) を実行した場合を考える。
For example, when the data in the operation right list storage unit 7 is as shown in FIG. Add
Acl (3, 2, A, THREAD SUSPEND * THREAD GET STATU
Consider the case of executing S).

【0097】ここで、第1引数の3は、指定した操作ス
レッド番号(対象スレッドID)が3であること、すな
わちスレッドID=3に対して権限を与えることを指示
しており、第2引数の2は、指定した対象スレッド番号
(指定対象スレッドID)が2であること、すなわちス
レッドID=2を操作する権限であることを指示してお
り、第3引数のAは、指定メモリ領域IDがAであるこ
と、すなわち、このシステムコールの実行により変更さ
れる権限は、プログラムA(メモリ領域ID=A)を実
行中にのみ有効であることを指示しており、第4引数の
THREAD SUSPEND は、これら3つの指定した組み合わせ
に対して、スレッドの実行の停止/再開権限を付加する
こと、そしてTHREAD GET STATUSはスレッドの内部状
態読出権限を付加することを指示している。
Here, the first argument 3 indicates that the designated operation thread number (target thread ID) is 3, that is, the authority is given to the thread ID = 3, and the second argument 3 2 indicates that the designated target thread number (designated target thread ID) is 2, that is, the authority to operate the thread ID = 2, and the third argument A is the designated memory area ID. Is A, that is, the authority changed by the execution of this system call indicates that it is valid only while the program A (memory area ID = A) is being executed.
THREAD SUSPEND adds the permission to suspend / resume the execution of threads to these three specified combinations, and THREAD GET STATUS indicates that the thread internal status read authority is added.

【0098】このシステム・コールが発せられると、操
作権リスト変更部27が、操作権リスト記憶部7のテー
ブルを順にサーチし、対象スレッドIDと指定対象スレ
ッドIDと指定メモリ領域IDの3つが全て一致する列
をさがすが、この場合そのような列は存在しないので、
このシステム・コールは、操作権リスト記憶部7の持つ
テーブルの一部のフィールドを書き換えるだけでは実行
できない。指定した3つのIDを示す列を新たに操作権
リスト記憶部7のテーブルに追加する。このような手順
を踏むことにより、このシステム・コールの実行が終了
すると、図2で示された操作権リスト記憶部7のデータ
は図7のように変更され、操作権リスト記憶部7の列の
長さが1つ長くなっている。
When this system call is issued, the operation right list changing unit 27 sequentially searches the tables of the operation right list storage unit 7, and all three of the target thread ID, the specified target thread ID, and the specified memory area ID are found. Find the matching column, but in this case there is no such column, so
This system call cannot be executed only by rewriting a part of the fields of the table of the operation right list storage unit 7. A column indicating the three designated IDs is newly added to the table of the operation right list storage unit 7. When the execution of this system call is completed by performing such a procedure, the data in the operation right list storage unit 7 shown in FIG. 2 is changed as shown in FIG. Is one longer.

【0099】以上の説明においては、最初に操作権変更
権限をどこに指定するかということについては記述され
ていない。一般にはOSの起動時に、一部の特権的なス
レッドに対してこの権限を与え、以下階層的に権限を増
やしてゆくことにより実現することが可能である。
In the above description, there is no description about where to specify the operation right changing authority first. Generally, this can be realized by giving this authority to some privileged threads at the time of booting the OS and then increasing the authority hierarchically.

【0100】しかし、スレッドの作成時に必ず操作権変
更権を指定しなければならないのは、プログラミングの
手間を増やすおそれがあるので、メモリ領域またはスレ
ッドの作成時には、あらかじめ定められたデフォルトの
操作権変更権が設定されるように構成しても良い。デフ
ォルトを何にするかについては各種考えられるが、最も
簡単には、そのメモリ領域またはスレッドを起動したス
レッドに対して操作権変更権を与えることが考えられ
る。この方法は、デフォルトとして従来OSにおけるオ
ーナーの概念を用いたことになり、さらに本実施例で説
明した方法により、本発明の操作権管理装置はより柔軟
な操作権管理を実現するものである。
However, since it is necessary to specify the right to change the operation right when creating a thread, it may increase the effort of programming. Therefore, at the time of creating the memory area or the thread, the right to change the operation right specified in advance is changed. The right may be set. There are various possible defaults, but in the simplest case, it is conceivable to give the operation right change right to the memory area or the thread that started the thread. This method uses the concept of the owner in the conventional OS as a default, and the operation right management device of the present invention realizes more flexible operation right management by the method described in the present embodiment.

【0101】また、先の例ではThread Add Acl の第
4引数に指定することのできる指定操作権限に制約はな
いものとして記述したので、第4引数にTHREAD CHANGE
ACL を指定することができる。すなわち、スレッド操
作権変更権限を変更させることもできる。また、以上説
明したThread Add Acl と同様に、Thread Del Acl
なるシステム・コールを用いて、例えば Thread Del Acl(3,1,A,THREAD CHANGE ACL ) は、スレッドが、メモリ領域ID=Aのメモリ領域か
ら、スレッドID=1のスレッドのスレッド操作権限を
取り除くことを意味している。この場合、永遠に誰にも
操作権変更権限を変更することのできないようなスレッ
ドを作ってしまうおそれがあるが、そういった変更が行
われることが問題となるオペレーティングシステムにお
いては、操作権変更権記憶部の情報を変更する際に、操
作権記憶部の情報を変更することが不可能になるような
変更を禁止するようにしても良い。例えば、先にあげた Thread Del Acl(3,1,A,THREAD CHANGE ACL ) を実行すると、もはやスレッドID=1のスレッドに対
し、スレッド操作権限を変更することのできるスレッド
が1つもなくなる。このようなシステム・コールが実行
されると、操作権リスト変更部27はエラーを検出した
ことになり、失敗を示すコードをシステムコール終了部
17へ伝え、操作権リスト記憶部のデータは変更されな
い。
In the previous example, Thread Add Acl No
There is no restriction on the specified operation authority that can be specified in 4 arguments.
Since it was described as a new item, THREAD is set as the fourth argument. CHANGE
ACL can be specified. That is, thread manipulation
You can also change the authority to change the copyright. Also, the above theory
Thread revealed Add Like Acl, Thread Del Acl
System call, for example Thread Del Acl (3,1, A, THREAD CHANGE ACL), is the thread a memory area with memory area ID = A?
The thread operation authority of the thread with thread ID = 1
It means removing. In this case forever
A thread that cannot change the operation authority change authority.
It is possible that such changes will be made.
The operating system
The operation right when changing the information in the operation right change right storage unit.
It becomes impossible to change the information in the copyright memory
The change may be prohibited. For example, the Thread I mentioned earlier Del Acl (3,1, A, THREAD CHANGE ACL) is executed, it will no longer match the thread with thread ID = 1.
And the thread that can change the thread operation authority
No more. Such a system call is executed
Then, the operation right list changing unit 27 detects an error.
Then, the code indicating the failure is added to the system call end part.
17 and do not change the data in the operation right list storage section.
Yes.

【0102】また、操作権変更権を変更する権利を別個
のものとして扱い、操作権リスト記憶部7に操作権変更
権管理権限のフィールド(操作権変更権管理権限記憶
部)を用意し、より確実な操作権管理を行っても良い。
Further, the right to change the operation right change right is treated as a separate one, and a field for the operation right change right management authority (operation right change right management authority storage section) is prepared in the operation right list storage unit 7, Reliable operation right management may be performed.

【0103】さらには、操作権変更権記憶部の情報を変
更することが不可能になるような、操作権変更権管理権
限記憶部の情報の変更を禁止するようにしても良い。
Furthermore, it is possible to prohibit the change of the information in the operation right change right management authority storage unit so that the information in the operation right change right storage unit cannot be changed.

【0104】なお、上記「スレッドID」を「ユーザI
D」に置き換えて構成することも可能である。この場
合、図1におけるスレッドID記憶部6を、ユーザID
記憶部と置き換える修正を施せば良い。
The "thread ID" is set to "user I".
It is also possible to replace it with "D". In this case, the thread ID storage unit 6 in FIG.
It suffices to make a correction that replaces the storage unit.

【0105】また、前述した「操作スレッドが存在する
メモリ領域ID」を「操作スレッドが実行しているプロ
グラムID」に置き換えて構成することも可能である。
この場合、図1におけるメモリ領域ID記憶部5は、プ
ログラムID記憶部と置き換える修正を施せば良い。
It is also possible to replace the above-mentioned "memory area ID where the operation thread exists" with the "program ID executed by the operation thread".
In this case, the memory area ID storage unit 5 in FIG. 1 may be modified by replacing it with the program ID storage unit.

【0106】(第2の実施例)次に、本発明の第2の実
施例について説明する。
(Second Embodiment) Next, a second embodiment of the present invention will be described.

【0107】本発明の操作権管理装置は、メモリ領域や
スレッドに対する操作権管理を、例えばオーナーといっ
た固定的な概念により行うのではなく、操作権変更権を
操作権リスト自体に持たせ、自由に削除、追加させるこ
とによって柔軟に行うことを目的としている。ここで
は、この機構を生かした例として、複数人による共同作
業のアプリケーションが動作する場合に、操作権管理が
柔軟に行われることを示す実施例について述べる。
The operation right management device of the present invention does not perform the operation right management for the memory area or the thread by a fixed concept such as the owner, but gives the operation right change right to the operation right list itself and freely. It is intended to be flexible by deleting and adding. Here, as an example of utilizing this mechanism, an embodiment will be described in which the operation right management is flexibly performed when an application for collaborative work by a plurality of people operates.

【0108】ユーザーAは、計算機を使った電子会議を
開催すべく、新たにスレッド10(スレッドID=1
0)を作成した。より具体的には、ユーザーAの動かし
ていたログイン・シェルであるスレッド11がスレッド
10を作成した。このとき、操作権リスト記憶部7の該
当部分のデータは図8のようになっている。以下図には
操作権リスト記憶部7のテーブルのうち、本実施例を説
明するのに必要な部分のみを記述し、他の部分について
は記述を省略する。
User A newly added thread 10 (thread ID = 1 to hold an electronic conference using a computer.
0) was created. More specifically, the thread 10 that is the login shell that the user A was running created the thread 10. At this time, the data of the relevant portion of the operation right list storage unit 7 is as shown in FIG. In the following figures, of the table of the operation right list storage unit 7, only the portions necessary for explaining the present embodiment are described, and the other portions are omitted.

【0109】スレッド11(スレッドID=11)はス
レッド10(スレッドID=10)の内部状態読み出し
およびスレッド操作権の変更ができる。しかし、内部状
態を変更したり、実行の停止/再開を行うことはできな
い。つまり、既に動き始めたスレッド10(スレッドI
D=10)は、それを作成したスレッド11(スレッド
ID=11)によって誤って実行を妨害されることはな
い。これらの初期状態はスレッドを作成するシステムコ
ールの引数として指定するものとする。
The thread 11 (thread ID = 11) can read the internal state of the thread 10 (thread ID = 10) and change the thread operation right. However, it is not possible to change the internal state or stop / resume execution. That is, the thread 10 that has already started to move (thread I
D = 10) is not erroneously interrupted by the thread 11 (thread ID = 11) that created it. These initial states shall be specified as arguments of the system call that creates the thread.

【0110】作成されたスレッド10は電子会議のプロ
グラムを実行し、ユーザーAとのインターフェースを司
る。また、スレッド10は電子会議をサポートするため
のメモリ領域として、メモリ領域30(メモリ領域ID
=30)を作成する。
The created thread 10 executes the electronic conference program and controls the interface with the user A. Further, the thread 10 is a memory area 30 (memory area ID) as a memory area for supporting the electronic conference.
= 30) is created.

【0111】メモリ領域30に関する操作権の管理に
は、スレッドの操作権の管理と同様に操作権リスト記憶
部7を用いる。ただし、スレッドの操作権管理の説明で
述べた対象スレッドID、スレッド操作権限、スレッド
の内部状態読出権限、スレッドの内部状態変更権限、ス
レッドの実行の停止/再開権限、スレッド操作権変更権
限は、メモリ領域の操作権管理においてはそれぞれ対象
メモリ領域ID、メモリ領域操作権限、メモリ領域の内
部データ読出権限、メモリ領域の内部データ変更権限、
メモリ領域にあるプログラムの実行権限、メモリ領域操
作権変更権限、となる。
The operation right list storage unit 7 is used to manage the operation right of the memory area 30, as in the case of managing the thread operation right. However, the target thread ID, the thread operation authority, the thread internal state read authority, the thread internal state change authority, the thread execution stop / resume authority, and the thread operation authority change authority described in the description of the thread operation authority management are In the operation right management of the memory area, the target memory area ID, the memory area operation right, the internal data read right of the memory area, the internal data change right of the memory area,
It has the authority to execute the program in the memory area and the authority to change the memory area operation authority.

【0112】図9に示した操作権リスト記憶部は、スレ
ッド10がメモリ領域30の内部データの読み出しおよ
び変更、操作権変更ができることを意味している。
The operation right list storage unit shown in FIG. 9 means that the thread 10 can read and change the internal data in the memory area 30 and change the operation right.

【0113】次にユーザーBおよびユーザーCが電子会
議への参加を表明し、スレッド10は新たにユーザーB
およびユーザーCのためのスレッド12(スレッドID
=12)およびスレッド13(スレッドID=13)を
作成した。その結果、図8の操作権リスト記憶部7のデ
ータは図10のように追加される。また電子会議をサポ
ートするためのメモリ領域であるメモリ領域30は、ス
レッド12およびスレッド13からも使われるので、図
9の操作権リスト記憶部7のデータは図11のように追
加される。
Next, user B and user C announce their participation in the electronic conference, and thread 10 newly creates user B.
And thread 12 for user C (thread ID
= 12) and thread 13 (thread ID = 13) were created. As a result, the data in the operation right list storage unit 7 of FIG. 8 is added as shown in FIG. Further, since the memory area 30 which is a memory area for supporting the electronic conference is also used by the threads 12 and 13, the data of the operation right list storage unit 7 of FIG. 9 is added as shown in FIG.

【0114】つまり、スレッド12およびスレッド13
はスレッド10によりコントロールされており、スレッ
ドに関するあらゆる操作ができるが、スレッド12およ
びスレッド13は他のスレッドのコントロールをするこ
とはできない。これにより、スレッド10が先導して電
子会議の進行をプログラムされた通りに実行することが
できる。
That is, thread 12 and thread 13
Is controlled by the thread 10, and all operations related to the thread can be performed, but the thread 12 and the thread 13 cannot control other threads. This allows the thread 10 to take the lead in executing the progress of the electronic conference as programmed.

【0115】共通のメモリ領域として使われるメモリ領
域30は、スレッド10、スレッド12、スレッド13
のいずれからもデータの読み出し、変更ができるが、そ
の領域が誰から(どのスレッドから)どのような操作が
できるかということを変更することができるのはスレッ
ド10だけである。
The memory area 30 used as a common memory area is a thread 10, a thread 12, and a thread 13.
Data can be read and changed from any of the above, but only the thread 10 can change who (from which thread) and what operation can perform the area.

【0116】このような仕組みで、複雑な依存関係のあ
る電子会議のようなコミュニケーション・プログラムも
OSの操作権管理機構を用いて確実に記述することがで
きる。
With such a mechanism, a communication program such as an electronic conference having a complicated dependency can be surely described by using the operating right management mechanism of the OS.

【0117】次に、会議を先導していたユーザーAのス
レッド10が、途中で会議を抜け、会議はそのまま進行
している場合を考える。
Next, let us consider a case where the thread 10 of the user A who was leading the conference leaves the conference on the way and the conference is in progress.

【0118】単純にスレッド10が自分自身の実行を終
了させたのでは、メモリ領域30の操作権を変更するこ
とのできるスレッドがいなくなり、会議を正しく進行さ
せることができなくなる。このような場合には、ユーザ
ーAは一旦会議の進行権を他の人(例えばユーザーB)
に譲らなければならない。
If the thread 10 simply terminates its own execution, there will be no thread that can change the operation right of the memory area 30, and the conference cannot proceed correctly. In such a case, the user A once has the right to proceed with the meeting to another person (for example, user B).
Must be handed over to.

【0119】まず、メモリ領域30の操作権をスレッド
12(ユーザーBのスレッド、スレッドID=12)に
設定する。そして、スレッド13の管理権をスレッド1
2に譲り、そのあとで実行を終了する。それ以外のもの
で、操作スレッドIDが10であるものは、スレッド1
0の終了と同時に自動的に消滅させる。
First, the operation right of the memory area 30 is set to the thread 12 (thread of user B, thread ID = 12). Then, the management right of the thread 13 is assigned to the thread 1
Transfer to 2 and then terminate execution. If the operation thread ID is 10 other than that, the thread 1
Automatically disappear at the end of 0.

【0120】これによって、図10および図11の操作
権リスト記憶部はそれぞれ図12および図13のように
なる。すなわち、メモリ領域30へのアクセスはスレッ
ド12とスレッド13の両方からできるが、スレッドの
管理自体の権利はスレッド12が継承する。注意すべき
点は、スレッド10の実行が終了したために、ユーザー
Aのlogin shell であるスレッド11からは、電子会議
を実行するいずれのプログラムに対しても何の権利もな
くなっていることである。
As a result, the operation right list storage units of FIGS. 10 and 11 are as shown in FIGS. 12 and 13, respectively. That is, the memory area 30 can be accessed by both the thread 12 and the thread 13, but the thread 12 inherits the right to manage the thread itself. It should be noted that, since the execution of the thread 10 is finished, the thread 11 which is the login shell of the user A has no right to any program that executes the electronic conference.

【0121】ここに示した例は電子会議プログラムを実
現する一方法を示したものであり、必ずしもこのような
手順で操作権を譲渡してゆかなければプログラムが記述
できないということは意味していない。
The example shown here shows one method of realizing the electronic conference program, and does not necessarily mean that the program cannot be described unless the operation right is transferred in such a procedure. .

【0122】このようにして、スレッドおよびメモリ領
域への操作権を管理しつつ、管理者の変更を実現するこ
とができる。
In this way, it is possible to realize the change of the administrator while managing the operation right to the thread and the memory area.

【0123】本発明の操作権管理装置を使えば、「会議
に参加する」あるいは「会議から退室する」という、本
実施例で具体的に例をあげて説明したような場合におけ
る、曖昧な操作権管理も、アプリケーションで逐一記述
することなく、OSのサポートにより柔軟かつ確実に実
現することができる。
Using the operation right management device of the present invention, an ambiguous operation in the case of "joining a conference" or "leaving from a conference" as described in the concrete example of this embodiment The right management can also be flexibly and surely realized by the support of the OS, without having to describe the application one by one.

【0124】また、本発明は上述した実施例に限定され
るものではなく、その要旨を逸脱しない範囲で、種々変
形して実施することができる。
Further, the present invention is not limited to the above-mentioned embodiments, but can be carried out in various modified forms without departing from the gist thereof.

【0125】[0125]

【発明の効果】本発明の操作権管理装置によれば、スレ
ッドまたはメモリ領域に対する操作を保護するための操
作権管理を柔軟かつ確実に行うことができる。
According to the operation right management device of the present invention, the operation right management for protecting the operation on the thread or the memory area can be performed flexibly and surely.

【図面の簡単な説明】[Brief description of drawings]

【図1】Thread Get Statusを説明するための構成図[Figure 1] Thread Get Configuration diagram for explaining Status

【図2】図1の操作権リスト記憶部7の内部構成例を示
す図
FIG. 2 is a diagram showing an internal configuration example of an operation right list storage unit 7 in FIG.

【図3】本実施例に係わる操作権管理装置において操作
権を変更する動作を示すフローチャート
FIG. 3 is a flowchart showing an operation for changing an operation right in the operation right management device according to the present embodiment.

【図4】Thread Add Acl を説明するための構成図[Figure 4] Thread Add Block diagram to explain Acl

【図5】本実施例に係わる操作権管理装置において操作
権変更権を変更する動作を示すフロー図
FIG. 5 is a flowchart showing an operation of changing the operation right change right in the operation right management device according to the present embodiment.

【図6】図4の操作権リスト記憶部7の内部構成例を示
す第1の図
FIG. 6 is a first diagram showing an internal configuration example of an operation right list storage unit 7 in FIG.

【図7】図4の操作権リスト記憶部7の内部構成例を示
す第2の図
FIG. 7 is a second diagram showing an internal configuration example of an operation right list storage unit 7 in FIG.

【図8】電子会議開催時のスレッド操作権リストを示す
FIG. 8 is a diagram showing a thread operation right list when an electronic conference is held.

【図9】電子会議開催直後のメモリ領域操作権リストを
示す図
FIG. 9 is a diagram showing a memory area operation right list immediately after the electronic conference is held.

【図10】電子会議に新たなメンバが参加した際のスレ
ッド操作権リストを示す図
FIG. 10 is a diagram showing a thread operation right list when a new member participates in an electronic conference.

【図11】電子会議に新たなメンバが参加した際のメモ
リ領域操作権リストを示す図
FIG. 11 is a diagram showing a memory area operation right list when a new member participates in an electronic conference.

【図12】ユーザーAが電子会議の先導権をユーザーB
に委譲した際のスレッド操作権リストを示す図
FIG. 12: User A gives the lead right of the electronic conference to user B
Of the thread operation right list when delegating to

【図13】ユーザーAが電子会議の先導権をユーザーB
に委譲した際のメモリ領域操作権リストを示す図
FIG. 13: User A gives the lead of the electronic conference to user B
Of memory area operation right list when delegating to

【符号の説明】[Explanation of symbols]

1…プログラム記憶部、2…プロセッサ、3…スレッド
管理部、4…実行状態切替部、5…メモリ領域ID記憶
部、6…スレッドID記憶部、7…操作権リスト記憶
部、8…システムコール受付部、9…引数検出部、10
…システムコールの種類判定部、11,21…システム
コール実行部、12…操作権限判定部、13…対象スレ
ッドID検出部、14…スレッド情報格納位置検出部、
15…エラー処理部、16…スレッド状態参照実行部、
17…システムコール終了部、22…指定操作スレッド
ID検出部、23…指定対象スレッドID検出部、24
…指定メモリ領域ID検出部、25…指定操作権限検出
部、26…操作権変更権判定部、27…操作権リスト変
更部
1 ... Program storage unit, 2 ... Processor, 3 ... Thread management unit, 4 ... Execution state switching unit, 5 ... Memory area ID storage unit, 6 ... Thread ID storage unit, 7 ... Operation right list storage unit, 8 ... System call Reception unit, 9 ... Argument detection unit, 10
System call type determination unit 11, 21 ... System call execution unit 12, Operation authority determination unit 13, Target thread ID detection unit 14, Thread information storage position detection unit,
15 ... Error processing unit, 16 ... Thread state reference execution unit,
Reference numeral 17 ... System call end unit, 22 ... Designated operation thread ID detection unit, 23 ... Designation target thread ID detection unit, 24
Specified memory area ID detection unit, 25 ... Specified operation authority detection unit, 26 ... Operation right change right determination unit, 27 ... Operation right list change unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 申 承昊 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 吉田 英樹 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) The inventor, Mr. Shoujo Shin, Komukai, Kawasaki City, Kanagawa Prefecture, No. 1, Toshiba-cho, Toshiba Research & Development Center (72) Inventor, Hideki Yoshida, Komukai, Saitama-ku, Kawasaki, Kanagawa Prefecture Toshiba Town No. 1 Inside Toshiba Research and Development Center

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】複数の並行して実行されるスレッドにより
プログラムを実行する手段と、 各スレッドに対する操作を、この操作を行う主体となる
スレッドまたはユーザ、もしくはこの操作を行う主体が
存在するメモリ領域またはプログラムの少なくともいず
れかに基づいて、許可するか否かを指示する操作権情報
を記憶する手段とを備える操作権管理装置において、 前記操作権情報の変更を、この変更を行う主体となるス
レッドまたは、ユーザもしくはこの変更を行う主体が存
在するメモリ領域またはプログラムの少なくともいずれ
かに基づいて、許可するか否かを示す変更権情報を記憶
する手段と、 前記操作権情報の変更を実行する前に、記憶された前記
変更権情報を参照して、この変更が許可されるか否かを
検証する手段とを具備したことを特徴とする操作権管理
装置。
1. A means for executing a program by a plurality of threads which are executed in parallel, and a memory area in which a thread or a user who is the subject of performing this operation, or a subject who performs this operation exists, for each thread. Or, in the operation right management device provided with means for storing operation right information for instructing whether to permit or not based on at least one of the programs, a thread which is a main body for changing the operation right information. Alternatively, a means for storing change right information indicating whether to permit or not based on at least one of a memory area and a program in which a user or a subject who makes this change exists, and before executing the change of the operation right information. Means for verifying whether or not the change is permitted by referring to the stored change right information. Operation right management device according to claim.
【請求項2】実メモリまたは仮想メモリを複数のメモリ
領域の集合として管理する手段と、 各メモリ領域に対する操作を、この操作を行う主体とな
るスレッドまたはユーザ、もしくはこの操作を行う主体
が存在するメモリ領域またはプログラムの少なくともい
ずれかに基づいて、許可するか否かを指示する操作権情
報を記憶する手段とを備える操作権管理装置において、 前記操作権情報の変更を、この変更を行う主体となるス
レッドまたは、ユーザもしくはこの変更を行う主体が存
在するメモリ領域またはプログラムの少なくともいずれ
かに基づいて、許可するか否かを示す変更権情報を記憶
する手段と、 前記操作権情報の変更を実行する前に、記憶された前記
変更権情報を参照して、この変更が許可されるか否かを
検証する手段とを具備したことを特徴とする操作権管理
装置。
2. There is a means for managing a real memory or a virtual memory as a set of a plurality of memory areas, and a thread or a user who is an entity that performs the operation for each memory area, or an entity that performs this operation. In an operation right management device including means for storing operation right information for instructing whether to permit or not based on at least one of a memory area and a program, the operation right information is changed by a main body that makes this change. Means for storing change right information indicating whether to permit or not based on at least one of a thread, a memory area in which a user or a subject who performs this change exists, and / or a program, and a change in the operation right information. Before the change, by referring to the stored change right information, it is possible to verify whether or not the change is permitted. Operation right management device, characterized in that the.
【請求項3】前記変更権情報を前記操作権情報に付随さ
れて記憶することを特徴とする請求項1または2に記載
の操作権管理装置。
3. The operation right management device according to claim 1, wherein the change right information is stored in association with the operation right information.
JP5349335A 1993-07-20 1993-12-28 Operation right management device Pending JPH07200317A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5349335A JPH07200317A (en) 1993-12-28 1993-12-28 Operation right management device
US08/779,118 US5892944A (en) 1993-07-20 1997-01-06 Program execution and operation right management system suitable for single virtual memory scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5349335A JPH07200317A (en) 1993-12-28 1993-12-28 Operation right management device

Publications (1)

Publication Number Publication Date
JPH07200317A true JPH07200317A (en) 1995-08-04

Family

ID=18403087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5349335A Pending JPH07200317A (en) 1993-07-20 1993-12-28 Operation right management device

Country Status (1)

Country Link
JP (1) JPH07200317A (en)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003518279A (en) * 1999-01-22 2003-06-03 サン・マイクロシステムズ・インコーポレイテッド Techniques to allow access across contextual barriers using global data structures on small area devices
US6859533B1 (en) 1999-04-06 2005-02-22 Contentguard Holdings, Inc. System and method for transferring the right to decode messages in a symmetric encoding scheme
US6865551B1 (en) 1994-11-23 2005-03-08 Contentguard Holdings, Inc. Removable content repositories
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US6885748B1 (en) 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
US6895392B2 (en) 1994-11-23 2005-05-17 Contentguard Holdings, Inc. Usage rights grammar and digital works having usage rights created with the grammar
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US6920436B2 (en) 1994-11-23 2005-07-19 Contentguard Holdings, Inc. Digital work structure
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US6937726B1 (en) 1999-04-06 2005-08-30 Contentguard Holdings, Inc. System and method for protecting data files by periodically refreshing a decryption key
US6938021B2 (en) 1997-11-06 2005-08-30 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6973445B2 (en) 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
US7028009B2 (en) 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US7031471B2 (en) 1997-02-28 2006-04-18 Contentguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermarking
US7051212B2 (en) 1995-02-13 2006-05-23 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7068787B1 (en) 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
US7073199B1 (en) 2000-08-28 2006-07-04 Contentguard Holdings, Inc. Document distribution management method and apparatus using a standard rendering engine and a method and apparatus for controlling a standard rendering engine
US7085741B2 (en) 2001-01-17 2006-08-01 Contentguard Holdings, Inc. Method and apparatus for managing digital content usage rights
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7117180B1 (en) 1994-11-23 2006-10-03 Contentguard Holdings, Inc. System for controlling the use of digital works using removable content repositories
US7120802B2 (en) 1996-08-12 2006-10-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure computing environments
US7124302B2 (en) 1995-02-13 2006-10-17 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
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
US7143290B1 (en) 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US7152046B2 (en) 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
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
US7206941B2 (en) 2000-08-28 2007-04-17 Contentguard Holdings, Inc. Method and apparatus for validating security components through a request for content
US7206765B2 (en) 2001-01-17 2007-04-17 Contentguard Holdings, Inc. System and method for supplying and managing usage rights based on rules
US7222104B2 (en) 2001-05-31 2007-05-22 Contentguard Holdings, Inc. Method and apparatus for transferring usage rights and digital work having transferrable usage rights
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US7243236B1 (en) 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7286665B1 (en) 1999-04-06 2007-10-23 Contentguard Holdings, Inc. System and method for transferring the right to decode messages
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US7356688B1 (en) 1999-04-06 2008-04-08 Contentguard Holdings, Inc. System and method for document distribution
JP2010086410A (en) * 2008-10-01 2010-04-15 Canon Inc Memory protection method, information processing apparatus, memory protection program and recording medium with memory protection program recorded thereon
US8434127B2 (en) 2007-02-08 2013-04-30 Nec Corporation Access control system, access control method, electronic device and control program
US8892473B2 (en) 2001-05-31 2014-11-18 Contentguard Holdings, Inc. Method and system for subscription digital rights management
JP2020530615A (en) * 2017-08-07 2020-10-22 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. How to approve the operation authority of the statistical column table
CN117591542B (en) * 2024-01-18 2024-03-22 准检河北检测技术服务有限公司 Intelligent detection method for database software data security

Cited By (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065505B2 (en) 1994-11-23 2006-06-20 Contentguard Holdings, Inc. Method for metering and pricing of digital works
US9953328B2 (en) 1994-11-23 2018-04-24 Contentguard Holdings, Inc. Method and system for conducting transactions between repositories
US6865551B1 (en) 1994-11-23 2005-03-08 Contentguard Holdings, Inc. Removable content repositories
US7523072B2 (en) 1994-11-23 2009-04-21 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works
US7389270B2 (en) 1994-11-23 2008-06-17 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works
US6895392B2 (en) 1994-11-23 2005-05-17 Contentguard Holdings, Inc. Usage rights grammar and digital works having usage rights created with the grammar
US7359881B2 (en) 1994-11-23 2008-04-15 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works using secure components
US6910022B2 (en) 1994-11-23 2005-06-21 Contentguard Holdings, Inc. Usage rights grammar and digital works having usage rights created with the grammar
US7269577B2 (en) 1994-11-23 2007-09-11 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works using digital tickets
US6920436B2 (en) 1994-11-23 2005-07-19 Contentguard Holdings, Inc. Digital work structure
US6925448B2 (en) 1994-11-23 2005-08-02 Contentguard Holdings, Inc. Usage rights grammar and digital works having usage rights created with the grammar
US6928419B2 (en) 1994-11-23 2005-08-09 Contentguard Holdings, Inc. Method and apparatus for repackaging portions of digital works as new digital works
US7269576B2 (en) 1994-11-23 2007-09-11 Contentguard Holdings, Inc. Content rendering apparatus
US6934693B2 (en) 1994-11-23 2005-08-23 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works
US7266529B2 (en) 1994-11-23 2007-09-04 Contentguard Holdings, Inc. Method and apparatus for executing code in accordance with usage rights
US7260556B2 (en) 1994-11-23 2007-08-21 Contentguard Holdings, Inc. Content rendering device with usage rights
US6944600B2 (en) 1994-11-23 2005-09-13 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works using digital tickets
US7225160B2 (en) 1994-11-23 2007-05-29 Contentguard Holdings, Inc. Digital works having usage rights and method for creating the same
US6957194B2 (en) 1994-11-23 2005-10-18 Contentguard Holdings, Inc. Method for printing digital works
US6957193B2 (en) 1994-11-23 2005-10-18 Contentguard Holdings, Inc. Repository with security class and method for use thereof
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US7209902B2 (en) 1994-11-23 2007-04-24 Contentguard Holdings, Inc. Repository with security class and method for use thereof
US7024392B2 (en) 1994-11-23 2006-04-04 Contentguard Holdings, Inc. Method for controlling use of database content
US7200574B2 (en) 1994-11-23 2007-04-03 Contentguard Holdings, Inc. System for controlling the distribution and use digital works using digital tickets
US7139736B2 (en) 1994-11-23 2006-11-21 Contentguard Holdings, Inc. Content rendering repository
US7043453B2 (en) 1994-11-23 2006-05-09 Contentguard Holdings, Inc. Method and system for conducting transactions between repositories using a repository transaction protocol
US7117180B1 (en) 1994-11-23 2006-10-03 Contentguard Holdings, Inc. System for controlling the use of digital works using removable content repositories
US7058606B2 (en) 1994-11-23 2006-06-06 Contentguard Holdings, Inc. Method for loaning digital works
US7113912B2 (en) 1994-11-23 2006-09-26 Contentguard Holdings, Inc. Composite digital works having usage rights and method for creating the same
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
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
US7415617B2 (en) 1995-02-13 2008-08-19 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce, electronic transactions, commerce process control and automation, distributed computing, and rights management
US7392395B2 (en) 1995-02-13 2008-06-24 Intertrust Technologies Corp. Trusted and secure techniques, systems and methods for item delivery and execution
US7076652B2 (en) 1995-02-13 2006-07-11 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US7281133B2 (en) 1995-02-13 2007-10-09 Intertrust Technologies Corp. 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
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7100199B2 (en) 1995-02-13 2006-08-29 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7143290B1 (en) 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US7051212B2 (en) 1995-02-13 2006-05-23 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
US7120800B2 (en) 1995-02-13 2006-10-10 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
US7120802B2 (en) 1996-08-12 2006-10-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure computing environments
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US7031471B2 (en) 1997-02-28 2006-04-18 Contentguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermarking
US6938021B2 (en) 1997-11-06 2005-08-30 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US7143066B2 (en) 1997-11-06 2006-11-28 Intertrust Technologies Corp. Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US7110983B2 (en) 1997-11-06 2006-09-19 Intertrust Technologies Corporation 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
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US7068787B1 (en) 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
JP2003518279A (en) * 1999-01-22 2003-06-03 サン・マイクロシステムズ・インコーポレイテッド Techniques to allow access across contextual barriers using global data structures on small area devices
US6859533B1 (en) 1999-04-06 2005-02-22 Contentguard Holdings, Inc. System and method for transferring the right to decode messages in a symmetric encoding scheme
US7356688B1 (en) 1999-04-06 2008-04-08 Contentguard Holdings, Inc. System and method for document distribution
US7286665B1 (en) 1999-04-06 2007-10-23 Contentguard Holdings, Inc. System and method for transferring the right to decode messages
US6937726B1 (en) 1999-04-06 2005-08-30 Contentguard Holdings, Inc. System and method for protecting data files by periodically refreshing a decryption key
US7243236B1 (en) 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6885748B1 (en) 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
US7237125B2 (en) 2000-08-28 2007-06-26 Contentguard Holdings, Inc. Method and apparatus for automatically deploying security components in a content distribution system
US7603319B2 (en) 2000-08-28 2009-10-13 Contentguard Holdings, Inc. Method and apparatus for preserving customer identity in on-line transactions
US7206941B2 (en) 2000-08-28 2007-04-17 Contentguard Holdings, Inc. Method and apparatus for validating security components through a request for content
US7412605B2 (en) 2000-08-28 2008-08-12 Contentguard Holdings, Inc. Method and apparatus for variable encryption of data
US7269735B2 (en) 2000-08-28 2007-09-11 Contentgaurd Holdings, Inc. Instance specific digital watermarks
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US7073199B1 (en) 2000-08-28 2006-07-04 Contentguard Holdings, Inc. Document distribution management method and apparatus using a standard rendering engine and a method and apparatus for controlling a standard rendering engine
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7184571B2 (en) 2000-12-29 2007-02-27 Contentgaurd Holdings, Inc. Multi-stage watermarking process and system
US7609848B2 (en) 2000-12-29 2009-10-27 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7206765B2 (en) 2001-01-17 2007-04-17 Contentguard Holdings, Inc. System and method for supplying and managing usage rights based on rules
US7028009B2 (en) 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US7085741B2 (en) 2001-01-17 2006-08-01 Contentguard Holdings, Inc. Method and apparatus for managing digital content usage rights
US7152046B2 (en) 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
US8892473B2 (en) 2001-05-31 2014-11-18 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7222104B2 (en) 2001-05-31 2007-05-22 Contentguard Holdings, Inc. Method and apparatus for transferring usage rights and digital work having transferrable usage rights
US6973445B2 (en) 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US7162633B2 (en) 2001-05-31 2007-01-09 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US8869293B2 (en) 2001-05-31 2014-10-21 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US8862517B2 (en) 2001-05-31 2014-10-14 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
JP5263602B2 (en) * 2007-02-08 2013-08-14 日本電気株式会社 ACCESS CONTROL SYSTEM, ACCESS CONTROL METHOD, ELECTRONIC DEVICE, AND CONTROL PROGRAM
US8434127B2 (en) 2007-02-08 2013-04-30 Nec Corporation Access control system, access control method, electronic device and control program
JP2010086410A (en) * 2008-10-01 2010-04-15 Canon Inc Memory protection method, information processing apparatus, memory protection program and recording medium with memory protection program recorded thereon
JP2020530615A (en) * 2017-08-07 2020-10-22 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. How to approve the operation authority of the statistical column table
CN117591542B (en) * 2024-01-18 2024-03-22 准检河北检测技术服务有限公司 Intelligent detection method for database software data security

Similar Documents

Publication Publication Date Title
JPH07200317A (en) Operation right management device
CN109558211B (en) Method for protecting interaction integrity and confidentiality of trusted application and common application
US5892944A (en) Program execution and operation right management system suitable for single virtual memory scheme
RU2313126C2 (en) System and method for protection from non-trusted system control mode code by means of redirection of system management mode interrupt and creation of virtual machine container
CA2213312C (en) Computer backup system operable with open files
US6209088B1 (en) Computer hibernation implemented by a computer operating system
Walia Operating system concepts
US5717902A (en) Method and system for selectively applying an appropriate object ownership model
US5701493A (en) Exception handling method and apparatus in data processing systems
US7665143B2 (en) Creating secure process objects
JP2650675B2 (en) Method and operating system for executing a program in a multi-mode microprocessor
US20030101322A1 (en) Protection of user process data in a secure platform architecture
EP3864555B1 (en) Verifying a stack pointer
JP2006252565A (en) System and method for multi-level intercept processing in virtual machine environment
JPH01233543A (en) Formation of reliable path between terminal and data processor
EP0871134B1 (en) Accessing database information
US7069445B2 (en) System and method for migration of a version of a bootable program
US8103591B2 (en) Flexible management process for multiple activities executed on partitionable platforms of a multiple processor system
WO2007040228A1 (en) Information processing device, information processing method, and program
JP3585510B2 (en) Program execution management device and program execution management method
JP2002157132A (en) Computer, its control method, and storage medium for storing the same method
Stallings The windows operating system
AU695339C (en) Computer backup system operable with open files
Server 5FIFTH
CN112580023A (en) Shadow stack management method and device, medium and equipment