JP2000259437A - ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム - Google Patents

ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム

Info

Publication number
JP2000259437A
JP2000259437A JP11063034A JP6303499A JP2000259437A JP 2000259437 A JP2000259437 A JP 2000259437A JP 11063034 A JP11063034 A JP 11063034A JP 6303499 A JP6303499 A JP 6303499A JP 2000259437 A JP2000259437 A JP 2000259437A
Authority
JP
Japan
Prior art keywords
data
operating system
data transfer
pipe
socket
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11063034A
Other languages
English (en)
Inventor
Toshio Hirotsu
登志夫 廣津
Toshiharu Sugawara
俊治 菅原
Toshihiro Takada
敏弘 高田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP11063034A priority Critical patent/JP2000259437A/ja
Publication of JP2000259437A publication Critical patent/JP2000259437A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 データ転送効率を向上させる。 【解決手段】 アプリケーションプログラム2は、オペ
レーティングシステム1に対して、データ転送元とデー
タ転送先と転送すべきデータ量を指定する。この指定は
システムコールを利用して行われる。オペレーティング
システム1は、データ転送元のハードウェアからシステ
ムバッファ5にデータを読み出す。オペレーティングシ
ステム1は、データ転送先にソフトウェアカットスルー
が設定されている場合、バッファ5のデータをデータ転
送先のハードウェアに書き込む。これにより、ソフトウ
ェアカットスルー転送が行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークで接
続された複数のコンピュータからなるシステム、インタ
ーネットに接続されたコンピュータシステム、あるいは
単一のコンピュータからなるシステムにおけるオペレー
ティングシステムに関するものである。
【0002】
【従来の技術】単一のコンピュータ内若しくはネットワ
ークで接続された他のコンピュータに対して、コンピュ
ータ中のファイル等の資源に保持されている情報を転送
し提供するサーバと、提供される資源を受け取るクライ
アント間の通信により情報交換を行うクライアント・サ
ーバ技術が広く使われている。例えば、WWW(WorldW
ide Web)サーバやFTP(File Transfer Protocol)
サーバはその代表的な例である。図6は、単一のコンピ
ュータ内におけるクライアント・サーバシステムの構成
を示し、図7はネットワークで接続されたコンピュータ
間におけるクライアント・サーバ・システムの構成を示
している。図6、図7において、11はオペレーティン
グシステム、12はアプリケーションプログラム、21
はサーバ、22はクライアントである。
【0003】また、単一のコンピュータ若しくはネット
ワークで接続された複数のコンピュータ、あるいはイン
ターネットに接続されたコンピュータによるシステムで
は、アプリケーションゲートウェイと呼ばれる、アプリ
ケーションによるデータの中継・転送技術が広く使われ
ている。例えば、WWWのキャッシュサーバやFTPの
プロキシサーバは、その代表的な例である。図8は、ア
プリケーションゲートウェイの構成を示すブロック図で
ある。図8において、23はアプリケーションゲートウ
ェイである。アプリケーションゲートウェイ23は、ク
ライアント22からの要求を受けて、要求されたデータ
の最新のものを保持していない場合には、その要求先で
あるサーバ21に要求を転送し、サーバ21からデータ
を読み出し、読み出したデータをアプリケーションゲー
トウェイ23自身が蓄積すると同時にクライアント22
に渡す。
【0004】このようなサーバ21、アプリケーション
ゲートウェイ23、クライアント22などは、図9に示
すコンピュータシステムの基本ソフトウェア(オペレー
ティングシステム11)上で稼働するアプリケーション
として実現されている。UNIXを代表とするオペレー
ティングシステムでは、コンピュータ上のディスク若し
くはメモリ等のハードウェア16に保持されているデー
タは、ファイル13−1,13−2と呼ばれる入出力の
出入口で抽象化されており、単一のコンピュータ内の通
信やネットワークを介した他のコンピュータとの通信
は、ソケット若しくはパイプ14−1,14−2と呼ば
れる入出力の出入口で抽象化されている。このファイル
13−1,13−2、ソケット若しくはパイプ14−
1,14−2に対する入出力は、それらの表すコンピュ
ータ上のハードウェア、あるいはネットワークで接続さ
れた他のコンピュータのハードウェアヘの入出力とな
る。
【0005】アプリケーションプログラム12は、これ
らのファイル13−1(13−2)、ソケット若しくは
パイプ14−1(14−2)からデータを読み出し、こ
のデータを他のファイル13−1(13−2)、ソケッ
ト若しくはパイプ14−1(14−2)に書き込むこと
で、同一のコンピュータ上、あるいはネットワークで接
続された他のコンピュータとの間での情報交換を実現し
ている。ここで、ファイル13−1(13−2)やソケ
ット若しくはパイプ14−1(14−2)を通じたオペ
レーティングシステム11によるハードウェアとアプリ
ケーションプログラム12のデータの受渡しは、システ
ムバッファ15を介して行われる。
【0006】次に、アプリケーションプログラム12と
オペレーティングシステム11の両方の動作を考慮に入
れて、サーバ21、アプリケーションゲートウェイ23
及びクライアント22の処理を説明する。図10は、ア
プリケーションプログラム12とオペレーティングシス
テム11の処理を説明するためのフローチャート図であ
る。サーバ21の処理は、ファイル13−1(13−
2)からデータを読むことにより、コンピュータ上のハ
ードウェアに保持された情報やハードウェアから入力さ
れた情報を読み出し、そのデータをソケット若しくはパ
イプ14−1(14−2)に書き込むことにより、同一
のコンピュータ内もしくは他のコンピュータに情報を送
ることである。この際の挙動は、次のようになる。
【0007】サーバ21のアプリケーションプログラム
12は、ファイル13−2やソケット若しくはパイプ1
4−2を獲得し、入出力の準備をする(ステップ10
1)。ここで、オペレーティングシステム11に処理が
移り(ステップ103)、オペレーティングシステム1
1は、データ転送元のハードウェア(ファイル13−1
で表されるディスク若しくはメモリ等のハードウェア1
6、あるいはソケット若しくはパイプ14−1で表され
るネットワークハードウェア17)の読み出し準備がで
きたならば(ステップ111,112において共にYE
S)、このデータ転送元のハードウェアからシステムバ
ッファ15にデータを読み出す(ステップ113)。
【0008】次いで、ファイルの入力を待っているアプ
リケーションプログラム12に処理が移り(ステップ1
15)、アプリケーションプログラム12は、実行され
る順番を待つ(ステップ105)。実行される順番にな
ると、アプリケーションプログラム12は、システムバ
ッファ15からデータを読み出す(ステップ106)。
すなわち、この処理がファイル13−2(13−1)か
らデータを読む行為となる。
【0009】続いて、アプリケーションプログラム12
は、読み出したデータをシステムバッファ15の他の領
域に書き込む(ステップ107)。つまり、この処理が
データをソケット若しくはパイプ14−2(14−1)
に書き込む行為となる。そして、オペレーティングシス
テム11に処理が移り(ステップ108)、オペレーテ
ィングシステム11は、データ転送先のハードウェア
(ファイル13−1で表されるディスク若しくはメモリ
等のハードウェア16、あるいはソケット若しくはパイ
プ14−1で表されるネットワークハードウェア17)
の書き込み準備ができたならば(ステップ111におい
てNO、ステップ116においてYES)、システムバ
ッファ15のデータをデータ転送先のハードウェアに書
き込む(ステップ117)。
【0010】こうして、サーバ21からアプリケーショ
ンゲートウェイ23へのデータ転送が終了する。アプリ
ケーションゲートウェイ23の処理も、サーバ21の処
理と同様で、ソケット若しくはパイプ14−1(14−
2)からデータを読むことにより、同一のコンピュータ
内または他のコンピュータに保持される情報を読み込
み、必要に応じてデータに変更を加えた後、そのデータ
を他のソケット若しくはパイプ14−1(14−2))
に書き込むことにより、同一のコンピュータ内若しくは
他のコンピュータに情報を伝達する。この際の挙動は、
次のようになる。
【0011】アプリケーションゲートウェイ23のアプ
リケーションプログラム12は、ソケット若しくはパイ
プ14−2を獲得し、入出力の準備をする(ステップ1
01)。ここで、オペレーティングシステム11に処理
が移り(ステップ103)、オペレーティングシステム
11は、データ転送元のハードウェア(ソケット若しく
はパイプ14−1で表されるネットワークハードウェア
17等)の読み出し準備ができたならば、このデータ転
送元のハードウェアからシステムバッファ15にデータ
を読み出す(ステップ113)。
【0012】次いで、ファイルの入力を待っているアプ
リケーションプログラム12に処理が移り(ステップ1
15)、アプリケーションプログラム12は、実行され
る順番を待つ(ステップ105)。実行される順番にな
ると、アプリケーションプログラム12は、システムバ
ッファ15からデータを読み出す(ステップ106)。
続いて、アプリケーションプログラム12は、読み出し
たデータをシステムバッファ15の他の領域に書き込む
(ステップ107)。
【0013】そして、オペレーティングシステム11に
処理が移り(ステップ108)、オペレーティングシス
テム11は、データ転送先のハードウェア(ソケット若
しくはパイプ14−1で表されるネットワークハードウ
ェア17等)の書き込み準備ができたならば、システム
バッファ15のデータをデータ転送先のハードウェアに
書き込む(ステップ117)。こうして、アプリケーシ
ョンゲートウェイ23からクライアント22へのデータ
転送が終了する。
【0014】クライアント22の処理も他と同様で、ソ
ケット若しくはパイプ14−1(14−2)からデータ
を読むことにより、同一のコンピュータ内または他のコ
ンピュータに保持されるデータを読み込み、そのデータ
をファイル13−1(13−2))に書き込むことによ
りコンピュータ内のハードウェアで情報を表示したり、
ハードウェアに情報を蓄積したりする。この際の挙動
は、次のようになる。
【0015】クライアント22のアプリケーションプロ
グラム12は、ソケット若しくはパイプ14−2を獲得
し、入出力の準備をする(ステップ101)。ここで、
オペレーティングシステム11に処理が移り(ステップ
103)、オペレーティングシステム11は、データ転
送元のハードウェア(ネットワークハードウェア17
等)の読み出し準備ができたならば、このデータ転送元
のハードウェアからシステムバッファ15にデータを読
み出す(ステップ113)。
【0016】次いで、ファイルの入力を待っているアプ
リケーションプログラム12に処理が移り(ステップ1
15)、アプリケーションプログラム12は、実行され
る順番を待つ(ステップ105)。実行される順番にな
ると、アプリケーションプログラム12は、システムバ
ッファ15からデータを読み出す(ステップ106)。
続いて、アプリケーションプログラム12は、読み出し
たデータをシステムバッファ15の他の領域に書き込む
(ステップ107)。
【0017】そして、オペレーティングシステム11に
処理が移り(ステップ108)、オペレーティングシス
テム11は、データ転送先のハードウェア(ファイル1
3−1で表されるディスク若しくはメモリ等のハードウ
ェア16、あるいはソケット若しくはパイプ14−1で
表されるネットワークハードウェア17)の書き込み準
備ができたならば、システムバッファ15のデータをデ
ータ転送先のハードウェアに書き込む(ステップ11
7)。
【0018】以上のサーバ21、アプリケーションゲー
トウェイ23、クライアント22のいずれの場合におい
ても、ステップ113でオペレーティングシステム11
がデータを読み込んだ後、アプリケーションプログラム
12が実行される順番が来るまでの間(ステップ10
5)、データがシステムバッファ15で待たされること
になる(これを、オペレーティングシステム11とアプ
リケーションプログラム12の同期、以下、単に同期と
呼ぶ)。多数のアプリケーションプログラム12が稼働
していたり、ネットワーク等のハードウェアから多数の
データ入力が生じた場合には、この同期のための時間が
長くなり、サーバ21、アプリケーションゲートウェイ
23及びクライアント22のデータ転送効率が低くなる
状況を引き起こしていた。
【0019】
【発明が解決しようとする課題】ファイル、ソケット若
しくはパイプという表現を通じてディスクやネットワー
ク等のハードウェアをアクセスすることは、UNIXを
代表とするオペレーティングシステムの基本的な枠組で
あり、アプリケーションプログラムによる多様かつ柔軟
なサービスの実現が可能になっている点は重要である。
しかし、従来のコンピュータシステムでは、データの入
出力や転送を全てアプリケーションプログラムで処理し
なければならないために、オペレーティングシステムと
アプリケーションプログラムとの間での処理の同期が不
可避で、処理効率が低下するという問題点があった。本
発明は、上記課題を解決するためになされたもので、ア
プリケーションプログラムから設定可能で、かつ転送効
率を向上させることができるソフトウェアカットスルー
方法、ソフトウェアカットスルー機能を備えたオペレー
ティングシステムを記録した記録媒体及びコンピュータ
システムを提供することを目的としている。
【0020】
【課題を解決するための手段】本発明のソフトウェアカ
ットスルー方法は、ファイル間のデータ転送、ソケット
若しくはパイプ間のデータ転送、またはファイルとソケ
ット若しくはパイプとの間のデータ転送を、オペレーテ
ィングシステムカーネルにおけるデータ複製工程により
行うものである。これにより、ファイル間のデータ転
送、ソケット若しくはパイプ間のデータ転送、またはフ
ァイルとソケット若しくはパイプとの間のデータ転送に
ついて、アプリケーションプログラムの処理を介さな
い、オペレーティングシステム内でのカットスルー転送
の機能を実現することができる。その結果、ファイル、
ソケット若しくはパイプを介して入出力や通信を行うと
いう、従来のオペレーティングシステム上でのアプリケ
ーションプログラムの枠組を変更せずに、サーバ、アプ
リケーションゲイトウェイ及びクライアントといった通
信アプリケーションにおけるデータ転送性能を向上させ
ることができる。
【0021】また、上述のオペレーティングシステムの
1構成例は、システムコールを用いたデータ転送元とデ
ータ転送先の指定に基づいてソフトウェアカットスルー
転送を行うものである。これにより、アプリケーション
プログラムがデータ転送元とデータ転送先を指定するイ
ンタフェイスを提供する。その結果、任意のファイル、
ソケット若しくはパイプ間のソフトウェアカットスルー
転送をアプリケーションプログラムから指定することが
できる。これにより、従来のサーバ、アプリケーション
ゲートウェイ及びクライアントをアプリケーションプロ
グラムにより実現した場合と同様に、柔軟かつ多様なサ
ービスを高効率で提供することができる。また、上述の
オペレーティングシステムの1構成例は、システムコー
ルを用いた転送すべきデータ量の指定に基づいてソフト
ウェアカットスルー転送を行うものである。これによ
り、アプリケーションプログラムが転送すべきデータ量
を指定するインタフェイスを提供する。その結果、任意
のデータ量のソフトウェアカットスルー転送をアプリケ
ーションプログラムから指定することができる。
【0022】また、本発明のオペレーティングシステム
を記録した記録媒体は、ファイル間のデータ転送、ソケ
ット若しくはパイプ間のデータ転送、またはファイルと
ソケット若しくはパイプとの間のデータ転送を、オペレ
ーティングシステムカーネルにおけるデータ複製工程に
より行うソフトウェアカットスルー機能を有するオペレ
ーティングシステムを記録したものである。また、本発
明のコンピュータシステムは、ファイル間のデータ転
送、ソケット若しくはパイプ間のデータ転送、またはフ
ァイルとソケット若しくはパイプとの間のデータ転送
を、オペレーティングシステムカーネルにおけるデータ
複製工程により行うソフトウェアカットスルー機能を有
するオペレーティングシステムを搭載したものである。
【0023】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1、図2、図3
は、本発明の実施の形態となるコンピュータシステムの
構成を示すブロック図である。アプリケーションゲート
ウェイの処理について考えてみると、その処理のほとん
どは、あるファイル、ソケット若しくはパイプから他の
ファイル、ソケット若しくはパイプへのデータのコピー
である。サーバの中には、最初にデータ転送要求を受け
る際に、接続を受け付けるかどうかの検査や、認証情報
のチェック、接続先の判定などの処理を行うものがある
が、いったん接続が確立してしまえば、流れるデータの
中身に関わらずに単にデータを転送する場合が多い。
【0024】つまり、処理のある時点以降若しくはある
時点から特定のデータ長の間は、データをコピーする以
外の処理が介在することはごく稀である。そこで、ファ
イル、ソケットやパイプ間のデータコピーの機能をオペ
レーティングシステムの内部機能として実現すること
で、オペレーティングシステムとアプリケーションとの
間あるいはアプリケーション間の同期コストを抑えるこ
とができると考えられる。また、データのコピー後に、
再びアプリケーション側で処理をしたい場合に対応する
ために、オペレーティングシステムにコピーを任せる際
に、データ長を指定できるようにしておくことが必要で
ある。
【0025】このファイル、ソケット若しくはパイプ間
をつなくコピー機能のことをカットスルー転送と呼ぶ。
カットスルー転送は、ある特定の対象間の通信を、プロ
トコル処理を介さないハードウェアの転送処理に対応さ
せて、通信性能を向上する技術である。例えば、複数の
ATM(Asynchronous Transfer Mode)のインタフェイ
スをもったルータで、特定のIPアドレス間の通信をA
TMのコネクションに対応付けて、近傍のルータが対象
となっているIPアドレス間の通信をそのATMコネク
ションを使って転送することで、そのルータでのルーテ
ィング処理を省く機構として実現されている。
【0026】本発明では、アプリケーション層に見える
複数のファイル、ソケット若しくはパイプを下位層であ
るオペレーティングシステム内部で直結するイメージか
ら、ソフトウェアカットスルーと呼んでいる。以下、こ
のソフトウェアカットスルーについて、図1〜図3を参
照して説明する。なお、図1〜図3は、コンピュータシ
ステムの論理的な構成を示したものである。コンピュー
タにおいて、オペレーティングシステムやアプリケーシ
ョンプログラム等のソフトウェアを実行するのはCPU
であるが、ここでは不図示としている。
【0027】図1〜図3において、1はオペレーティン
グシステム、2はアプリケーションプログラム、3−1
はオペレーティングシステム1においてディスク若しく
はメモリ等のハードウェアとの入出力の出入口となるフ
ァイル、3−2はアプリケーションプログラム2におい
てディスク若しくはメモリ等のハードウェアとの入出力
の出入口となるファイル、4−1はオペレーティングシ
ステム1において単一のコンピュータ内の通信あるいは
ネットワークを介した他のコンピュータとの通信の出入
口となるソケット若しくはパイプ、4−2はアプリケー
ションプログラム2において単一のコンピュータ内の通
信あるいはネットワークを介した他のコンピュータとの
通信の出入口となるソケット若しくはパイプ、5はシス
テムバッファ、6はディスク若しくはメモリ等のハード
ウェア、7はネットワークハードウェア、8は通信路で
ある。
【0028】図1は、オペレーティングシステム1内に
おけるファイル3−1とソケット若しくはパイプ4−1
との間の直接データ転送、すなわちソフトウェアカット
スルーについて示している。図1に示すコンピュータシ
ステムでは、アプリケーションプログラム2がデータの
入出力や通信のために獲得したファイル3−2やソケッ
ト若しくはパイプ4−2について、アプリケーションプ
ログラム2へのデータの受け渡しを行わずに、オペレー
ティングシステム1がファイル3−1からシステムバッ
ファ5に受け取ったデータをソケット若しくはパイプ4
−1に直接渡したり、その逆にソケット若しくはパイプ
4−1からシステムバッファ5に受け取ったデータをフ
ァイル3−1に直接渡したりしている。
【0029】図2は、オペレーティングシステム1内に
おける一組のソケット若しくはパイプ4−1間のソフト
ウェアカットスルーについて示している。図2に示すコ
ンピュータシステムでは、アプリケーションプログラム
2がデータの中継のために獲得したソケット若しくはパ
イプ4−2について、アプリケーションプログラム2へ
のデータの受け渡しを行わずに、オペレーティングシス
テム1がソケット若しくはパイプ4−1からシステムバ
ッファ5に受け取ったデータを他のソケット若しくはパ
イプ4−1に直接渡している。
【0030】図3は、オペレーティングシステム1内に
おいて1つのファイル3−1、ソケット若しくはパイプ
4−1からのデータを複数のファイル3−1、ソケット
若しくはパイプ4−1に送るソフトウェアカットスルー
について示している。図3に示すコンピュータシステム
では、1つのファイル3−1、ソケット若しくはパイプ
4−1からシステムバッファ5に受け取ったデータを他
の複数のファイル3−1、ソケット若しくはパイプ4−
1に直接渡している。この場合、カットスルー転送は単
方向で、図3の例では、左側のソケット若しくはパイプ
4−1から右側のソケット若しくはパイプ4−1とファ
イル3−1へと向かう転送となる。
【0031】図4は、アプリケーションプログラム2と
オペレーティングシステム1の処理を説明するためのフ
ローチャート図である。まず、アプリケーションプログ
ラム2は、データの入出力や通信のためにファイル3−
2やソケット若しくはパイプ4−2を獲得し、入出力の
準備をする(ステップ101)。
【0032】続いて、アプリケーションプログラム2
は、オペレーティングシステム1に対して、データ転送
元となるファイル3−2(3−1)やソケット若しくは
パイプ4−2(4−1)を指定すると共に、データ転送
先となるファイル3−2(3−1)やソケット若しくは
パイプ4−2(4−1)を指定し、さらに転送すべきデ
ータ量を指定する(ステップ102)。これらの指定
は、オペレーティングシステム1のシステムコールを利
用して行われる。そして、オペレーティングシステム1
は、これらの情報を内部に保持しておく。
【0033】ここで、オペレーティングシステム1に処
理が移り(ステップ103)、オペレーティングシステ
ム1は、データ転送元のハードウェア(ファイル3−1
で表されるディスク若しくはメモリ等のハードウェア
6、あるいはソケット若しくはパイプ4−1で表される
ネットワークハードウェア7)の読み出し準備ができた
ならば(ステップ111,112において共にYE
S)、このデータ転送元のハードウェアからシステムバ
ッファ5にデータを読み出す(ステップ113)。
【0034】次に、オペレーティングシステム1は、読
み込んだデータを渡すデータ転送先にソフトウェアカッ
トスルーが設定されているかどうかを調べ(ステップ1
14)、ソフトウェアカットスルーが設定されていない
場合には、アプリケーションプログラム2に処理を移す
(ステップ115)。以降の処理は、図で説明した処理
と同じである。
【0035】また、オペレーティングシステム1は、ソ
フトウェアカットスルーが設定されている場合(ステッ
プ114においてYES)、データ転送先のハードウェ
ア(ファイル3−1で表されるディスク若しくはメモリ
等のハードウェア6、あるいはソケット若しくはパイプ
4−1で表されるネットワークハードウェア7)の書き
込み準備ができたならば(ステップ111においてN
O、ステップ116においてYES)、システムバッフ
ァ5のデータをデータ転送先のハードウェアに書き込む
(ステップ117)。
【0036】こうして、データ転送元からデータ転送先
へのソフトウェアカットスルーが行われる。図5は、本
発明のソフトウェアカットスルー方法による転送レート
を示す図である。図5において、「フォーク」及び「セ
レクト」は、従来のオペレーティングシステムを意味し
ている。「フォーク」は、要求を受ける度にプロセス等
のコンテキストを生成し、要求の待ち受けと各々の接続
の処理毎に別のコンテキストで処理するアプリケーショ
ンゲートウェイの実装モデル(FORK model)であり、
「セレクト」は、要求の待ち受けも含めて全ての入出力
を多重化し、一つのコンテキストで各々の接続を処理す
る実装モデル(SELECT model)である。
【0037】なお、図5に示す転送レートは、いずれも
単一のコンピュータ内で試験した結果である。図5に示
すとおり、本発明のソフトウェアカットスルー方法によ
れば、高効率のデータ転送が可能になる。
【0038】以上、本発明を実施の形態に基づき具体的
に説明したが、本発明は、前記実施の形態に限定される
ものではなく、その要旨を逸脱しない範囲において種々
変更可能であることは勿論である。例えば、本発明は、
ネットワークで接続された複数のコンピュータからなる
システム、インターネットに接続されたコンピュータシ
ステムあるいは単一のコンピュータからなるシステムの
いずれにも適用することが可能である。
【0039】また、上述のオペレーティングシステム1
のプログラムは、フロッピィディスク、CD−ROM、
メモリカード等の記録媒体に記録した状態で提供するこ
とが可能である。この記録媒体をコンピュータの読取装
置(不図示)に挿入すると、媒体に記録されたプログラ
ムが読み取られる。そして、CPU(不図示)は、読み
込んだプログラムをディスク若しくはメモリ等のハード
ウェア6に書き込む。以後、CPUが、このプログラム
を実行することで、上述のようなオペレーティングシス
テム1の処理が行われる。
【0040】
【発明の効果】本発明によれば、ファイル間のデータ転
送、ソケット若しくはパイプ間のデータ転送、またはフ
ァイルとソケット若しくはパイプとの間のデータ転送
を、オペレーティングシステムカーネルにおけるデータ
複製工程により行うことにより、ファイル、ソケット若
しくはパイプ間のデータ転送について、アプリケーショ
ンプログラムの処理を介さない、オペレーティングシス
テム内でのカットスルー転送の機能を実現することがで
きる。その結果、ファイル、ソケット若しくはパイプと
いう表現を通じてディスクやネットワーク等のハードウ
ェアをアクセスするという、UNIXを代表とするオペ
レーティングシステムの基本的な枠組を維持したまま
で、オペレーティングシステムとアプリケーションプロ
グラムの間での処理の同期を減らすことができ、高効率
のデータ転送が可能になる。本発明では、ファイル、ソ
ケット若しくはパイプを使った入出力といった従来のプ
ログラミングの基本的な方法は変わらないので、アプリ
ケーションによる多様かつ柔軟なサービスの実現が可能
という利点は損なわれていない。
【0041】また、アプリケーションプログラムがデー
タ転送元とデータ転送先を指定するインタフェイスであ
るシステムコールを提供することにより、任意のファイ
ル、ソケット若しくはパイプ間のソフトウェアカットス
ルー転送をアプリケーションプログラムから指定するこ
とができる。これにより、従来のサーバ、アプリケーシ
ョンゲートウェイ及びクライアントをアプリケーション
プログラムにより実現した場合と同様に、柔軟かつ多様
なサービスを高効率で提供することができる。
【0042】また、アプリケーションプログラムが転送
すべきデータ量を指定するインタフェイスであるシステ
ムコールを提供することにより、任意のデータ量のソフ
トウェアカットスルー転送をアプリケーションプログラ
ムから指定することができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態となるコンピュータシス
テムの構成を示すブロック図である。
【図2】 本発明の実施の形態となるコンピュータシス
テムの構成を示すブロック図である。
【図3】 本発明の実施の形態となるコンピュータシス
テムの構成を示すブロック図である。
【図4】 本発明の実施の形態におけるアプリケーショ
ンプログラムとオペレーティングシステムの処理を説明
するためのフローチャート図である。
【図5】 本発明のソフトウェアカットスルー方法によ
る転送レートを示す図である。
【図6】 単一のコンピュータ内におけるクライアント
・サーバシステムの構成を示すブロック図である。
【図7】 ネットワークで接続されたコンピュータ間に
おけるクライアント・サーバ・システムの構成を示すブ
ロック図である。
【図8】 アプリケーションゲートウェイの構成を示す
ブロック図である。
【図9】 従来のコンピュータシステムの構成を示すブ
ロック図である。
【図10】 従来のコンピュータシステムにおけるアプ
リケーションプログラムとオペレーティングシステムの
処理を説明するためのフローチャート図である。
【符号の説明】
1…オペレーティングシステム、2…アプリケーション
プログラム、3−1、3−2…ファイル、4−1、4−
2…ソケット若しくはパイプ、5…システムバッファ、
6…ディスク若しくはメモリ等のハードウェア、7…ネ
ットワークハードウェア、8…通信路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高田 敏弘 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 Fターム(参考) 5B089 GB02 HA10 JA22 JA32 KA05 5B098 AA10 GA01 GA02 GC16

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークで接続された複数のコンピ
    ュータからなるシステム、インターネットに接続された
    コンピュータシステムあるいは単一のコンピュータから
    なるシステムにおいて、 ファイル間のデータ転送、ソケット若しくはパイプ間の
    データ転送、またはファイルとソケット若しくはパイプ
    との間のデータ転送を、オペレーティングシステムカー
    ネルにおけるデータ複製工程により行うことを特徴とす
    るソフトウェアカットスルー方法。
  2. 【請求項2】 請求項1記載のソフトウェアカットスル
    ー方法において、 前記オペレーティングシステムは、システムコールを用
    いたデータ転送元とデータ転送先の指定に基づいてソフ
    トウェアカットスルー転送を行うことを特徴とするソフ
    トウェアカットスルー方法。
  3. 【請求項3】 請求項1記載のソフトウェアカットスル
    ー方法において、 前記オペレーティングシステムは、システムコールを用
    いた転送すべきデータ量の指定に基づいてソフトウェア
    カットスルー転送を行うことを特徴とするソフトウェア
    カットスルー方法。
  4. 【請求項4】 ネットワークで接続された複数のコンピ
    ュータからなるシステム、インターネットに接続された
    コンピュータシステム、あるいは単一のコンピュータか
    らなるシステムにおいて使用されるオペレーティングシ
    ステムを記録した記録媒体であって、 ファイル間のデータ転送、ソケット若しくはパイプ間の
    データ転送、またはファイルとソケット若しくはパイプ
    との間のデータ転送を、オペレーティングシステムカー
    ネルにおけるデータ複製工程により行うソフトウェアカ
    ットスルー機能を有するオペレーティングシステムを記
    録した記録媒体。
  5. 【請求項5】 請求項4記載のオペレーティングシステ
    ムを記録した記録媒体において、 前記オペレーティングシステムは、システムコールを用
    いたデータ転送元とデータ転送先の指定に基づいてソフ
    トウェアカットスルー転送を行うことを特徴とするオペ
    レーティングシステムを記録した記録媒体。
  6. 【請求項6】 請求項4記載のオペレーティングシステ
    ムを記録した記録媒体において、 前記オペレーティングシステムは、システムコールを用
    いた転送すべきデータ量の指定に基づいてソフトウェア
    カットスルー転送を行うことを特徴とするオペレーティ
    ングシステムを記録した記録媒体。
  7. 【請求項7】 ネットワークで接続された複数のコンピ
    ュータからなるシステム、インターネットに接続された
    コンピュータシステムあるいは単一のコンピュータから
    なるシステムにおいて、 ファイル間のデータ転送、ソケット若しくはパイプ間の
    データ転送、またはファイルとソケット若しくはパイプ
    との間のデータ転送を、オペレーティングシステムカー
    ネルにおけるデータ複製工程により行うソフトウェアカ
    ットスルー機能を有するオペレーティングシステムを搭
    載したことを特徴とするコンピュータシステム。
  8. 【請求項8】 請求項7記載のコンピュータシステムに
    おいて、 前記オペレーティングシステムは、システムコールを用
    いたデータ転送元とデータ転送先の指定に基づいてソフ
    トウェアカットスルー転送を行うことを特徴とするコン
    ピュータシステム。
  9. 【請求項9】 請求項7記載のコンピュータシステムに
    おいて、 前記オペレーティングシステムは、システムコールを用
    いた転送すべきデータ量の指定に基づいてソフトウェア
    カットスルー転送を行うことを特徴とするコンピュータ
    システム。
JP11063034A 1999-03-10 1999-03-10 ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム Pending JP2000259437A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11063034A JP2000259437A (ja) 1999-03-10 1999-03-10 ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11063034A JP2000259437A (ja) 1999-03-10 1999-03-10 ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム

Publications (1)

Publication Number Publication Date
JP2000259437A true JP2000259437A (ja) 2000-09-22

Family

ID=13217652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11063034A Pending JP2000259437A (ja) 1999-03-10 1999-03-10 ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JP2000259437A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981914A (zh) * 2011-09-05 2013-03-20 联想(北京)有限公司 同步方法和电子设备
US9779106B2 (en) 2011-08-15 2017-10-03 Lenovo (Beijing) Co., Ltd. Application management method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779106B2 (en) 2011-08-15 2017-10-03 Lenovo (Beijing) Co., Ltd. Application management method and device
CN102981914A (zh) * 2011-09-05 2013-03-20 联想(北京)有限公司 同步方法和电子设备

Similar Documents

Publication Publication Date Title
US20030145230A1 (en) System for exchanging data utilizing remote direct memory access
US7596634B2 (en) Networked application request servicing offloaded from host
RU2388039C2 (ru) Облегченный протокол ввода/вывода
US6775700B2 (en) System and method for common information model object manager proxy interface and management
US5884313A (en) System and method for efficient remote disk I/O
US20070041383A1 (en) Third party node initiated remote direct memory access
US20020078135A1 (en) Method and apparatus for improving the operation of an application layer proxy
US7103637B2 (en) Network file sharing method and system
US20080133654A1 (en) Network block device using network asynchronous i/o
JPH09231157A (ja) コンピュータに接続されている入力/出力(i/o)デバイスを制御する方法
EP1839162A1 (en) RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY TARGET
US7009967B1 (en) Systems and methods for transmitting data packets
JP5107570B2 (ja) ネットワーク・プロトコル・スタック隔離のためのネットワーク・アーキテクチャ、方法、およびコンピュータ・プログラム
WO2018107433A1 (zh) 信息处理方法和装置
EP1988473B1 (en) A server with a core using a virtual file system and a method for securely redirecting a persistent storage device operation to a middleware infrastructure
US7827194B2 (en) Access to shared disk device on storage area network
JP3628514B2 (ja) 計算機間データ送受信方法
JP2000259437A (ja) ソフトウェアカットスルー方法、オペレーティングシステムを記録した記録媒体及びコンピュータシステム
US7330904B1 (en) Communication of control information and data in client/server systems
CN115361443A (zh) 一种报文处理方法及系统
US6879999B2 (en) Processing of requests for static objects in a network server
JP2006121699A (ja) 第1のデータネットワークから第2のデータネットワークへのデータパケットのカーネルレベルの通過のための方法及び装置
JP3569114B2 (ja) 要求応答型無限長データ通信方法
CN118714106A (zh) 通信方法、计算机设备、存储介质和程序产品
Ballesteros et al. Building a Network File System Protocol for Device Access over High Latency Links

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050531