JPH07219823A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH07219823A
JPH07219823A JP6014208A JP1420894A JPH07219823A JP H07219823 A JPH07219823 A JP H07219823A JP 6014208 A JP6014208 A JP 6014208A JP 1420894 A JP1420894 A JP 1420894A JP H07219823 A JPH07219823 A JP H07219823A
Authority
JP
Japan
Prior art keywords
endian
server
client
file
routine
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
JP6014208A
Other languages
English (en)
Inventor
Hideki Kato
英樹 加藤
Naomichi Nonaka
尚道 野中
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6014208A priority Critical patent/JPH07219823A/ja
Publication of JPH07219823A publication Critical patent/JPH07219823A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【構成】ファイル共有の際に自動的にマシンの機種に応
じたエンディアンでファイルの内容をアクセス可能とす
ることで、複数のバイト文字コードを採用した場合にお
いても、エンディアンを意識することなくテキストファ
イルの共有を行えるファイルシステム。 【効果】本発明では、アーキテクチャの異なるマシン間
で複数バイト文字コードを使用したテキストファイル
を、エンディアンを意識することなく共有することが可
能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に係り、
特に異なるアーキテクチャを持つマシン間での資源共有
に関する。
【0002】
【従来の技術】ネットワークを介して複数のマシンを接
続し、一つのマシンのファイル資源を他のマシンから利
用できるようにすることは広く行われている。このよう
なシステムでは資源を提供するマシンをサーバ、資源を
利用するマシンをクライアントと呼ぶ。
【0003】この際、クライアントンとサーバは同一ア
ーキテクチャのマシンである必要はなく、またクライア
ントが全て同一アーキテクチャである必要もない。異な
ったCPU、異なったOSを有するマシン間でファイル
を共有することはNFS(Network File
System)等で実現され、広く使われている。
【0004】
【発明が解決しようとする課題】上記従来技術では、共
有されるファイルの内容については変更を加えず、全て
のクライアントから同一のデータとしてアクセスされ
る。
【0005】ファイルの内容はバイト(=8ビット)単
位でアクセスされ、マシンのメモリ上に読み込まれて処
理される。
【0006】CPUのアーキテクチャにはエンディアン
という概念が存在する。メモリ上でのデータはバイトを
単位として格納されているが、1バイトでは0から25
5までの数値しか表現できないため、それ以上の範囲を
持つデータを表現する際には複数のバイトを使用してデ
ータを格納することになる。その際データを格納する順
序により最少位桁から並べるリトルエンディアンと、最
大位から並べるビッグエンディアンと呼ぶ2通りの方式
があり、いずれの方式を採用したマシンも製品化されて
いる。
【0007】従来は一文字を1バイトで表現することが
広く行われており、この場合はファイルアクセスの最小
単位と一文字を表すデータ単位が同一であったため、エ
ンディアンが異なるマシン間でファイルを共有しても、
文字データの扱いに困ることはなかった。しかし、一文
字を2バイトで表現する文字コード系を採用した場合、
エンディアンが異なるマシンで作成したテキストファイ
ルを異なるエンディアンのマシンでそのまま読み込むと
文字コードの上位下位バイトの値が入れ替わってしま
い、適切に処理することが出来ない。従ってエンディア
ンの異なるマシン間でテキストファイルを共用する際は
そのファイルがどちらのエンディアンで作成されたかを
憶えておき、ユーザが必要に応じてエンディアンを変換
して利用する必要が生じ、共有が非常に困難になるとい
う問題点がある。
【0008】本発明の目的は、ファイル共有の際にクラ
イアントの機種に応じたエンディアンでファイルの内容
をアクセス可能とすることで、エンディアンを意識する
ことなくテキストファイルの共有を行えるファイルシス
テムを提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に以下の手段を設ける。
【0010】複数の情報処理機器を有する情報処理シス
テムにおいて、上記情報処理システムは、システム内の
他の機器に提供するファイル資源を有する第1の機器
と、上記第1の機器から情報を提供される第2の機器と
を有し、上記第2の機器は上記第1の機器への接続を行
い、第2の機器のエンディアンを判定する第1の手段を
有し、上記第1の機器は上記第2の機器が上記第1の機
器に接続した時に上記第1の手段を実行させその結果を
受け取り登録する第2の手段、上記第2の機器とそのエ
ンディアンの対応の情報を保存する第3の手段、上記第
2の機器からの書き込み要求に従いファイルを上記第1
の機器のエンディアンに統一して格納する第4の手段、
上記第2の機器からの読み出し要求に従い、ファイルを
上記第2の機器のエンディアンに変換して上記第2の機
器に提供する第5の手段、与えられたデータの上位・下
位バイトを入れ替える第6の手段とを有することとした
ものである。
【0011】
【作用】複数の情報処理機器を有する情報処理システム
において、第1の機器は、システム内の他の機器に提供
するファイル資源を有する。
【0012】第2の機器は、上記第1の機器から情報を
提供される。
【0013】上記第1の手段は上記第2の機器のエンデ
ィアンを判定する。
【0014】上記第2の手段は上記第2の機器が上記第
1の機器に接続した時に上記第1の手段を実行させその
結果を受け取り登録する。
【0015】上記第3の手段は上記第2の機器とそのエ
ンディアンの対応の情報を保存する。
【0016】上記第4の手段は上記第2の機器からの書
き込み要求に従いファイルを上記第1の機器のエンディ
アンに統一して格納する。
【0017】上記第5の手段は上記第2の機器からの読
み出し要求に従いファイルを上記第2の機器のエンディ
アンに変換して上記第2の機器に提供する。
【0018】上記第6の手段は与えられたデータの上位
・下位バイトを入れ替える。
【0019】
【実施例】本発明の一実施例を図面を用いて説明する。
【0020】図1は本発明の構成図である。本システム
はネットワークを介して接続されたサーバマシン10と
一台以上のクライアントマシン20、ディスク装置30
により構成される。
【0021】サーバマシン10は、資源を提供するマシ
ンである。
【0022】クライアントマシン20は、資源を利用す
るマシンである。
【0023】エンディアンを判定する手段21は、請求
項1の第1の手段に相当するもので、本実施例では以後
エンディアン判定ルーチンと呼ぶ。
【0024】サーバマシン10とクライアントマシン2
0は同一構成のマシンである必要はなく、また逆に同一
構成であっても何の問題も生じない。
【0025】エンディアンを保存する手段11は、請求
項1の第3の手段に相当し、クライアントとそのエンデ
ィアンの対応を記録するためにサーバの主記憶上にある
表である。以後これを表11と呼ぶ。
【0026】エンディアンを登録する手段12は、請求
項1の第2の手段に相当し、手段21を起動してクライ
アントのエンディアン情報を得、これを表11に登録す
るルーチンである。
【0027】サーバのエンディアンに統一してファイル
を書き込む手段13は、請求項1の第4の手段に相当す
るルーチンである。
【0028】クライアントのエンディアンに変換してフ
ァイルを提供するルーチン14は、請求項1の第5の手
段に相当するルーチンである。
【0029】与えられたデータの上位・下位バイトを入
れ替える手段15は、請求項1の第7の手段に相当する
ルーチンで、以後エンディアン変換ルーチンと呼ぶ。
【0030】ディスク装置30はサーバマシン10に附
属しプログラムやデータを格納する。
【0031】サーバがファイルのエンディアン変換を自
動的に行うには、サーバが各クライアントのエンディア
ンの情報を持っている必要がある。この情報は、サーバ
の主記憶上にある表11に格納される。表11は、図2
に示すように、システム内のマシンとそのエンディアン
の対応を記録するためのものである。これはn行2列の
形をなし、その第1列の属性値はマシンを特定する英数
字列であり、第2列は、そのエンディアンの種別を示す
フィールドである。
【0032】なお、表11は、本発明のシステムの動作
の高速化のため主記憶に常駐するが、サーバの電源が切
れても情報が失われないよう、ディスク装置30上にコ
ピーを置いておくこともできる。
【0033】表11の内容は、あらかじめシステム管理
者が決定しておいても構わない。しかし、クライアント
数が多い場合や、システムを構成するクライアントが比
較的頻繁に変化しうる状況では、管理者が表を管理する
負担は無視できなくなる。そこで本発明では、エンディ
アン判定ルーチン21をあらかじめ各クライアントに置
くことによってサーバに自動的にエンディアン情報を登
録する。このエンディアン判定ルーチンは、各マシン上
で例えばある整数値を2バイトで表したときにその各バ
イトの値がどうなっているかを調べることでエンディア
ンを判定する。このルーチンのアルゴリズムは、「C言
語による最新アルゴリズム事典」(奥村晴彦著、技術評
論社)などの文献によって既に知られているものであ
る。
【0034】クライアントがサーバに接続すると、図1
のエンディアンを登録する手段12のルーチンがサーバ
上で動作する。このルーチンのフローチャートを図3に
示す。まず、接続したクライアントのエンディアンの情
報が表11にあるかどうか調べられる(S11)。情報
がない場合、そのクライアント上のエンディアン判定ル
ーチン21が起動するようクライアントに指示を送る
(S12)。このルーチンの判定結果はサーバに帰さ
れ、これを表11に書き込む(S13)。
【0035】なお、こうしたエンディアンの登録は、ク
ライアントがサーバに接続するときにのみ行えば十分で
あり、クライアントがサーバにファイルアクセス要求を
出す場合には行われない。また、クライアントがサーバ
に接続したときに既にそのクライアントのエンディアン
種別が表11に書かれていた場合も、エンディアンの登
録は行われない。
【0036】クライアントがサーバにファイルの書き込
み要求を行った場合、手段13のルーチンがサーバ上で
動作する。そのフローチャートを図4に示す。まずサー
バとクライアントのエンディアンの種別を表11からそ
れぞれ読み込む(S21)。次にこの両者を比較し(S
22)、もし異なれば、後述するエンディアン変換ルー
チン15を呼び出してファイルのエンディアンを変換す
る(S23)。最後に変換結果がOSに渡され(S2
4)、ディスク装置に格納される。S22でサーバとク
ライアントのエンディアンが同じ場合、エンディアン変
換は行われずにファイルがそのままOSに渡されるた
め、サーバのディスク装置内のファイルはすべてサーバ
のエンディアンに統一されることになる。従来技術では
ファイルをどのエンディアンで作成したか記憶しておく
必要があったが、本発明では、サーバのディスク内のフ
ァイルはすべてサーバと同じエンディアンであるため、
ファイルごとのエンディアン情報を管理する必要はなく
なる。
【0037】図4のS23で呼び出されるエンディアン
変換ルーチン15は、図5に示す手順を実行するもので
ある。一般にファイルはバイト単位でアクセスされる
が、ファイルの第nバイトを起点にmバイト分アクセス
する要求がある場合、この自然数nをアクセスのオフセ
ット、mをカウント数と呼ぶことにして、以下ルーチン
の動作を説明する。ただし、ファイルの先頭のオフセッ
トは0とする。まずファイルアクセス要求のオフセット
が奇数かどうか判定される(S31)。奇数の場合、
(オフセット−1)の値を入力から1バイト読み(S3
2)、これを出力する(S33)。その後オフセットの
値を1増やし、カウント数を1減らす(S34)。
【0038】これでオフセットの値は偶数になるが、オ
フセットが偶数のときはS35以降が実行される。S3
5でカウント数が2以上の場合、入力から2バイト読み
(S36)、その上位・下位バイトを反転する(S3
7)。その結果を出力し(S38)、オフセットを2増
やし、カウント数を2減らし(S39)、S35に戻
る。S35でカウント数が2以上でないとき、カウント
数が1であれば(S40)、(オフセット+1)の値を
入力から1バイト読んで(S41)出力し(S42)、
カウント数が0ならばこのルーチンは終了する。
【0039】このプログラムにより、ファイルのどの部
分をアクセスしても、正しくエンディアンを変換した結
果を得ることができる。
【0040】クライアントがサーバにファイルの読み出
し要求を行った場合、手段17のルーチンがサーバ上で
動作する。このフローチャートを図6に示す。プログラ
ムは、まずサーバとクライアントのエンディアンの種別
を表11からそれぞれ読み込む(S51)。次にこの両
者を比較し(S52)、もし異なれば、前述のエンディ
アン変換ルーチン15を呼び出してファイルのエンディ
アンを変換する(S53)。最後に変換結果が 通信プ
ロトコルに渡され(S54)、クライアントに提供され
る。なお、S52でサーバとクライアントのエンディア
ンが同じ場合、エンディアン変換は行われずにファイル
がそのまま通信プロトコルに渡される。
【0041】以上のように上記実施例においては、サー
バは、クライアントとそのエンディアンを対応づけた表
を主記憶内に持ち、クライアントのアクセス要求時にこ
の表の情報に基づき必要ならエンディアンを変換を行い
クライアントに資源を提供する。またこの表は、あらか
じめクライアントに置いたエンディアン判定ルーチンを
サーバが起動することにより、自動的に作成される。こ
の結果ユーザは、エンディアンの差を意識することなく
サーバのファイルを共有することができる。
【0042】
【発明の効果】以上説明したように、本発明ではエンデ
ィアンの異なるマシン間で2バイト文字コードを使用し
たテキストファイルを共有することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】本発明に関わる表の説明図である。
【図3】本発明に関わる第1のフローチャートである。
【図4】本発明に関わる第2のフローチャートである。
【図5】本発明に関わる第3のフローチャートである。
【図6】本発明に関わる第4のフローチャートである。
【符号の説明】
10…サーバマシン、 11…エンディアン情報を保存する手段、 12…エンディアンを登録する手段、 13…サーバのエンディアンでファイルを書き込む手
段、 14…クライアントのエンディアンでファイルを提供す
る手段、 15…データの上位・下位バイトを入れ替える手段、 20…クライアントマシン、 21…エンディアンを判定する手段、 30…ディスク装置。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の情報処理機器を有する情報処理シス
    テムにおいて、上記情報処理システムは、システム内の
    他の機器に提供するファイル資源を有する第1の機器
    と、上記第1の機器から情報を提供される第2の機器と
    を有し、上記第2の機器は上記第1の機器への接続を行
    い、第2の機器のエンディアンを判定する第1の手段を
    有し、上記第1の機器は上記第2の機器が上記第1の機
    器に接続した時に上記第1の手段を実行させその結果を
    受け取り登録する第2の手段、上記第2の機器とそのエ
    ンディアンの対応の情報を保存する第3の手段、上記第
    2の機器からの書き込み要求に従いファイルを上記第1
    の機器のエンディアンに統一して格納する第4の手段、
    上記第2の機器からの読み出し要求に従い、ファイルを
    上記第2の機器のエンディアンに変換して上記第2の機
    器に提供する第5の手段、与えられたデータの上位・下
    位バイトを入れ替える第6の手段とを有することを特徴
    とした情報処理装置。
JP6014208A 1994-02-08 1994-02-08 情報処理装置 Pending JPH07219823A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6014208A JPH07219823A (ja) 1994-02-08 1994-02-08 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6014208A JPH07219823A (ja) 1994-02-08 1994-02-08 情報処理装置

Publications (1)

Publication Number Publication Date
JPH07219823A true JPH07219823A (ja) 1995-08-18

Family

ID=11854693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6014208A Pending JPH07219823A (ja) 1994-02-08 1994-02-08 情報処理装置

Country Status (1)

Country Link
JP (1) JPH07219823A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316653A (ja) * 1999-02-22 1999-11-16 Hitachi Ltd ディスクサブシステム
WO2000023902A1 (en) * 1998-10-16 2000-04-27 Softbook Press, Inc. Dynamic conversion of byte ordering for use on different processor platforms
JP2015153344A (ja) * 2014-02-19 2015-08-24 日本電信電話株式会社 データ移行システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000023902A1 (en) * 1998-10-16 2000-04-27 Softbook Press, Inc. Dynamic conversion of byte ordering for use on different processor platforms
US6351750B1 (en) 1998-10-16 2002-02-26 Softbook Press, Inc. Dynamic conversion of byte ordering for use on different processor platforms
JPH11316653A (ja) * 1999-02-22 1999-11-16 Hitachi Ltd ディスクサブシステム
JP2015153344A (ja) * 2014-02-19 2015-08-24 日本電信電話株式会社 データ移行システム

Similar Documents

Publication Publication Date Title
EP3113043B1 (en) Method, device and host for updating metadata stored in columns in distributed file system
US7543301B2 (en) Shared queues in shared object space
US8286148B2 (en) System and method for managing long names in an application programming interface
US11050840B2 (en) System and method for utilizing a distributed in-memory data grid to implement typed buffer caching services for a transactional processing environment
JP2010524060A (ja) 分散コンピューティングにおけるデータマージング
US8856365B2 (en) Computer-implemented method, computer system and computer readable medium
WO2020015087A1 (zh) 大规模图片处理方法、系统、计算机设备及计算机存储介质
CN116521181B (zh) 基于游戏系统的脚本数据处理方法、装置、设备及介质
JPH07219823A (ja) 情報処理装置
CN112883088B (zh) 一种数据处理方法、装置、设备及存储介质
JP2809389B2 (ja) プログラムの遠隔呼出方法及び装置
WO2022223038A1 (zh) 一种键名称生成方法、装置和计算机可读存储介质
US7366734B2 (en) Enabling client systems to discover services accessible by remote procedure calls (RPC) on server systems
CN114417069A (zh) 页面数据交互方法、装置及电子设备
RajKumar et al. Integrated educational information systems for disabled schools via a service bus using SOA
CN113268483A (zh) 请求处理方法和装置、电子设备和存储介质
US20210365416A1 (en) Mount parameter in file systems
US11550572B2 (en) Splitting vector instructions into microinstructions for parallel execution based on index comparisons of completed microinstructions
CN116861455B (zh) 事件数据处理方法、系统、电子设备及存储介质
CN110489469B (zh) 数据传输方法、装置、计算机设备以及存储介质
JPH10133930A (ja) データベースシステム
JPH0934788A (ja) アドレス変換装置及びアドレス変換方法
CN117785968A (zh) 数据处理方法、装置、设备以及存储介质
JP3022837B2 (ja) サービス機能提供装置および提供方法
JPH07175793A (ja) 文字処理システム