JP2013161108A - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program Download PDF

Info

Publication number
JP2013161108A
JP2013161108A JP2012019821A JP2012019821A JP2013161108A JP 2013161108 A JP2013161108 A JP 2013161108A JP 2012019821 A JP2012019821 A JP 2012019821A JP 2012019821 A JP2012019821 A JP 2012019821A JP 2013161108 A JP2013161108 A JP 2013161108A
Authority
JP
Japan
Prior art keywords
data amount
information processing
module
message
data
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
JP2012019821A
Other languages
Japanese (ja)
Other versions
JP5867120B2 (en
Inventor
Yasushi Nakayama
康 中山
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012019821A priority Critical patent/JP5867120B2/en
Publication of JP2013161108A publication Critical patent/JP2013161108A/en
Application granted granted Critical
Publication of JP5867120B2 publication Critical patent/JP5867120B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device, an information processing method, and a program that are capable of alleviating a flow control state in a computer in which a STREAMS mechanism is implemented.SOLUTION: An information processing device 10 comprises a module insertion unit 11 that, into a data path (stream) 20 which is constructed in a computer 50 and on which a message is transceived between a process 41 and a driver 23, inserts a data amount adjustment module 12 for adjusting the data amount of the message on the data path 20.

Description

本発明は、STREAMS機構が実装されたコンピュータに用いられる、情報処理装置、情報処理方法、及びプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program used for a computer in which a STREAMS mechanism is implemented.

従来から、オペレーティングシステムであるUNIXでは、カーネルの機能の一部として、STREAMS機構が利用されている。STREAMS機構は、種々のタイプのデバイスドライバと同様に、データ通信におけるネットワークプロトコルを実施するための事実上の業界標準フレームワークになっている。   Conventionally, in the UNIX operating system, the STREAMS mechanism has been used as part of the kernel functions. The STREAMS mechanism, as well as various types of device drivers, has become the de facto industry standard framework for implementing network protocols in data communications.

また、STREAMS機構において、「ストリーム」とは、アプリケーションプログラムのようなユーザレベルのプロセスとカーネル内のデバイスドライバとの間に提供される双方向性のデータ経路であり、全二重パスを意味する。   In the STREAMS mechanism, a “stream” is a bidirectional data path provided between a user-level process such as an application program and a device driver in the kernel, and means a full-duplex path. .

ここで、図8を用いてストリームについて説明する。図8は、ストリームを説明するための概念図である。図8に示すように、ストリーム70は、プログラムモジュールによって構築された、ストリームヘッド71と、処理モジュール72と、ドライバ73とを備えている。   Here, the stream will be described with reference to FIG. FIG. 8 is a conceptual diagram for explaining a stream. As shown in FIG. 8, the stream 70 includes a stream head 71, a processing module 72, and a driver 73 constructed by program modules.

また、各モジュールは、一組のキューを備えていることから、ストリーム70は、線形に連結された一組のキューの集まりで構成されているといえる。また、一組のキューは、それぞれ、ライトキュー(「WQ」とも表記する。)と、リードキュー(「RQ」とも表記する。)とで構成されている。   Since each module includes a set of queues, the stream 70 can be said to be composed of a set of queues that are linearly connected. Each set of queues includes a write queue (also referred to as “WQ”) and a read queue (also referred to as “RQ”).

そして、ユーザ空間におけるプロセス(図8において図示せず)が出力用のメッセージ74をストリームヘッド71に書き込むと、カーネルはそのメッセージを下のライトキューに送る。また、ドライバ73が入力用のメッセージ74を受け取ると、カーネルはそのメッセージ74を上のリードキューに送る。   When a process in the user space (not shown in FIG. 8) writes an output message 74 to the stream head 71, the kernel sends the message to the lower write queue. When the driver 73 receives the input message 74, the kernel sends the message 74 to the above read queue.

このようなストリームの基本的概念は、設計者であるRitchie, D.M.により記述された非特許文献1に開示されている。また、現在の標準的となっている概念は、上記基本概念のものより改良がなされている。現在のSTREAMS機構の概念は、例えば、非特許文献2に開示されている。   The basic concept of such a stream is disclosed in Non-Patent Document 1 described by designer Ritchie, D.M. In addition, the current standard concept is improved from that of the basic concept. The concept of the current STREAMS mechanism is disclosed in Non-Patent Document 2, for example.

Ritchie, D.M.著、石田晴久監修、長谷部紀元、清水謙多郎訳、「ストリーム入出力システム」、「UNIX原典」、パーソナルメディア、1986, p.365-379Ritchie, D.M., supervised by Haruhisa Ishida, translated by Kimoto Hasebe and Kentaro Shimizu, “Stream I / O System”, “UNIX Original”, Personal Media, 1986, p. 365-379 Maurice J. Bach著、坂本文・多田好克・村井純 訳、「UNIXカーネルの設計」、共立出版、1990年、p.291-297Maurice J. Bach, Text by Saka, Translated by Yoshikatsu Tada, Translated by Jun Murai, “Designing UNIX Kernels”, Kyoritsu Shuppan, 1990, p.291-297

ところで、このようなSTREAMS機構を実装しているコンピュータでは、ストリーム70において送受信データ量が多くなりすぎると、フロー制御状態に陥ってしまうことがある。上述の図8の例では、ストリーム70を構成している各ライトキュー及び各リードキューそれぞれにメッセージ群が溜められている。そして、各ライトキュー及び各リードキューそれぞれにおいて、データ量はキューのハイウォータ値に達し、「QFULL」状態になってしまっている。   By the way, in a computer in which such a STREAMS mechanism is mounted, if the amount of transmission / reception data in the stream 70 becomes too large, the computer may fall into a flow control state. In the example of FIG. 8 described above, a message group is accumulated in each write queue and each read queue constituting the stream 70. In each write queue and each read queue, the amount of data reaches the high water value of the queue, and is in a “QFULL” state.

そして、このようなフロー制御状態に陥るかどうかは、ドライバ側のデータ処理(ライト側)の処理速度と、アプリケーション側のデータ処理(リード側)の処理速度とに依存している。従って、これらの処理速度によっては、慢性的なフロー制御状態が続いてしまう場合がある。このため、STREAMS機構を実装しているコンピュータでは、この慢性的なフロー制御状態を緩和することが、求められている。   Whether to fall into such a flow control state depends on the data processing speed on the driver side (write side) and the data processing speed on the application side (read side). Therefore, depending on these processing speeds, a chronic flow control state may continue. For this reason, computers that implement the STREAMS mechanism are required to relax this chronic flow control state.

本発明の目的の一例は、上記問題を解消し、STREAMS機構を実装しているコンピュータにおいて、フロー制御状態の緩和を図り得る、情報処理装置、情報処理方法、及びプログラムを提供することにある。   An object of the present invention is to provide an information processing apparatus, an information processing method, and a program that can alleviate the above-described problems and can relax a flow control state in a computer that implements a STREAMS mechanism.

上記目的を達成するため、本発明の一側面における情報処理装置は、コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、モジュール挿入部を、備えていることを特徴とする。   In order to achieve the above object, an information processing apparatus according to an aspect of the present invention is configured in a computer and transmits / receives a message between a process and a driver. And a module insertion unit for inserting a data amount adjustment module for adjusting the data amount.

また、上記目的を達成するため、本発明の一側面における情報処理方法は、コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、ステップを有することを特徴とする。   In order to achieve the above object, an information processing method according to an aspect of the present invention is configured in a computer, and transmits / receives a message between a process and a driver. A data amount adjustment module for adjusting the data amount of the message is inserted.

更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、前記コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、ステップを、実行させることを特徴とする。   Furthermore, in order to achieve the above object, a program according to one aspect of the present invention is constructed by a computer in the computer, and transmits / receives a message between a process and a driver. The step of inserting a data amount adjustment module for adjusting the data amount of the message is executed.

以上のように、本発明によれば、STREAMS機構を実装しているコンピュータシステムにおいて、フロー制御状態の緩和を図ることができる。   As described above, according to the present invention, the flow control state can be relaxed in the computer system in which the STREAMS mechanism is mounted.

図1は、本発明の実施の形態における情報処理装置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to an embodiment of the present invention. 図2は、本実施の形態で挿入されるデータ量調整モジュールの一例を示す図である。FIG. 2 is a diagram illustrating an example of the data amount adjustment module inserted in the present embodiment. 図3は、発明の実施の形態における情報処理装置の動作を示すフロー図である。FIG. 3 is a flowchart showing the operation of the information processing apparatus according to the embodiment of the invention. 図4は、データ経路にデータ量調整モジュールが挿入される前後の状態をそれぞれ示す図である。FIG. 4 is a diagram illustrating a state before and after the data amount adjustment module is inserted into the data path. 図5は、本実施の形態における情報処理装置を実現するプログラムの一例を示す図である。FIG. 5 is a diagram illustrating an example of a program that implements the information processing apparatus according to the present embodiment. 図6は、本実施の形態による効果を説明するための図である。FIG. 6 is a diagram for explaining the effect of the present embodiment. 図7は、本発明の実施の形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。FIG. 7 is a block diagram illustrating an example of a computer that implements the information processing apparatus according to the embodiment of the present invention. 図8は、ストリームを説明するための概念図である。FIG. 8 is a conceptual diagram for explaining a stream.

(実施の形態)
以下、本発明の実施の形態における、情報処理装置、情報処理方法、及びプログラムについて、図1〜図8を参照しながら説明する。
(Embodiment)
Hereinafter, an information processing apparatus, an information processing method, and a program according to an embodiment of the present invention will be described with reference to FIGS.

[装置構成]
最初に、本実施の形態における情報処理装置の構成について説明する。図1は、本発明の実施の形態における情報処理装置の構成を示すブロック図である。
[Device configuration]
First, the configuration of the information processing apparatus in the present embodiment will be described. FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to an embodiment of the present invention.

図1に示すように、本実施の形態における情報処理装置10は、オペレーティングシステム(OS)30が構築されたコンピュータ50において利用される装置である。具体的には、情報処理装置10は、OS30上で動作するプログラムによって構築されている。本実施の形態では、オペレーティングシステムは、UNIX(登録商標)である。   As shown in FIG. 1, the information processing apparatus 10 according to the present embodiment is an apparatus used in a computer 50 in which an operating system (OS) 30 is constructed. Specifically, the information processing apparatus 10 is constructed by a program that operates on the OS 30. In the present embodiment, the operating system is UNIX (registered trademark).

図1に示すよう、情報処理装置10は、モジュール挿入部11を備えている。モジュール挿入部11は、OS30に構築されたデータ経路20に対して、そこでのメッセージのデータ量を調整するデータ量調整モジュール12を挿入する。   As illustrated in FIG. 1, the information processing apparatus 10 includes a module insertion unit 11. The module insertion unit 11 inserts the data amount adjustment module 12 that adjusts the data amount of the message in the data path 20 constructed in the OS 30.

また、データ経路20は、アプリケーションプログラム40が実行するプロセス41とドライバ23との間でメッセージを送受信するために用いられる経路である。本実施の形態では、データ経路20は、OS30に実装されたSTREAMS機構が提供する「ストリーム」である。   The data path 20 is a path used for transmitting and receiving messages between the process 41 executed by the application program 40 and the driver 23. In the present embodiment, the data path 20 is a “stream” provided by the STREAMS mechanism installed in the OS 30.

また、本実施の形態では、データ量調整モジュール12は、設定されたデータ量となるまでメッセージを溜める機能を有しており、この機能によって、データ経路20を流れるメッセージのデータ量を調整する。   In this embodiment, the data amount adjustment module 12 has a function of storing messages until the set data amount is reached, and adjusts the data amount of messages flowing through the data path 20 by this function.

このように、情報処理装置10では、データ経路20である「ストリーム」において、そこを流れるデータ量が調整されることから、従来と異なり、STREAMS機構を実装しているコンピュータ50において、フロー制御状態の緩和が図られることになる。   In this way, in the information processing apparatus 10, the amount of data flowing through the “stream” that is the data path 20 is adjusted. Will be mitigated.

また、データ量を調整するデータ量調整モジュール12は、データ経路20の一部となることから、OS30の機能によってフロー制御状態の緩和が図られている。そして、OS30の機能によってフロー制御状態の緩和を図ることは、従来においては不可能である。なお、図1において、60は、アプリケーションプログラム40を操作するユーザの端末を示している。   Further, since the data amount adjustment module 12 that adjusts the data amount is a part of the data path 20, the flow control state is relaxed by the function of the OS 30. Conventionally, it is impossible to relax the flow control state by the function of the OS 30. In FIG. 1, reference numeral 60 denotes a user terminal that operates the application program 40.

ここで、本実施の形態における情報処理装置10の構成について更に具体的に説明する。図1に示すように、本実施の形態では、データ経路20は、プログラムモジュールによって構築された、ストリームヘッド21と、処理モジュール22と、ドライバ23とを備えている。   Here, the configuration of the information processing apparatus 10 in the present embodiment will be described more specifically. As shown in FIG. 1, in the present embodiment, the data path 20 includes a stream head 21, a processing module 22, and a driver 23 constructed by program modules.

このうち、ストリームヘッド21は、アプリケーションプログラム40が実行するプロセス41からの呼び出しの窓口として機能するモジュールである。処理モジュール22は、プロセス41に応じた処理を実行するモジュールである。ドライバ23は、印刷機、ネットワーク装置といったデバイスを動作させるためのモジュールである。   Among these, the stream head 21 is a module that functions as a window for calling from the process 41 executed by the application program 40. The processing module 22 is a module that executes processing according to the process 41. The driver 23 is a module for operating devices such as a printing machine and a network device.

また、ストリームヘッド21、処理モジュール22、及びドライバ23は、それぞれ、書込み用のキュー(ライトキュー:WQ)と、読み出し用のキュー(リードキュー:RQ)とを備えている。なお、各キューの動作は、図8の例と同様である。   The stream head 21, the processing module 22, and the driver 23 each include a write queue (write queue: WQ) and a read queue (read queue: RQ). The operation of each queue is the same as that in the example of FIG.

また、図1に示すように、モジュール挿入部11は、データ経路20を構成しているモジュールとモジュールとの間に、データ量調整モジュール12を挿入する。そして、データ量調整モジュール12は、書込み用のキューに対応するキュー(図1において「WQ」と表記する。)及び読み出し用のキューに対応するキュー(図1において「RQ」と表記する。)を備えている。データ量調整モジュール12は、これらの対応するキューそれぞれによって、設定されたデータ量となるまでメッセージを溜めることができる。   Further, as shown in FIG. 1, the module insertion unit 11 inserts the data amount adjustment module 12 between modules constituting the data path 20. The data amount adjusting module 12 then corresponds to the queue for writing (denoted as “WQ” in FIG. 1) and the queue corresponding to the queue for reading (denoted as “RQ” in FIG. 1). It has. The data amount adjustment module 12 can accumulate messages until the set data amount is reached by each of these corresponding queues.

[データ量調整モジュールの具体例]
ここで、図2を用いて、データ量調整モジュール12の具体例について説明する。図2は、本実施の形態で挿入されるデータ量調整モジュールの一例を示す図である。
[Specific example of data volume adjustment module]
Here, a specific example of the data amount adjustment module 12 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of the data amount adjustment module inserted in the present embodiment.

図2の例では、データ量調整モジュール12のドライバエントリルーチンのみが示されている。具体的には、write側putプロシジャである「xxx_wput( )」のみが示されている。ここで、接頭辞の「xxx_」は、そのデータ経路20を構築するモジュールのモジュール名であり、その文字列はそのモジュール名にふさわしいものであれば良く、特に限定されるものではない。なお、上記ドライバエントリルーチンの形式は、「UNIX System V Release4」に準拠しており、以降においても同様である。   In the example of FIG. 2, only the driver entry routine of the data amount adjustment module 12 is shown. Specifically, only “xxx_wput ()” that is a write-side put procedure is shown. Here, the prefix “xxx_” is the module name of the module that constructs the data path 20, and the character string is not particularly limited as long as it is suitable for the module name. Note that the format of the driver entry routine conforms to “UNIX System V Release 4”, and the same applies to the following.

また、図2に示すように、「xxx_wput( )」は、処理部分として、ハイウォータ値を取得する「GET_HIWATコマンド」と、ローウォータ値を取得する「GET_LOWATコマンド」と、ハイウォータ値を取得した値に設定する「SET_HIWATコマンド」と、ローウォータ値を取得した値に設定する「SET_LOWATコマンド」とを有している。これらのコマンドは、システムコールioctl(I_STR)から実行される。   Further, as shown in FIG. 2, “xxx_wput ()” has acquired, as processing parts, a “GET_HIWAT command” for acquiring a high water value, a “GET_LOWAT command” for acquiring a low water value, and a high water value. It has a “SET_HIWAT command” that sets the value and a “SET_LOWAT command” that sets the low water value to the acquired value. These commands are executed from the system call ioctl (I_STR).

また、「xxx_wput( )」は、メッセージタイプM_FLUSHといった特殊なメッセージを除き、メッセージを自身のライトキューにputq( )する。このため、図2の例では、データ量調整モジュールは、データ量がハイウォータ値に達するまで、ライトキューにメッセージを溜める処理を実行する。   “Xxx_wput ()” puts the message into its own write queue except for a special message such as the message type M_FLUSH. For this reason, in the example of FIG. 2, the data amount adjustment module executes a process of storing messages in the write queue until the data amount reaches the high water value.

続いて、write側サービスプロシジャである「xxx_wsrv( )」、read側putプロシジャである「xxx_rput( )」、及びread側サービスプロシジャの「xxx_rsrv( )」について説明する。なお、これらの図2における図示は省略する。   Next, “xxx_wsrv ()” that is a write-side service procedure, “xxx_rput ()” that is a read-side put procedure, and “xxx_rsrv ()” that is a read-side service procedure will be described. These illustrations in FIG. 2 are omitted.

まず、write側サービスプロシジャである「xxx_wsrv( )」については、メッセージに対して特に処理(加工)を行わずに、geq( )を実行した後にputnext( )を実行するだけの簡素な実装とすれば良い。   First, the write side service procedure “xxx_wsrv ()” can be implemented simply by executing putnext () after executing geq () without performing any processing (processing) on the message. It ’s fine.

また、read側putプロシジャである「xxx_rput( )」については、メッセージタイプM_FLUSHといった特殊なメッセージを除き、メッセージを自身のリードキューにputq( )する実装とすれば良い。これにより、データ量調整モジュールは、データ量がハイウォータ値に達するまで、リードキューにメッセージを溜める処理を実行する。   The read-side put procedure “xxx_rput ()” may be implemented by putting a message into its own read queue except for a special message such as the message type M_FLUSH. As a result, the data amount adjustment module executes a process of storing messages in the read queue until the data amount reaches the high water value.

そして、read側サービスプロシジャである「xxx_rsrv( )」については、write側サービスプロシジャと同様に、メッセージに対して特に処理(加工)を行わずに、getq( )を実行した後にputnext( )を実行するだけの簡素な実装とすれば良い。   And for “xxx_rsrv ()” which is a read side service procedure, execute putqt () after executing getq () without performing any special processing (processing) on the message like the write side service procedure. Just a simple implementation to do.

なお、データ量調整モジュールのwrite側及びread側のハイウォータ値及びローウォータ値は、デフォルトの状態で、データ経路20を構成する他のモジュール及びドライバのハイウォータ値及びローウォータ値に比べて十分大きくなるように、設定しておくのが好ましい。具体的な値は、ドライバ側のデータ処理の処理速度と、アプリケーション側のデータ処理の処理速度とに基づいて適宜設定される。   Note that the high water value and low water value on the write side and read side of the data amount adjustment module are sufficient in the default state compared to the high water value and low water value of other modules and drivers constituting the data path 20. It is preferable to set so as to increase. The specific value is appropriately set based on the processing speed of the data processing on the driver side and the processing speed of the data processing on the application side.

そして、このように、データ量調整モジュール12において、それを構成する各キューのハイウォータ値及びローウォータ値の設定が可能であるため、本実施の形態では、モジュール挿入部11は、データ量調整モジュール12に溜めておくことができるメッセージのデータ量を変更することができる。   Since the data amount adjustment module 12 can set the high water value and the low water value of each queue constituting the data amount adjustment module 12 in this way, in this embodiment, the module insertion unit 11 performs the data amount adjustment. The amount of message data that can be stored in the module 12 can be changed.

[装置動作]
次に、本発明の実施の形態における情報処理装置の動作について図3及び図4を用いて説明する。図3は、発明の実施の形態における情報処理装置の動作を示すフロー図である。図4は、データ経路にデータ量調整モジュールが挿入される前後の状態をそれぞれ示す図である。
[Device operation]
Next, the operation of the information processing apparatus according to the embodiment of the present invention will be described with reference to FIGS. FIG. 3 is a flowchart showing the operation of the information processing apparatus according to the embodiment of the invention. FIG. 4 is a diagram illustrating a state before and after the data amount adjustment module is inserted into the data path.

また、以下の説明においては、適宜図1及び図2を参酌する。更に、本実施の形態では、情報処理装置を動作させることによって、情報処理方法が実施される。よって、本実施の形態における情報処理方法の説明は、以下の情報処理装置10の動作説明に代える。   In the following description, FIGS. 1 and 2 are referred to as appropriate. Furthermore, in this embodiment, the information processing method is performed by operating the information processing apparatus. Therefore, the description of the information processing method in the present embodiment is replaced with the following description of the operation of the information processing apparatus 10.

図3に示すように、まず、モジュール挿入部11は、プロセス41からデータ量調整モジュールの挿入の指示を受け付け(ステップA1)、データ経路20に、データ量調整モジュール12を挿入する(ステップA2)。   As shown in FIG. 3, first, the module insertion unit 11 receives an instruction to insert a data amount adjustment module from the process 41 (step A1), and inserts the data amount adjustment module 12 into the data path 20 (step A2). .

具体的には、本実施の形態では、プロセス41によってシステムコールioctl(I_PUSH)が行なわれると、モジュール挿入部11は、データ経路20に、データ量調整モジュールを挿入する。   Specifically, in the present embodiment, when the system call ioctl (I_PUSH) is performed by the process 41, the module insertion unit 11 inserts a data amount adjustment module into the data path 20.

次に、モジュール挿入部11は、予め設定されているハイウォータ値を取得し、取得したハイウォータ値を、データ量調整モジュール12を構成するキューに設定する(ステップA3)。続いて、モジュール挿入部11は、予め設定されているローウォータ値を取得し、取得したローウォータ値を、データ量調整モジュール12を構成するキューに設定する(ステップA4)。   Next, the module insertion unit 11 acquires a preset high water value, and sets the acquired high water value in a queue constituting the data amount adjustment module 12 (step A3). Subsequently, the module insertion unit 11 acquires a preset low water value, and sets the acquired low water value in a queue constituting the data amount adjustment module 12 (step A4).

ステップA1〜A4が実行されると、図4に示すように、データ経路(ストリーム)20において、データ量調整モジュール12が挿入される(図4の右側参照)。図4の例では、図1の例と同様に、ストリームヘッド21の直下に、データ量調整モジュール12が挿入されている。ステップA4の実行後、モジュール挿入部11における処理は終了する。   When steps A1 to A4 are executed, the data amount adjustment module 12 is inserted in the data path (stream) 20, as shown in FIG. 4 (see the right side of FIG. 4). In the example of FIG. 4, as in the example of FIG. 1, the data amount adjustment module 12 is inserted immediately below the stream head 21. After the execution of step A4, the process in the module insertion unit 11 ends.

なお、図3の例では、データ量調整モジュール12の挿入のきっかけとして、プロセス41によるシステムコールioctl(I_PUSH)が用いられているが、本実施の形態は、これに限定される趣旨ではない。   In the example of FIG. 3, the system call ioctl (I_PUSH) by the process 41 is used as a trigger for inserting the data amount adjustment module 12, but the present embodiment is not limited to this.

例えば、データ量調整モジュール12の挿入は、データ量調整モジュールの挿入が必要なドライバ23として事前に指定されたドライバが、プロセス41によるautopushコマンドの実行によってオープンされた場合に、それをきっかけに行なわれても良い。   For example, the data amount adjustment module 12 is inserted when the driver designated in advance as the driver 23 that needs to insert the data amount adjustment module is opened by the execution of the autopush command by the process 41. It may be.

また、データ量調整モジュール12の挿入は、プロセス41がstrchgコマンドを用いて、「strchg -h [データ量調整モジュール名] < [ドライバのデバイスファイル名]」を実行した場合に、それをきっかけにして、特定のオープン中のストリームに対して行なわれても良い。   The data amount adjustment module 12 is inserted when the process 41 executes “strchg -h [data amount adjustment module name] <[driver device file name]” by using the strchg command. May be performed on a particular open stream.

但し、データ量調整モジュール12のハイウォータ値、ローウォータ値を取得及び設定できるのは、プロセス41がシステムコールioctl(I_STR)を発行する場合のみである。   However, the high water value and low water value of the data amount adjustment module 12 can be acquired and set only when the process 41 issues a system call ioctl (I_STR).

[プログラム]
また、本実施の形態におけるプログラムは、コンピュータに、図3に示すステップA1〜A4を実行させるプログラムであれば良い。このプログラムをコンピュータ50にインストールし、実行することによって、本実施の形態における情報処理装置10と情報処理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、モジュール挿入部11として機能し、処理を行なう。更に、本実施の形態では、情報処理装置10を実現するプログラムは、アプリケーションプログラム40の一部であっても良い。
[program]
Moreover, the program in this Embodiment should just be a program which makes a computer perform step A1-A4 shown in FIG. By installing and executing this program in the computer 50, the information processing apparatus 10 and the information processing method in the present embodiment can be realized. In this case, a CPU (Central Processing Unit) of the computer functions as the module insertion unit 11 and performs processing. Furthermore, in the present embodiment, the program that implements the information processing apparatus 10 may be a part of the application program 40.

ここで、図5を用いて、本実施の形態におけるプログラムの一例について説明する。図5は、本実施の形態における情報処理装置を実現するプログラムの一例を示す図である。図5の例では、プログラムは、アプリケーションプログラム40において、そのモジュールとして実装されている。   Here, an example of a program in the present embodiment will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of a program that implements the information processing apparatus according to the present embodiment. In the example of FIG. 5, the program is implemented as a module in the application program 40.

図5の例では、プログラムによって実行される処理の一例として、ストリームドライバのオープン、データ量調整モジュール12のプッシュ処理、データ量調整モジュール12のハイウォータ値の取得処理、データ量調整モジュール12のハイウォータ値の設定処理が示されている。   In the example of FIG. 5, as an example of processing executed by the program, the stream driver is opened, the data amount adjustment module 12 is pushed, the data amount adjustment module 12 obtains the high water value, and the data amount adjustment module 12 is high. The water value setting process is shown.

[実施の形態による効果]
以上のように、本実施の形態によれば、フロー制御状態に陥りやすいストリームに対してデータ量調整モジュール12を挿入しておくことができるので、OS側の機能によってフロー制御状態の緩和が図られることになる。この点について図6を用いて説明する。図6は、本実施の形態による効果を説明するための図である。
[Effects of the embodiment]
As described above, according to the present embodiment, since the data amount adjustment module 12 can be inserted into a stream that easily falls into the flow control state, the flow control state can be relaxed by the function on the OS side. Will be. This point will be described with reference to FIG. FIG. 6 is a diagram for explaining the effect of the present embodiment.

図6に示すように、データ経路(ストリーム)20にデータ量調整モジュール12が挿入されると、メッセージ24の一部はデータ量調整モジュールに一旦溜められた状態となる。従って、送受信されるデータ量が、図8に示した例と同様であっても、アプリケーション側(図6ではライト側)及びデバイス側(図6ではリード側)の各キューにおいて、QFULL状態が緩和される。   As shown in FIG. 6, when the data amount adjustment module 12 is inserted into the data path (stream) 20, a part of the message 24 is temporarily accumulated in the data amount adjustment module. Therefore, even if the amount of data transmitted and received is the same as in the example shown in FIG. 8, the QFULL state is relaxed in each queue on the application side (write side in FIG. 6) and device side (read side in FIG. 6). Is done.

また、本実施の形態では、データ量調整モジュール12のハイウォータ値及びローウォータ値を変更することができるので、フロー制御状態が起こりやすいストリームに対して、確実にフロー制御状態を緩和することが可能となる。加えて、本実施の形態では、データ量調整モジュールは、ストリーム毎に挿入できるため、ストリームドライバ単位で、データ量調整モジュールを利用するかどうかを選択することができる。   In this embodiment, since the high water value and the low water value of the data amount adjustment module 12 can be changed, it is possible to reliably relax the flow control state for a stream in which the flow control state is likely to occur. It becomes possible. In addition, in the present embodiment, since the data amount adjustment module can be inserted for each stream, it is possible to select whether or not to use the data amount adjustment module for each stream driver.

[変形例]
また、図1〜図6の例では、挿入されているデータ量調整モジュールは、1つであるが、本実施の形態では、データ量調整モジュール12の数は限定されるものではない。例えば、フロー制御の発生状態が慢性的なストリームに対しては、複数のデータ量調整モジュール12が挿入されていても良い。
[Modification]
In the example of FIGS. 1 to 6, only one data amount adjustment module is inserted. However, in the present embodiment, the number of data amount adjustment modules 12 is not limited. For example, a plurality of data amount adjustment modules 12 may be inserted for a stream having a chronic flow control occurrence state.

但し、上記の場合、「ioctl(I_STR)」によるハイウォータ値及びローウォータ値についての取得及び設定は、最もストリームヘッド側にあるフロー制御緩和モジュールのみに限られてしまう。   However, in the above case, acquisition and setting of the high water value and the low water value by “ioctl (I_STR)” are limited only to the flow control mitigation module closest to the stream head.

なお、データ量調整モジュール12は、ストリームモジュールとしてのデータ処理(メッセージの中身のデータの加工)を行わない作りになっている。従って、カーネルパラメータNSTRPUSHにて設定している値(個数)に達するまで、同一ストリームに、データ量調整モジュールを複数挿入する事が可能となっている。   The data amount adjustment module 12 is configured not to perform data processing (processing of data in the message) as a stream module. Therefore, a plurality of data amount adjustment modules can be inserted into the same stream until the value (number) set by the kernel parameter NSTRPUSH is reached.

[コンピュータ]
ここで、実施の形態におけるプログラムを実行することによって、情報処理装置10を実現するコンピュータ50について図7を用いて説明する。図7は、本発明の実施の形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。
[Computer]
Here, a computer 50 that implements the information processing apparatus 10 by executing the program according to the embodiment will be described with reference to FIG. FIG. 7 is a block diagram illustrating an example of a computer that implements the information processing apparatus according to the embodiment of the present invention.

図7に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。   As shown in FIG. 7, the computer 110 includes a CPU 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These units are connected to each other via a bus 121 so that data communication is possible.

CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。   The CPU 111 performs various calculations by developing the program (code) in the present embodiment stored in the storage device 113 in the main memory 112 and executing them in a predetermined order. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory). Further, the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120. Note that the program in the present embodiment may be distributed on the Internet connected via the communication interface 117.

また、記憶装置113の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。   Specific examples of the storage device 113 include a hard disk and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and a mouse. The display controller 115 is connected to the display device 119 and controls display on the display device 119. The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, and reads a program from the recording medium 120 and writes a processing result in the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and another computer.

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。   Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic storage media such as a flexible disk, or CD- An optical storage medium such as ROM (Compact Disk Read Only Memory) can be used.

上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記15)によって表現することができるが、以下の記載に限定されるものではない。   Part or all of the above-described embodiment can be expressed by (Appendix 1) to (Appendix 15) described below, but is not limited to the following description.

(付記1)
コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、モジュール挿入部を、
備えていることを特徴とする情報処理装置。
(Appendix 1)
A module insertion unit configured to insert a data amount adjustment module configured to adjust a data amount of the message in the data path into a data path, which is constructed in a computer and transmits / receives a message between the process and the driver; ,
An information processing apparatus comprising the information processing apparatus.

(付記2)
前記データ量調整モジュールが、設定されたデータ量となるまで前記メッセージを溜めることによって、前記データ経路を流れる前記メッセージのデータ量を調整する、付記1に記載の情報処理装置。
(Appendix 2)
The information processing apparatus according to appendix 1, wherein the data amount adjustment module adjusts the data amount of the message flowing through the data path by accumulating the messages until a set data amount is reached.

(付記3)
前記データ経路が、前記プロセスからの呼び出しの窓口となる第1のモジュールと、前記プロセスに応じた処理を実行する第2のモジュールと、前記ドライバとを備え、更に、前記第1のモジュール、前記第2のモジュール、及び前記ドライバ、それぞれが、更に、書込み用のキュー及び読み出し用のキューを備えている場合において、
前記データ量調整モジュールが、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューを備え、且つ、前記対応するキューそれぞれによって、設定されたデータ量となるまで前記メッセージを溜める、
付記2に記載の情報処理装置。
(Appendix 3)
The data path includes a first module that serves as a call window from the process, a second module that executes processing according to the process, and the driver, and further includes the first module, In the case where each of the second module and the driver further includes a write queue and a read queue,
The data amount adjustment module includes a queue corresponding to the write queue and a queue corresponding to the read queue, and stores the message until a set data amount is reached by each of the corresponding queues. ,
The information processing apparatus according to attachment 2.

(付記4)
前記モジュール挿入部が、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューそれぞれのハイウォータ値及びローウォータ値を設定することによって、前記データ量を設定する、付記2または3に記載の情報処理装置。
(Appendix 4)
The module insertion unit sets the amount of data by setting a high water value and a low water value for each of the queue corresponding to the write queue and the queue corresponding to the read queue, 3. The information processing apparatus according to 3.

(付記5)
前記モジュール挿入部が、前記データ経路に、複数の前記データ量調整モジュールを挿入する、付記1〜4のいずれかに記載の情報処理装置。
(Appendix 5)
The information processing apparatus according to any one of appendices 1 to 4, wherein the module insertion unit inserts a plurality of the data amount adjustment modules into the data path.

(付記6)
コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、ステップを、
有することを特徴とする情報処理方法。
(Appendix 6)
Inserting a data amount adjustment module for adjusting a data amount of the message in the data path into a data path, which is constructed in a computer and transmits / receives a message between a process and a driver;
An information processing method comprising:

(付記7)
前記データ量調整モジュールが、設定されたデータ量となるまで前記メッセージを溜めることによって、前記データ経路を流れる前記メッセージのデータ量を調整する、付記6に記載の情報処理方法。
(Appendix 7)
The information processing method according to appendix 6, wherein the data amount adjustment module adjusts the data amount of the message flowing through the data path by accumulating the messages until the set data amount is reached.

(付記8)
前記データ経路が、前記プロセスからの呼び出しの窓口となる第1のモジュールと、前記プロセスに応じた処理を実行する第2のモジュールと、前記ドライバとを備え、更に、前記第1のモジュール、前記第2のモジュール、及び前記ドライバ、それぞれが、更に、書込み用のキュー及び読み出し用のキューを備えている場合において、
前記データ量調整モジュールが、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューを備え、且つ、前記対応するキューそれぞれによって、設定されたデータ量となるまで前記メッセージを溜める、
付記7に記載の情報処理方法。
(Appendix 8)
The data path includes a first module that serves as a call window from the process, a second module that executes processing according to the process, and the driver, and further includes the first module, In the case where each of the second module and the driver further includes a write queue and a read queue,
The data amount adjustment module includes a queue corresponding to the write queue and a queue corresponding to the read queue, and stores the message until a set data amount is reached by each of the corresponding queues. ,
The information processing method according to attachment 7.

(付記9)
前記モジュール挿入部が、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューそれぞれのハイウォータ値及びローウォータ値を設定することによって、前記データ量を設定する、付記7または8に記載の情報処理方法。
(Appendix 9)
The module insertion unit sets the data amount by setting a high water value and a low water value of a queue corresponding to the queue for writing and a queue corresponding to the queue for reading, respectively, 9. The information processing method according to 8.

(付記10)
前記ステップにおいて、前記データ経路に、複数の前記データ量調整モジュールを挿入する、付記6〜9のいずれかに記載の情報処理方法。
(Appendix 10)
The information processing method according to any one of appendices 6 to 9, wherein in the step, a plurality of the data amount adjustment modules are inserted into the data path.

(付記11)
コンピュータによって、
前記コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、ステップを、
実行させるプログラム。
(Appendix 11)
By computer
Inserting a data amount adjustment module for adjusting a data amount of the message in the data path into a data path, which is constructed in the computer and transmits / receives a message between a process and a driver;
The program to be executed.

(付記12)
前記データ量調整モジュールが、設定されたデータ量となるまで前記メッセージを溜めることによって、前記データ経路を流れる前記メッセージのデータ量を調整する、付記11に記載のプログラム。
(Appendix 12)
The program according to claim 11, wherein the data amount adjustment module adjusts the data amount of the message flowing through the data path by accumulating the messages until a set data amount is reached.

(付記13)
前記データ経路が、前記プロセスからの呼び出しの窓口となる第1のモジュールと、前記プロセスに応じた処理を実行する第2のモジュールと、前記ドライバとを備え、更に、前記第1のモジュール、前記第2のモジュール、及び前記ドライバ、それぞれが、更に、書込み用のキュー及び読み出し用のキューを備えている場合において、
前記データ量調整モジュールが、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューを備え、且つ、前記対応するキューそれぞれによって、設定されたデータ量となるまで前記メッセージを溜める、
付記12に記載のプログラム。
(Appendix 13)
The data path includes a first module that serves as a call window from the process, a second module that executes processing according to the process, and the driver, and further includes the first module, In the case where each of the second module and the driver further includes a write queue and a read queue,
The data amount adjustment module includes a queue corresponding to the write queue and a queue corresponding to the read queue, and stores the message until a set data amount is reached by each of the corresponding queues. ,
The program according to attachment 12.

(付記14)
前記モジュール挿入部が、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューそれぞれのハイウォータ値及びローウォータ値を設定することによって、前記データ量を設定する、付記12または13に記載のプログラム。
(Appendix 14)
The module insertion unit sets the data amount by setting a high water value and a low water value of a queue corresponding to the queue for writing and a queue corresponding to the queue for reading, respectively, 13. The program according to 13.

(付記15)
前記ステップにおいて、前記データ経路に、複数の前記データ量調整モジュールを挿入する、付記11〜14のいずれかに記載のプログラム。
(Appendix 15)
The program according to any one of appendices 11 to 14, wherein, in the step, a plurality of the data amount adjustment modules are inserted into the data path.

以上のように、本発明によれば、STREAMS機構を実装しているコンピュータにおいて、フロー制御状態を緩和できる。本発明は、特に、OSの機能としてストリームを提供するUNIXが導入されているコンピュータに有用である。   As described above, according to the present invention, the flow control state can be relaxed in the computer in which the STREAMS mechanism is mounted. The present invention is particularly useful for a computer in which UNIX that provides a stream as an OS function is installed.

10 情報処理装置
11 モジュール挿入部
20 データ経路(ストリーム)
21 ストリームヘッド
22 処理モジュール
23 ドライバ
24 メッセージ
30 オペレーティングシステム(OS)
40 アプリケーションプログラム
41 プロセス
50 コンピュータ
60 端末
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
10 Information processing device 11 Module insertion unit 20 Data path (stream)
21 Stream Head 22 Processing Module 23 Driver 24 Message 30 Operating System (OS)
40 Application Program 41 Process 50 Computer 60 Terminal 110 Computer 111 CPU
112 Main Memory 113 Storage Device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Device 119 Display Device 120 Recording Medium 121 Bus

Claims (7)

コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、モジュール挿入部を、
備えていることを特徴とする情報処理装置。
A module insertion unit configured to insert a data amount adjustment module configured to adjust a data amount of the message in the data path into a data path, which is constructed in a computer and transmits / receives a message between the process and the driver; ,
An information processing apparatus comprising the information processing apparatus.
前記データ量調整モジュールが、設定されたデータ量となるまで前記メッセージを溜めることによって、前記データ経路を流れる前記メッセージのデータ量を調整する、請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the data amount adjustment module adjusts the data amount of the message flowing through the data path by accumulating the messages until a set data amount is reached. 前記データ経路が、前記プロセスからの呼び出しの窓口となる第1のモジュールと、前記プロセスに応じた処理を実行する第2のモジュールと、前記ドライバとを備え、更に、前記第1のモジュール、前記第2のモジュール、及び前記ドライバ、それぞれが、更に、書込み用のキュー及び読み出し用のキューを備えている場合において、
前記データ量調整モジュールが、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューを備え、且つ、前記対応するキューそれぞれによって、設定されたデータ量となるまで前記メッセージを溜める、
請求項2に記載の情報処理装置。
The data path includes a first module that serves as a call window from the process, a second module that executes processing according to the process, and the driver, and further includes the first module, In the case where each of the second module and the driver further includes a write queue and a read queue,
The data amount adjustment module includes a queue corresponding to the write queue and a queue corresponding to the read queue, and stores the message until a set data amount is reached by each of the corresponding queues. ,
The information processing apparatus according to claim 2.
前記モジュール挿入部が、前記書込み用のキューに対応するキュー及び前記読み出し用のキューに対応するキューそれぞれのハイウォータ値及びローウォータ値を設定することによって、前記データ量を設定する、請求項2または3に記載の情報処理装置。   3. The module insertion unit sets the data amount by setting a high water value and a low water value of a queue corresponding to the write queue and a queue corresponding to the read queue, respectively. Or the information processing apparatus of 3. 前記モジュール挿入部が、前記データ経路に、複数の前記データ量調整モジュールを挿入する、請求項1〜4のいずれかに記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the module insertion unit inserts a plurality of the data amount adjustment modules into the data path. コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、ステップを、
有することを特徴とする情報処理方法。
Inserting a data amount adjustment module for adjusting a data amount of the message in the data path into a data path, which is constructed in a computer and transmits / receives a message between a process and a driver;
An information processing method comprising:
コンピュータによって、
前記コンピュータに構築され、且つ、プロセスとドライバとの間でメッセージを送受信する、データ経路に対して、前記データ経路での前記メッセージのデータ量を調整するデータ量調整モジュールを挿入する、ステップを、
実行させるプログラム。
By computer
Inserting a data amount adjustment module for adjusting a data amount of the message in the data path into a data path, which is constructed in the computer and transmits / receives a message between a process and a driver;
The program to be executed.
JP2012019821A 2012-02-01 2012-02-01 Information processing apparatus, information processing method, and program Active JP5867120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012019821A JP5867120B2 (en) 2012-02-01 2012-02-01 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012019821A JP5867120B2 (en) 2012-02-01 2012-02-01 Information processing apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2013161108A true JP2013161108A (en) 2013-08-19
JP5867120B2 JP5867120B2 (en) 2016-02-24

Family

ID=49173339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012019821A Active JP5867120B2 (en) 2012-02-01 2012-02-01 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5867120B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218844A (en) * 1995-10-19 1997-08-19 Hewlett Packard Co <Hp> Data structure having dynamic function replacement
US20110179252A1 (en) * 2010-01-21 2011-07-21 Qst Holdings, Llc method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218844A (en) * 1995-10-19 1997-08-19 Hewlett Packard Co <Hp> Data structure having dynamic function replacement
US20110179252A1 (en) * 2010-01-21 2011-07-21 Qst Holdings, Llc method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations

Also Published As

Publication number Publication date
JP5867120B2 (en) 2016-02-24

Similar Documents

Publication Publication Date Title
US9215174B2 (en) Oversubscription buffer management
CN110419034B (en) Data access method and device
CN109558344B (en) DMA transmission method and DMA controller suitable for network transmission
KR20160049200A (en) Method for operating data storage device, mobile computing device having the same, and method of the mobile computing device
EP3028163A1 (en) A method, apparatus and system for performing management component transport protocol (mctp) communications with a universal serial bus (usb) device
US8429348B2 (en) Method and mechanism for delaying writing updates to a data cache
US10127182B2 (en) Image forming system executing application occupation of an application and using BiDi schema
US7584307B2 (en) Direct memory access DMA with positional information and delay time
US20180081852A1 (en) Optimizing remote direct memory access (rdma) with cache aligned operations
WO2017210015A1 (en) Improving throughput in openfabrics environments
US9557945B2 (en) Information processing system, print system, server apparatus, and method for controlling information processing system
CN104486442A (en) Method and device for transmitting data of distributed storage system
JP5867120B2 (en) Information processing apparatus, information processing method, and program
US10095640B2 (en) Multi mode address spaces for PC to device transfer optimization
US9582227B2 (en) Printer control apparatus, printing control method, and printing control system for transmitting a reception request signal and adjusting a transmission interval of a transmission request signal
KR20110134465A (en) Data transmission system and data read method thereof
CN111857546A (en) Method, network adapter and computer program product for processing data
US9304957B2 (en) Image processing method, image processing apparatus, and control program
JP2022121525A (en) Processing apparatus, processing method and program
JP2009070012A (en) Information processor, information processing method, and data transfer unit
JP2015094976A (en) Information processing apparatus, information processing method, and program
CN113377277A (en) Method, apparatus and computer program product for managing memory
US20120166606A1 (en) Distributed file operation apparatus, distributed file operation method, and non-transitory computer-readable medium storing distributed file operation program
US20200139735A1 (en) Controlling printing press speed based on speed control requests
US9146700B2 (en) Information processing system having image forming apparatus capable of controlling print data obtainment timing, control method therefor, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150108

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20150123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151009

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: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5867120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150