JP2010117867A - 情報処理装置及びその方法、通信システム、プログラム、記憶媒体 - Google Patents
情報処理装置及びその方法、通信システム、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP2010117867A JP2010117867A JP2008290325A JP2008290325A JP2010117867A JP 2010117867 A JP2010117867 A JP 2010117867A JP 2008290325 A JP2008290325 A JP 2008290325A JP 2008290325 A JP2008290325 A JP 2008290325A JP 2010117867 A JP2010117867 A JP 2010117867A
- Authority
- JP
- Japan
- Prior art keywords
- marshalling
- information
- server
- server device
- platform
- 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
Links
Images
Abstract
【解決手段】 通信データを整形してサーバ装置と通信する情報処理装置は、前記サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該サーバ装置から受信する受信手段と、受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定手段と、前記サーバ装置と送受信する通信データを、前記決定手段が決定したマーシャリング方式で整形する整形手段と、を備える。
【選択図】 図4
Description
・データ長:int, float, boolなどの型ごとに割り当てられる記憶容量。
例えば、C言語においては、同じint型でもプラットフォームによってデータ長が異なる。
・エンディアン:複数バイトからなるデータ型を主記憶に格納するバイト順。
例えば、10進数で1000という値を表現するときに、主記憶上で
0xE8 0x03 0x00 0x00と配置する方法(リトルエンディアン)。
のいずれかが今日一般に用いられている。
・アラインメント:例えば32ビットCPUでは、主記憶装置から4バイトを一度に読み出すことができるため、データ項目の先頭アドレスを4の倍数に揃え、主記憶アクセス高速化をはかる手法がとられている。この場合4バイトに満たないデータは、後方に隙間(パディング)が発生する。
・データ長:intなど、C言語の組み込み型はプラットフォームごとにサイズが異なるので、int16、int32など、明示的にサイズを規定したデータ型を独自に定義し、通信においてはそれらの独自型を使って送信データを構成することがよく行われる。
・エンディアン:送信側と受信側のエンディアンが異なる場合は、データ項目ごとにバイト順を逆転させる処理が必要となる。変換処理は送信側か受信側のどちらかで行えばよいが、変換の要否を判定するには事前に互いのエンディアンを知る必要がある。このため、ネットワーク上に流すデータは常にビッグエンディアンに変換するという規約(ネットワークバイトオーダ)で運用しているシステムも存在する。
・アラインメント:データ送信時にパディングを抜いた形式に変換しておき(シリアライズ)、受信側でパディングを挿入して(デシリアライズ)自身のアラインメントに合致するように整形する。
通信データを整形してサーバ装置と通信する情報処理装置であって、
前記サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該サーバ装置から受信する受信手段と、
受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定手段と、
前記サーバ装置と送受信する通信データを、前記決定手段が決定したマーシャリング方式で整形する整形手段と、
を備える。
通信データを整形してサーバ装置と通信する情報処理装置の情報処理方法であって、
前記サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該サーバ装置から受信する受信工程と、
受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定工程と、
前記サーバ装置と送受信する通信データを、前記決定工程において決定されたマーシャリング方式で整形する整形工程と、
を備える。
通信データを整形して通信を行う、サーバ装置とクライアント装置とを有する通信システムであって、
前記サーバ装置は、前記クライアント装置からの要求に応じて、当該サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該クライアント装置に送信する送信手段を備え、
前記クライアント装置は、
前記一覧情報を前記サーバ装置から受信する受信手段と、
受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定手段と、
前記サーバ装置と送受信する通信データを、前記決定手段が決定したマーシャリング方式で整形する整形手段と、
を備える。
図1は本実施形態に係る装置制御システム(通信システム)の構成例を示す図である。図1において、クライアント100とサーバ300が通信媒体401で接続されている。また、クライアント200とサーバ300が通信媒体402で接続されている。
上記のクライアント100、クライアント200、サーバ300は、パーソナルコンピュータ(PC)やワークステーション(WS)、携帯情報端末(PDA)等の情報処理装置で実現される。そこでこれらの情報処理装置のハードウェア構成について、図11を参照して説明する。図11は、本実施形態に係る情報処理装置のハードウェア構成例を模式的に示したブロック図である。
図2はインタフェース情報の一例を示す図である。図2の例では、インタフェースXが、2階層の深さレベルを有する、合計6つのデータ項目から構成されている。
図3は本実施形態で定義されているマーシャリング方式の一覧を例示する図である。図3のように、本実施形態では、3つのマーシャリング方式例を規定している。
・NONSERIAL_SAMEORDERは、サーバ側プラットフォームのネイティブのデータレイアウトでデータを送受信する方式である。この方式では、サーバ側の処理は最も軽いが、同一プラットフォーム間通信でない場合はクライアント側でマーシャリング処理が必要となる。
・SERIALIZE_SAMEORDERは、データをシリアライズし、エンディアンはサーバ側に合わせて送受信する方式である。この方式では、サーバ側はデータのデシリアライズのみ行う。
・SERIALIZE_DIFFORDERは、データをシリアライズし、サーバ側と異なるエンディアンでデータを送受信する方式である。この方式は、エンディアンの異なるCPU間の通信で、エンディアン変換をサーバ側で行う場合に用いられる。
図4は、クライアント100のマーシャリング方式決定部104が、サーバプログラム303との通信に使用するマーシャリング方式を決定する処理のフローチャートである。図4の各ステップはクライアント100のCPUの制御に基づいて実行される。
・00:プラットフォームA。
・01:プラットフォームB。
・10:プラットフォームC。
図6はマーシャリング方式決定ストラテジ103の一例を示す図である。マーシャリング方式決定ストラテジは複数用意しておき、装置制御アプリケーションの使用目的に応じて選択できるようにしておく。例えば、サーバの負荷を下げたい場合にはLIGHTEN_SERVERを選択する。また、クライアントアプリケーション201から呼び出される遠隔関数呼び出しを装置制御アプリケーション101から実行したい場合はEMULATE_Bを選択する。本実施形態では、ストラテジ選択部102を用いて、ストラテジ情報108の中から実際に使用するマーシャリング方式決定ストラテジ103を選択する。
図7は、プラットフォーム情報の一例を示す図である。プラットフォーム情報109には、プラットフォームごとに、初期化要求メッセージに対するサーバからの返信メッセージにおける識別子、CPUエンディアン、アラインメント規則が記述される。アラインメント規則はNONSERIAL_SAMEORDERで通信する際のデータ整形に用いられる。
図8は本実施形態において、プラットフォームAがクライアントとして動作する場合、クライアント側に発生するマーシャリング処理内容の一例を示す図である。例えば、プラットフォームCのサーバ300にNONSERIAL_SAMEORDERで接続する場合は、通信メッセージ内の項目ごとにバイト順を逆転させるエンディアン変換を行う。また、プラットフォーム情報109に記述されたC式のアラインメント規則にしたがってアラインメント変換を行う。
図9は本実施形態において、プラットフォームAがクライアントとして動作し、LIGHTEN_SERVERストラテジを選択した場合のマーシャリング方式決定優先順位の一例を示す図である。前述の理由により、サーバ側の負荷を軽くするというストラテジにおける優先順位は、NONSERIAL_SAMEORDER>SERIALIZE_SAMEORDER>SERIALIZE_DIFFORDERとなる。
また、本発明の目的は、コンピュータプログラムやコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体によっても実現可能である。例えば、次のようにすることによっても本発明の目的は達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明の技術的範囲に含まれる。
Claims (9)
- 通信データを整形してサーバ装置と通信する情報処理装置であって、
前記サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該サーバ装置から受信する受信手段と、
受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定手段と、
前記サーバ装置と送受信する通信データを、前記決定手段が決定したマーシャリング方式で整形する整形手段と、
を備えることを特徴とする情報処理装置。 - マーシャリング方式の優先順位を記載した優先順位情報を記憶する記憶手段をさらに備え、
前記決定手段は、受信した前記一覧情報が示すマーシャリング方式のうち、前記優先順位情報において最も優先順位が高いものを、前記使用するマーシャリング方式として決定する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記受信手段は、さらに、前記サーバ装置のプラットフォームを識別するプラットフォーム情報を前記サーバ装置から受信し、
前記決定手段は、さらに前記プラットフォーム情報に基づいて、前記使用するマーシャリング方式を決定する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記記憶手段が記憶する前記優先順位情報は、プラットフォームの種類ごとにマーシャリング方式の優先順位を記載し、
前記決定手段は、受信した前記一覧情報が示すマーシャリング方式のうち、前記優先順位情報において、前記プラットフォーム情報が示すプラットフォームの種類に対応する優先順位が最も高いものを、前記使用するマーシャリング方式として決定する
ことを特徴とする請求項3に記載の情報処理装置。 - 前記サーバ装置との通信ポリシーの選択を受け付ける受付手段をさらに備え、
前記記憶手段は、それぞれ通信ポリシーに対応する複数の前記優先順位情報を記憶し、
前記決定手段は、受信した前記一覧情報が示すマーシャリング方式のうち、前記選択を受け付けた通信ポリシーに対応する優先順位情報において、前記プラットフォーム情報が示すプラットフォームの種類に対応する優先順位が最も高いものを、前記使用するマーシャリング方式として決定する
ことを特徴とする請求項4に記載の情報処理装置。 - 通信データを整形してサーバ装置と通信する情報処理装置の情報処理方法であって、
前記サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該サーバ装置から受信する受信工程と、
受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定工程と、
前記サーバ装置と送受信する通信データを、前記決定工程において決定されたマーシャリング方式で整形する整形工程と、
を備えることを特徴とする情報処理方法。 - 通信データを整形して通信を行う、サーバ装置とクライアント装置とを有する通信システムであって、
前記サーバ装置は、前記クライアント装置からの要求に応じて、当該サーバ装置が対応しているマーシャリング方式の一覧を示す一覧情報を該クライアント装置に送信する送信手段を備え、
前記クライアント装置は、
前記一覧情報を前記サーバ装置から受信する受信手段と、
受信した前記一覧情報に基づいて、使用するマーシャリング方式を決定する決定手段と、
前記サーバ装置と送受信する通信データを、前記決定手段が決定したマーシャリング方式で整形する整形手段と、
を備えることを特徴とする通信システム。 - コンピュータを請求項1から5のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
- 請求項8に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008290325A JP5222103B2 (ja) | 2008-11-12 | 2008-11-12 | 情報処理装置、情報処理方法、通信システム、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008290325A JP5222103B2 (ja) | 2008-11-12 | 2008-11-12 | 情報処理装置、情報処理方法、通信システム、プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010117867A true JP2010117867A (ja) | 2010-05-27 |
JP2010117867A5 JP2010117867A5 (ja) | 2012-01-05 |
JP5222103B2 JP5222103B2 (ja) | 2013-06-26 |
Family
ID=42305511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008290325A Expired - Fee Related JP5222103B2 (ja) | 2008-11-12 | 2008-11-12 | 情報処理装置、情報処理方法、通信システム、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5222103B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2012164665A1 (ja) * | 2011-05-30 | 2014-07-31 | 三菱電機株式会社 | 通信装置 |
US9544694B2 (en) | 2012-04-05 | 2017-01-10 | Nec Tokin Corporation | Piezoelectric element, piezoelectric vibration module, and methods of manufacturing the same |
JP2018182842A (ja) * | 2017-04-07 | 2018-11-15 | 三菱電機株式会社 | 電力系統制御システム、およびその制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2978807B2 (ja) * | 1996-01-10 | 1999-11-15 | サン・マイクロシステムズ・インコーポレーテッド | 遠隔プロシージャ・コール・システムおよび方法 |
JP2000020490A (ja) * | 1998-07-01 | 2000-01-21 | Fujitsu Ltd | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 |
JP2001167059A (ja) * | 1999-12-09 | 2001-06-22 | Hitachi Ltd | サービス要求装置およびデータ変換方法およびクライアントオブジェクトを有する計算機 |
-
2008
- 2008-11-12 JP JP2008290325A patent/JP5222103B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2978807B2 (ja) * | 1996-01-10 | 1999-11-15 | サン・マイクロシステムズ・インコーポレーテッド | 遠隔プロシージャ・コール・システムおよび方法 |
JP2000020490A (ja) * | 1998-07-01 | 2000-01-21 | Fujitsu Ltd | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 |
JP2001167059A (ja) * | 1999-12-09 | 2001-06-22 | Hitachi Ltd | サービス要求装置およびデータ変換方法およびクライアントオブジェクトを有する計算機 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2012164665A1 (ja) * | 2011-05-30 | 2014-07-31 | 三菱電機株式会社 | 通信装置 |
US9544694B2 (en) | 2012-04-05 | 2017-01-10 | Nec Tokin Corporation | Piezoelectric element, piezoelectric vibration module, and methods of manufacturing the same |
JP2018182842A (ja) * | 2017-04-07 | 2018-11-15 | 三菱電機株式会社 | 電力系統制御システム、およびその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5222103B2 (ja) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4800413B2 (ja) | 情報処理システム | |
TWI276998B (en) | Systems and methods for managing drivers in a computing system | |
EP2622484B1 (en) | Debugger launch and attach on compute clusters | |
CN102725744B (zh) | 用于usb驱动程序接口函数的扩展的方法和系统 | |
US8806506B2 (en) | System and method for processing messages using a common interface platform supporting multiple pluggable data formats in a service-oriented pipeline architecture | |
JP5259924B2 (ja) | レガシーコンポーネントのための動的サービスの生成 | |
US7788290B2 (en) | Automatic file conversion to a target format | |
US20040148605A1 (en) | Distributed processing system and method using virtual machine | |
JP5222103B2 (ja) | 情報処理装置、情報処理方法、通信システム、プログラム | |
WO2011158478A1 (ja) | データ処理システム及びデータ処理方法 | |
US20100023950A1 (en) | Workflow processing apparatus | |
US20090282150A1 (en) | Service flow processing apparatus and method | |
EP2767904A1 (en) | Method, processing modules and system for executing an executable code | |
JP2008009865A (ja) | 分散コンピュータシステム | |
CN111970349B (zh) | 基于远程过程调用的通讯系统、方法、装置、设备及介质 | |
US9367329B2 (en) | Initialization of multi-core processing system | |
JP2005039557A (ja) | ソフトウェア無線機 | |
Heydarnoori et al. | Towards an automated deployment planner for composition of web services as software components | |
JP2008305205A (ja) | フロー処理構築装置、フロー処理構築方法及びプログラム | |
KR20040002624A (ko) | 실시간 미들웨어 구성을 위한 멀티 프로토콜 연동 장치 및그 방법 | |
Martinaitis et al. | Component-based stream processing" in the cloud" | |
JP5251197B2 (ja) | メッセージ処理方法、メッセージ処理装置、及びプログラム | |
CN117130591A (zh) | 一种代码生成方法、系统及相关设备 | |
CN114816672A (zh) | 虚拟机的创建方法、装置、电子设备和存储介质 | |
CN117667300A (zh) | 计算系统及相关方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130109 |
|
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: 20130208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130308 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5222103 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |