IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社インタフェースの特許一覧

特許7382672ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法
<>
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図1
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図2
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図3
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図4
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図5
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図6
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図7
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図8
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図9
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図10
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図11
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図12
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図13
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図14
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図15
  • 特許-ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-11-09
(45)【発行日】2023-11-17
(54)【発明の名称】ソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法
(51)【国際特許分類】
   H04L 67/562 20220101AFI20231110BHJP
【FI】
H04L67/562
【請求項の数】 5
(21)【出願番号】P 2022141510
(22)【出願日】2022-09-06
【審査請求日】2022-09-16
(73)【特許権者】
【識別番号】594124029
【氏名又は名称】株式会社インタフェース
(74)【代理人】
【識別番号】100084375
【弁理士】
【氏名又は名称】板谷 康夫
(74)【代理人】
【識別番号】100125221
【弁理士】
【氏名又は名称】水田 愼一
(74)【代理人】
【識別番号】100142077
【弁理士】
【氏名又は名称】板谷 真之
(72)【発明者】
【氏名】岩田 恵一
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2002-222129(JP,A)
【文献】特開2013-054584(JP,A)
【文献】米国特許出願公開第2020/0204443(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/562
(57)【特許請求の範囲】
【請求項1】
ソフトウェアを格納したソフトウェアモジュールを有した制御側及び相手側のコンピュータがLANを介して接続され、
前記コンピュータのいずれか一方は、コンピュータに格納されたソフトウェア同士の連携を行うためのソフトウェアバスを備え、
前記ソフトウェアバスは、制御命令がセットされるコントロールエリアと、前記制御命令に応じたデータがセットされるデータエリアを持ち、前記コントロールエリアは前記制御側及び相手側のコンピュータにより監視され、
前記ソフトウェアバスは、さらにIPアドレスを持ち、アドレス指定で所定のコンピュータ上のソフトウェアバスにアクセス可能にしており、
前記複数のコンピュータは、それぞれ、前記ソフトウェアモジュールと前記ソフトウェアバスを繋ぐためのアプリケーションで成るソフトウェアコネクタを備え、
前記制御側のコンピュータから相手側のコンピュータのソフトウェアを使用するための制御命令を出すと、それに応じてソフトウェアコネクタ、ソフトウェアバス、及び相手側のソフトウェアコネクタを介して、相手側のソフトウェアモジュールと接続連携し、ソフトウェア同士が接続されることを特徴とする、ソフトウェアバスを持つコンピュータシステム。
【請求項2】
相手側のコンピュータのソフトウェアは、LAN接続された別のコンピュータに設けた外部モジュールに格納されていることを特徴とする、請求項1に記載のソフトウェアバスを持つコンピュータシステム。
【請求項3】
ソフトウェアバスは、制御側のコンピュータと相手側のコンピュータの間にLAN接続されたさらに別のコンピュータに備えられていることを特徴とする、請求項1に記載のソフトウェアバスを持つコンピュータシステム。
【請求項4】
ソフトウェアコネクタは、関数化されており、この関数を通してソフトウェアモジュールからの制御命令に応じてソフトウェアバスに指示することを特徴とする、請求項1に記載のソフトウェアバスを持つコンピュータシステム。
【請求項5】
ソフトウェアを格納したソフトウェアモジュールを有した制御側及び相手側のコンピュータがLANを介して接続されたコンピュータシステムにおいて、
前記コンピュータのいずれか一方は、コンピュータに格納されたソフトウェア同士の連携を行うためのソフトウェアバスを備え、
前記ソフトウェアバスは、制御命令がセットされるコントロールエリアと、前記制御命令に応じたデータがセットされるデータエリアを持ち、前記コントロールエリアは前記制御側及び相手側のコンピュータにより監視され、
前記ソフトウェアバスは、さらにIPアドレスを持ち、アドレス指定で所定のコンピュータ上のソフトウェアバスにアクセス可能にしており、
前記複数のコンピュータは、それぞれ、前記ソフトウェアモジュールと前記ソフトウェアバスを繋ぐためのアプリケーションで成るソフトウェアコネクタを備え、
前記制御側のコンピュータから相手側のコンピュータのソフトウェアを使用するための制御命令を出すと、それに応じてソフトウェアコネクタ、ソフトウェアバス、及び相手側のソフトウェアコネクタを介して、相手側のソフトウェアモジュールと接続連携し、ソフトウェア同士が接続され、
前記ソフトウェアコネクタを取り替えることにより、別の使用対象のソフトウェアと接続可能としたことを特徴とする、ソフトウェア接続方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア同士を接続するための伝送技術に関する。
【背景技術】
【0002】
一般的なコンピュータソフトウェアにおいて、互いにその機能が異なる場合、相手に合わせたソフトウェアが必要になる。また、相手に対して直接コマンドを送ることが多く仲介するものがないため、異なる相手毎にソフトウェアを複数作る必要があった。
【0003】
また、プログラムインタフェースは、ソフトウェアベンダが提供するプラットフォーム上を動作環境としているものが多く、プログラムインタフェースの動作環境の違いから、補完的・相互的な利用を実現することは困難であった。その問題を解決するべく、外部にプログラムインタフェースを公開して、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得し、それを解析することで、ソフトウェア間において、補完的・相互的な利用が行える統合管理装置が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-32687号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の統合管理装置は、ソフトウェアから機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得し、取得した連携ソフトウェア部品を解析する手段を必要とし、複雑な構成となり、また、ソフトウェアの取り扱いも容易ではなかった。
【0006】
本発明は、上記課題を解消するものであり、制御側のコンピュータから相手側のコンピュータを同じ考え方で制御することができ、ソフトウェア取り扱いの容易化を図った、ソフトウェア同士を接続するためのソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、ソフトウェアを格納したソフトウェアモジュールを有した制御側及び相手側のコンピュータがLANを介して接続され、
前記コンピュータのいずれか一方は、コンピュータに格納されたソフトウェア同士の連携を行うためのソフトウェアバスを備え、
前記ソフトウェアバスは、制御命令がセットされるコントロールエリアと、前記制御命令に応じたデータがセットされるデータエリアを持ち、前記コントロールエリアは前記制御側及び相手側のコンピュータにより監視され、
前記ソフトウェアバスは、さらにIPアドレスを持ち、アドレス指定で所定のコンピュータ上のソフトウェアバスにアクセス可能にしており、
前記複数のコンピュータは、それぞれ、前記ソフトウェアモジュールと前記ソフトウェアバスを繋ぐためのアプリケーションで成るソフトウェアコネクタを備え、
前記制御側のコンピュータから相手側のコンピュータのソフトウェアを使用するための制御命令を出すと、それに応じてソフトウェアコネクタ、ソフトウェアバス、及び相手側のソフトウェアコネクタを介して、相手側のソフトウェアモジュールと接続連携し、ソフトウェア同士が接続されることを特徴とする、ソフトウェアバスを持つコンピュータシステムである。
【0008】
また、本発明は、ソフトウェアを格納したソフトウェアモジュールを有した制御側及び相手側のコンピュータがLANを介して接続されたコンピュータシステムにおいて、
前記コンピュータのいずれか一方は、コンピュータに格納されたソフトウェア同士の連携を行うためのソフトウェアバスを備え、
前記ソフトウェアバスは、制御命令がセットされるコントロールエリアと、前記制御命令に応じたデータがセットされるデータエリアを持ち、前記コントロールエリアは前記制御側及び相手側のコンピュータにより監視され、
前記ソフトウェアバスは、さらにIPアドレスを持ち、アドレス指定で所定のコンピュータ上のソフトウェアバスにアクセス可能にしており、
前記複数のコンピュータは、それぞれ、前記ソフトウェアモジュールと前記ソフトウェアバスを繋ぐためのアプリケーションで成るソフトウェアコネクタを備え、
前記制御側のコンピュータから相手側のコンピュータのソフトウェアを使用するための制御命令を出すと、それに応じてソフトウェアコネクタ、ソフトウェアバス、及び相手側のソフトウェアコネクタを介して、相手側のソフトウェアモジュールと接続連携し、ソフトウェア同士が接続され、
前記ソフトウェアコネクタを取り替えることにより、別の使用対象のソフトウェアと接続可能としたことを特徴とする、ソフトウェア接続方法である。
【発明の効果】
【0009】
本発明によれば、制御側のコンピュータから相手側のコンピュータのソフトウェアを使用するための制御命令が出されると、ソフトウェアバスで仲介することによりソフトウェア同士のハンドシェイクができ、制御側で相手側のコンピュータのソフトウェアを使用(例えばデータ入出力等)することができる。このため、制御側のコンピュータから、相手側のコンピュータのソフトウェアと同じ考え方で相手側のコンピュータを制御し、データのやり取りが行え、取り扱いが容易となる。
【0010】
また、ソフトウェアバスを用いて、ハードウェアのバスの構想をソフトウェアに展開して、ソフトウェア間の接続をプロトコル様に既定すればよいので、ソフトウェア同士の接続・取り外しの方法を決めておくことで、ソフトウェアの追加や削除が容易となる。また、ソフトウェアバスの接続を制御しているソフトウェアコネクタを入れ替えるだけで、元のソフトウェアは変更することなく、別のソフトウェアと接続・制御することができる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態に係るソフトウェアバスを持つコンピュータシステムの第1例の構成図。
図2】同コンピュータシステムの第2例の構成図。
図3】同コンピュータシステムの第3例の構成図。
図4】同コンピュータシステムの第4例の構成図。
図5】同コンピュータシステムの第5例の構成図。
図6】同コンピュータシステムの第6例の構成図。
図7】第1例における機能の連携状態を示す図。
図8】第2例における機能の連携状態を示す図。
図9】第3例における機能の連携状態を示す図。
図10】第4例における機能の連携状態を示す図。
図11】第5例における機能の連携状態を示す図。
図12】第6例における機能の連携状態を示す図。
図13】同ソフトウェアバスの仕組みを示す機能図。
図14】同ソフトウェアバスを介したソフトウェア使用のフロー図。
図15】同ソフトウェアバスを介したデータベース使用のフロー図。
図16】同ソフトウェアバスを介した電子メール使用のフロー図。
【発明を実施するための形態】
【0012】
(コンピュータシステムの構成例)
以下、本発明の一実施形態に係るソフトウェアバスを持つコンピュータシステムの各種の構成例について図面を参照して説明する。コンピュータシステムは、ソフトウェアを格納したソフトウェアモジュールを有した複数のコンピュータがネットワーク(LAN)を介して接続されている。図1は第1例のコンピュータシステム100の構成を示す。このコンピュータシステム100は、制御側となる自身のコンピュータ1(PC1と記す)と、相手側となるコンピュータ2(PC2と記す)と、これらPC1とPC2とを接続するLAN9とを備える。
【0013】
PC1は、CPU101と、メモリ102と、LANコントローラ103と、IO(入出力)104と、を備える。メモリ102は、ソフトウェアモジュール5と、ソフトウェアコネクタ6と、ソフトウェアバス7とを格納している。相手PC2は、使用するソフトウェアが搭載されているコンピュータであり、PC1と同様にCPU101と、メモリ102と、LANコントローラ103と、IO104を備え、メモリ102は、ソフトウェアモジュール5’と、ソフトウェアコネクタ6’と、外部モジュール8とを格納している。IO104には外部機器105が接続される。
【0014】
ソフトウェアバス7は、複数のコンピュータ(PC1,PC2)間をネットワークで接続する際に、コンピュータに格納されたソフトウェア同士の連携を行う、すなわち、ソフトウェア同士のデータのやりとりを行うための伝送路(領域)となるものである。ソフトウェアバス7は、制御命令がセットされるコントロールエリア(制御部)と、制御命令に応じたデータがセットされるデータエリア(データ部)とを持つ。ソフトウェアバス7でのソフトウェア同士のやりとりは、ソフトウェアモジュールがソフトウェアコネクタを通して指示する。ソフトウェアバス7は、IPアドレスを持つので、自身のPCまたは相手側のPCに持つことができる。
【0015】
外部モジュール8は、外部から制御できる一般的なソフトウェアであり、例えば、データベース、ネットワーク、電子メール、プリンタサーバ、オフィスソフト、機器制御ソフト等である。LAN9は、データの通信路であり、ソフトウェアバス7がIPアドレスを持つので、PCからアドレス指定でLAN9を介して所定のソフトウェアバス7へアクセスできる。
【0016】
ここに、ソフトウェアバス7は、少なくともネットワーク接続された複数のコンピュータのいずれか一方に備えればよい。第1例は、自身のPC1にソフトウェアバス7を持ち、相手PC2にソフトウェアバス7を持たず、外部モジュール8を持つ。なお、本発明のコンピュータシステムは、ネットワーク接続される複数のコンピュータ間に限られず、コンピュータとサーバ間、コンピュータと機器間等の対象に適用可能である。
【0017】
ソフトウェアモジュール5,5’は、制御を行うためのアプリケーションで構成されたソフトウェアであり、ソフトウェアコネクタ6の関数を通してソフトウェアバス7に指示もしくは指示された命令に従い外部モジュール8に対して命令する。ソフトウェアコネクタ6,6’は、ソフトウェアモジュールとソフトウェアバスを繋ぐためのアプリケーションで構成されたソフトウェアである。ソフトウェアコネクタ6,6’は、関数化されており、ソフトウェアモジュールからの呼び出しで、ソフトウェアバス7と接続連携する。
【0018】
PC1のソフトウェアモジュール5からPC2のソフトウェアを使用するための制御命令を出すと、それに応じてソフトウェアコネクタ6、ソフトウェアバス7、ソフトウェアコネクタ6’、ソフトウェアモジュール5’を介して外部モジュール8と接続連携し、ソフトウェア同士が接続される(動作の詳細は後述)。
【0019】
図2は第2例のコンピュータシステム100の構成を示す。第2例は、自身のPC1にはソフトウェアバス7を持たず、相手PC2にソフトウェアバス7を持ち、かつ外部モジュール8を持つ。その他の構成は、第1例と同様である(以下、同様)。
【0020】
図3は第3例のコンピュータシステム100の構成を示す。第3例は、自身のPC1にソフトウェアバス7を持ち、外部モジュール8が、PC2とLAN9で接続された別のコンピュータPC3にある。PC3は一般的なソフトウェアがインストールされたコンピュータである。
【0021】
図4は第4例のコンピュータシステム100の構成を示す。第4例は、ソフトウェアバス7が、PC1とLAN9で接続され、独立した別のコンピュータであるPC4にあり、外部モジュール8が、相手PC2にある。すなわち、PC4は、ソフトウェアバスを持ち、各PCのソフトウェアコネクタからIPアドレス指定でやりとりを行う。
【0022】
図5は第5例のコンピュータシステム100の構成を示す。第5例は、ソフトウェアバス7が、PC1とLAN9で接続され、独立した別のコンピュータであるPC4にあり、外部モジュール8が、相手PC2とは別のPC3にある。
【0023】
図6は第6例のコンピュータシステム100の構成を示す。第6例は、ソフトウェアバス7が、PC1とLAN9で接続され、独立した別のコンピュータであるPC4にあり、相手PC2が複数あり、外部モジュール8が、PC4とLAN9で接続された相手PC2とは別の複数のPC3にある。
【0024】
図7乃至図12は、それぞれ第1例乃至第6例における機能の連携状態を示す。いずれも各コンピュータのCPUが、各メモリに格納された各種ソフトウェアによる機能処理手順を実行したときの連携状態を示す。
【0025】
(ソフトウェアバスの仕組み)
図13は、ソフトウェアバス7の仕組みを示す。ソフトウェアバス7は、ソフトウェアコネクタ6を介して制御命令がセットされるコントロールエリア11と、制御命令に応じたデータがセットされる複数のデータエリア12を持つ。コントロールエリア11は、相手とのデータ受け渡し処理に対し、制御部分を受け持ち、決まった命令体系で相手に指示を送る。データエリア12は、データそのものの受け渡しを行う。図13には、コントロールエリア11の命令とその内容の例を示している。
【0026】
ここに、ソフトウェアバス7上でコントロールエリア11とデータエリア12を分け、渡すコマンドを決め、やりとりを共通化する。ソフトウェアバス7のコントロールエリア11でお互いのハンドシェイクができる。コントロールエリア11上の制御データでデータエリア12のデータを変更することもできる。ソフトウェアのデータ伝送だけを切り離すことにより、制御とデータの決まった考え方でソフトウェア同士の接続連携ができるようになる。
【0027】
本実施形態のコンピュータシステム100においては、制御側のCP1から相手側のCP2のソフトウェアを使用するための制御命令がソフトウェアコネクタ6を介して送出されると、それに応じてソフトウェアバス7を介して相手側のCP2に制御命令が伝達され、相手側のCP2からデータが送出され、データの受け渡し処理が成される。
【0028】
さらに、本実施形態のソフトウェアバス7は、IPアドレスを持たせており、アドレス指定で所定のコンピュータ上のソフトウェアバス7にアクセス可能にしている。また、ソフトウェアコネクタ6,6’は、関数化されており、この関数を通してソフトウェアモジュール5,5’からの制御命令に応じてソフトウェアバス7に指示する。
【0029】
(ソフトウェア使用のフロー)
ソフトウェア接続方法について、以下、各種ソフトウェア使用のフローでもって説明する。図14は、ソフトウェアバス7を介したソフトウェア使用のフローである。PC1を操作し使用を開始すると、ソフトウェアモジュール5は、ソフトウェアコネクタ6の、相手PC2の使用するソフトウェアモジュールの使用許可の関数を呼び出す(S1)。すると、ソフトウェアコネクタ6は、ソフトウェアバス7のコントロールエリアへ、使用するソフトウェアモジュールへの使用許可をセットし(S2)、ソフトウェアバス7のコントロールエリアに使用許可がセットされる(S3)。
【0030】
相手PC2では、ソフトウェアコネクタ6’がPC1上のソフトウェアバス7(IPアドレス)のコントロールエリアを監視し、使用許可のフラグがあれば、使用するソフトウェアモジュールに起動準備を依頼する(S4)。ソフトウェアモジュール5’は、ソフトウェアコネクタ6’からの起動準備指示に対して、外部モジュール8の使用準備を行う(S5)。外部モジュール8は、ソフトウェアモジュール5’からの起動要求に応じ、結果を返す(S6)。
【0031】
ソフトウェアモジュール5’において、使用するソフトウェアモジュールの起動準備が完了すると(S7)、ソフトウェアコネクタ6’は、PC1上のソフトウェアバス7(IPアドレス)に対して使用許可OKのフラグをセットする(S8)。すると、ソフトウェアバス7のコントロールエリアに使用許可OKがセットされる(S9)。ソフトウェアコネクタ6は、ソフトウェアバス7のコントロールエリアを監視し、使用許可を確認する(S10)。使用するソフトウェアモジュールの使用許可が成立しておれば、ソフトウェアモジュール5は、実際の使用フェーズに入る(S11)。こうして、PC1において相手PC2の外部モジュール8のソフトウェアの使用が可能となる。
【0032】
(データベース使用のフロー)
図15は、ソフトウェアバス7を介したデータベース使用のフローである。PC1を操作し使用を開始すると、ソフトウェアモジュール5は、ソフトウェアコネクタ6の、相手PC2のデータベースの特定データを取得する関数を呼び出す(S1)。すると、ソフトウェアコネクタ6は、ソフトウェアバス7のコントロールエリアへ、データベースから特定のデータを取得する命令をセットし(S2)、ソフトウェアバス7のコントロールエリアにデータ取得命令がセットされる(S3)。
【0033】
相手PC2では、ソフトウェアコネクタ6’は、PC1上のソフトウェアバス7(IPアドレス)のコントロールエリアを監視し、データ取得命令があれば、該当するソフトウェアモジュール5’に対して命令する(S4)。ソフトウェアモジュール5’は、ソフトウェアコネクタ6’からのデータ取得指示に対して、外部モジュール8からデータを取得する(S5)。外部モジュール8は、ソフトウェアモジュール5’からのデータ要求に対応し、結果を返す(S6)。
【0034】
ソフトウェアモジュール5’において、外部モジュール8からデータを取得すると(S7)、ソフトウェアコネクタ6’は、PC1上のソフトウェアバス7(IPアドレス)のデータエリアにデータをセットすると共に、ソフトウェアバス7のコントロールエリアにデータ完了のフラグをセットする(S8)。すると、ソフトウェアバス7のデータエリアにデータがセットされ、コントロールエリアにデータ完了がセットされる(S9)。ソフトウェアコネクタ6は、ソフトウェアバス7のコントロールエリアを監視し、データ完了を確認し、データエリアからデータを取り出す(S10)。ソフトウェアモジュール5は、データを変数・配列に入れ、アプリケーションでの利用が可能となる(S11)。かくして、相手がデータベースであると、コントロールエリアのメッセージに「データベースからAというデータを取得」と記載すれば、データエリアにAのデータが入ることになる。
【0035】
(電子メール使用のフロー)
図16は、ソフトウェアバス7を介した電子メール使用のフローである。PC1を操作し使用を開始すると、ソフトウェアモジュール5は、ソフトウェアコネクタ6の電子メールを送る関数を呼び出す(S1)。すると、ソフトウェアコネクタ6は、ソフトウェアバス7のコントロールエリアへ、電子メールを送る命令をセットすると共に、データエリアへ電文をセットし(S2)、ソフトウェアバス7のコントロールエリアにメール送信命令がセットされ、データエリアに電文がセットされる(S3)。
【0036】
相手PC2では、ソフトウェアコネクタ6’は、PC1上のソフトウェアバス(IPアドレス)のコントロールエリアを監視し、メール送信命令があれば、該当するソフトウェアモジュールに対して命令する(S4)。ソフトウェアモジュール5’は、ソフトウェアコネクタ6’からのメール送信指示に対して、外部モジュール8(メールサーバ)へ送信指示を行う(S5)。外部モジュール8は、ソフトウェアモジュール5’からの送信要求に対応し、結果を返す(S6)。
【0037】
ソフトウェアモジュール5’において、外部モジュール8からの送信データを受けると(S7)、ソフトウェアコネクタ6’は、PC1上のソフトウェアバス7(IPアドレス)のデータエリアにデータをセットすると共に、コントロールエリアにデータ完了のフラグをセットする(S8)。ソフトウェアバス7のデータエリアにデータがセットされ、コントロールエリアにデータ完了がセットされる(S9)。ソフトウェアコネクタ6は、ソフトウェアバス7のコントロールエリアを監視し、データ完了を確認し、データエリアからデータを取り出す(S10)。ソフトウェアモジュール5は、データを変数・配列に入れ、アプリケーションでの利用が可能となる(S11)。かくして、相手がメールであると、コントロールエリアのメッセージに「メールサーバからBさんから来ているメールデータを取得」と記載すれば、データエリアにBさんからのメールデータが入ることになる。
【0038】
(ソフトウェアバスを用いた利点)
異なる相手であっても、ソフトウェアバスで仲介することにより、同じ考え方のソフトウェアで相手を制御し相手とのデータのやりとり(入出力)を行うことができる。すなわち、PC1側から見ると、相手PC2側がどんなソフトウェアであろうと、ソフトウェアバスを経由してコントロールエリアとデータエリアで共通のやりとりができる。具体的には、コントロールエリアに渡すコマンドの中の「MESSAGE:メッセージ」が変わるだけで、ソフトウェアから見ると同じプログラムの書き方で相手を制御できる。また、接続を制御しているソフトウェアコネクタを入れ替えるだけで、元のソフトウェアは変更することなく、別のソフトウェアと接続・制御することができる。また、ソフトウェアの構造を汎用化できる。
【0039】
本発明は、ソフトウェアバス7を用いて、ハードウェアのバスの構想をソフトウェアに展開して、ソフトウェア間の接続をプロトコル様に既定しているものと言える。このため、ハードウェアや通信規格のプロトコル(信号の仕様、手順など)のように、ソフトウェア同士の接続・取り外しの方法を決めておくことで、プログラムの追加や削除が容易に行える。また、データエリアのデータとして、例えば、連想配列という任意の名前を添え字にする配列を利用することで、相手のソフトウェアごとに形式や形が変わることがなくなる。ここに、変数の名前、型、値の情報を、一塊のデータで扱うようにすれば、データ共有の形式に依存せずに処理を行える。
【0040】
(各要素の条件注記)
(1)ソフトウェアバスは、システム上に1つだけ存在する。場所は、自身のPC、相手のPC、単独と、どこにあってもよく、IPアドレスを持つため、ネットワークを越えて接続することができる。ソフトウェアバス自体は、コントロールとデータの各エリアを持つ伝送路であり、接続するソフトウェアコネクタにより、中身を通るデータが変わる。ソフトウェアバス内に、コントロールエリアは1つだけ存在する。コントロールエリアへの命令は共通である。データエリアは、受け渡しの数だけ存在する。
(2)ソフトウェアコネクタは、これを取り替えることにより、別のソフトウェアと接続することができる。すなわち、元のソフトウェアモジュールを変更(コンパイル)する必要がない。
(3)外部モジュールは、一般的なソフトウェアであるため、独立して動作している。同一PC内であっても、独立したPC内であってもよい。
(4)制御命令と結果について、制御命令と結果は決まった形でソフトウェアバス上のコントロールエリアを通る。外部モジュールが動作OKの場合も、動作NGの場合も結果を返す。
【符号の説明】
【0041】
100 コンピュータシステム
1 制御側のコンピュータ(PC1)
101 CPU
102 メモリ
103 LANコントローラ
104 IO(入出力)
105 外部機器
11 ソフトウェアバスのコントロールエリア
12 ソフトウェアバスのデータエリア
2 相手側のコンピュータ(PC2)
3 外部モジュールを持つPC
4 ソフトウェアバスを持つPC
5,5’ ソフトウェアモジュール
6,6’ ソフトウェアコネクタ
7 ソフトウェアバス
8 外部モジュール
9 LAN
【要約】      (修正有)
【課題】制御側及び相手側のコンピュータのソフトウェア同士を接続するためのソフトウェアバスを持つコンピュータシステム及びソフトウェア接続方法を提供する。
【解決手段】ソフトウェアを格納したソフトウェアモジュールを有したコンピュータ1、2がLAN9を介して接続されるコンピュータシステムにおいて、コンピュータの何れかは、ソフトウェア同士の連携を行うためのソフトウェアバス7を備える。これらコンピュータは、ソフトウェアモジュール5、5’とソフトウェアバス7を繋ぐためのアプリケーションで成るソフトウェアコネクタ6、6’を備え、コンピュータ1からソフトウェアを使用するための制御命令を出すと、それに応じてソフトウェアコネクタ6、ソフトウェアバス7及びコンピュータ2のソフトウェアコネクタ6’を介して、ソフトウェアモジュール5’及び外部モジュール8と接続連携し、ソフトウェア同士が接続される。
【選択図】図7
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16