JP2007299319A - Information processor and process-to-process communication method - Google Patents

Information processor and process-to-process communication method Download PDF

Info

Publication number
JP2007299319A
JP2007299319A JP2006128474A JP2006128474A JP2007299319A JP 2007299319 A JP2007299319 A JP 2007299319A JP 2006128474 A JP2006128474 A JP 2006128474A JP 2006128474 A JP2006128474 A JP 2006128474A JP 2007299319 A JP2007299319 A JP 2007299319A
Authority
JP
Japan
Prior art keywords
identifier
ipc
communication path
information processing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006128474A
Other languages
Japanese (ja)
Other versions
JP4667299B2 (en
JP2007299319A5 (en
Inventor
Akira Kunimatsu
亮 國松
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006128474A priority Critical patent/JP4667299B2/en
Publication of JP2007299319A publication Critical patent/JP2007299319A/en
Publication of JP2007299319A5 publication Critical patent/JP2007299319A5/ja
Application granted granted Critical
Publication of JP4667299B2 publication Critical patent/JP4667299B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the consumption of a memory resource by allowing easy management of identifiers of objects for process-to-process communication. <P>SOLUTION: This information processor is provided for operating a plurality of processes. Each process relating to data communication consists of a receiving means for receiving information for the identifiers of the data transmission objects relating to a data communication path from other processes, and a connection establishing means for establishing the connection to the other processes using the data transmission objects to be identified by the identifiers received by the receiving means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、情報処理装置及びプロセス間通信方法に関する。   The present invention relates to an information processing apparatus and an interprocess communication method.

計算機システムにおいて、プロセス間でメッセージを送受信するIPC(Inter Process Communication)の機能は、一般にオペレーティングシステム(Operating System)の機能の一部として提供される。詳細な実装はオペレーティングシステムにより異なるが、利用できる手段には共有メモリ(shared memory)、メッセージキュー(message queue)、セマフォ(semaphore)等がある。   In a computer system, an IPC (Inter Process Communication) function for transmitting and receiving messages between processes is generally provided as a part of an operating system (Operating System) function. Although the detailed implementation varies depending on the operating system, there are a shared memory, a message queue, a semaphore, and the like as available means.

IPCでは、プロセスと、プロセスとの間を結ぶ仮想的なデータ搬送路は、IPCオブジェクトといわれるデータオブジェクトである。通信を行う際には、通信を行おうとする双方のプロセスがお互いに使用するIPCオブジェクトの識別子の情報を共有し、双方で同一の識別子を指定することで、通信の接続が確立される。つまり、メッセージの送受信を行うプログラムが、互いに同一のIPCオブジェクトの識別子を共有することが、IPCによるメッセージ送受信を行う際の必須作業である。   In IPC, a virtual data transport path that connects processes to each other is a data object called an IPC object. When communication is performed, both processes that are to communicate communicate with each other to share information on the identifiers of the IPC objects that are used by each other, and the same identifier is specified by both of them to establish a communication connection. In other words, it is an indispensable work when sending and receiving messages by IPC that programs for sending and receiving messages share the same IPC object identifier.

IPCオブジェクトの識別子を異なるプロセスで共有するための従来の方法は、大きく分類すると2つに分けられる。   The conventional method for sharing the identifier of the IPC object between different processes can be roughly divided into two.

第1の方法は、IPCを行うそれぞれのプログラム間で、キーワード文字列を決めて共有しておく方法である。一般にIPCの機能を提供するシステムでは、キーワードをもとにIPCオブジェクトの識別子を照会する機能も提供されるため、あるプロセスが確保したIPCオブジェクトの識別子は、別のプロセスからも、キーワードによって照会することが可能である。この方法では、IPCを使用するプログラム間で、予め必要な数だけキーワードを取り決めておくことで、実行時にIPCオブジェクトの識別子を共有できるようにしている。   The first method is a method in which a keyword character string is determined and shared among programs that perform IPC. In general, in a system that provides an IPC function, a function for querying an identifier of an IPC object based on a keyword is also provided. Therefore, an identifier of an IPC object secured by one process is also queried by a keyword from another process. It is possible. In this method, an IPC object identifier can be shared at the time of execution by arranging a required number of keywords in advance between programs using the IPC.

第2の方法は、予めシステムで利用されるIPCの全ての接続を洗い出し、全てのIPCオブジェクトとその識別子を先に確保しておき、それを利用するようにプログラムを作成する方法である。   The second method is a method in which all IPC connections used in the system are identified in advance, all IPC objects and their identifiers are secured in advance, and a program is created to use them.

特開2003−124969号公報JP 2003-124969 A

しかしながら、上述した第1及び第2の方法には幾つかの問題点がある。第1の方法では、一般に、キーワードからIPCオブジェクトの識別子を照合する機能において、厳密性が保証されていない。そのため、例えば、同一のキーワードでも異なるIPCオブジェクト識別子を照合結果として返すこと起こりうる。   However, the first and second methods described above have some problems. In the first method, generally, the strictness is not guaranteed in the function of collating the identifier of the IPC object from the keyword. For this reason, for example, different IPC object identifiers may be returned as matching results even with the same keyword.

このため、照合したIPCオブジェクト識別子が本当に意図した物であるかどうかを確認する機能の実装が必須となる。更なる問題点は、キーワード管理の煩雑化である。一つの通信路に対して、一つのキーワードが必要である。よって、IPCを行うプログラムモジュールの数が増えた場合や、プログラムモジュールが少なくても、IPCの接続が複数になる場合には、共有しておかなくてはならないキーワードの個数も、それに比例して多くなる。したがって、個々のプログラムモジュールがキーワード共有のために行わなくてはならない手続きが煩雑になる。これによりプログラムモジュールやシステム全体の見通しが悪くなり、メンテナンス性の悪化等の要因となる。   For this reason, it is essential to implement a function for confirming whether the collated IPC object identifier is really intended. A further problem is the complexity of keyword management. One keyword is required for one communication path. Therefore, when the number of program modules for performing IPC increases, or when there are a plurality of IPC connections even if the number of program modules is small, the number of keywords that must be shared is also proportional to this. Become more. This complicates the procedure that individual program modules must perform to share keywords. As a result, the prospects of the program module and the entire system are deteriorated, which causes deterioration of maintainability.

一方、第2の方法は、予め全てのIPCオブジェクト及びその接続が決定されているため、動作時にIPCオブジェクト識別子をプロセス間で確認し合うステップが不要であることからパフォーマンスに優れる。しかし、その反面、動作時に動的にIPCオブジェクト及び接続を確保する必要のあるシステムには適用できないという問題点がある。   On the other hand, since all the IPC objects and their connections are determined in advance, the second method is superior in performance because it does not require a step of checking IPC object identifiers between processes during operation. However, there is a problem that it cannot be applied to a system that needs to dynamically secure an IPC object and connection during operation.

また、IPCオブジェクトの確保にはメモリーリソースを消費するため、予め全てを確保してしまうという方法では、システムが必要とするメモリーリソースの量の下限値が、システム内のIPCの接続数に依存してしまう。そのため、接続が増えたら、その分、より多くのメモリーリソースが必要になってしまう。このため、少ないメモリーリソースしか搭載でいない機器等には適用しにくい。   In addition, since the memory resources are consumed to secure the IPC object, the method of securing all of the IPC objects in advance, the lower limit value of the amount of memory resources required by the system depends on the number of IPC connections in the system. End up. Therefore, as the number of connections increases, more memory resources are required. For this reason, it is difficult to apply to devices that have only a small amount of memory resources.

本発明は前記の問題点に鑑みなされたもので、プロセス間通信に関するオブジェクトの識別子の管理を容易にし、且つ、メモリーリソースの消費を低く抑えることを目的とする。   The present invention has been made in view of the above-described problems, and it is an object of the present invention to facilitate the management of object identifiers related to interprocess communication and to reduce the consumption of memory resources.

そこで、前記問題を解決するため、本発明は、複数のプロセスを動作させることが可能な情報処理装置であって、データ通信に係る各プロセスは、データ通信路に係るデータ伝達オブジェクトの識別子の通知を他のプロセスより受け取る受取手段と、前記受取手段で受け取った前記識別子で識別される前記データ伝達オブジェクトを用いて、前記他のプロセスとの接続を確立する接続確立手段と、を有することを特徴とする。   Therefore, in order to solve the above problem, the present invention is an information processing apparatus capable of operating a plurality of processes, and each process related to data communication notifies the identifier of the data transmission object related to the data communication path. Receiving means from another process, and connection establishing means for establishing a connection with the other process using the data transmission object identified by the identifier received by the receiving means. And

本発明によれば、係る構成とすることにより、プロセス間通信に関するオブジェクトの識別子の管理を容易にし、且つ、メモリーリソースの消費を低く抑えることができる。   According to the present invention, by adopting such a configuration, it is possible to easily manage object identifiers related to inter-process communication, and to suppress consumption of memory resources.

また、前記問題を解決するため、本発明は、プロセス間通信方法、プログラム及び記録媒体としてもよい。   Moreover, in order to solve the said problem, this invention is good also as an interprocess communication method, a program, and a recording medium.

本発明によれば、プロセス間通信に関するオブジェクトの識別子の管理を容易にし、且つ、メモリーリソースの消費を低く抑えることができる。   According to the present invention, management of object identifiers related to inter-process communication can be facilitated, and consumption of memory resources can be kept low.

以下、本発明の実施形態について図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

IPCによるメッセージ送受信を開始する直前に、IPCを開始しようとするプロセスが、IPCを行う相手のプロセスに対して、IPCにて使用するIPCオブジェクトの識別子を通知する。通知を受けたプロセスは、通知された識別子のIPCオブジェクトを使用する。このような方法でIPCの接続を確立し、IPC終了後はIPCを開始したプロセス若しくは適切な権限のあるプロセスが使用したIPCオブジェクトを破棄する。   Immediately before starting the message transmission / reception by the IPC, the process to start the IPC notifies the IPC object identifier used in the IPC to the other party performing the IPC. The process receiving the notification uses the IPC object having the notified identifier. The IPC connection is established in this way, and after the IPC is finished, the IPC object used by the process that started the IPC or a process with appropriate authority is discarded.

図1は、以下に示す各実施形態の原理的な構成を示す図である。本実施形態に係る装置(以下、情報処理装置を例に説明を行なう)は、プログラムモジュール群11と、一つ若しくは複数のプログラムから作られた一つ若しくは複数の実行オブジェクトを動作させた際の複数のプロセス17を含むプロセス群16と、を有する。また、情報処理装置は、IPCで使用するIPCオブジェクト(以下、通信路ともいう)19を含む通信路群18も有する。   FIG. 1 is a diagram showing a basic configuration of each embodiment described below. The apparatus according to the present embodiment (which will be described below using an information processing apparatus as an example) operates when the program module group 11 and one or a plurality of execution objects created from one or a plurality of programs are operated. And a process group 16 including a plurality of processes 17. The information processing apparatus also includes a communication path group 18 including an IPC object (hereinafter also referred to as a communication path) 19 used in IPC.

プログラムモジュール群11は、幾つかの手段を実現するモジュールで構成される。モジュール12は、IPCを行おうとする相手のプロセスにIPCオブジェクトの識別子(以降、通信路の識別子ともいう)を通知する際に、通知先のプロセスを特定し、選択する手段を備えたモジュールである。   The program module group 11 includes modules that implement some means. The module 12 is a module having means for specifying and selecting a notification destination process when notifying an IPC object identifier (hereinafter also referred to as a communication path identifier) to a process of the other party who is going to perform IPC. .

モジュール13は、モジュール12が特定し、選択したプロセスに通信路の識別子をデータとして送信する手段を備えたモジュールである。モジュール14は、通知されてくる通信路の識別子のデータを受け取る手段を備えたモジュールである。モジュール15は、通知された通信路の識別子のデータを、これから行おうとするIPCにおいて使用するように指定する手段を備えたモジュールである。   The module 13 is a module having means for transmitting the identifier of the communication path as data to the process specified and selected by the module 12. The module 14 is a module provided with means for receiving the notified communication path identifier data. The module 15 is a module having means for designating the notified communication path identifier data to be used in the IPC to be performed.

図2は、以下に示す各実施形態の原理的な処理を示すフローチャートである。なお、図2では、IPCの開始から終了までの処理を各ステップで示している。IPCを行おうとして他のプロセスを呼び出す側のプロセスを、以下、第1のプロセスという。また、第1のプロセスからの要求を受けて第1のプロセスとのIPCを開始する、呼び出され側のプロセスを、以下、第2のプロセスという。   FIG. 2 is a flowchart showing the principle processing of each embodiment shown below. In FIG. 2, the process from the start to the end of the IPC is shown in each step. A process that calls another process to perform IPC is hereinafter referred to as a first process. The called process that starts the IPC with the first process in response to a request from the first process is hereinafter referred to as a second process.

第1のプロセスと、第2のプロセスとの間でIPCを行う場合、まず、第1のプロセスは、使用する通信路を確保しその識別子を取得する(ステップS21)。次に、第1のプロセスは、第2のプロセスに、ステップS11で確保した通信路の識別子を通知する(ステップS22)。   When performing IPC between the first process and the second process, first, the first process secures a communication path to be used and acquires its identifier (step S21). Next, the first process notifies the second process of the identifier of the communication path secured in step S11 (step S22).

第2のプロセスは、第1のプロセスからの通知を受信したら(ステップS23)、IPCの開始手続きを始める。このときに、第2のプロセスは、第1のプロセスから通知された識別子で指定される通信路を使用するように設定する(ステップS24)。   When the second process receives the notification from the first process (step S23), it starts the IPC start procedure. At this time, the second process sets to use the communication path specified by the identifier notified from the first process (step S24).

しかる後に、第1のプロセスと、第2のプロセスとは、IPCによるメッセージ送受信を行う(ステップS25)。メッセージ送受信が終了しIPCの通信路が不要になったら、第1のプロセスか、若しくは適切な権限をもったプロセスが、使用した通信路を破棄する(ステップS26)。   Thereafter, the first process and the second process perform message transmission / reception by IPC (step S25). When the message transmission / reception is completed and the IPC communication path is no longer required, the first process or a process having appropriate authority discards the used communication path (step S26).

<実施形態1>
図3は、情報処理装置のハードウェア構成の一例を示す図である。図3に示されるように、情報処理装置は、ハードウェア構成として、入力部110と、表示部120と、記録媒体ドライブ部130と、ROM150と、RAM160と、CPU170と、インターフェース部180と、HD190と、を含む。ここで、ROMは、Read Only Memoryの略である。また、RAMは、Random Access Memoryの略である。また、CPUは、Central Processing Unitの略である。HDは、Hard Diskの略である。
<Embodiment 1>
FIG. 3 is a diagram illustrating an example of a hardware configuration of the information processing apparatus. As shown in FIG. 3, the information processing apparatus includes, as a hardware configuration, an input unit 110, a display unit 120, a recording medium drive unit 130, a ROM 150, a RAM 160, a CPU 170, an interface unit 180, and an HD 190. And including. Here, ROM is an abbreviation for Read Only Memory. RAM is an abbreviation for Random Access Memory. CPU is an abbreviation for Central Processing Unit. HD is an abbreviation for Hard Disk.

入力部110は、情報処理装置の操作者(又はユーザ)が操作するキーボード及びマウス等で構成され、情報処理装置に各種操作情報等を入力するのに用いられる。表示部120は、情報処理装置の操作者が利用するディスプレイ等で構成され、各種情報(又は画面)等を表示するのに用いられる。インターフェース部180は、情報処理装置をネットワーク等に接続するインターフェースである。   The input unit 110 includes a keyboard and a mouse operated by an operator (or user) of the information processing apparatus, and is used to input various operation information and the like to the information processing apparatus. The display unit 120 includes a display used by an operator of the information processing apparatus, and is used to display various types of information (or screens). The interface unit 180 is an interface that connects the information processing apparatus to a network or the like.

後述する機能を提供するプログラムは、例えば、CD−ROM等の記録媒体140によって情報処理装置に提供されるか、ネットワーク等を通じてダウンロードされる。記録媒体140は、記録媒体ドライブ部130にセットされ、プログラムが記録媒体140から記録媒体ドライブ部130を介してHD190にインストールされる。   A program that provides a function to be described later is provided to the information processing apparatus by a recording medium 140 such as a CD-ROM, or downloaded through a network or the like. The recording medium 140 is set in the recording medium drive unit 130, and the program is installed from the recording medium 140 to the HD 190 via the recording medium drive unit 130.

ROM150は、情報処理装置の電源投入時に最初に読み込まれるプログラム等を記録する。RAM160は、情報処理装置のメインメモリである。CPU170は、必要に応じて、HD190よりプログラムを読み出して、RAM160に格納し、プログラムを実行することで、後述する機能の全て又は一部を提供したり、後述するフローチャート等を実行したりする。また、HD190は、プログラム以外に、例えば後述する共有通信路情報32、メッセージ体系定義33、コンポーネント識別子定義34等を格納するようにしてもよい。   The ROM 150 records a program that is read first when the information processing apparatus is powered on. The RAM 160 is a main memory of the information processing apparatus. The CPU 170 reads out a program from the HD 190 as necessary, stores it in the RAM 160, and executes the program, thereby providing all or part of the functions described below, or executing a flowchart described below. In addition to the program, the HD 190 may store, for example, shared communication path information 32, a message system definition 33, a component identifier definition 34, and the like which will be described later.

図4は、情報処理装置の機能構成の一例を示す図(その1)である。情報処理装置は、機能構成として、機能モジュール3511を含むプログラムモジュール351を一つ乃至は複数含むプログラムモジュール群35と、どのプロセスからもアクセス可能なIPCオブジェクト(以下、共有通信路ともいう)36と、を有する。また、情報処理装置は、機能構成として、共有通信路36の情報である共有通信路情報32と、共有通信路36を管理する共有通信路管理モジュール31と、プログラムモジュール351がIPCを行う際に使用する実行時通信路群37と、を有する。また、情報処理装置は、機能構成として、プログラムモジュール351を識別するためのコンポーネント識別子定義34と、IPC接続確立までの手続きを定義するメッセージ体系定義33と、を有する。   FIG. 4 is a first diagram illustrating an example of a functional configuration of the information processing apparatus. The information processing apparatus has, as a functional configuration, a program module group 35 including one or a plurality of program modules 351 including a functional module 3511, an IPC object (hereinafter also referred to as a shared communication path) 36 accessible from any process, and the like. Have. In addition, the information processing apparatus has, as functional configurations, shared communication path information 32 that is information of the shared communication path 36, a shared communication path management module 31 that manages the shared communication path 36, and a program module 351 that performs IPC. And a runtime communication channel group 37 to be used. In addition, the information processing apparatus includes a component identifier definition 34 for identifying the program module 351 and a message system definition 33 for defining a procedure up to establishing an IPC connection as functional configurations.

プログラムモジュール351は、特定のサービスを実現するためのプログラムモジュール群であり、その処理部を図4ではモジュールごとの機能実現部3512として表記している。つまり、プログラムモジュール351は、モジュールごとの機能実現部3512と、プロセス間通信に係るモジュール3511と、を有する。なお、本実施形態のプロセス間通信とは、プログラムモジュール351が実行される際に生成されるプロセス間でのメッセージ送受信のことを指す。   The program module 351 is a group of program modules for realizing a specific service, and its processing unit is shown as a function implementing unit 3512 for each module in FIG. That is, the program module 351 includes a function realization unit 3512 for each module and a module 3511 related to inter-process communication. Note that the inter-process communication in this embodiment refers to message transmission / reception between processes generated when the program module 351 is executed.

本実施形態では、プログラムモジュール351間で行うIPCの接続確立のために必要な手続きは、メッセージ体系定義33に定義されているものとする。IPCを開始したいプロセスからIPCを行いたい相手のプロセスに対して、メッセージ体系定義33に定義したメッセージを、共有通信路36を経由してやり取りした後に、IPCを開始する。また、プロセスは、IPCを行ないたい相手のプロセスの識別を、コンポーネント識別子定義34により行う。ここで、共有通信路36の生成は共有通信路管理モジュール31が行う。なお、共有通信路ではメッセージキューが使用される。   In the present embodiment, it is assumed that a procedure necessary for establishing an IPC connection between the program modules 351 is defined in the message system definition 33. After the message defined in the message system definition 33 is exchanged via the shared communication path 36 from the process that wants to start IPC to the partner process that wants to perform IPC, IPC is started. Further, the process identifies the process of the other party to whom IPC is to be performed by the component identifier definition 34. Here, the shared communication path 36 is generated by the shared communication path management module 31. A message queue is used in the shared communication path.

次に、情報処理装置の動作を、構成各部のそれぞれの詳しい動作と共に説明する。まず、メッセージ体系定義33及びコンポーネント識別子定義34について説明する。   Next, the operation of the information processing apparatus will be described together with the detailed operation of each component. First, the message system definition 33 and the component identifier definition 34 will be described.

メッセージ体系定義33及びコンポーネント識別子定義34は、システム起動時より前に予め定義され、HD190等に格納される。コンポーネント識別子定義34は、システム動作中にプロセスが相互に自身及び相手を識別できるように予め定義しておく表である。   The message system definition 33 and the component identifier definition 34 are defined in advance before the system is started and stored in the HD 190 or the like. The component identifier definition 34 is a table defined in advance so that processes can identify themselves and each other during system operation.

図5は、コンポーネント識別子定義34の一例を示す図である。コンポーネント識別子定義34は、プログラムモジュール名61と、生成するプロセス62と、識別子63と、から構成される。ここで、プログラムモジュール名は、プログラムモジュールの情報である。また、生成するプロセスは、プログラムモジュールが生成しうるプロセスの個数情報である。また、識別子は、それらのプロセスに割り当てられる識別子である。   FIG. 5 is a diagram illustrating an example of the component identifier definition 34. The component identifier definition 34 includes a program module name 61, a process 62 to be generated, and an identifier 63. Here, the program module name is information on the program module. The process to be generated is information on the number of processes that can be generated by the program module. The identifier is an identifier assigned to those processes.

図5において、例えばプログラムモジュール「httpサーバ」は、メインプロセスの他に子プロセスを4つ生成しうると設計されており、これらの5つのプロセスに対して、識別子「0x0010」から「0x0014」までが割り当てられている。   In FIG. 5, for example, the program module “http server” is designed to be able to generate four child processes in addition to the main process, and identifiers “0x0010” to “0x0014” are assigned to these five processes. Is assigned.

本実施形態では、コンポーネント識別子定義34は、プログラムソースの中に記述され、実行オブジェクトがコンポーネント識別子定義34に定義されている情報を持つようにする。但し、テキストファイルや共有メモリ等にコンポーネント識別子定義34を格納しておき、プログラム実行時にコンポーネント識別子定義34、又はコンポーネント識別子定義34に定義されている情報を読み込むようにしてもよい。   In this embodiment, the component identifier definition 34 is described in the program source so that the execution object has information defined in the component identifier definition 34. However, the component identifier definition 34 may be stored in a text file, a shared memory, or the like, and the component identifier definition 34 or information defined in the component identifier definition 34 may be read when the program is executed.

次に、メッセージ体系定義33の一例を図6に示す。図6は、メッセージ体系定義33の一例を示す図である。メッセージ体系定義33は、メッセージ種別定義71と、データフォーマット定義72と、メッセージ利用規約定義73と、から構成される。   Next, an example of the message system definition 33 is shown in FIG. FIG. 6 is a diagram illustrating an example of the message system definition 33. The message system definition 33 includes a message type definition 71, a data format definition 72, and a message usage rule definition 73.

メッセージ種別定義71には、IPCを開始する処理で用いる手続き(メッセージ)の種別(メッセージの意味)と、メッセージ種別を識別する識別子と、メッセージに含まれる引数データと、が定義されている。   The message type definition 71 defines a procedure (message) type (meaning of a message) used in the process of starting IPC, an identifier for identifying the message type, and argument data included in the message.

なお、図6に示されるメッセージ種別定義71には、「開始要求」(711)と、「開始要求応答」(712)との2種類が定義されている。開始要求711は、IPCを行いたいプロセスに対してその旨を通知するメッセージである。また、開始要求711は、使用する通信路の識別子を伝えるためのメッセージである。開始要求応答712は、開始要求を受信したプロセスがIPCの開始を受諾するか拒否するかを、要求を出したプロセスに返信するためのメッセージである。つまり、開始要求応答712には、受諾か拒否かの識別子が含まれる。   In the message type definition 71 shown in FIG. 6, two types of “start request” (711) and “start request response” (712) are defined. The start request 711 is a message for notifying the process that is desired to perform IPC. The start request 711 is a message for transmitting an identifier of a communication path to be used. The start request response 712 is a message for returning, to the process that issued the request, whether the process that received the start request accepts or rejects the start of the IPC. That is, the start request response 712 includes an acceptor or reject identifier.

データフォーマット定義72には、メッセージ種別定義71を表現するデータのフォーマットが定義されている。本実施形態のデータフォーマット定義72では、メッセージを伝えるために10バイトのメモリ領域を使用し、先頭から順に、送信元の識別子、送信先の識別子、メッセージ種別の識別子、引数データを格納するよう定義されている。   In the data format definition 72, a format of data expressing the message type definition 71 is defined. In the data format definition 72 of the present embodiment, a 10-byte memory area is used to convey a message, and a transmission source identifier, a transmission destination identifier, a message type identifier, and argument data are stored in order from the top. Has been.

メッセージ利用規約定義73には、メッセージの発行者や、メッセージの順序の決まりごと等、メッセージの利用方法が定義されている。   The message usage rule definition 73 defines a message usage method, such as a message issuer and the order of messages.

認証のメインプロセスがストレージWebサービスの子プロセス1に対して通信路「0x003F」を使ってIPC開始要求を行う場合に送信されるメッセージデータの一例を図7に示す。図7は、メッセージデータの一例を示す図である。   FIG. 7 shows an example of message data transmitted when the authentication main process makes an IPC start request to the child process 1 of the storage Web service using the communication path “0x003F”. FIG. 7 is a diagram illustrating an example of message data.

図5よりユーザー認証メインプロセスは、「0x0030」であり、ストレージWebサービスの子プロセス1は、「0x0021」である。また、図6より、開始要求のメッセージ種別識別子は、「0x01」であり、開始要求のメッセージはデータに通信路識別子を格納する。よって、図7の例では、メモリの先頭から「0x0030」(81)、「0x0021」(82)、「0x01」(83)、「0x003F」(84)を格納するメッセージデータとなる。   As shown in FIG. 5, the user authentication main process is “0x0030”, and the child process 1 of the storage Web service is “0x0021”. Also, from FIG. 6, the message type identifier of the start request is “0x01”, and the communication channel identifier is stored in the data of the start request message. Therefore, in the example of FIG. 7, the message data stores “0x0030” (81), “0x0021” (82), “0x01” (83), and “0x003F” (84) from the top of the memory.

続いて、情報処理装置の起動から終了までの処理の流れを説明する。
始めに、IPC接続処理のために使用する共有通信路36の生成、削除の仕組みを説明し、その後に、IPC接続処理のより具体的な手順を説明する。
Next, the flow of processing from the start to the end of the information processing apparatus will be described.
First, a mechanism for generating and deleting the shared communication path 36 used for the IPC connection process will be described, and then a more specific procedure of the IPC connection process will be described.

図8は、共有通信路の生成・削除に関する処理の一例を示すフローチャートである。情報処理装置の起動後、まず共有通信路管理モジュール31が起動される(ステップS41)。起動した共有通信路管理モジュール31は、どのプロセスからも読み書きが可能なメッセージキューを作成する(ステップS42)。ここで作成されたメッセージキューが、この後のやり取りで各プロセスから使用される共有通信路36となる。   FIG. 8 is a flowchart illustrating an example of processing related to generation / deletion of a shared communication path. After the information processing apparatus is activated, the shared communication path management module 31 is activated first (step S41). The activated shared communication path management module 31 creates a message queue that can be read and written by any process (step S42). The message queue created here becomes a shared communication path 36 used by each process in the subsequent exchange.

更に、共有通信路管理モジュール31は、作成したメッセージキューの識別子(IPCオブジェクトの識別子の値)をどのプロセスからも読み出し可能なファイルに記述する(ステップS43)。本実施形態では、共有通信路管理モジュール31は、IPCオブジェクトの識別子の値をテキストファイルに格納し、どのプロセスからも読み出し可能にする。   Further, the shared communication path management module 31 describes the created message queue identifier (IPC object identifier value) in a file readable by any process (step S43). In the present embodiment, the shared communication path management module 31 stores the value of the identifier of the IPC object in a text file so that it can be read from any process.

図9は、IPCオブジェクトの識別子の値が格納されたテキストファイルの一例を示す図である。図9の例では、識別子は「0x003F」で、ファイル51に識別子52が格納されている。   FIG. 9 is a diagram illustrating an example of a text file in which the identifier value of the IPC object is stored. In the example of FIG. 9, the identifier is “0x003F”, and the identifier 52 is stored in the file 51.

なお、ステップS43の処理の本質は、共有通信路36の識別子を他のプロセスが知ることができるようにするということであり、ファイルシステムに書き出す方法や、その書き出し方は本質ではない。例えば、共有通信路管理モジュール31は、予め決められた共有メモリ(シェアードメモリー)のアドレスに、IPCオブジェクトの識別子の値を格納するようにしてもよい。   Note that the essence of the processing in step S43 is that other processes can know the identifier of the shared communication path 36, and the method of writing to the file system and the way of writing are not essential. For example, the shared communication path management module 31 may store the identifier value of the IPC object at a predetermined shared memory (shared memory) address.

続いて、例えば情報処理装置は、サービスを構成する各プログラムモジュールのプロセスを起動する。そして、各プロセスは、それぞれの動作を行う(ステップS44)。情報処理装置におけるシステムの終了時には、共有通信路管理モジュール31は、共有通信路36として使用したメッセージキューオブジェクトを削除する(ステップS45)。   Subsequently, for example, the information processing apparatus starts a process of each program module constituting the service. And each process performs each operation | movement (step S44). At the end of the system in the information processing apparatus, the shared communication path management module 31 deletes the message queue object used as the shared communication path 36 (step S45).

続いて、本発明のIPC接続処理の手続きを説明する。まず、先に記述した、IPC接続処理の処理を実現する機能モジュール(図4の3511)の構成と、役割とを説明し、その後に、動作を説明する。   Next, the procedure of the IPC connection process of the present invention will be described. First, the configuration and role of the functional module (3511 in FIG. 4) for realizing the IPC connection processing described above will be described, and then the operation will be described.

まず、IPC接続処理の手続きを実現するための機能モジュールの構成例を図10に示す。図10は、機能モジュールの構成の一例を示す図である。初期設定部91は、プロセスの起動時に動作し、必要な情報をプロセス内部に設定するモジュールである。外部情報参照部92は、共有通信路36の識別子等の情報を外部参照するためのモジュールである。情報記憶部93は、共有通信路36等の情報をプロセスの動作中、保持するためのモジュールである。   First, FIG. 10 shows a configuration example of functional modules for realizing the procedure of IPC connection processing. FIG. 10 is a diagram illustrating an example of a functional module configuration. The initial setting unit 91 is a module that operates when a process is started and sets necessary information inside the process. The external information reference unit 92 is a module for externally referring to information such as an identifier of the shared communication path 36. The information storage unit 93 is a module for holding information such as the shared communication path 36 during the operation of the process.

メッセージ送信部94及びメッセージ受信部95は、それぞれIPCによるデータ送信及び受信を実現するモジュールである。接続メッセージ処理部96は、メッセージ体系定義33に基づいて、メッセージを生成・解釈する機能と、IPC接続処理の状態遷移を管理する機能とを実現するモジュールである。IPC接続処理部97は、指定された通信路識別子を用いてプロセス同士のIPCを行うモジュールである。   The message transmission unit 94 and the message reception unit 95 are modules that realize data transmission and reception by IPC, respectively. The connection message processing unit 96 is a module that realizes a function for generating and interpreting a message based on the message system definition 33 and a function for managing the state transition of the IPC connection process. The IPC connection processing unit 97 is a module that performs IPC between processes using a designated communication path identifier.

次に、IPC接続処理のための行程を説明する。本実施形態では、IPC接続処理を行うために、各プロセスは起動時に決まった初期処理を行う。図11は、各プロセスの初期処理の一例を示すフローチャートである。   Next, a process for IPC connection processing will be described. In this embodiment, in order to perform IPC connection processing, each process performs initial processing determined at the time of activation. FIG. 11 is a flowchart illustrating an example of initial processing of each process.

まず、情報記憶部93は、コンポーネント識別子定義34の中で、自プロセスに定義されている識別子の情報を記憶する(ステップS101)。次に、外部情報参照部92が共有通信路36の識別子を読み込み、情報記憶部93がこの情報を記憶する(ステップS102)。最後に、メッセージ受信部95はメッセージ待ちのポーリングを開始する(ステップS103)。プロセスは、共有通信路36に自身宛のメッセージが入れられた場合にのみ受信を行う。   First, the information storage unit 93 stores information on identifiers defined in its own process in the component identifier definition 34 (step S101). Next, the external information reference unit 92 reads the identifier of the shared communication path 36, and the information storage unit 93 stores this information (step S102). Finally, the message receiving unit 95 starts polling for waiting for a message (step S103). The process receives only when a message addressed to itself is entered in the shared communication path 36.

図12は、IPC接続処理の一例を示す図(その1)である。まず第1のプロセスは、これから行う第2のプロセスとのIPCで使用する実行時通信路を確保する(ステップS1101)。そして、第1のプロセスは、確保した実行時通信路の識別子を記憶する(ステップS1102)。   FIG. 12 is a diagram (part 1) illustrating an example of the IPC connection process. First, the first process secures a runtime communication path to be used for IPC with the second process to be performed (step S1101). Then, the first process stores the identifier of the reserved runtime communication path (step S1102).

このステップS1101及びステップS1102の処理は、これから行う第2のプロセスとのIPCで使用するための通信路を確保することが目的であり、通信路を新規に作成するか、既存の通信路を使用するかは問題ではない。既存の通信路を使用する場合は、第1のプロセスは、その識別子の取得と記憶を行えばよい。   The purpose of the processing in step S1101 and step S1102 is to secure a communication path to be used in IPC with the second process to be performed in the future, and a new communication path is created or an existing communication path is used. It doesn't matter what you do. When an existing communication path is used, the first process may acquire and store the identifier.

次に、第1のプロセスは、コンポーネント識別子定義を参照し、第2のプロセスの識別子を取得する。また、第1のプロセスは、メッセージ体系定義33に従って開始要求メッセージを作成し、そのデータを、共有通信路36の識別子を指定して、第2のプロセス宛に送信する(ステップS1103)。第2のプロセスは、第1のプロセスが共有通信路36に入れた自身宛のメッセージを選択し、受信する(ステップS1104)。   Next, the first process refers to the component identifier definition and obtains the identifier of the second process. Further, the first process creates a start request message according to the message system definition 33, and transmits the data to the second process by designating the identifier of the shared communication path 36 (step S1103). The second process selects and receives the message addressed to itself which the first process has put in the shared communication path 36 (step S1104).

ステップS1103及びステップS1104の処理に係る、メッセージ送受信のプログラムコードの一例を図13に示す。図13は、メッセージ送受信のプログラムコードの一例を示す図である。なお、図13の例は、SystemVメッセージキューを使用した場合の例である。   FIG. 13 shows an example of message transmission / reception program codes related to the processing in steps S1103 and S1104. FIG. 13 is a diagram illustrating an example of a program code for message transmission / reception. Note that the example of FIG. 13 is an example in the case of using a SystemV message queue.

第1のプロセスが送信するデータには、メッセージ体系定義33のフォーマットに加えて、メッセージの選択受信を容易にするためのフラグとして第2のプロセスのコンポーネント識別子が付加されている(第1のプロセスで実行されるプログラム例1201)。   In addition to the format of the message system definition 33, the component identifier of the second process is added to the data transmitted by the first process as a flag for facilitating selective reception of the message (first process). Example program 1201) executed in

第2のプロセスは、このフラグデータをフィルタとして自身のメッセージかどうかを判断し、受信する(第2のプロセスで実行されるプログラム例1202)。   The second process uses the flag data as a filter to determine whether or not it is its own message and receives it (program example 1202 executed in the second process).

共有通信路36における受信処理は、先に記述した、プロセスの初期動作(図11のステップS103)において開始される処理動作である。   The reception process on the shared communication path 36 is a process operation started in the initial process operation (step S103 in FIG. 11) described above.

第1のプロセスからのIPC開始要求を受信した第2のプロセスは、受信したメッセージに含まれる、第1のプロセスが指定した通信路の識別子を抽出し、その識別子を第1のプロセスとのIPCに使用するように記憶する(ステップS1105)。続いて、第2のプロセスは、メッセージ体系定義33に従って開始要求応答メッセージを作成し、共有通信路36の識別子を指定して、そのデータを送信する(ステップS1106)。第1のプロセスは、第2のプロセスが送信した開始要求応答メッセージを受信する(S1107)。   The second process that has received the IPC start request from the first process extracts the identifier of the communication path specified by the first process, contained in the received message, and uses the identifier as the IPC with the first process. (Step S1105). Subsequently, the second process creates a start request response message in accordance with the message system definition 33, specifies the identifier of the shared communication path 36, and transmits the data (step S1106). The first process receives the start request response message transmitted by the second process (S1107).

以上の処理で、第1のプロセスと、第2のプロセスとの間で、使用する通信路の識別子情報が共有され、IPC接続が確立され、メッセージ(又はデータ)のやり取りが行われる(S1108)。   Through the above processing, the identifier information of the communication path to be used is shared between the first process and the second process, an IPC connection is established, and a message (or data) is exchanged (S1108). .

第1のプロセスと、第2のプロセスとの間のIPCが終了したら、例えば第1のプロセスが、使用した実行時通信路を削除する(ステップS1109)。   When the IPC between the first process and the second process ends, for example, the first process deletes the runtime communication path used (step S1109).

なお、上述した説明の行程では、第1のプロセスと、第2のプロセスとの間のIPCで使用する通信路は1つだけであるが、同様の処理を行うことで、通信路を多重化できる。   In the above-described process, only one communication path is used in the IPC between the first process and the second process, but the same process is performed to multiplex the communication paths. it can.

<実施形態2>
実施形態2では、共有通信路を用いず、プロセス同士のIPCを開始する一例を説明する。なお、実施形態2では、説明の簡略化のため、プログラムモジュールではなく、プロセスの言葉を用いて説明を行なう。
<Embodiment 2>
In the second embodiment, an example of starting IPC between processes without using a shared communication path will be described. In the second embodiment, for the sake of simplicity, the description will be made using process words instead of program modules.

図14は、情報処理装置の機能構成の一例を示す図(その2)である。情報処理装置は、機能構成として、プロセス1305同士がIPCを行なう際に使用する実行時通信路群1301と、IPC接続確立までの手続きを定義するメッセージ体系定義1302と、を有する。また、情報処理装置は、機能構成として、プロセス1305を識別するためのコンポーネント識別子定義1303と、IPC接続処理のためのプログラムモジュールを含むプロセス1305を含むプロセス群1304と、を有する。   FIG. 14 is a second diagram illustrating an example of a functional configuration of the information processing apparatus. The information processing apparatus has, as functional configurations, a runtime communication path group 1301 used when the processes 1305 perform IPC, and a message system definition 1302 that defines a procedure until IPC connection establishment. Further, the information processing apparatus has, as functional configurations, a component identifier definition 1303 for identifying the process 1305 and a process group 1304 including a process 1305 including a program module for IPC connection processing.

以上の構成は、実施形態1と同様である。
本実施形態では、プロセス1305それぞれに一つずつ受信専用通信路1306が割り当てられている。受信専用通信路1306は、各プロセス1305へのメッセージを送るための通信路として使用される。
The above configuration is the same as that of the first embodiment.
In this embodiment, one reception-only communication path 1306 is assigned to each process 1305. The reception-only communication path 1306 is used as a communication path for sending a message to each process 1305.

受信専用通信路1306は、プロセスが生成されるときの初期処理で確保し、その後プロセスはその受信専用通信路1306からのメッセージを待ち受ける。ここで、各プロセスの受信専用通信路1306の識別子を他のプロセスが知る必要がある。そのため、コンポーネント識別子定義1303は、実施形態1の図5と同様のプロセスを識別するためのテーブルに加えて、図15に示す、プロセスの識別子からその受信専用通信路の識別子の情報を取得することができるテーブルを持つ。   The reception-only communication path 1306 is secured by initial processing when a process is generated, and then the process waits for a message from the reception-only communication path 1306. Here, another process needs to know the identifier of the reception-only communication path 1306 of each process. Therefore, the component identifier definition 1303 obtains information on the identifier of the dedicated reception channel from the process identifier shown in FIG. 15 in addition to the table for identifying the same process as that in FIG. 5 of the first embodiment. Have a table that can.

図15は、プロセスの識別子と、受信専用通信路136の識別子とを関連させるテーブルの一例を示す図である。
141は、図5の63で示したプロセスの識別子であり、142はそのプロセスの受信専用通信路136の識別子である。プロセスは、受信専用通信路136を確保したときに、図15に示すテーブルに受信専用通信路136の識別子の情報を記録する。
FIG. 15 is a diagram illustrating an example of a table associating process identifiers with identifiers of the reception-only communication path 136.
141 is an identifier of the process indicated by 63 in FIG. 5, and 142 is an identifier of the reception-only communication path 136 of the process. When the process secures the reception-only communication path 136, the process records the identifier information of the reception-only communication path 136 in the table shown in FIG.

本実施形態は、各プロセスが受信専用通信路136を持つため、背景技術の第2の例で説明した、予めシステムで使用するIPCを全て定義してしまう例と似ている。しかしながら、本実施形態によれば、システム設計時にIPCオブジェクトを定義していないプロセス間のIPCであっても動作可能であるという点が異なる。   This embodiment is similar to the example in which all the IPCs used in the system are defined in advance, as described in the second example of the background art, because each process has a reception-only communication path 136. However, according to the present embodiment, the difference is that even an IPC between processes that does not define an IPC object at the time of system design can operate.

本実施形態でのIPC接続処理を、図16を用いて説明する。図16は、IPC接続処理の一例を示す図(その2)である。まず第1のプロセスは、これらか行なう第2のプロセスとのIPCで使用する実行時通信路を確保する(ステップS151)。そして、第1のプロセスは、確保した実行時通信路の識別子を記憶する(ステップS152)。   The IPC connection process in this embodiment will be described with reference to FIG. FIG. 16 is a second diagram illustrating an example of the IPC connection process. First, the first process secures a runtime communication path to be used in IPC with the second process to be performed (step S151). Then, the first process stores the identifier of the reserved runtime communication path (step S152).

次に、第1のプロセスは、コンポーネント識別子定義1303を参照し、第2のプロセスの識別子を取得し、第2のプロセスの識別子から第2のプロセスの受信専用通信路1306の識別子を取得する。また、第1のプロセスは、メッセージ体系定義1302に従って開始要求メッセージを作成し、第2のプロセスに割り当てられている受信専用通信路1306の識別子を指定して、そのデータを送信する(ステップS153)。   Next, the first process refers to the component identifier definition 1303, acquires the identifier of the second process, and acquires the identifier of the reception-only communication path 1306 of the second process from the identifier of the second process. In addition, the first process creates a start request message according to the message system definition 1302, designates the identifier of the reception-only communication path 1306 assigned to the second process, and transmits the data (step S153). .

第2のプロセスは、開始要求メッセージを受信した後、メッセージに含まれる第1のプロセスが指定した通信路の識別子を抽出し、その識別子を第1のプロセスとのIPCに使用するように記憶する(ステップS154)。ステップS153の後に、第2のプロセスは、メッセージ体系定義1302に従って開始要求応答メッセージを作成し、第1のプロセスの受信専用通信路1306の識別子を指定して、そのデータを送信する(ステップS155)。第1のプロセスは、第2のプロセスがIPC開始に応答したことを確認する。   After receiving the start request message, the second process extracts the identifier of the communication path designated by the first process included in the message, and stores the identifier for use in the IPC with the first process. (Step S154). After step S153, the second process creates a start request response message in accordance with the message system definition 1302, designates the identifier of the reception-only communication path 1306 of the first process, and transmits the data (step S155). . The first process confirms that the second process has responded to the IPC start.

以上の処理で、第1のプロセスと、第2のプロセスとの間で、使用する通信路の識別子情報が共有され、直接的なIPC接続が確立され、メッセージ(又はデータ)のやり取りが行われる(S156)。   With the above processing, the identifier information of the communication path to be used is shared between the first process and the second process, a direct IPC connection is established, and messages (or data) are exchanged. (S156).

第1のプロセスと、第2のプロセスとの間のIPCが終了したら、例えば第1のプロセスが、使用した実行時通信路を削除する(ステップS157)。   When the IPC between the first process and the second process ends, for example, the first process deletes the runtime communication path used (step S157).

なお、上述した説明の行程では、第1のプロセスと、第2のプロセスとの間のIPCで使用する通信路は1つだけであるが、同様の処理を行うことで、通信路を多重化できる。   In the above-described process, only one communication path is used in the IPC between the first process and the second process, but the same process is performed to multiplex the communication paths. it can.

以上、上述した各実施形態によれば、プロセス間通信に関するオブジェクトの識別子の管理を容易にし、且つ、メモリーリソースの消費を低く抑えることができる。   As described above, according to each of the above-described embodiments, it is possible to easily manage object identifiers related to inter-process communication, and to reduce consumption of memory resources.

以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.

以下に示す各実施形態の原理的な構成を示す図である。It is a figure which shows the fundamental structure of each embodiment shown below. 以下に示す各実施形態の原理的な処理を示すフローチャートである。It is a flowchart which shows the fundamental process of each embodiment shown below. 情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of information processing apparatus. 情報処理装置の機能構成の一例を示す図(その1)である。FIG. 3 illustrates an example of a functional configuration of an information processing apparatus (part 1); コンポーネント識別子定義34の一例を示す図である。5 is a diagram illustrating an example of a component identifier definition 34. FIG. メッセージ体系定義33の一例を示す図である。6 is a diagram illustrating an example of a message system definition 33. FIG. メッセージデータの一例を示す図である。It is a figure which shows an example of message data. 共有通信路の生成・削除に関する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process regarding the production | generation / deletion of a shared communication path. IPCオブジェクトの識別子の値が格納されたテキストファイルの一例を示す図である。It is a figure which shows an example of the text file in which the value of the identifier of an IPC object was stored. 機能モジュールの構成の一例を示す図である。It is a figure which shows an example of a structure of a functional module. 各プロセスの初期処理の一例を示すフローチャートである。It is a flowchart which shows an example of the initial process of each process. IPC接続処理の一例を示す図(その1)である。FIG. 10 is a diagram (part 1) illustrating an example of an IPC connection process; メッセージ送受信のプログラムコードの一例を示す図である。It is a figure which shows an example of the program code of message transmission / reception. 情報処理装置の機能構成の一例を示す図(その2)である。FIG. 3 illustrates an example of a functional configuration of the information processing apparatus (part 2); プロセスの識別子と、受信専用通信路136の識別子とを関連させるテーブルの一例を示す図である。It is a figure which shows an example of the table which associates the identifier of a process, and the identifier of the communication channel 136 only for reception. IPC接続処理の一例を示す図(その2)である。FIG. 10 illustrates an example of an IPC connection process (part 2);

符号の説明Explanation of symbols

110 入力部
120 表示部
130 記録媒体ドライブ部
140 記録媒体
150 ROM
160 RAM
170 CPU
180 インターフェース部
190 HD
110 Input unit 120 Display unit 130 Recording medium drive unit 140 Recording medium 150 ROM
160 RAM
170 CPU
180 interface unit 190 HD

Claims (9)

複数のプロセスを動作させることが可能な情報処理装置であって、
データ通信に係る各プロセスは、
データ通信路に係るデータ伝達オブジェクトの識別子の通知を他のプロセスより受け取る受取手段と、
前記受取手段で受け取った前記識別子で識別される前記データ伝達オブジェクトを用いて、前記他のプロセスとの接続を確立する接続確立手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus capable of operating a plurality of processes,
Each process related to data communication
Receiving means for receiving a notification of the identifier of the data transmission object related to the data communication path from another process;
Connection establishment means for establishing a connection with the other process using the data transmission object identified by the identifier received by the receiving means;
An information processing apparatus comprising:
データ通信に係る各プロセスは、通信相手の他のプロセスに前記識別子を通知する通知手段を更に有することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein each process related to data communication further includes notification means for notifying another process of the communication partner of the identifier. データ通信に係る各プロセスは、通信相手の他のプロセスを選択する選択手段を更に有することを特徴とする請求項1又は2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein each process related to data communication further includes a selection unit that selects another process of the communication partner. 前記選択手段は、データ通信に係る各プロセスを識別するプロセス識別定義情報を参照し、複数の他のプロセスの中から通信相手の他のプロセスを識別し、選択することを特徴とする請求項3に記載の情報処理装置。   4. The selection unit refers to process identification definition information for identifying each process related to data communication, and identifies and selects another process of a communication partner from a plurality of other processes. The information processing apparatus described in 1. データ通信が終了すると、前記データ伝達オブジェクトを破棄する破棄手段を更に有することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。   5. The information processing apparatus according to claim 1, further comprising: a discarding unit that discards the data transmission object when data communication ends. 前記受取手段又は前記通知手段は、前記識別子の通知に係る通知定義情報を参照し、前記識別子の通知に関する処理を行うことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。   6. The information processing according to claim 1, wherein the receiving unit or the notification unit refers to notification definition information related to the notification of the identifier, and performs a process related to the notification of the identifier. apparatus. 複数のプロセスを動作させることが可能な情報処理装置におけるプロセス間通信方法であって、
データ通信に係るプロセスが、データ通信路に係るデータ伝達オブジェクトの識別子の通知を他のプロセスより受け取る受取ステップと、
前記データ通信に係るプロセスが、前記受取ステップにおいて受け取った前記識別子で識別される前記データ伝達オブジェクトを用いて、前記他のプロセスとの接続を確立する接続確立ステップと、
を有することを特徴とするプロセス間通信方法。
An inter-process communication method in an information processing apparatus capable of operating a plurality of processes,
A receiving step in which a process related to data communication receives a notification of an identifier of a data transmission object related to a data communication path from another process;
A connection establishment step in which the process related to the data communication establishes a connection with the other process using the data transmission object identified by the identifier received in the receiving step;
An interprocess communication method characterized by comprising:
請求項7に記載のプロセス間通信方法をコンピュータに実行させることを特徴とするプログラム。   A program for causing a computer to execute the interprocess communication method according to claim 7. 請求項8に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 8 is recorded.
JP2006128474A 2006-05-02 2006-05-02 Interprocess communication method Expired - Fee Related JP4667299B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006128474A JP4667299B2 (en) 2006-05-02 2006-05-02 Interprocess communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006128474A JP4667299B2 (en) 2006-05-02 2006-05-02 Interprocess communication method

Publications (3)

Publication Number Publication Date
JP2007299319A true JP2007299319A (en) 2007-11-15
JP2007299319A5 JP2007299319A5 (en) 2009-06-18
JP4667299B2 JP4667299B2 (en) 2011-04-06

Family

ID=38768743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006128474A Expired - Fee Related JP4667299B2 (en) 2006-05-02 2006-05-02 Interprocess communication method

Country Status (1)

Country Link
JP (1) JP4667299B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455380A (en) * 2012-06-05 2013-12-18 上海斐讯数据通信技术有限公司 Multi-process communication system and establishment and communication method thereof
KR20150095052A (en) * 2014-02-12 2015-08-20 한국전자통신연구원 Method for inter-process communication

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02144655A (en) * 1988-11-25 1990-06-04 Hitachi Ltd Plural communication paths connection control system
JPH0887476A (en) * 1994-09-14 1996-04-02 Nippon Telegr & Teleph Corp <Ntt> Sequential restoration processing method for decentralized service
JPH0887477A (en) * 1994-09-14 1996-04-02 Nippon Telegr & Teleph Corp <Ntt> Service requesting method
JPH10105529A (en) * 1996-03-25 1998-04-24 Sun Microsyst Inc System and method for secure pier-to-pier communication between downloaded programs
JP2005339225A (en) * 2004-05-27 2005-12-08 Mitsubishi Electric Corp Communication system, client device, server device, relaying device, and information processing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02144655A (en) * 1988-11-25 1990-06-04 Hitachi Ltd Plural communication paths connection control system
JPH0887476A (en) * 1994-09-14 1996-04-02 Nippon Telegr & Teleph Corp <Ntt> Sequential restoration processing method for decentralized service
JPH0887477A (en) * 1994-09-14 1996-04-02 Nippon Telegr & Teleph Corp <Ntt> Service requesting method
JPH10105529A (en) * 1996-03-25 1998-04-24 Sun Microsyst Inc System and method for secure pier-to-pier communication between downloaded programs
JP2005339225A (en) * 2004-05-27 2005-12-08 Mitsubishi Electric Corp Communication system, client device, server device, relaying device, and information processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455380A (en) * 2012-06-05 2013-12-18 上海斐讯数据通信技术有限公司 Multi-process communication system and establishment and communication method thereof
KR20150095052A (en) * 2014-02-12 2015-08-20 한국전자통신연구원 Method for inter-process communication
KR102019108B1 (en) * 2014-02-12 2019-09-09 한국전자통신연구원 Method for inter-process communication

Also Published As

Publication number Publication date
JP4667299B2 (en) 2011-04-06

Similar Documents

Publication Publication Date Title
KR102209276B1 (en) Messaging protocol communication management
US9244817B2 (en) Remote debugging in a cloud computing environment
KR101066682B1 (en) Method of notification for shared resources
JP4495410B2 (en) Computing system and method thereof
Neira‐Ayuso et al. Communicating between the kernel and user‐space in Linux using Netlink sockets
JP4799155B2 (en) Message exchange protocol extension negotiation
US8589885B2 (en) Debugger launch and attach on compute clusters
EP1986369A1 (en) End user control configuration system with dynamic user interface
JP2004038758A (en) Storage controller, control method for storage controller, and program
JP5159071B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND ITS CONTROL METHOD
JP2010231759A (en) Mobile terminal device including mobile cloud platform
JP4410608B2 (en) Web service providing method
KR102121358B1 (en) Data transmission method and device
CN111858007A (en) Task scheduling method and device based on message middleware
WO2019062634A1 (en) Communication method and apparatus
JP5405494B2 (en) Media mix wiring protocol for media control
CN108287647A (en) A kind of application operation method and device
US20090319660A1 (en) Generalized architecture to support representation of multi-transport devices
JP2011235580A (en) Image forming apparatus and control program thereof
JP4667299B2 (en) Interprocess communication method
US8051191B2 (en) Ethernet extensibility
TW200803282A (en) Technique for controlling external communication of embedded device using proxy server
JP2018513460A (en) Method and system for requesting access to a restricted service instance
Chou et al. WIPdroid–a two-way web services and real-time communication enabled mobile computing platform for distributed services computing
JP2009294863A (en) Event service distribution system, event service distribution device, and event service distribution method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090501

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090501

A977 Report on retrieval

Effective date: 20101001

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101228

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)

Effective date: 20110111

Free format text: JAPANESE INTERMEDIATE CODE: A61

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

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20140121

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees