首页 / 专利库 / 电脑编程 / 应用程序编程接口 / Data processing system including general control interface

Data processing system including general control interface

阅读:761发布:2022-10-02

专利汇可以提供Data processing system including general control interface专利检索,专利查询,专利分析的服务。并且PURPOSE: To easily call one of plural application program interfaces without necessitating knowledge for the parameter and to easily change a task type to be started. CONSTITUTION: This system is provided with a general application programming interface 200 including a code converter 250 which converts at least one coded parameter used for calling an interface into plural parameters for a data processing operation, and template 232 which imposes a format to at least two parameters. And the interface 200 is generalized so as to be made correspond to one group of data processing operations and starts a task according to an OS/2 operating system.,下面是Data processing system including general control interface专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 一群のデータ処理オペレーションに対応するよう汎用化されたインターフェースであって、 前記インターフェースの呼出しに使用される少くとも1
    つのコード化パラメータを前記データ処理オペレーションの制御に対する複数のパラメータに変換するコード変換手段と、 前記複数のパラメータの少くとも2つにホーマットを課するテンプレート手段とを含むことを特徴とするインターフェース。
  • 【請求項2】 前記インターフェースは、更に前記複数のパラメータの1つを選択する手段を含むことを特徴とする請求項1記載のインターフェース。
  • 【請求項3】 前記インターフェースは、更にプログラムにより指定されるプログラム・オペレーションの識別と、前記プログラム・オペレーションの開始に使用されるプロセスとを含む少くとも1つの第2のパラメータを含むことを特徴とする請求項1記載のインターフェース。
  • 【請求項4】 一群のデータ処理オペレーションに対応するよう汎用化されたインターフェースを含むデータ処理システムであって、前記インターフェースは、 前記インターフェースの呼出しに使用される少くとも1
    つのコード化パラメータを前記データ処理オペレーションの制御に対する複数のパラメータに変換するコード変換手段と、 前記複数のパラメータの少くとも2つにホーマットを課するテンプレート手段とを含むことを特徴とするデータ処理システム。
  • 【請求項5】 前記インターフェースは、更に前記複数のパラメータの1つを選択する手段を含むことを特徴とする請求項4記載のデータ処理システム。
  • 【請求項6】 前記インターフェースは、更にプログラムにより指定されるプログラム・オペレーションの識別と、前記プログラム・オペレーションの開始に使用されるプロセスとを含む少くとも1つの第2のパラメータを含むことを特徴とする請求項4記載のデータ処理システム。
  • 【請求項7】 インターフェース・オペレーションにより一群のデータ処理オペレーションから選択された1つのデータ処理オペレーションを呼出す方法であって、 単一パラメータを複数のパラメータに変換する工程を含むことを特徴とするデータ処理オペレーションの呼出方法。
  • 【請求項8】 前記呼出方法は、更に前記インターフェース・オペレーションのパラメータに応答してシステム・オペレーションの1つに対応する名称を供給し、 前記複数のパラメータの少くとも1つと共に前記名称をホーマット化する各工程を含むことを特徴とする請求項7記載のデータ処理オペレーションの呼出方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は広くはアプリケーション・プログラミング・インターフェース(API)に関し、特にOS/2 TM (インターナショナル・ビジネス・
    マシーンズ・コーポレイションの商標)オペレーティング・システムに従ってタスクを開始するAPIに関する。

    【0002】

    【従来の技術】データ処理システムの有益なオペレーションの中心をなすものはいわゆるオペレーティング・システムである。 オペレーティング・システムは、通常、
    データ処理装置がオペレータにより又はプログラムに従って入したコマンドに応答して実行することができるオペレーションを規定するソフトウェアによって設定される。

    【0003】従来、MS−DOS TM (マイクロソフト社の商標)及びUNIX TM (ベル・ラバラトリースの商標)のような多くの成功したオペレーティング・システムが開発されてきた。 かかるオペレーティング・システムは、
    アプリケーション・プログラミング・インターフェースを含み、データ・プロセッサが実行することができる基本システム操作と、それらがデータ・プロセッサ内で実行されうる方法とを設定する。

    【0004】OS/2 TMは多重タスク処理動作モード(例えば、多数のデータ処理機能の有効な同時実行のような)を支援する最近開発されたオペレーティング・システムとして知られている。 多重タスク処理において、
    異なるタスクは少くとも特定カテゴリのタスク間の順序に関係なく、同時に実行することができる別個に実行可能な単位として設計されなければならない。

    【0005】OS/2 TMにおいて、データ処理装置により遂行される基本単位は、スレッド(THREAD)と称する。 スレッドは、又スレッドに相当するプログラム又はその一部がプロセッサ内で遂行されるべきコンテキストを提供する。 このコンテキストはスレッドの遂行に使用されるレジスタ、スタック、及びCPUモードを含む。

    【0006】プロセスは特定のプログラムに割振られ、
    最少1スレッド含まなければならないスレッド、メモリー、ファイル、装置、パイプ、キュー等のようなシステム資源の収集を実行する。 OS/2 TMは、又、キーボード、ディスプレイ、又はマウス等によって構成しうるような仮想コンソールに関連する1以上のプロセスを集合したいわゆるセッョンを提供する。

    【0007】しかし、セッションは、単に本発明を理解するためのプロセスの他の形式とみなすことができる。
    ここで使用される用語“タスク”は他のオペレーティング・システムのこれに対応するオペレーション・タイプ同様、OS/2 TMにおけるスレッド及びプロセスの両方に対する総称であると理解するべきである。

    【0008】スレッドが他のスレッドを作成することができたとしても、プロセス内のスレッド間に階層はない。 一度開始すると、スレッドはプロセス内で走行する他の全べてのスレッドと対等とみなされる。 CPUに対する競合は普通メモリー又はファイルのような特定の資源に対するフラグのセット及びリセットによって解決される。

    【0009】しかし、プロセス間では階層は存在することができ、プロセスも又他のプロセスを作成することができる。 プロセス間の階層は一般に親−子の用語で呼称される。 各々がCPU時間に対して競合するスレッドを含む親プロセスと子プロセス間のプロセスの競合は、ディレクトリの表示を生成するために子プロセスを使用するというような子プロセスの遂行中では、親プロセスを中断するようにしてそれを解決する。

    【0010】親プロセスと子プロセスが同時に遂行する場合のプロセスの例としては、親プロセスがその遂行を継続中、その背景において、例えば、子プロセスがプリンタに対して送信するための時間中単にそこに割込むようにして、子プロセスがファイル又は文書を印刷するというような場合である。

    【0011】この階層はシステムの性能を改良するため、1以上のアプリケーシヨン・プログラムを潜在的に同時遂行可能な部分に分割することができる。 かかるアプリケーション・プログラムの各部分は、実際には、データ処理システムのCPUによって同時に実行する必要はなく、厳密な技術的意味において、それはまれであるものと理解するべきである。

    【0012】しかし、これらプログラムの部分に対するタイムスロットの動的割当て、及びプロセッサの有益な性能による速いシーケンスでそれらを遂行すること(例えば、共用資源に対する競合を解決する順序で)はプロセスとスレッドの同時遂行の結果が同時に現われ、システムの性能を大きく改善する。

    【0013】特に、OS/2 TMがプログラムを開始したとき、まず必要な資源を得るためにプロセスを作成する。 次に、プログラムをロードして、プロセス内のスレッドを開始し、コードを走行する。 異なるプロセスからのスレッドが走行されると、種々のスレッドによりアクセス可能な資源の所有権はそのプロセスに従って設定され、再設定される。

    【0014】例えば、プロセスAにおいてスレッド1を走行するときはプロセスAの資源に対してアクセスし、
    プロセスBにおいてスレッド1を走行するときはプロセスBの資源に対してアクセスする。 このような方法により共用資源に対する競合は通常容易に解決される。 このオペレーションは特定のプロセスが資源を動的に取得し、解放することができるという事実によって強化又は拡張される。

    【0015】OS/2 TMオペレーティング・システムの上記機能及び他の機能は1988年にオスボーン・マグローヒル社から出版された“OS/2プログラマース・
    ガイド”(Ed Iaccobucci 著)に詳細に記述されており、OS/2オペレーティング・システムの上記及び上記以外の記述に対しても参照文献としてここに編入される。

    【0016】

    【発明が解決しようとする課題】プロセッサの性能を改良するため、スレッド、プロセス、及びセッションのかかる階層を提供した場合、これら各遂行可能なオペレーションは必然的に異なる構造を持つため、プログラミングが複雑となる。

    【0017】例えば、OS/2 TM内においては、4つのシステム・レベル・アプリケーション・プログラミング・インターフェース(例えば、DOSスレッド作成(Do
    s Create Thread)、DOSセッション開始( Dos Start
    Session) 、DOSプログラム遂行( Dos Exec Progra
    m)、及びスレッド開始(begin Thread)のような)の1
    つがスレッド又 はプロセスを開始するために要求されるかもしれない。 多重タスク・オペレーションが可能な他のオペレーティング・システム・アプリケーション・
    アーキテクチャにおいては、他の上記のものに匹敵しうるシステム・レベル数のアプリケーション・プログラミング・インターフェース(API)が要求されるであろう。

    【0018】スレッドに含みうる各オペレーションは実行されるべきシステム・アプリケーション・アーキテクチャ(SAA)に対する適切なオペレーションを実行するものでなければならない。 MVS,VM,OS40
    0,及び他のオペレーティング・システムのような異なるシステム・アプリケーション・アーキテクチャ(SA
    A)は異なる方法で共用資源に対する割振り及び競合を処理するため、スレッド開始のために要求されるコードを異なるものにしなければならず、模範的には、異なるアプリケーション・プログラミング・インターフェースによって処理されなければならない。 それに要求される差異は些細なものではなく、夫々API当り5乃至50
    行が要求される。

    【0019】それら異なるスレッド開始方法は、それぞれシステム・レベルAPIに特有の異なるパラメータ及び構文とその各々に対するコードとを含む該システム・
    レベルAPIの各々に対して要求される異なるパラメータ及びそれらの許容しうる値に通じていなければならないプログラマに対して重い負担をかけることになる。 特定のプロセス中に、これら方法の少くとも1つが必然的に含まれるにちがいないし、又、その各方法はプログラム中に膨大な回数含まれるかもしれない。

    【0020】その上、、対応するオペレーティング・システム・レベルAPIに対して要求するコードは非常に異なるものと思われるため、プログラム中にかかるコードが含まれると異なるオペレーティング・システムを走行するシステムでは、そのプログラムを遂行することができなくなるかもしれない。 故に、オペレーティング・
    システム・レベルAPIの差異はオペレーティング・システム間におけるプログラムのポーティング又は移動を事実上妨げる。

    【0021】この制限は異なるオペレーティング・システムを走行するデータ・プロセッサを含むかもしれない大型ネットワークを実現する場合に重大なものとなる。
    その上、、特定のプログラム又はアプリケーションの遂行が共通のオペレーティング・システムを有するネットワークのプロセッサにのみ制限されるとすると、ネットワーク全体のデータ処理資源の利用開発は不可能である。

    【0022】従って、本発明の目的は、プロセッサにおける遂行作業(例えば、開始、セッション、プロセス、
    又はスレッド等)のため、複数の意図するオペレーティング・システム・アプリケーション・プログラミング・
    インターフェースの1つを呼び出すことができる単一の汎用化且つ単純化したアプリケーション処理インターフェースを提供することである。

    【0023】本発明の他の目的は、ハイレベル・システムにおける単一の単純化したアプリケーション・プログラミング・インターフェースの使用により開始されるべきタスク・タイプ(例えば、セッション、プロセス、又はスレッド)をプログラマが容易に変更することができる配列法を提供することである。

    【0024】更に、本発明の目的は、追加のオペレーティング・システムを支援するよう変更することができる汎用アプリケーション・プログラミング・インターフェースを提供することである。

    【0025】更に、本発明の他の目的は、オペレーティング・システム間の可搬性を可能にするため、オペレーティング・システム特定の依存性を含む必要がないアプリケーション・プログラミング・インターフェースを提供することである。

    【0026】更に、本発明の他の目的は、異なる又は複数のオペレーティング・システム環境において、変更することなく、よりハイレベルのプログラムを走行可能にするアプリケーション・プログラミング・インターフェースを提供することである。

    【0027】更に、本発明の他の目的は、プログラム内でタスク又はスレッドを開始する方法をプログラムが容易に変更することができる配列法を提供することである。

    【0028】更に、本発明の目的は、実質的によりハイレベルのプログラムに変更することなく、新オペレーティング・システム基底オプションを支援するよう変更することができる汎用アプリケーション・プログラミング・インターフェースを提供することである。

    【0029】更に、本発明の他の目的は、異なるオペレーティング・システム間でアプリケーションの移動を容易にし、プログラムを異なるオペレーティング・システムにおいて走行しうるようなバージョンに変換する配列法を提供することである。

    【0030】

    【課題を解決するための手段】本発明は、上記の課題を解決するため、一群のデータ処理オペレーションに対応するよう汎用化されたインターフェースを提供し、該インターフェースはその呼出しに使用される少くとも1つのコード化パラメータをデータ処理オペレーション用の複数のパラメータに変換するコード変換手段と、少くとも2つのパラメータにホーマットを課するテンプレート手段とを含む。

    【0031】本発明の他の面によると、インターフェースの呼出しに使用される少くとも1つのコード化パラメータをデータ処理オペレーション用の複数のパラメータに変換するコード変換手段と、少くとも2つのパラメータにホーマットを課するテンプレート手段とを含む一群のデータ処理オペレーションに対応するよう汎用化したインターフェースを含むデータ処理システムを提供する。

    【0032】更に、本発明の他の面によると、単一パラメータを複数のパラメータに変換するステップ又は工程を含むインターフェース・オペレーションにより一群のデータ処理オペレーションから選択された1つのデータ処理オペレーションを呼出す方法を提供する。

    【0033】更に、本発明の他の面によると、一群のデータ処理オペレーションに対応するよう汎用化され、インターフェースの呼出しに使用される少くとも1つのコード化パラメータをデータ処理オペレーション用の複数のパラメータに変換するコード変換手段と、少くとも2
    つの前記複数のパラメータにホーマットを課するテンプレート手段とを含むインターフェースを含み、媒体に記録され、データ処理システムに使用可能なアプリケーション・プログラム製品を提供する。

    【0034】

    【実施例】以下、添付図面に基づき本発明の実施例を詳細に説明する。 図1は従来技術を示す図であって、10
    0は、セッション112、各プロセスに1以上のステップ又は工程116,124を含むプロセス114,12
    2、及び処理及びステップのロード及び遂行のためのスレッド118,120,126から成る又は表わされる1以上のプログラム110を含むことができる任意なアプリケーション・システムである。

    【0035】図を明快にするため、希望するオペレーション(例えば、タスク又はルーチン)の実行のために遂行する各スレッドは、前述のように、あるシステム・レベル・オペレーションではプログラムの各スレッドを開始する必要があり、スレッドでは次にセッションを構成するプロセスを開始する必要があるので、“セッション開始”,“プロセス開始”又は“スレッド開始”の各表示を付した各ブロック112、114、118、12
    0、122、126の右側に単に3つの点でそれを示すようにした。

    【0036】又、スレッドを開始するためにスレッドを使用する必要があるので、図の表示はセッション、プロセス、及びスレッドの開始に対する本発明の適用を反映するものである。 それは、この場合、特定のルーチンを走行するスレッドを開始するべきAPIの機能である(セッション、オペレーション、又はスレッドに対応するルーチンの同一性はアプリケーションに特定であり、
    タスク・アプリケーション・ルーチン(Task Appl Rout
    ine )と称し、図3と共に下記で全体的に説明する)。

    【0037】故に、一様で簡単なプログラムを遂行するためには、プログラムの個々のステップを遂行し、各種ステップの遂行が行われるべき環境を設定するために、
    幾つかの異なるスレッドを開始し、走行しなければならない。

    【0038】プログラムは各スレッドを開始するに必要なコードを十分に反復することができる。 しかし、かかるコードは各スレッドに対して必要であり、オペレーティング・システム300のプログラミング経済の点から、習慣上、かかるコードをオペレーティング・システム300の302〜308のような1以上のサブルーチンとして取り扱うようにした。

    【0039】これらサブルーチンはプロセッサ400で走行するよう個々に呼出し可能であり、アプリケーション・プログラミング・インターフェース又はAPIと呼ばれる。 オペレーティング・システムは、例えば、あるものは少くともプロセス及びスレッド各々の開始、スレッドの作成、又、プロセッサ資源の割振りのようなプロセッサの内部オペレーションで実行しなければならない他の機能等に専用されるというように、種類豊富なAP
    Iを含む。

    【0040】これら専用オペレーティング・システム・
    レベルAPI302〜308はそれぞれOS/2 TMオペレーティング・システムの(特に、図3に示す)DOS
    セッション開始( Dos Start Session) 242、DOS
    スレッド作成(Dos Create Thread)244、DOSプログラム遂行( Dos Exec Program)246、及びスレッド開始(begin Thread)248に対応する。 故に、プログラム110の各行はオペレーティング・システムAPI
    の1つに対応する。

    【0041】特に、プログラム110の各セッション開始(Start Session)(例えば、112)は、例えば、タスク又はルーチンIaを走行するためにAPI302を呼出し、各プロセス開始(Start Process)(例えば、1
    14,122)は、例えば、タスク又はルーチンIcを走行するためにAPI306に接続される。 スレッド開始(Start Thread)はタスク又はルーチンIb又はId
    に対して適切であるかもしれないようなプログラム行に設定したフラグに基づき2つのAPI304,308のうちの1つに接続される。

    【0042】しかし、かかるAPIによって与えられたプログラム・コードの経済性によっても、各APIはプログラマが意図した方法で遂行するために異なるパラメータの入力を要求するので、プログラマによる使用を特に簡単にすることはない。 故に、プログラマは意図したオペレーティング・システムに使用可能な各かかるAP
    Iのオペレーションと、プログラムに使用するときに各APIに対して供給しなければならないパラメータとの両方に通じていなければならない。

    【0043】又、各APIの呼出しのために要求されるこれらパラメータ及びコードはAPIが遂行されるべきオペレーティング・システムごとに異なる。 故に、プログラマはオペレーションの方法と、各オペレーティング・システムで実行される各APIに対するパラメータの要求とに通じていなければならない。

    【0044】故に、プログラマが通じていなければならない異なるAPIの数は大きく増加する。 例えば、OS
    /2 TMのような10のオペレーティング・システムの各々が4以上の異なるスレッド開始方法(例えば、UNIX TM
    オペレーティング・システムの追加の“スポーン”(sp
    awn ) 及び“ホーク”(fork)オペレーションのような)を提供した場合、プログラマはそれら各APIの詳細及びその遂行のために要求されるパラメータの全べてを知らなければならない。

    【0045】その上、必要なパラメータはオペレーティング・システムと走行するタスクの種類の両方で変化する。 又、各スレッドに対するかかるパラメータの仕様はプログラマに対して実質的な負担を与えるものである。

    【0046】しかし、より重要なことは、オペレーティング・システムからオペレーティング・システムに亘る類似のオペレーションに対応するAPIに必要なパラメータ、各種コード、及びホーマット間に組織的な関係がないということである。

    【0047】故に、APIの呼出し及び遂行のためのコードの全べては、プログラムを走行するべき各オペレーティング・システムに対し、プログラムの各異なるバージョンごとにリライトしなければならない。 この制約は、又プロセッサが異なるオペレーティング・システムを使用する場合、ネットワークの各異なるプロセッサ間におけるかかるコードのポーティング又は移動を妨げる。

    【0048】図2は、本発明による汎用APIと図1に示す構成要素との間の関係を示す図である。 アプリケーション・システム100と、オペレーティング・システム300と、プロセッサ400とは、全システムにおける異なるレベルを表わし、本発明の汎用API200は全システムの階層に対し更に他のレベルを挿入することを示す。

    【0049】その上、括弧130で示すように、本発明による単一の汎用API200はセッション、プロセス、又はスレッド等を開始するために要求される。 本発明の汎用APIのこの選択性の機能から、及び非常にレベルが低い抽象性により、本発明による汎用APIは幾分これらオペレーティング・システムのAPIに対するシェルとして機能する。

    【0050】しかし、かかる発明の理解ではまだ不完全である。 というのは、本発明は、パラメータを呼出すコードのパラメータ及び適当なコード・ホーマットを供給するパラメータと、本発明が呼出すオペレーティング・
    システム・レベルAPIを制御するパラメータとに含まれているフラグに応答するからである。

    【0051】本発明は、又オペレーティング・システム又は幾つかのかかるグループに存在するかもしれない他のAPIグループに対して適用可能である。 しかし、説明を簡明にするため、本実施例においては、プロセス及びスレッドの開始に使用するAPIグループについてのみ説明する。

    【0052】この本発明による機能は、プログラマが知らなければならない知識として、本発明が適用される各APIグループの中の1APIの知識にのみ限定することができる。 アプリケーション・システム100の如何なる点においても、セッション開始、プロセス開始、又はスレッド開始等の活動が要求された場合、それらは結局制御されるオペレーティング・システムAPI302
    〜308内部の詳細とは関係なく、共通のオペレーションによって実行することができるということである。

    【0053】これは、下記で詳細に示すように、本発明によるフラグ・バイトを使用して汎用APIの出力を制御するための情報を供給することにより可能とされる。
    かくして、本発明の汎用APIは呼出されるべきオペレーティング・システムAPI間を区別し、必要なホーマット及びそれらを行うためのパラメータを供給する。

    【0054】本発明のこの機能のため、オペレーティング・システムAPIの詳細はプログラマに対して透明にされる。 その上、特定のオペレーティング・システムは、それ自体、本発明が適用される全APIの範囲に亘り透明にされる。

    【0055】図3を参照して本発明による汎用APIについて詳細に説明する。 下記の記述を通し、本発明による汎用APIは、開始されるべきタスクの種類、特定のオプション、及びその開始後そのタスク内で遂行されるべきアプリケーションに特定のコードの名称(例えば、
    A,B,C,D,又はそのコードの位置に対するポインタ)を定義する一組のパラメータと共に、その名称によって呼出される(故に、単一オペレーティング・システムに対し複数の汎用APIを供給又は適用することができる)ということに留意するべきである。

    【0056】オペレーティング・システムAPIに対する個々のフラグ(タスクは“時間依存”モードで走行するべきか否かのような)は単一の“フラグ・バイト”に組込まれて、オペレーティング・システムAPIの呼出しに使用される多くのパラメータに変換されるということも本発明の重要な面である。

    【0057】プログラマによって供給されないものは不履行としてオペレーティング・システムAPIに供給される。 この情報はオペレーティング・システムに対して特定のものではないが、そのコード・セグメント10
    0″に記憶されている遂行されるべきアプリケーション・システム100′のそれぞれのコード部分の名称を単に適用するものである。

    【0058】図3において、100′は各々が1以上のアプリケーション・プログラム110(図2に示す)を含む1以上のアプリケーション・システム100(図2
    に示す)を集合的に示したものである。 本発明の汎用A
    PI200に対するアプリケーション・プログラム11
    0からの出力(図2で括弧130により示す)はA,
    B,C,D等により略図的に示され、それらはアプリケーションの一部として遂行されるべきコードの識別を含み、本発明を呼出すためのタスク開始(Start Task)呼出しのパラメータとしてそれぞれタスクIa,Ib,I
    c,Id等に対応するものである。 汎用API層の範囲と、全システムについて次に高いレベル及び低いレベルの各部分の範囲は図3の左側に描いたそれぞれの括弧によって示される。

    【0059】本発明の汎用APIを呼出す構文及び典型的名称は“タスク開始(P 1 ,P 2 ,P 3 ,…,P
    n)”として示される。ここで、P 1 〜Pnはタスク開始のパラメータである。本発明の説明のためにのみ、本発明で必要なかかるパラメータは3つであるものと考える。

    【0060】しかし、それらパラメータは本発明の範囲内において、多数の方法で表示し、結合し、又は分割し、及び(又は)コード化することができ、この情報を表わすデータの特定の文節又はアーティキュレーションは本発明にとって重要ではない。 例えば、P3,タスク・アプリケーション・ルーチン216及び(又は)P
    2,フラグ・バイト214又は他の固定且つ任意な数のパラメータはタスク・タイプ(P1パラメータ)に含めることができる。

    【0061】逆に、多くのコード化情報が希望する数のオペレーティング・システム・レベルAPIを呼出すために必要であったとすると、P2と全く同一方法でP4
    のような追加のパラメータを使用しえたであろう。 それに替り、4つのオペレーティング・システム・レベルA
    PIのいずれかを選択するためには2ビットのみが必要であるから、P1情報はコード化フラグ・バイトP2に含めることができる。

    【0062】それにも拘らず、図示の構文は本発明の具現化及び説明の簡明性の両方が好ましい。 タスク開始の呼出しの際、これらパラメータはあるデータ構造内に、
    又は汎用API200内の又はそれによって指定された同等のハードウェアに記憶することができるが、記憶する必要はない。 従って、212〜218は概念化することができ、又はレジスタとして実現することができる。

    【0063】ここで、アプリケーション・システム10
    0の個々のオペレーションが如何に実行されるかを検討することが本発明の明確な理解のために有益である。 特に、アプリケーション・システムの継続的部分として実行されるべきタスク又はルーチンとそのタスク又はルーチンを始動し及び実行するために開始されなければならないタスクとの間の区別を認識することが重要である。

    【0064】図4において、401〜403は括弧及び“アプリケーション・システム100”の凡例によって集合的に示したプログラマが書いた模範的ステップである。 これら各模範的ステップは、スレッド、プロセス、
    及びセッションの開始を必要とし、又プロセス又はセッションの開始は少くとも1つのスレッドの開始が必要であるということを思い出さなければならないということが重要である。

    【0065】これら各タスク401〜403はアプリケーション・システムの継続的部分(例えば、プログラムのステップ又はサブルーチン)であるタスク又はルーチンを走行するために開始しなければならない。 故に、各タスク401〜403を開始する場合、タスク401〜
    403で指定されたタスクIa,Ib,Ic,等の特定の1つを走行する。

    【0066】従って、タスク401を開始する場合には(この場合はスレッドとして)、タスクIa,データのフェッチ411を実行する。 タスク又はルーチンCを走行するためタスク402を開始する場合(この場合はプロセスとして)には、タスクIc,複合計算412を実行する。 同様にして、タスク又はルーチンBを走行するためタスク403を開始する場合(この場合はセッションとして)には、タスクIb,スプレッド・シートのディスプレイ413を実行し、以下同様に行う。

    【0067】本発明の絶大な効果を強調するため、異なる方法の開始タスク401〜403はアプリケーション・システム100に反映されなければならず、アプリケーション・システムを走行するべきオペレーティング・
    システムに対応しなければならないということを思い出すべきである。 それは、プログラマがオペレーティング・システム・レベルAPIの完全な知識を持たなければならない理由である。

    【0068】本発明により、いずれの又はすべてのオペレーティング・システム・レベルAPIは単一の汎用A
    PIで呼出すことができる。 アプリケーション・システムは本発明の汎用APIを呼出し、単に汎用APIのパラメータとして希望するタスク又はルーチンを走行するために希望するオペレーティング・システム・レベルA
    PIを指定するのみである。 汎用APIはそれ自体、呼出すことができるオペレーティング・システムAPIの特定の知識のすべてを効果的に含む。

    【0069】図3において、タスク開始の3つの本質的パラメータをP1,P2,P3に示す。 パラメータP
    1,タスク・タイプ(TaskType) は希望するタスク又はルーチンを走行するために、セッション、プロセス、又はスレッドが開始されるべきか否かを判別する特定のオペレーティング・システム・レベルAPI242〜24
    8の指定に使用される。 そのコードはアプリケーション・システム100′のコード・セグメント100″に記憶される。

    【0070】パラメータ2,タスク・フラグ・バイト(Task Flag Byte)はP1によって指定された特定のオペレーティング・システムAPIを呼出すために必要な複数のパラメータを指定する圧縮及び(又は)コード化パラメータである。 パラメータ3,タスク・アプリケーション・ルーチン(Task Appl Routine)は走行されるべきコード(例えば、222)のブロックを見出だすべきアプリケーション・システム100′のコード・セグメント位置に対するポインタである。

    【0071】他のパラメータは個別的セッション、プロセス、又はスレッドとして走行されるべきタスク或はルーチン又はオペレーティング・システムAPIのいずれかに対する追加の制御のためのフラグ、オプション、スイッチ、等を明示することができる。

    【0072】汎用API200は、更に本発明によって認められたタスク・タイプ・パラメータP1に対応するため、フラグ・バイト・パラメータP2のコード化情報の一部に従って選択されるテンプレート232形式の情報を含むことが好ましい様式化配列部230を含む。

    【0073】様式化手段の目的は、詳細に後述するように、フラグ・バイト・パラメータP2からコード化された追加のパラメータとパラメータP3及びP4〜Pnから選ばれたパラメータとを受入れること、及びタスク・
    タイプ・パラメータP1の制御のもとに、オペレーティング・システム・レベルAPI242,244,24
    6,248の1つを呼出すための名称及びパラメータ・
    リストのそれぞれの位置にその情報を挿入することである。

    【0074】特定のタスクの呼出しには、全パラメータP4〜Pnより少いパラメータを要求することができ、
    その選択は許容しうるパラメータの値と構文を指定するテンプレートの付加と共に、パラメータ(タスク・バイト・フラグ)214の制御の下に、ロジック・ブロック232において行われる。 この選択機能は、ソフトウェアによる実施が好ましいが、ゲート配列のようなハードウェアで実施することもできる。

    【0075】OS/2 TM及びある他のオペレーティング・システムの制御の下に、特定のスレッド、プロセス、
    又はセッションに対するスイッチ及び他の制御は別のパラメータとして指定される。 各APIに含まれているパラメータはオペレーティング・システムの他のAPIとは異なり、異なる構文が含まれる。

    【0076】パラメータ及び値の両方とも制限され、その構文もオペレーティング・システムごとに異なる。 これは非常に類似する機能を実行することができる複数のオペレーティング・システム・レベルAPIを呼出すことが極端に困難であることの主な理由である。 又、フラグも、上記同様、APIごとに、及びオペレーティング・システムごとに異なるよう含められる。

    【0077】本発明の重要な機能は、単一パラメータとして高度に圧縮した形のバラメータ及びフラグ情報を含めるためのフラグ・バイト(システムのどこにおいてもよく、ビット形式で、便宜上1バイト長でよい)を設けることである。 従って、このフラグ・バイト・パラメータに対する可能値の数は大きくてもよいが、この値は実際にはそれ程抵抗はなく、プログラマが直ぐ学ぶことができ、特定のオペレーティング・システム・レベルAP
    Iに関する情報よりはるかに効率的に使用することができるものである。

    【0078】いずれにせよ、コードはオペレーティング・システム・レベルAPIのパラメータの許容可能な値のみに対応して与えられるので、そうでなければプラグラマに要求したであろう知識のほとんどはフラグ・バイト・コードに暗黙的に含まれる。 この機能はプログラマがスレッドを開始する度ごとに複数のパラメータを個別に用意しなければならない負担を救済する。

    【0079】上記の如き本発明の汎用APIに対するアーキテクチャが与えられると、オペレーションは非常に簡単となる。 名称“タスク開始”及び“タスク・タイプ”パラメータに含まれる固定且つ任意な数のパラメータと、“タスク・フラグ”パラメータと、タスク・アプリケーション・ルーチン・パラメータとは本発明に従い汎用APIの呼出しに使用される。

    【0080】タスク・コードはタスク・タイプ・パラメータ及びタスク・アプリケーション・ルーチン・パラメータによりアクセスされ、及び(又は)総合的に取扱われる。 タスク・フラグ・バイト・パラメータはコード・
    コンバータ250でデコードされてテンプレート232
    による選択の制御のためのコード・ビットを供給し、コード又は、ホーマット化を通してテンプレート232からのテンプレートと併合されるべき個有のパラメータ集合のコードに対するポインタを供給する。

    【0081】図に示してはいないが、コード・コンバータ250も又、タスク・タイプ・パラメータの追加の制御の下にホーマット化するテンプレートを含み、及び選択的に供給することができる。 これがない場合は、ホーマット・テンプレート選択信号及びホーマット化手段2
    30に入力される情報の併合のための制御を接続252
    に供給しなければならない。 デコードされたパラメータ値が接続254を介してホーマット化手段230に供給される。

    【0082】ホーマット化手段230により一度特定のタスク開始のためのコードが組立てられると、プログラム210に従い開始するセッション、プロセス、又はスレッドに対応する組立てられたコードによってオペレーティング・システム・レベルAPI242〜248の1
    つが呼出される。

    【0083】希望するタスクは開始され、例示する両方向リンクによって示されるように、遂行されるべきタスク又はルーチン(例えば、222)のコードをアクセスするためのポインタが戻される。 括弧はタスク242〜
    248の間に特定の対応するものがなく、タスク又はルーチンIa〜Id間に特定の対応するものがないということを示すものである。

    【0084】かくして、処理は従来技術におけるように精密に進められるが、複数のオペレーティング・システムAPIのいずれをアクセスするためにも単に1つの汎用APIを要求するのみでよいので、かかる処理の遂行に必要なプログラミングは非常に簡素化された。

    【0085】本発明による汎用APIはOS/2 TMオペレーティング・システム用プログラミングの簡素化に対して特に適用可能であるが、本発明のアーキテクチャは如何なるオペレーティング・システムに対しても同じ方法で精密に機能することができる。 単なる相違は供給されなければならないホーマット化手段230(数は4より多いかもしれない)で実現されるべきホーマットと、
    コード・コンバータ250で供給される出力コードとである。

    【0086】オペレーティング・システムAPIに対して特定であるこの情報は、この理由のため、ハードウェア又はソフトウェアのいずれかにより好ましくはルックアップ・テーブルとして構成されるホーマット化手段(又はコード・コンバータ250)及びコード・コンバータ250のテンプレート選択によって変更する必要があるのみである。 オペレーティング・システム・レベルAPI間の追加の選択はパラメータP1〜P3のいずれかから又はそれらパラメータの組合せから、それらのすべてを供給することができる。

    【0087】その点につき、本発明の汎用APIを呼出す名称はプログラム110、又は可能性のあるP1以外の如何なるパラメータにおいても変更されないということに注意するべきである。 このパラメータの変更はコード・コンバータ250によりP2のために設けられたものに類似するコード・コンバータを供給することによって回避することさえできる。

    【0088】しかしながら、オペレーティング・システム以外のアプリケーション・プログラムの全体的組織は、特定のタスク又はルーチン(例えば、222)を実行するために開始するべきスレッド、プロセス、又はセッションが要求されるか否かを判別するので、P1の変更が要求される事態はまず起こりそうにない。 P2は、
    コード・コンバータ250の単一場所で適当に変更されるので、特に変更する必要はない。

    【0089】同様に、P3はコード・セグメント10
    0″のアプリケーションの特定部分に対するポインタであり、単に汎用インターフェースを通過するのみであるため、変更する必要はない。このアプリケーション・システムの変更に対する必要性の不存在は本発明によって生じるアプリケーション・システムに対するオペレーティング・システムの透明性を示す。

    【0090】これらの変更が、好ましくは更にハイレベルのアプリケーション・システム(例えば、コンピュータ・プログラム製品又はその一部として実現され、テープ又はディスク、又は使用容易或は利便性のためデータ処理システム内にあるような媒体に記録されるかもしれないプログラム210)によりコード・コンバータ25
    0及びホーマット化手段230のテンプレート部230
    において行われると、アプリケーション・システムは、
    それ自体、そのアプリケーション・システムが要求する所要のタスク又はルーチン(例えば、222)を走行するため、オペレーティング・システム・レベルAPIのグループを呼出すためのコード化パラメータ“タスク・
    フラグ・バイト”を含むパラメータ集合と共に、名称1
    つのみを含むように書込まれ、変換することができる。

    【0091】従って、プログラム110のコードは各種プロセッサに存在するオペレーティング・システムと関係なく、プロセッサ間を移動することができる汎用形式で挿入される。 特定のオペレーティング・システムのA
    PI呼出しに向けられたサブルーチンとして本発明の汎用APIを含むようにすると、それは同一トークンにより、プログラムが走行するかもしれないオペレーティング・システムを変更するためにアプリケーション・プログラムを容易に変更することが可能となる。

    【0092】同様にして、単一オペレーティング・システムのより新たなバージョンに組込まれている新機能はデコーダ250又はアプリケーション・プログラムのP
    1パラメータの出力及びインターフェースの対応するテンプレートの記憶機能を同様に変更することによって、
    アプリケーション・プログラムにより使用することが可能となる。

    【0093】以上の説明から、本発明による汎用アプリケーション・プログラミング・インターフェースは、汎用インターフェースを含むハイレベル・プログラムのプログラミング、更新、及び変換の容易性を増大すると共に、プログラマに要求する知識及び熟練の程度を下げることができる。

    【0094】その上、汎用インターフェースは汎用インターフェースを含む異なるオペレーティング・システム環境間のハイレベル・プログラムの移動を可能にし、それ自体、それらの間で容易に搬送することができる。

    【0095】以上、本発明の1つの好ましい実施例を説明したが、本発明の理念及び範囲内で変更実施しうることは明らかである。 例えば、本発明の汎用インターフェースは如何なるグループ或はシステム・レベルの機能又はプログラムのサブルーチンに対しても同様な透明性及び有益性を与えることができる。

    【0096】本発明は、スイッチを通し、又は個別の或はコード化パラメータを使用して制御信号を作成し、それらを所定のホーマットでよりローレベルのオペレーションに供給することができるので、他のレベルのデータ処理システムにおいても、又は複数のアプリケーションに対する単純化ハイレベル・シェルとしてさえ、有益に使用することができる。 従って、本発明は単に以上説明した実施例の範囲内に限定されるべきものではない。

    【0097】

    【発明の効果】本発明は、以上説明したように構成して、単一の汎用化且つ単純化したアプリケーション処理インターフェースを提供したことにより、プログラマはすべてのパラメータに対する知識を持つ必要がなく、簡単に他の意図するオペレーティング・システム・アプリケーション・プログラミング・インターフェースを呼出すことができ、開始するべきタスク・タイプを容易に変更することができるようになった。

    【図面の簡単な説明】

    【図1】データ・プロセッサ用オペレーティング・システム内の従来技術アプリケーション・プログラミング・
    インターフェースと任意にプログラムとの間の関係を示す従来技術による構成図

    【図2】図1に示したシステム構成要素に対する本発明の関係を示す構成図

    【図3】図1に示す構成と類似する構成により本発明の一実施例による汎用アプリケーション・プログラミング・インターフェースAPIを詳細に示した構成図

    【図4】アプリケーション・システムの一部として希望するタスク又はルーチンを走行するために異なる方法でタスクを開始する概念を示す概念図

    【符号の説明】

    100 アプリケーション・システム 100′ アプリケーション・システム 110 アプリケーション・プログラム 130 出力 200 汎用アプリケーション・プログラミング・インターフェースAPI 230 ホーマット化手段 232 テンプレート 242 DOSセツション開始 244 DOSスレッド作成 246 DOSプログラム遂行 248 スレッド開始 250 コード・コンバータ 300 オペレーティング・システム 302 アプリケーション・プログラミング・インターフェース(Ia) 304 アプリケーション・プログラミング・インターフェース(Ib) 306 アプリケーション・プログラミング・インターフェース(Ic) 308 アプリケーション・プログラミング・インターフェース(Id) 400 プロセッサ

    ───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・ガバード アメリカ合衆国76248、テキサス州、ケラ ー、パーク・ノース・レーン、352番地 (72)発明者 サリィ・ズポンシック アメリカ合衆国76052、テキサス州、ハー スト、エバーグレン・ドライブ、532番地

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈