JP4681225B2 - オペレーティングシステムにわたる通信の方法 - Google Patents

オペレーティングシステムにわたる通信の方法 Download PDF

Info

Publication number
JP4681225B2
JP4681225B2 JP2003536884A JP2003536884A JP4681225B2 JP 4681225 B2 JP4681225 B2 JP 4681225B2 JP 2003536884 A JP2003536884 A JP 2003536884A JP 2003536884 A JP2003536884 A JP 2003536884A JP 4681225 B2 JP4681225 B2 JP 4681225B2
Authority
JP
Japan
Prior art keywords
data
address
processor
processes
execution
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.)
Expired - Lifetime
Application number
JP2003536884A
Other languages
English (en)
Other versions
JP2005505851A (ja
Inventor
アンドリュー アール オズボーン
Original Assignee
ベプテック インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ベプテック インコーポレイテッド filed Critical ベプテック インコーポレイテッド
Publication of JP2005505851A publication Critical patent/JP2005505851A/ja
Application granted granted Critical
Publication of JP4681225B2 publication Critical patent/JP4681225B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、オペレーティングシステムにわたる通信方法に関し、特に、複数のプロセス、及び、1又はそれ以上のプロセス内に配置された複数のメモリソースを使用したオペレーティングシステムにわたる通信方法に関する。
データ処理及び分配は、事実上無制限の種々のタスク又はプロセスを完遂するためのアプリケーションに関する多数の異なる製造及びビジネスで利用される。これらのタスクを完遂するために実装されるシステムは、異なる設計で構成され、典型的にはネットワーク使用に組織化される。ネットワークは、バス又は線形トポロジ、スタートポロジ、リングトポロジなどのような種々の構成でアレンジされ得る。ネットワーク内では、それらは典型的には複数のノード及び、各ノードを相互接続する通信リンクがある。ノードは、コンピュータ、ターミナル、ワークステーション、アクチュエータ、データコレクタ、センサなどである。典型的には、ノードは、プロセッサ、メモリソース、及び種々の他のハードウェア及びソフトウェアコンポーネントを有する。ノードは、情報を得るため及び送信するためにネットワーク内で通信リンクを介して互いに通信する。
関連する技術のシステムにおける主な欠陥は、ノードが他のノードと通信する仕方である。まず、第1のノードが、情報を要求する第2のノードに信号を送信する。第2のノードは、既に情報を処理しており、その結果、第1のノードは応答を待つことになる。第2のノードは、ときどき第1のノードによる要求を認識し、所望の情報にアクセスする。次いで、第2のノードは、添付された情報で第1のノードに応答信号を送信する。第2のノードは、それ自身の処理目的のために情報のコピーを保持する。第2のノードはまた、情報データが第1のノードによって受信されることを保証するために検証を送信する。
このタイプの通信は、第1及び第2のノードの通信の間の時間損失が許容できる多くのアプリケーションで許容される。しかしながら、車両テスト中のデータのリアルタイムコンパイルのような多くのアプリケーションでは、このタイムラグは許容できない。更に、第2及び第1のノードの両方に同じデータを保存する冗長は、メモリ空間を浪費し、処理時間を遅延する。最後に、第1及び第2のノードの間の通信の2つの道が、追加の遅延と、データ衝突の可能性を生成する。
従って、関連する技術の欠点を克服することができるオペレーティングシステムを提供することが有用である。特に、第1及び第2のノードの通信の間の遅延を除去し、メモリソースの使用を最適化することができ、処理時間を低減することができるオペレーティングシステムが望まれている。
1又はそれ以上のプロセッサ内に配置された複数のメモリソース及び複数のプロセスを使用したオペレーティングシステムにわたる通信法を提供する。かかる方法は、システム内のイベントを検出し、前記イベントの検出に応答して最初のプロセスのロケーションを決定するためメモリソースの一つから最初のプロセスアドレスを抽出し、前記イベントの検出に応答して最初のプロセスで使用されうる最初のデータのロケーションを決定するためメモリソースの一つから最初のデータアドレスを抽出するステップを含む。最初のプロセスアドレスにロケーションを有する最初のプロセスの実行可能コードは実行可能であり、最初のプロセスの実行可能コードの実行の完了前に実行する2のプロセスのロケーションを決定するためメモリソースの一つから第2のプロセスアドレスを抽出する。
本発明は、異なるノードの異なるプロセスの通信の間での如何なる遅延をも事実上除去する、オペレーティングシステムにわたる通信の方法を提供する。更に、本発明は、メモリソースの使用を最適化し、プロセスの実行の完了前に、次のプロセスのロケーションを知ることによりプロセスタイムを低減させる。
図を参照すると、同じ参照番号は、種々の図を通して同様又は対応するパーツを指しており、複数のプロセッサ及び、1又はそれ以上のプロセッサ内に配置された複数のメモリソースを使用してオペレーティングシステム30にわたる通信の方法を開示している。該方法を実行することができるオペレーティングシステム30を図1に概略的に示す。
オペレーティングシステム30は、好ましくはスタートポロジ構成を生成するように、中央信号ルーティングハブ32によって相互接続された複数のモジュール、又は、ノード1乃至6を有する。図示したように、特定のノードアドレスでインデックス付けされた各ノード1乃至6とハブ32が接続された6つのノード1乃至6がある。ノードアドレスは例示として、数字的に1乃至6で示す。識別する際に、いかなる適当なアルファベット/参照番号識別子を、あるノードと他のノードとを差別するように用いることができる。8角形状として示された、形状、構成及びハブの方向は、単なる例示であり、如何なる要望をも満たすように変更することができる。
ノード1乃至6は、ワークステーションの一部であってよく、又は、ワークステーション自身であってもよい。ノード1乃至6の汎用性の例示として、ノード6はホストコンピュータ34の一部であり、ノード1、2、4及び5はアクチュエータ36に接続され、ノード3は、接続されていない。ノード1乃至6は、いなかるタイプの周辺デバイス又は、複数のコンピュータ、アクチュエータ、ハンドヘルドデバイスなどを含むデバイスに接続することができることは了解されるべきである。例えば、ノード6は、ハンドヘルドデバイス35にも接続されている。変形実施形態では、ノード1乃至6のいずれも、周辺デバイスに接続されておらず、完全なバーチャルシステムを生成する。周辺デバイスは、モニタ、プリンタ、キーボード、マウスなどのようなコンピュータ技術で知られている適当なデバイスである。
ノード1乃至6の各々は、少なくとも1つのメモリソースを備えた少なくとも1つのプロセッサを含む。プロセッサは、プロセスがロードされるメモリソースに対して読み書きすることができる。プロセスは、他のメモリソースに対して書き込むだけである。通信方法は、信号を送信し、又はデータを書き込むことによる。信号は、同期されていないアナログ信号に仮想的に似ている。信号は、信号の瞬間的な値だけを包含し、要求されたプロセスによってサンプリングされる。信号は、ノード1乃至6のいずれでも、プロセスからメモリの一つに送信される。例えば、プロセスは、同じノード又はリモートノードで稼働している。信号は、信号を受信するノードで実行する他のプロセスによってサンプリングされる。それ故、プロセスは、ローカル又はリモートノードで実行されるが、信号は依然として書き込まれる。信号又はデータは、プロセスが信号又はデータを送信するときはいつでも、宛先アドレスのメモリソースに書き込まれる。信号は、サンプリングが生じているときはいつでも、他のプロセスによってサンプリングされた値を有するように考慮されなければならない。
プロセッサのタイプに制限はない。プロセッサは、マイクロプロセッサのようなハードウェア、又は、ソフトウェア仮想プロセッサ、又は、技術分野で知られているような他の如何なるタイプのプロセッサであってもよい。プロセッサは、異なるサイズ及び速度のものであってよい。例えば、ノード6は、1,500MFlopsプロセッサを有し、残りのノードは、300MFlopsプロセッサを有していてもよい。プロセッサのサイズ及び速度は、多くの設計基準を満たすように変更可能である。典型的には、プロセッサは、ノード1乃至6と関係したプロセッサをサポートするようなサイズ及び速度のものだけである。更に、プロセッサは、異なるコンピュータフォーマット及び言語を認識する異なるタイプのものであってよい。
プラットフォームは、オペレーティングシステム30のノード1乃至6を相互接続する。更に、プラットフォームは、1又はそれ以上のオペレーティングシステム30をサポートしうる。プラットフォームは、プロセスとノードの間の通信のフローをルーティングする。プラットフォームは、プロセッサをノード1乃至6に相互接続させる通信リンクとして示される。図1では、通信リンク68,70は、ノード1及びノード2からハブ32にデータを書き込む。データの書き込みは、オペレーティングシステム30に対して透過的であり、相互接続の方法は、本発明の目的を達成することができる如何なるタイプの接続であってもよい。
各プロセッサは、プロセスに関連したメモリソース内にストアされたデータを包含する。データは、実行され得る他のプロセッサのアドレス、使用され得る他のデータのアドレス、及び、プロセスの実行中に使用するためのデータセットを含みうる。プロセスは、プロセッサの一つにストアされ、異なるプロセッサにストアされたデータを利用しうる。
上述のオペレーティングシステム30は、発明の対象の方法を実行することができる。図3では、方法は、オペレーティングシステム30内で、イベント38を検出するステップを含む。イベント38は、状態の特定の変化が生じた瞬間である。イベント38は、好ましくは、同期信号の検出であり、それにより、全てのプロセスをよく定義された瞬間に同時に開始することを保証する。所望ならば、イベント38は、プロセスを有するノード1乃至6からローカルに生成されうる。検出され得るあるタイプのイベント38は、キーボードのキーを押すようなハードウェア割り込みである。プロセッサは、ハードウェア割り込みを検出し、ハードウェア割り込みは、キーが押されていることをプロセッサに話す。ハードウェア割り込み以外に検出される多くのタイプのイベントがあることを理解すべきである。
次いで、オペレーティングシステム30は、イベント38の検出に応じて、最初のプロセス42のロケーションを決定するためにメモリソースの一つから最初のプロセスアドレス40を抽出する。最初のプロセスアドレス40、又は、次のプロセスに対する最初のポインタ(PNP)は、何れか一つのメモリソースにストアされうるデータである。データは、他のデータを操作するために実行可能なコードの複数のラインを含み得る。最初のPNP40は、システムに、実行されうる実行可能コードのロケーション指し示す、即ち、システムに、実行可能コードのロケーションを伝える
オペレーティングシステム30は、イベント38の検出に応答して、最初のプロセス42で使用される最初のデータ46のロケーションを決定するために、メモリソースの一つから最初のデータアドレス44を抽出する。最初のデータアドレス44又は、次のデータに対する最初のポインタ(PND)はまた、メモリソースのうちの何れか一つにストアされうるデータである。最初のPND44は、実行プロセスで使用されるデータを包含するメモリソースのうちの一つのロケーションを指し示す。最初のPND44ロケーションにロケーションを有するデータは、第2のプロセスアドレス48若しくは第2のPND48、及び、第2のデータアドレス50若しくは第2のPND50を含む。最初のPND44にロケーションを有するデータもまた、最初のデータセット58を含みうる。PNP、PND及びデータアドレスはポインタ又はアドレスであることを理解すべきである。プロセス、データ、及び、「最初の」及び「第2の」のような用語は、単に例示の目的であり、本発明の対象を制限するものではない。各プロセスがここで記載された仕方で実行される本発明の対象の方法は、短い時間内で数千のプロセスを実行するのに用いられる。
イベント38を検出するステップは、メモリソースの一つから最初のパラメータブロック54を検索することと更に定義される。最初のパラメータブロック54は、最初のPNP40及び最初のPND44を含む。最初のパラメータブロック54はまた、最初のデータセット58を含むが、好ましい実施形態では、最初のPNP40及び最初のPND44だけを含む。
オペレーティングシステム30が、プロセスが実行され、データが使用されることを一旦知ったとき、オペレーティングシステム30は、最初のプロセスアドレス40にロケーションを有する最初のプロセス42の実行可能コードを実行する。次いで、第2のプロセスアドレス48又は第2のPNPは、最初のプロセス42の実行可能コードの実行の完遂の前に実行するために第2のプロセス52のロケーションを決めるためにメモリソースの一つから抽出される。メモリソースの一つから第2のPNP48を抽出するステップは更に、最初のデータアドレス44で最初のデータ46から第2のPNP48を抽出するように定義される。それ故、第2のPNP48は、最初のデータアドレス44にロケーションを有する最初のデータ46の一部としてストアされる。
オペレーティングシステム30はまた、最初のプロセス42の実行可能コードの実行の完遂前に第2のプロセス52で使用するために第2のデータ63のロケーションを決定するためにメモリソースの一つから、第2のデータアドレス50又は第2のPND50を抽出する。メモリソースの一つから第2のPND50を抽出するステップは更に、最初のデータアドレス44で最初のデータ46から第2のPND50を抽出するときに定義される。
第2のPNP48及び第2のPND50の抽出は更に、最初のPND44にロケーションを有する最初のパラメータブロック56を抽出するときに定義される。最初のパラメータブロック56は、最初のプロセス42で使用するために最初のデータセット58を含むのが好ましい。オペレーティングシステム30は、最初のプロセス42の抽出中に操作のために、最初のデータアドレス44、又は最初のパラメータブロック56にロケーションを有する最初のデータ46から最初のデータセット58を検索する。該方法は更に、最初のプロセスデータセットを定義するために、実行可能コードの実行中に、最初のデータセット58を処理するステップを含む。また、最初のパラメータブロック56にストアされるのは、メモリソース外から抽出された最初の処理されたデータアドレス60であり、最初の処理されたデータセットは、最初の処理されたデータアドレスに書き込まれる。最初のデータセット58又は他のデータセットは、プロセスの実行中に、使用するためのパラメータ又は値を含む。かかるパラメータは、π=3.141592...又は他のプロセスによって第1のパラメータブロック56に書き込まれた他の値のような定数を含み得る。
オペレーティングシステム30は、最初のプロセス42の実行を完了し、第2のPNP48にロケーションを有する第2のプロセス52に対する通信を通す。次いで、第2のPNP48にロケーションを有する第2のプロセス52の実行可能コードは、第2のPND50にロケーションを有する第2のデータ63で実行される。第2のパラメータブロック62は、第2のデータセット65を包含する第2のPND50にロケーションを有する。第2のデータセット65は、第2のデータアドレス50にロケーションを有する第2のデータ63から検索され、第2の処理されたデータセットを定義するために実行可能コードの実行中に処理される。次いで、第2の処理されたデータアドレス67は、メモリソースの一つから抽出され、第2の処理されたデータセットは、第2の処理されたデータアドレス67に書き込まれる。第2の処理されたデータアドレス67は、ノード1乃至6のいずれかに第2の処理されたデータセットを送信し、他の実行プロセスで利用されうる。
要約すると、イベント38は検出され、最初のPNP40及びPNDを検索する。オペレーティングシステム30は、最初のプロセス42を実行し、データセット及びデータセットアドレスを取り出し、データセットを処理し、処理されたデータセットを処理されたデータセットアドレスに書き込む。次いで、第2のPND50は、第2のプロセス52が第2のデータのロケーションを知るように取り出し、次いで、第2のPNP48は取り出され、実行は、プロセスアドレスにパスされ、第2のPNP48は特定する。オペレーティングシステム30が、プロセスの実行を完了する前にどこに進むのか知っているので、オペレーティングシステムは高速且つ柔軟なリアルタイムシステムである。PNP及びPNDが、それらを使用するプロセスの前にプロセスによって確立されるので、オペレーティングシステム30は、極めて強力なメカニズムを実行することができる。
最初のプロセス42及び第2のプロセス52を含む実行可能コードが、メモリソースの一つに包含されたデータであり、各プロセスに関するデータがまた、メモリソースの一つに包含されたデータである。それゆえ、プロセスは、必要に応じて、互いのデータ及び実行可能コードに書き込むことができる。プロセスによって実行される書き込みは、何れのプロセスについても関連するパラメータブロックにストアされたデータセットを修正することができる。
第2のプロセス52の実行中、最後のPNP64は、実行するため最後のプロセスのロケーションを決定するためにメモリソースの一つから抽出される。最後のプロセスアドレス64にロケーションを有する最後のプロセスの実行可能コードが実行されたなら、システムが他のイベント38を検出するまで、オペレーティングシステム30は、オペレーティングシステム30にわたる通信を停止させる。オペレーティングシステム30は、最後のプロセスに達するまで、必要に応じて多くのプロセスを実行しうる。更に、最後のプロセスは、第2のプロセス52の実行可能コードに組み入れられ得る。最後のプロセスは、第2のプロセス52の後に実行されるように記述されるが、多くのプロセスが最後のプロセスの先に行われる。オペレーティングシステム30が、かかる最後のプロセスなしで作動するように構成されることも更に理解すべきである。
図2A及び2Bを参照すると、本発明の対象の方法の別の特徴は、処理されたデータを複数のプロセスに書き込むことができるプロセスである。プロセスは、複数の処理されたデータアドレスを抽出し、第2の処理されたデータセットを複数の処理されたデータアドレスに書き込む。これは一般には、データのブロードキャストと呼ばれる。変形実施形態では、ハブ32は、複数の特定アドレスなしで、全てのノード1乃至6に関するデータを書き込みうる。言い換えれば、ハブ32は、システムの範囲を知るために有することなく、データ毎に書き込む。ハブ32はまた、データの生成に応じて、ノード1乃至6のうちの各一つにイベントを生成する。図2Aは、信号がノードで生成され、ハブ32に送信されることを図示する。図2Bでは、ハブ32は、信号を複数のアドレスにブロードキャストする。ブロードキャストは、他の全てのノード及びプロセスにイベントを生成するプロセスを実行することができる。別の特徴では、オペレーティングシステム30は、ハブ32から又は、この仕方でノードの一つから生成するデータを送信することができる。ノードのプロセッサの一つにストアされたプロセスは、複数の処理されたデータアドレスにデータを書き込み、それにより、データを他のノードの全てに送信する。ブロードキャストは、オペレーティングシステム30の範囲を知る必要なく、複数の信号を送信する時間を浪費することなくオペレーティングシステム30全体にわたってリクエスト、コマンド、又はグローバルメッセージを送信するのに有用である。
図4を参照すると、実行可能コード及びパラメータブロックは、明確に分離されている。実行可能コード及びデータは、いずれかのメモリソースでミックスされうることは理解されるべきである。第1のプロセスは、異なる3つの時間で実行され、各時間は異なるデータを有する異なるパラメータブロックを使用する。それ故、いずれかのメモリソースにストアされた第1のプロセスに関する実行可能コードの一つのコピーが必要なだけである。
本発明の別の特徴は、プロセスに関する実行可能コードが、複数の異なるデータのアドレスにロケーションを有する複数の異なるデータで実行されうることである。異なるデータセットを備えた同じ実行可能コードの実行は、インスタンスと呼ばれる。それ故、実行可能コードをメモリソースに一旦ストアする必要があるだけであり、それにより、メモリソースのサイズをより有効に使用することができる。図4は、第1のパラメータブロックの異なるインスタンスを各時間で、2回実行されうる第1のプロセスを示す。次いで、第1のプロセスの2以上のインスタンスの後に、第2のプロセスがインスタンスされる。最後に、第2のプロセスは、第2の時間にインスタンスされる。第1のプロセスの第1のインスタンスは、第1インスタンス第1パラメータブロックを備えた第1の実行可能コードを使用する。第1のインスタンス第1のパラメータブロックからのPNDは、第1のプロセスの第2のインスタンス中、最初の実行可能コードを使用するために第2のインスタンス第1のパラメータブロックを指し示す。第2のインスタンス第1のパラメータブロックからのPNDは、第1のインスタンス第2のパラメータブロックを指し示し、次のPNDは、第3のインスタンス第1のパラメータブロックを指し示し、次のPNDは、第4のインスタンス第1のパラメータブロックを指し示し、最後に次のPNDは、第2のインスタンス第2のパラメータブロックを指し示す。プロセスのインスタンスの間の矢印は、PNPのものを図示し、パラメータブロックの間の矢印は、PNDのものを図示する。実行可能コードとパラメータブロックの間の矢印は、実行可能コードで使用されうるデータのインスタンスをリンクし、プロセスと実行可能コードとの間の矢印は、プロセス中に実行されるコードを図示する。
該方法は、実行順に最初のプロセス42及び第2のプロセス52を位置決めするステップを更に含む。実行順序は、プロセスが実行される順序である。実行順序は、実行順に位置決めされた複数のプロセスを含み得る。本発明の対象の方法は更に、複数の実行順序を定義するために複数の最初のデータアドレスと複数の最初のプロセスアドレスとを抽出するステップと、同時に複数の実行順序を実行するステップを含む。実行順序が設定された後、PNP及びPNDは、複数のプロセスの各々に関して確立される。例えば、最初のプロセス42は、第2のプロセス52の前に位置決めされ、それ故、通信は、最初のプロセス42から第2のプロセス52に通す。通信を通すために、最初のPND44にロケーションを有するデータは、第2のプロセス52のPNP及びPNDを含む必要がある。
実行順序は、処理の順序が修正されるように操作することができる。いったん実行順序が修正されたならば、PNP及びPNDは、各操作された処理に関して再確立される。実行順序を操作する一例は、最初の処理42の前に第2の処理52を位置決めしうる。実行順序を再確立するために、最初のPNP40及び最初のPND44は、最初のパラメータブロック54において第2のPNP48及び第2のPND50と置換されうる。第2のパラメータブロック62は、次いで、第2のプロセス52が完了する際に、最初の処理42を実行するために最初のPNP40及び最初のPND44を受信する。次いで、オペレーティングシステム30はイベント38を検出し、最初のパラメータブロック54から第2のPNP48及び第2のPND50を受信し、第2の処理52を実行し、第2のパラメータブロック62から最初のPNP40及び最初のPND44を受信し、最初のプロセス42を実行する。
実行可能コードは、以下に記載するファンクションまたはモジュールを含み、それはノード1乃至6に永久にストアされるか、要求された構成を反映するようにノード1乃至6に書き込まれる。実行可能コードは、実行可能コードが実行され得るノード1乃至6においてプロセッサとバイナリコンパチブルである。実行可能コードは、いずれのメモリソースのどこにでも属し、必要ならば異なるメモリソースに対してリロケート可能である。ファンクションは、例えば、かけ算のような単一算術関数のような、非デバイスソフトウェアファンクションを含む。
モジュールは、オブジェクトにおいてファンクションの収集に便利である。オブジェクトは、ファンクションの異なる組み合わせを実行することができる。ライブラリは、ライブラリが、例えば「数学ライブラリ(math library)」または「信号処理ライブラリ(signal processing library)」のような特定のアプリケーションに適したファンクション及びモジュールの収集を含むような少なくとも1つのメモリソースにストアされる。オペレーティングシステム30は更に、1又はそれ以上のファンクション及び/又はモジュール、加えてそれらに関するパラメータブロック及び/又は接続性それらが一緒にファンクションの良好に定義されたセットを提供するオブジェクトを含む。
プロセッサは、図5乃至7に示したように、ユーザがプロセッサの位置を修正することができるようにユーザに表示される。図5を参照すると、プロセッサは、回路概略図として示され、プロセスからのオブジェクトのようなオブジェクトの間の相互接続を示す。好ましい実施形態では、ディスプレィは、実行順序を表示するためにオペレーティングシステム30に接続される。ユーザは、従来技術で知られたようにクリック及びドラッグによってディスプレィの周りでプロセスを移動することができる。ユーザがプロセス周りを移動するとき、PNP及びPNDは、ユーザがプロセスを位置決めする順番に基づいて再確立される。図5は、オブジェクトA72、オブジェクトB74及びオブジェクトC76の3つのオブジェクトを備えたプロセスの例を示す。各オブジェクトは、プロセス内に異なるサブプロセスがある。オブジェクトA72は、データを各々操作するために、ファンクション1(78)、ファンクション2(80)及びファンクション3(82)の3つのファンクションを含む。ユーザは、ディスプレイのオブジェクトを移動することにより、これらのプロセスのロケーションを修正することができる。
本発明の更に別の特徴は、最初及び第2のプロセスの異なる実行順序を定義するために異なるプロセスアドレスに対して、少なくとも1つの最初のプロセスアドレス40及び第2のプロセスアドレス48を修正することにより実行順序を修正することができる。これにより、オペレーティングシステム30が実行している間、又はイベント38の検出前になされうる。
いったん実行順序がユーザによって表示されたならば、ユーザは表示されたプロセスと関連するデータアドレスにロケーションを有するデータを修正することができる。ユーザは、上述のようなパラメータ及び値を変更するように、プロセスのデータセットを修正することができる。ユーザは、オブジェクトB74に示されたようなパラメータ84及び値86を修正することができ得る。しかしながら、メモリソースの一つにストアされた固定されたプロセスがあり、固定されたプロセスに関するデータが変更されずに残っているならば、固定されたプロセスはユーザに表示される。固定されたプロセスの例は。図5のファンクション1乃至3(78,80,82)であってよい。固定されたプロセスは、論理及び数学的演算を含む。他の固定されたプロセスは、上述のようなモジュールバイナリ及びファンクションを含む。各個別のバイナリは、可変メモリサイズ及びデータ構造に関して要求されたタイプのような、パラメータに沿って、プロセスの実行可能コードをも含むオブジェクトにカプセル化されうる。実行可能コードをカプセル化したオブジェクトは、非可視であり、ユーザによって修正することができない。かかる非可視オブジェクトの一つは、信号を1つ以上の宛先に分配するドットプリミティブ88である。ドットプリミティブ88は、前のプロセスからの一つの入力と、信号が書き込まれる宛先アドレスのリストを有する。
ユーザが修正することができるオブジェクトはユーザオブジェクトである。ユーザオブジェクトにより、1又はそれ以上のオブジェクト及び別のオブジェクト内の接続性が、他のユーザオブジェクト内に埋め込まれうる。ユーザは、入力及び出力接続を加え、記載されたような内部ファンクションを構築することにより、ユーザオブジェクトを生成することができる。ユーザは、プリミティブ及び既存のユーザオブジェクトの両方をユーザオブジェクトに組み入れうる。
ユーザは、記載したようにユーザオブジェクトを名付けることができる。更に、ユーザは、プロパティがユーザオブジェクトで可視であるかどうか選択することができる。ユーザオブジェクト、オブジェクトA72は、他のオブジェクト及びオブジェクトの接続性の詳細を表示する。実行順序を表示するために、システムは、所望のインターバルで実行順序接続性のグローバル「スナップショット」をとる必要がある。各ノード1乃至6のローカルのエージントプロセスは、ブロードキャストに応じたPNP及びPNDのような、特定のデータを収集するように分配される。エージントプロセスは、オペレーティングシステム30に戻るように収集されたデータを書き込む。それ故、オペレーティングシステム30は、リアルタイムで実行順序を表示する。エージェントプロセスによる特定のデータの収集は、上述のように不可視のプロセスである。
図6は、プロセッサ及び関連するメモリソースをユーザに表示する別の実施形態を示す。表示されたメモリソースは、メモリ空間のアロケーションを、プロセス及び関連するパラメータブロック(図示せず)に見せる。ユーザは、プロセス又はメモリがオペレーティングシステム30による自動的割り当てをプロセッサが実行することを修正することができる。オペレーティングシステム30は、種々のプロセッサの間のプロセスの最適化された構成に基づいてプロセスを自動的に位置決めする。変形実施形態では、ユーザは各プロセッサのメモリソースのサイズに基づいてプロセスの位置を操作する。これによりユーザは、そのキャパシティで作動するあるプロセッサが、より小さなキャパシティで作動する別のプロセッサに対して、作動するあるプロセッサからプロセスを移動させることができる。プロセスが他のプロセッサに書き込まれるので、メモリソースに表示されたプロセスは、オペレーティングシステム30の実行順序を示さない。図6はまた、各プロセッサに関する処理リソース又はプロセッサタイムのアロケーションを示す。プロセスがプロセッサに加えられたとき、インジケータは、消費されたプロセッサリソースの量を表示する。例えば、4つのプロセスに関して、プロセッサリソースの20.11%が利用される。
更に、実行順序は同じであるが、プロセスの実行中に使用されるデータが、所定の状況の測定に応じて修正され得る。状況が測定されたとき、少なくとも1つの最初のPND44及び第2のPND50は、次のプロセスの実行中に、異なるデータアドレスを検索するために修正される。
プロセスのサブ実行順序が、オペレーティングシステム30の実行を中断することなく修正されるとき、実行順序を修正する別の実施形態は、プロセスのサブ時刻順序を確立することを含む。サブ実行順序が確立された後、サブ実行順序は、最初のPND44にロケーションを有する第2のPND50と第2のPNP48を置換することにより実行順序に実装し、サブ実行順序の置換されたPND及び置換されたPNPを最初のデータアドレス44に書き込む。サブ実行順序の各プロセスがいったん実行されたならば、サブ実行順序又はプロセスは、実行され、実行順序に戻る。実行順序を戻すために、第2のPNP48及び第2のPNDは、サブ実行データアドレスの一つに書き込まれる。第2のPNP及び第2のPNDは、サブ実行PNP及びPNDを最初のパラメータブロック54に書き込む前に、サブ実行に書き込まれるのが好ましい。いったんサブ実行PNP及びPNDが書き込まれたならば、オペレーティングシステム30は、新しいイベントによってトリガ操作され、実行順序の開始で始まる。新しいイベントのトリガは、プロセスが実行を止めないことを保証する。プロセスが、実行順序における異なるロケーションの間で修正されるとき、プロセッサは、同期がとれてなく、プロセッサが実行順序の開始からスタートするように要求し、それにより、新しい実行順序を実装する。
第2のプロセス52の実行、及び、最初の処理アドレス40及び第2の処理アドレス48の少なくとも1つでの修正が次のプロセスの実行中に異なるプロセスアドレスを検索するように修正されている間、実行順序の修正は、所定の状況の測定に応じてなされる。RTSは、非常に高速であり、実行時間を殆ど浪費しない。RTSは、述べたようにオペレーティングシステム30のテスト全体で管理されて使用される。RTSは、シーケンサの開始及び停止を初期化するのに使用するための複数の入力を有し、ユーザに表示される。かかる入力は、標準の、プレイ、ポーズ、及びストップボタンを含み得る。RTSは、ノードの一つに取り付けられたマシンをスタートさせ、テストを実行し、データを収集し、ユーザが検出されたイベントを適切に構成するように反応し、テストが完了するように確立させ、マシンをスイッチオフさせる。いかなるプロセス中でも状況は測定され、第2のプロセス52中に生じたことを明確に記載することを理解すべきである。
状況が検出された後、RTSは、メモリソースの内の一つから異なるPNPを抽出することにより最初のPNP40及び第2のPNP48の少なくとも一つを修正し、それにより異なるPNPでプロセスが実行される。言い換えれば、異なるPNPは、実行順により高い処理を指し示す。変形実施形態では、メモリソースの一つから異なる処理アドレスを抽出することにより最初のPNP40及び第2のPNP48の少なくとも1つの修正し、それにより、異なるプロセスアドレスでの処理が、例えば事項順序の低いプロセスとして実行されうる。
図7を参照すると、実行頻度は、ifプリミティブ(if primitive)を利用するレートディバイダ94によって測定される。実行頻度が所定のカウントよりも低いときは、実行順序は修正される。カウンタプリミティブが、実行順序が実行される各時間でカウントインクリメントを加えることによりカウントを維持する。カウンタプリミティブの出力は、所望の結果を生成するためにifプリミティブ(if primitive)によって用いられる。いったんカウンタプリミティブが所定のカウントを数えたならば、ifプリミティブ(if primitive)はそれ自身及びカウンタプロセスをバイパスするように配置される。所定の数の実行が測定されたとき、異なるプロセスを実行するプロセスと関連するデータアドレスにストアされたプロセスアドレスの修正、及び、プロセスの内の一つの実行頻度の測定に応じて更に修正されうる。レートディバイダ94はプロセスカウントを、カウントが特定の数に到達するまで実行され各時間で更新し、次のPNPに対する各時間で実行をパスし、カウントがその数と等しなったときカウントをリセットし、異なるPNPに対する実行をパスする。それ故、異なるPNPが実行される頻度は、レートディバイダ94ファンクションが実行される頻度よりも小さい数である。図7に示したように、プロセス2及び3のまわりの実行順序フローは、レートディバイダ94カウントがリセットされたときだけ実行され、プロセス2及び3によって見られるイベント38頻度を更に細かく分ける。
図8Aを参照すると、実行順序はプロセス1乃至3を有すること、及び、その順序で実行されることが示されている。プロセス#1はPNP#1を有し、プロセス#2はPNP#2を有し、プロセス#3はPNP#3を有する。分かり易くするために、PNPをプロセス内に示すが、これはPNPが関連するパラメータブロックに好ましくストアされていることを理解すべきである。プロセス#1の実行後、信号はプロセス#2にパスされる。プロセス#2は、状況を測定し、状況が偽又は存在しないならば、PNP#2に関する信号はプロセス#3にパスされる。図8Bのように、プロセス#2が真の状況、即ち存在することを測定したならば、プロセス#2は、PNP#2をプロセス#1に書き込む。図8Cのように、次いで、プロセス#1がPNP#2を有する。次いで、プロセス#2は、信号をプロセス#3にパスする。次の時、実行順序は実行され、プロセス#1はプロセス#2をバイパスしてプロセス#3を実行する。
RTSに関してプロセスのバイパスを完了するために、RTSは特別なプロセスを実行する必要がある。特別のプロセスは、プリミティブ設定(セットプリミティブ)、プリミティブ待機、及びifプリミティブのプリミティブオブジェクトを含む。セットプリミティブは、パラメータブロックの如何なる数のプロパティをも設定又は修正する。セットプリミティブは、並列に子即ち同時に、要求された全ての修正を実行することが出来る。プリミティブの待機は、シーケンスを実行し、検出されるべき1又はそれ以上の状況を待つ。複数状況は、AND、OR、AND NOT,OR NOT,XOR,NOT XORなどのような論理演算によって分離されうる。状況は、>、>=、=、<=、<等のような演算子とプロパティを含み得る。例えば、論理演算子を有する状況は、Node4::Signal8 > Node2::Signal2 AND Node1::Input9 <= Node1::Meanである。プリミティブの待機は、いったん特定の時間が経過したならば状態の変化をユーザに表示しうる。例えば、10秒後、プロセスはユーザに実行の状態を表示しうる。一方、プリミティブ待機が待っている間、実行順序は、プリミティブの待機をパスすることにより実行されうるように継続する。ifプリミティブが、待機中に実行を継続するように使用されうる。ifプリミティブによりオペレーティングシステム30は、実行を継続でき、それによりプロセスが待機している間、如何なる遅延も除去される。
図9を参照すると、待機(WAIT)プリミティブ90及びifプリミティブ92が、RTSの一部として示されている。信号が、待機プリミティブ90に入り、待機プリミティブ90が、存在し続け又はパスする前の時間の間のいずれかを待機する。状況が存在するならば、ifプリミティブ92は、信号をBに送信する。時間が経過しても、状況が存在しないならば、信号はAにパスされる。これにより、オペレーティングシステム30は、待機プリミティブ90が存在し続けるために待っている間、状況を実行することが出来る。
本発明を例示的に説明してきたが、記載された用語の特徴は制限されるべきではないことを理解すべきである。明らかに本発明の多くの修正及び変更が上記技術の点から見て可能である。それ故、本発明の特許請求の範囲の範囲内で解釈されるべきである。
単一のハブで相互接続された6つのノードを利用したオペレーティングシステムの外観図である。 ノードから入ってくる伝送を図示した図1のオペレーティングシステムの外観図である。 ハブから全てのノードにブロードキャストする、図2Aのオペレーティングシステムの外観図である。 イベントの検出に応じて最初のプロセスと第2のプロセスとの間の通信をパスするオペレーティングシステムの外観図である。 いくつかのプロセスを備えた異なるデータを利用するオペレーティングシステムの外観図である。 オペレーティングシステムの実行順序を示す、ユーザオブジェクトの回路外観図である。 ユーザに対して表示された実行順序の外観図である。 状況が測定され、実行順序が現在の状況に応じて変更される、図6の実行順序の外観図である。 第1、第2、及び第3のプロセスを有する実行順序の概略図である。 第2のプロセス中の状況を測定する、図8Aの実行順序の外観図である。 現在の状況に応じて第2のプロセスによって修正された図8Aの実行順序の外観図である。 他の原始的実装シーケンサの外観図である。

Claims (8)

  1. それぞれのノードが、複数のプロセスを実行することができる1つ又はそれ以上のプロセッサを有し、複数のメモリを有するような、システムの複数のノード間の通信の方法であって、
    前記プロセッサが前記システム内でイベントを検出し、
    前記プロセッサが前記イベントの検出に応答して最初のプロセスの位置を得るためにメモリの一つから最初のプロセスのアドレスを読み出し、
    前記プロセッサが前記イベントの検出に応答して前記最初のプロセスで使用される最初のデータの位置を得るためにメモリの一つから最初のデータのアドレスを読み出し、
    前記プロセッサが、前記最初のデータを取得して最初のデータセットを特定し、前記最初のプロセスのアドレスに位置する最初のプロセスの実行可能コードを実行中、前記最初のデータセットを処理することで最初の処理されたデータセットを定め、
    前記最初のプロセスの実行可能コードの実行の完了前に、前記プロセッサが前記第2のプロセスで使用する第2のデータの位置を得るために、前記最初のデータのアドレスで前記最初のデータから前記第2のデータのアドレスを読み出し、
    前記プロセッサが前記最初のデータセットを利用する前記最初のプロセスの前記実行可能コードの実行の完了の前に、実行する第2のプロセスの位置を得るために前記最初のデータのアドレスで前記最初のデータから第2のプロセスのアドレスを読み出す、
    ステップを有することを特徴とする方法。
  2. 前記プロセッサがイベントを検出する前記ステップが更に、前記プロセッサが最初のパラメータブロックを検索することに限定されるものであり、当該最初のパラメータブロックが前記最初のプロセスのアドレスと前記最初のデータのアドレスとを含むことを特徴とする請求項1に記載の方法。
  3. 前記プロセッサが前記第2のデータのアドレスに位置する前記第2のデータを使用して、前記第2のプロセスのアドレスに位置する前記第2のプロセスの実行可能コードを実行するステップを更に有することを特徴とする請求項に記載の方法。
  4. それぞれのノードが、複数のプロセスを実行することができる1つ又はそれ以上のプロセッサを有し、複数のメモリを有するような、システムの複数のノード間の通信の方法であって、
    前記プロセッサが前記システム内でイベントを検出し、
    前記プロセッサが、複数のプロセスの各実行順序を定めるために、前記イベントの検出に応答して複数の最初のプロセスの位置を得るためにメモリの一つから複数の最初のプロセスのアドレスを読み出し、
    前記プロセッサが前記イベントの検出に応答して前記複数の各最初のプロセスでそれぞれ使用される各最初のデータの位置を得るためにメモリの一つから複数の最初のデータのアドレスを読み出し、
    前記プロセッサが、前記複数の各最初のデータを取得してそれぞれ各最初のデータセットを特定し、前記複数の各最初のプロセスのアドレスに位置する各最初のプロセスの実行可能コードを実行中、前記各最初のデータセットを処理することで複数の各最初の処理されたデータセットを定め、
    前記複数の各最初のプロセスの実行可能コードの実行の完了前に、前記プロセッサがそれぞれ各第2のプロセスで使用する各第2のデータの位置を得るために、前記複数の各最初のデータのアドレスで前記複数の各最初のデータから各第2のデータのアドレスを読み出し、
    前記プロセッサが前記複数の各最初のデータセットを利用する前記複数の各最初のプロセスの前記実行可能コードの実行の完了の前に、それぞれ実行する各第2のプロセスの位置を得るために前記複数の各最初のデータのアドレスで前記複数の各最初のデータからそれぞれ各第2のプロセスのアドレスを読み出す、
    ステップを有することを特徴とする方法。
  5. 前記プロセッサが前記最初のデータから最初処理されたデータのアドレスを読み出し、前記最初処理されたデータセットを前記最初処理されたデータのアドレスに書き込むステップを更に有することを特徴とする請求項に記載の方法。
  6. 前記プロセッサが前記第2のデータのアドレスに位置する前記第2のデータから前記第2のデータセットを検索し、前記第2のプロセスのアドレスに位置する前記第2のプロセスの実行可能コードの実行中、前記第2のデータセットを処理することで第2の処理されたデータセットを定めるステップを更に有することを特徴とする請求項に記載の方法。
  7. 前記プロセッサが前記最初のデータから第2の処理されたデータのアドレスを読み出し、前記第2の処理されたデータセットを前記第2の処理されたデータのアドレスに書き込むステップを更に有することを特徴とする請求項に記載の方法。
  8. 前記プロセッサが前記最初のデータから第2の処理されたデータのアドレスを読み出す前記ステップが更に、前記プロセッサが前記最初のデータから複数の第2の処理されたデータのアドレスを読み出し、前記プロセッサが前記第2の処理されたデータセットを前記複数の第2の処理されたデータのアドレスに書き込むステップを更に有することを特徴とする請求項に記載の方法。
JP2003536884A 2001-10-17 2001-10-18 オペレーティングシステムにわたる通信の方法 Expired - Lifetime JP4681225B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32997801P 2001-10-17 2001-10-17
PCT/US2001/032539 WO2003034221A1 (en) 2001-10-17 2001-10-18 Method of communicating across an operating system

Publications (2)

Publication Number Publication Date
JP2005505851A JP2005505851A (ja) 2005-02-24
JP4681225B2 true JP4681225B2 (ja) 2011-05-11

Family

ID=23287826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003536884A Expired - Lifetime JP4681225B2 (ja) 2001-10-17 2001-10-18 オペレーティングシステムにわたる通信の方法

Country Status (8)

Country Link
US (1) US7013464B2 (ja)
EP (1) EP1444578B1 (ja)
JP (1) JP4681225B2 (ja)
KR (1) KR100763339B1 (ja)
CN (1) CN1282924C (ja)
HK (1) HK1070964A1 (ja)
MX (1) MXPA04003556A (ja)
WO (1) WO2003034221A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US20130024778A1 (en) 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US20130024812A1 (en) 2011-07-13 2013-01-24 Z124 Foreground/background assortment of hidden windows
US9098437B2 (en) 2010-10-01 2015-08-04 Z124 Cross-environment communication framework
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US7159221B1 (en) * 2002-08-30 2007-01-02 Unisys Corporation Computer OS dispatcher operation with user controllable dedication
US9092190B2 (en) 2010-10-01 2015-07-28 Z124 Smartpad split screen
US7441219B2 (en) * 2003-06-24 2008-10-21 National Semiconductor Corporation Method for creating, modifying, and simulating electrical circuits over the internet
CN101976051A (zh) * 2004-02-25 2011-02-16 Bep技术公司 编程处理系统的方法
US20060026049A1 (en) * 2004-07-28 2006-02-02 Sbc Knowledge Ventures, L.P. Method for identifying and prioritizing customer care automation
US7580837B2 (en) 2004-08-12 2009-08-25 At&T Intellectual Property I, L.P. System and method for targeted tuning module of a speech recognition system
US20060059005A1 (en) * 2004-09-14 2006-03-16 Sap Aktiengesellschaft Systems and methods for managing data in an advanced planning environment
US20060059060A1 (en) * 2004-09-14 2006-03-16 Sap Aktiengesellschaft Systems and methods for executing planning services
US20060059059A1 (en) * 2004-09-14 2006-03-16 Sap Aktiengesellschaft Systems and methods for managing the execution of services
US7242751B2 (en) 2004-12-06 2007-07-10 Sbc Knowledge Ventures, L.P. System and method for speech recognition-enabled automatic call routing
US7751551B2 (en) 2005-01-10 2010-07-06 At&T Intellectual Property I, L.P. System and method for speech-enabled call routing
US7657020B2 (en) 2005-06-03 2010-02-02 At&T Intellectual Property I, Lp Call routing system and method of using the same
WO2012044557A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment
US9372618B2 (en) 2010-10-01 2016-06-21 Z124 Gesture based application management
US8761831B2 (en) 2010-10-15 2014-06-24 Z124 Mirrored remote peripheral interface
US8907906B2 (en) 2011-09-27 2014-12-09 Z124 Secondary single screen mode deactivation
CN102629217B (zh) * 2012-03-07 2015-04-22 汉柏科技有限公司 多进程多操作系统网络设备及其控制方法
US11308109B2 (en) * 2018-10-12 2022-04-19 International Business Machines Corporation Transfer between different combinations of source and destination nodes
JP7447529B2 (ja) 2020-02-17 2024-03-12 ソニーグループ株式会社 情報処理装置、情報処理方法、および、プログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4435780A (en) * 1981-06-16 1984-03-06 International Business Machines Corporation Separate stack areas for plural processes
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US4757497A (en) 1986-12-03 1988-07-12 Lan-Tel, Inc. Local area voice/data communications and switching system
US5276789A (en) 1990-05-14 1994-01-04 Hewlett-Packard Co. Graphic display of network topology
DE69129443T2 (de) * 1990-12-14 1999-01-14 Sun Microsystems Inc Verfahren zum Betrieb zeitkritischer Prozesse in einer Fenstersystemumgebung
US5386566A (en) 1991-03-20 1995-01-31 Hitachi, Ltd. Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
US5296936A (en) 1991-07-22 1994-03-22 International Business Machines Corporation Communication apparatus and method for transferring image data from a source to one or more receivers
GB2263988B (en) * 1992-02-04 1996-05-22 Digital Equipment Corp Work flow management system and method
EP0596648A1 (en) 1992-11-02 1994-05-11 National Semiconductor Corporation Network link endpoint capability detection
JPH08507623A (ja) 1992-12-21 1996-08-13 アプル・コンピュータ・インコーポレーテッド ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置
US5513325A (en) 1992-12-23 1996-04-30 Unisys Corporation Technique for coupling CTOS units to non-CTOS host
US5802391A (en) 1993-03-16 1998-09-01 Ht Research, Inc. Direct-access team/workgroup server shared by team/workgrouped computers without using a network operating system
CA2164597A1 (en) 1993-06-07 1994-12-22 Duncan Hartley Tate Communication system
GB9320982D0 (en) 1993-10-12 1993-12-01 Ibm A data processing system
US5596723A (en) 1994-06-23 1997-01-21 Dell Usa, Lp Method and apparatus for automatically detecting the available network services in a network system
US5557778A (en) 1994-11-07 1996-09-17 Network Devices, Inc. Star hub connection device for an information display system
SE514798C2 (sv) 1994-11-23 2001-04-23 Ericsson Telefon Ab L M System och förfarande för att förse ett hanterande system med information och ett telekommunikationssystem
US5742602A (en) 1995-07-12 1998-04-21 Compaq Computer Corporation Adaptive repeater system
EP0910908A1 (en) 1996-07-10 1999-04-28 Lecroy Corporation Method and system for characterizing terminations in a local area network
US6021495A (en) 1996-12-13 2000-02-01 3Com Corporation Method and apparatus for authentication process of a star or hub network connection ports by detecting interruption in link beat
US5884046A (en) * 1996-10-23 1999-03-16 Pluris, Inc. Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network
US6052380A (en) 1996-11-08 2000-04-18 Advanced Micro Devices, Inc. Network adapter utilizing an ethernet protocol and utilizing a digital subscriber line physical layer driver for improved performance
US5937388A (en) * 1996-12-05 1999-08-10 Hewlett-Packard Company System and method for performing scalable distribution of process flow activities in a distributed workflow management system
US6269391B1 (en) * 1997-02-24 2001-07-31 Novell, Inc. Multi-processor scheduling kernel
US6067585A (en) 1997-06-23 2000-05-23 Compaq Computer Corporation Adaptive interface controller that can operate with segments of different protocol and transmission rates in a single integrated device
US6067595A (en) 1997-09-23 2000-05-23 Icore Technologies, Inc. Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories
US6012101A (en) 1998-01-16 2000-01-04 Int Labs, Inc. Computer network having commonly located computing systems

Also Published As

Publication number Publication date
WO2003034221A1 (en) 2003-04-24
EP1444578B1 (en) 2017-05-03
KR100763339B1 (ko) 2007-10-04
US20030079010A1 (en) 2003-04-24
JP2005505851A (ja) 2005-02-24
CN1559032A (zh) 2004-12-29
HK1070964A1 (en) 2005-06-30
US7013464B2 (en) 2006-03-14
EP1444578A4 (en) 2006-11-02
MXPA04003556A (es) 2004-11-22
KR20040051612A (ko) 2004-06-18
CN1282924C (zh) 2006-11-01
EP1444578A1 (en) 2004-08-11

Similar Documents

Publication Publication Date Title
JP4681225B2 (ja) オペレーティングシステムにわたる通信の方法
JP3929574B2 (ja) 集積回路装置及びその通信方法
JPH10240572A (ja) 命令トレース供給方式
JPS62502151A (ja) 大型コンピユ−タシステムのコンピユ−タ機能をシミユレ−トするための配列
CN101196901B (zh) 用于数据库查询的计算机系统和方法
US10127339B2 (en) Efficient emulation of circuits
EP1420351A2 (en) PLD debugging hub
JPH0227443A (ja) 診断制御装置
CN103036737B (zh) 一种大规模微系统芯片的片上多节点系统的自测试方法
CN116306474A (zh) 一种片上网络的通路验证方法、装置、设备、存储介质
US7415547B1 (en) Tracking states of communication between PS/2 hardware and hardware drivers within an extensible firmware interface environment
JPH1173210A (ja) エミュレーション方法およびエミュレータ装置
JP2001318805A (ja) 組み込みシステムのテスト方法及びテストシステム
CN112765925B (zh) 互联电路系统、验证系统及方法
JPH08272644A (ja) 分散処理装置で実行されるプログラムのデバッグ方法
JPH04352262A (ja) 複合cpuシステムの並列シミュレーション方式
KR970011854B1 (ko) 분산 데이타 베이스 시스템에서의 릴레이션별 데이타 변경 감시 방법
KR100399774B1 (ko) 인터프로세서 통신 시뮬레이터의 태스크 생성 처리 방법
JP2002223263A (ja) 通信プロトコル解析装置および解析方法
JPH1011112A (ja) システム用のファームウェアの開発及びテスト用のモニタ装置、開発方法、及び、汎用回路内エミュレータ装置
CN113326670A (zh) 原型验证系统、方法、处理单元、及设备
Cao et al. Rapid prototyping of distributed algorithms
JPH03228161A (ja) 計算機システムのインタフェース制御方式
KR950010423A (ko) 신호망관리시스템의 시험망 형상 생성 및 성능분석 시험방법
JPH04227556A (ja) ロジック・シミュレーション・マシンからホスト・コンピュータへデータを送信する方法及び装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061010

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071023

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090818

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100419

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100526

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100618

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100629

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110204

R150 Certificate of patent or registration of utility model

Ref document number: 4681225

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250