(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数のデータ通信装置と、画像処理装置とを接続してデータの通信を行うサーバ装置であって、
前記画像処理装置と複数のデータ通信装置とが通信するために作成された接続ポートのポート情報を複数のデータ通信装置で共有可能かどうかを識別する共有条件を設定して管理する管理手段と、
接続元となる第１のデータ通信装置から受け付ける接続要求に従って前記画像処理装置と当該第１のデータ通信装置とを１つの接続ポートを用いて接続する第１の接続手段と、
新たな接続先となる第２のデータ通信装置から接続要求を受け付けた場合、前記第１のデータ通信装置が使用する接続ポートを用いて前記第２のデータ通信装置を接続できるかどうかを前記接続ポートに設定される前記共有条件に従って判断する判断手段と、
前記第２のデータ通信装置を接続できると判断した場合、前記第１のデータ通信装置との通信中に、前記第１のデータ通信装置が使用する接続ポートを介して前記画像処理装置と前記第２のデータ通信装置とをデータ通信可能に接続する第２の接続手段と、
を備えることを特徴とするサーバ装置。
【請求項２】
通信する第１、第２のデータ通信装置または画像処理装置の入出力データ形式を識別情報に従い登録する登録手段と、
前記第１のデータ通信装置又は前記第２のデータ通信装置から接続要求がなされた場合、第１、第２のデータ通信装置の識別情報を用いて登録された入出力データ形式を判別する判別手段と、
前記判別手段が判別した入出力データ形式に対応して、前記画像処理装置の入出力データ形式を第１のデータ通信装置又は第２のデータ通信装置の入出力データ形式に変換するための変換フィルタを作成する作成手段と、
前記第２のデータ通信装置から接続要求された場合、当該第２のデータ通信装置と前記第１のデータ通信装置との入出力データ形式が一致するかどうかを判定する判定手段と、を備え、
前記判定手段が前記第２のデータ通信装置と前記第１のデータ通信装置との入出力データ形式が一致すると判別した場合、前記第２の接続手段は、前記作成手段が前記第１のデータ通信装置のために作成した変換フィルタを用いて変換したデータを前記第２のデータ通信装置に送信することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記判別手段は、新たな通信先となる第２のデータ通信装置からの接続要求を受け付ける毎に、既に作成された変換フィルタを使用可能であると判断した場合、前記作成手段が前記第１のデータ通信装置のために作成した変換フィルタを用いて変換したデータを前記新たな通信先となる第２のデータ通信装置に送信することを特徴とする請求項２に記載のサーバ装置。
【請求項４】
前記第１、第２のデータ通信装置は、通信機能を備えるポータブルデバイス、デジタルカメラであることを特徴とする請求項１乃至４項のいずれか１項に記載のサーバ装置。
【請求項５】
前記データは、画像データであることを特徴とする請求項１乃至３項のいずれか１項に記載のサーバ装置。
【請求項６】
ネットワークを介して複数のデータ通信装置と、画像処理装置とを接続してデータの通信を行うサーバ装置における接続確立制御方法であって、
前記画像処理装置と複数のデータ通信装置とが通信するために作成された接続ポートのポート情報を複数のデータ通信装置で共有可能かどうかを識別する共有条件を設定して管理する管理工程と、
接続元となる第１のデータ通信装置から受け付ける接続要求に従って前記画像処理装置と当該第１のデータ通信装置とを１つの接続ポートを用いて接続する第１の接続工程と、
新たな接続先となる第２のデータ通信装置から接続要求を受け付けた場合、前記第１のデータ通信装置が使用する接続ポートを用いて前記第２のデータ通信装置を接続できるかどうかを前記接続ポートに設定される前記共有条件に従って判断する判断工程と、
前記第２のデータ通信装置を接続できると判断した場合、前記第１のデータ通信装置との通信中に、前記第１のデータ通信装置が使用する接続ポートを介して前記画像処理装置と前記第２のデータ通信装置とをデータ通信可能に接続する第２の接続工程と、
を備えることを特徴とする接続確立制御方法。
【請求項７】
請求項６記載の接続確立制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して機器同士の接続を確立するためのサーバ装置、接続確立制御方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来、通信機能を備えるポータブルデバイス相互間でデータのやり取りを行う際、TCP/IPなどのプロトコルを用いてネットワーク通信を確立していた（例えば、特許文献１）。
【０００３】
通常、ポータブルデバイスごとに接続I/F（プロトコルを含む）や対応するデータ形式が異なる。そのため機器間での直接ネットワーク通信を行う場合、接続元の端末側でドライバなどのソフトウェアを用いることでI/Fの差異や対応データの差異を吸収する必要があった。
【０００４】
近い将来、あらゆる機器がネットワークに対応し、使用する端末も多様化およびモバイル化していく傾向が強まる。その動きに伴い、例えば、外出先でモバイル機器からプリンタへ印刷するなどのケースのように、ポータブルデバイス同士を偶発的に接続する機会が増加していくことが予想される。現在の技術だと接続元デバイスにあらかじめ、接続先となりうるあらゆる接続先ポータブルデバイスに対応するドライバを導入しておくことが必要である。しかしモバイル機器のような場合いつどこでどのようなポータブルデバイスと接続を試みるかわからないので非現実的である。
この課題を解決するために、以下のようなシステムの特許提案がなされている(特許文献２)。
【０００５】
接続先ポータブルデバイスの外観画像と位置情報等の識別情報とに紐づく接続ポートを管理する接続サーバを用意する。接続先デバイスの外観画像と位置情報を含む接続指示を接続元デバイスから接続サーバへ送信する。その送信を受けた接続サーバは、接続先デバイスに紐づく接続ポートへと誘導する。このことによりポータブルデバイス同士の接続をより簡単に実現できるようになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１６９１８７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来例のシステムを用いて会議などでプレゼンテーションを行う場合を考える。その場合、接続元デバイスが発表者のポータブルデバイスで、接続先デバイスが会議室のプロジェクター（画像投影装置）となる。
この状況で会議の参加者がポータブルデバイスを持っている場合、手元のポータブルデバイスでもプロジェクターで投影されている画像を参照したいという要望が発生する。上記特許提案のシステムを用いて、発表者のポータブルデバイスから、参加者の手元のポータブルデバイスの外観画像と位置情報などの識別情報を接続サーバに送付することにより接続することは可能である。しかし参加者が多数の場合は、接続元の発表者のポータブルデバイスと接続サーバ間に接続先デバイスと同じ個数の通信コネクションを生成する必要がある。
しかし、通常、ポータブルデバイスと接続サーバ間は３G通信などの低速、狭幅の通信手段で接続されているため大量の通信コネクションを張ることは困難である。
【０００８】
また、ポータブルデバイスのCPUは、サーバなどが備えるＣＰＵの処理速度と比較すると、低速である。そのため、発表者のポータブルデバイスと接続サーバ間に大量の通信コネクションを張り、それぞれの通信コネクションで発表データを並行に送信することは困難である。
さらに、各ポータブルデバイスの入出力データ形式が異なる場合には、接続元と接続先とのデータ形式を調整するため、接続されているポータブルデバイスの入出力データ形式に適応した変換フィルタを生成する必要がある。このため、各ポータブルデバイスからの接続要求が増えてしまうと、変換フィルタの数も増えて、管理すべきサーバ装置側の負担も増えてしまうという新たな課題に対処しなければならない。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、接続先となるデータ通信装置からの接続要求が増えても、接続ポートの作成数を抑えて、接続要求に対する負担を軽減した状態でデータ通信を行う仕組みを提供することである。
さらに、接続要求される入出力データ形式に応じて作成すべき変換フィルタの数を制限して、既に作成された変換フィルタリソースを効率的に使用してデータ通信装置とのデータ通信を行える仕組みを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明のサーバ装置は以下に示す構成を備える。
ネットワークを介して複数のデータ通信装置と、画像処理装置とを接続してデータの通信を行うサーバ装置であって、前記画像処理装置と複数のデータ通信装置とが通信するために作成された接続ポートのポート情報を複数のデータ通信装置で共有可能かどうかを識別する共有条件を設定して管理する管理手段と、接続元となる第１のデータ通信装置から受け付ける接続要求に従って前記画像処理装置と当該第１のデータ通信装置とを１つの接続ポートを用いて接続する第１の接続手段と、新たな接続先となる第２のデータ通信装置から接続要求を受け付けた場合、前記第１のデータ通信装置が使用する接続ポートを用いて前記第２のデータ通信装置を接続できるかどうかを前記接続ポートに設定される前記共有条件に従って判断する判断手段と、前記第２のデータ通信装置を接続できると判断した場合、前記第１のデータ通信装置との通信中に、前記第１のデータ通信装置が使用する接続ポートを介して前記画像処理装置と前記第２のデータ通信装置とをデータ通信可能に接続する第２の接続手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、接続先となるデータ通信装置からの接続要求が増えても、接続ポートの作成数を抑えて、接続要求に対する負担を軽減した状態でデータ通信を行うことができる。
さらに、接続要求される入出力データ形式に応じて作成すべき変換フィルタの数を制限して、既に作成された変換フィルタリソースを効率的に使用してデータ通信装置とのデータ通信を行える。
【００１１】
したがって、画像処理装置と１つのデータ通信装置とがネットワークを介して接続されるシステムにおいて、あらたに接続要求されるポータブルデバイスが既に親子関係接続が確立された接続ポートを利用して接続元のデータ通信装置と接続処理を行える。
【図面の簡単な説明】
【００１２】
【図１】サーバ装置を適用可能なデータ処理システムの構成を説明する図である。
【図２】図１に示した画像投影装置のハードウェア構成を示すブロック図である。
【図３】図１に示したポータブルデバイスのハードウェア構成を示すブロック図である。
【図４】図１に示した情報処理装置のハードウェア構成を示すブロック図である。
【図５】データ処理システムが備える各機能モジュールを示す図である。
【図６】図５に示した接続ポート管理部が管理するテーブルを示す図である。
【図７】図１に示したポータブルデバイスで動作するソフトウェアの画面を示す図である。
【図８】本実施形態を示すデータ処理システムにおけるデータ通信処理を説明するフローチャートである。
【図９】本実施形態を示すデータ処理システムにおけるデータ通信処理を説明するフローチャートである。
【図１０】データ処理システムが備える各機能モジュールを示す図である。
【図１１】本実施形態を示すデータ処理システムにおけるデータ通信処理を説明するフローチャートである。
【図１２】データ処理システムが備える各機能モジュールを示す図である。
【発明を実施するための形態】
【００１３】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１４】
図１は、本発明に係るサーバ装置を適用可能なデータ処理システムの構成を説明する図である。本例は、サーバ装置を接続サーバとし、接続元のデータ通信装置と接続先となる画像処理装置、データ通信装置をネットワークを介して接続して、会議等などでプレゼンテーションを行うシステム例である。なお、本実施形態では、画像処理装置を画像投影装置、データ通信装置をポータブルデバイス（パッドデバイスを含む）で構成する例を説明するが、これらのデバイスに限定されることはなく、同等の通信機能と表示機能を備えていれば適用可能である。
具体的に、本システムは、接続元デバイスが発表者のポータブルデバイスで、接続先デバイスが会議室のプロジェクターなどの画像投影装置となる。この状況で会議の参加者がポータブルデバイスを持っている場合、手元のポータブルデバイスでもプロジェクターで投影されている画像を参照したいという要望が発生する。この場合において、発表者のポータブルデバイスから、参加者の手元のポータブルデバイスの外観画像と位置情報などの識別情報を接続サーバに送信する。この操作により、発表者から参加者の有するデバイスに対して通信を確立することが可能となる。
【００１５】
本例は、ネットワーク接続確立装置を構成する各装置がインターネット１０１を介して接続されている。ここで、ネットワーク接続確立装置を構成している各装置とは、画像投影装置１０２、接続サーバ１０３、ポータブルデバイス１０４Ａ、情報処理装置１０５およびポータブルデバイス１０４Ｂである。なお、ポータブルデバイス１０４Ａ、１０４Ｂは、通信機能を備えるポータブルデバイス、デジタルカメラで構成することも可能である。
【００１６】
図１において、インターネット１０１は、各装置間で情報をやり取りするための通信回線網である。なお、画像投影装置１０２、ポータブルデバイス１０４、情報処理装置１０５からは、接続サーバ１０３への通信はファイアーウォールに遮断されることなく行えるものとする。また、接続サーバ１０３は、１台のサーバコンピューターで構成されているが、複数台で構成されていてもかまわない。複数台で構成される場合はサーバコンピューター間での通信はファイアーウォールに遮断されることなく行えるものとする。
インターネット１０１は、例えば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網であり、接続方式に関しては有線・無線は問わない。
【００１７】
図２は、図１に示した画像投影装置１０２のハードウェア構成の一例を示すブロック図である。
図２において、画像投影装置１０２は、投影ユニット２０２、ＣＰＵ２０４、ＲＯＭ２０５、ＲＡＭ２０６、Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０７、ＮＩＣ２０８、バス２０９から構成される。なお、ここで、ＮＩＣはＮｅｔｗｏｒｋ  ＩｎｔｅｒｆａｃｅＣａｒｄの略である。以下省略して表記する。
【００１８】
画像投影装置１０２は、ＣＰＵ２０４により制御され、ＲＯＭ２０５内のプログラム用ＲＯＭに記憶された制御プログラム等に基づいてバス２０９に接続される投影ユニット２０２に出力情報としての画像信号を出力する。
ＲＯＭ２０５内には、ＣＰＵ２０４の制御プログラムが記憶されている。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０７は操作パネルへの画面表示や、キー入力等を受け付ける。ＮＩＣ２０８は、ネットワークに接続されおり、ポータブルデバイス１０４や、情報処理装置１０５などとの通信処理が可能となっている。ＲＡＭ２０６は、ＣＰＵ２０４の主メモリや、ワークエリア等として機能する。
図３は、図１に示したポータブルデバイス１０４のハードウェア構成の一例を示すブロック図である。
【００１９】
図３において、ポータブルデバイス１０４は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース３０４、ＮＩＣ３０５、撮影ユニット３０６、位置情報取得ユニット３０７、バス３０８から構成される。
【００２０】
ＣＰＵ３０１は、ＲＯＭ３０３のプログラム用ＲＯＭにロードされたＯＳや一般アプリケーション、プログラムを実行するとともに、バス３０８に接続される各デバイスを総括的に制御する。
ＲＯＭ３０３は、ＣＰＵ３０１の制御プログラムであるオペレーティングシステムプログラムや、各種データを記憶する。ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース３０４は、ディスプレイ表示やディスプレイ上からのキー入力等を制御する。
ＮＩＣ３０５は、ネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。撮影ユニット３０６は、画像の撮影を行う。位置情報取得ユニット３０７はＧＰＳなどを利用してポータブルデバイスの現在位置を取得する。
【００２１】
図４は、図１に示した情報処理装置１０５のハードウェア構成の一例を示すブロック図である。
図４において、情報処理装置１０５は、ＣＰＵ４０１、ＲＡＭ４０２、ＲＯＭ４０３、Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース４０４、ＮＩＣ４０５、バス４０６から構成される。各デバイスの役割は、ポータブルデバイス１０４と同様であるため、詳細説明は割愛する。接続サーバ１０３は、図４の情報処理装置１０５と同様なハードウェア構成である。そのためハードウェア構成の詳細説明は割愛する。
ここで、接続サーバ１０３は、作成する１つの接続ポートに関わるポート情報を管理する接続ポート管理部、デバイス接続受付部、データ変換管理部、データ受付部、データ変換フィルタ、データバッファ、データ取得部として機能するモジュールを記憶している。そして、接続サーバ１０３のＣＰＵは、ＮＩＣ等を介して接続要求されるポータブルデバイスのモジュールと通信することで各種のデータ通信処理を実行する。
ここで、デバイス接続受付部は、接続ポート管理部と協働して、接続元となる第１のデータ通信装置から受け付ける接続要求に含まれる特定情報とポート情報とで特定される接続ポートを用いて接続先の画像投影装置とポータブルデバイス１０４とを接続する。
【００２２】
また、デバイス接続受付部は、接続ポート管理部と協働して、新たな接続先となるポータブルデバイス１０４から受け付ける接続要求に含まれる特定情報とポート情報とで特定される接続ポートが使用中で、かつ、共有可能な接続ポートであるかどうかをポート情報に基づいて判断する。
ここで、デバイス接続受付部が接続ポートが使用中で、かつ、共有可能であると判断した場合、先に接続したポータブルデバイス１０４が使用する接続ポートを用いる通信コネクションを分岐する処理（詳細は後述する）を行う。
【００２３】
また、デバイス接続受付部は、分岐する通信コネクションを用いて後から接続要求されたポータブルデバイス１０４を接続中のポータブルデバイス１０４が使用中の接続ポートに接続する処理（詳細は後述する）を行う。なお、本実施形態並びにその他の実施形態において、特定情報には、画像投影装置の位置情報及び外観情報と、接続先のデータ通信装置（ポータブルデバイス１０４（１０４Ａ、１０４Ｂ））を識別する識別情報とを含む。
【００２４】
図５は、本実施形態を示すデータ処理システムが備える各モジュールを示すブロック図である。本例では、複数のポータブルデバイス１０４Ａ、１０４Ｂが接続されるが、ポータブルデバイス１０４が接続される例を説明し、複数のポータブルデバイスが接続されて通信が確立する処理については図１０等を用いて後述する。以下、各モジュールの機能処理を説明する。
図５において、画像投影装置１０２のデータ要求部５０１および出力制御部５０２の機能は、ソフトウェアで実現され画像投影装置１０２のＣＰＵ２０４で実行される。ポータブルデバイス１０４の位置情報取得部５０９と、撮像部５１０と、データ送受信部５１１および出力制御部５２２は、ソフトウェアで実現されポータブルデバイス１０４ＢのＣＰＵ３０１で実行される。
情報処理装置１０５の情報送信部５１５は、ソフトウェアで実現され情報処理装置１０５のＣＰＵ４０１で実行される。接続サーバ１０３の接続ポート５０４は、フトウェアで実現され、接続サーバ１０３のＣＰＵ４０１で実行される。
【００２５】
接続サーバ１０３の接続ポート５０４のサブ機能である接続ポート管理部５０５、データ受付部５０６、データバッファ５０７もソフトウェアで実現され、接続サーバ１０３のＣＰＵ４０１で実行される。同様に、接続サーバ１０３のデータ取得部５０８、データ変換フィルタ５１４、デバイス接続受付部５１２およびデータ変換管理部５１６もソフトウェアで実現され、接続サーバ１０３のＣＰＵ４０１で実行される。
【００２６】
データ要求部５０１は、接続サーバ１０３に対して接続を行い、画像投影装置１０２で投影する画像などのデータを要求する機能を有する。出力制御部５０２は、データ要求部５０１が取得したデータを実際に処理・出力する機能を有する。接続ポート管理部５０５は、接続ポート５０４を作成・削除・管理する機能を有する。
【００２７】
また、接続ポート管理部５０５は接続要求を発信した画像投影装置１０２のデータ要求部５０１に対し、接続ポート５０４に含まれるデータ取得部５０８へ接続を行うよう、誘導する機能を有する。ここで、接続サーバ１０３の接続ポート５０４は、データ受付部５０６、データバッファ５０７、データ取得部５０８、データ変換フィルタ５１４で構成されている。
【００２８】
この例で接続ポート５０４は、画像投影装置１０２に対応しており、一つの画像投影装置に対して一つの接続ポートが作成される。接続サーバ１０３のデータ受付部５０６は、ポータブルデバイス１０４から送信されてくるデータを受け付ける機能を有する。
また、接続サーバ１０３のデータ受付部５０６は、データ変換管理部５１６からポータブルデバイス１０４が送信するデータの形式と画像投影装置１０２が受信できるデータの形式をキーに対応するデータ変換フィルタ５１４を取得し、データ変換を依頼する。
接続サーバ１０３のデータ変換フィルタ５１４は、データ受付部５０６から受け取ったデータを変換し、データバッファ５０７に渡す。
【００２９】
接続サーバ１０３のデータバッファ５０７は、データ変換フィルタ５１４からのデータを受け付け、保持し、データ取得部５０８からの依頼によりデータを渡す。ここでデータバッファ５０７がデータ取得部５０８にデータを渡す順序は先入れ先出し（ＦＩＦＯ）である。接続サーバ１０３のデータ取得部５０８は、データバッファ５０７に対して定期的にテータを要求し、データを取得できた場合には、画像投影装置１０２のデータ要求部５０１に対してデータを送信する。
【００３０】
ポータブルデバイス１０４の位置情報取得部５０９は、ポータブルデバイス１０４Ｂの存在する位置の情報を、ＧＰＳなどの位置情報取得ユニット３０７を利用して取得する。
ポータブルデバイス１０４の撮像部５１０は、ユーザが撮影ユニット３０６により撮影したポータブルデバイス１０４付近に存在する画像投影装置の外観情報を取得する。
ポータブルデバイス１０４のデータ送受信部５１１は、位置情報取得部５０９および撮像部５１０が取得した位置情報および外観情報を元に、接続サーバ１０３に対して接続要求を行う。また、ポータブルデバイス１０４のデータ送受信部５１１は、接続が確立された後、ポータブルデバイス１０４内に格納されているデータをデータ受付部５０６へと送信する。なお、５２２は出力制御部で、詳細は後述する。
【００３１】
接続サーバ１０３のデバイス接続受付部５１２は、ポータブルデバイス１０４のデータ送受信部５１１からの接続要求を受け付け、データ送受信部５１１に対してデータ受付部５０６へ接続を行うよう誘導する。
また、デバイス接続受付部５１２は、ポータブルデバイス１０４から受け取った位置情報および外観情報を元に、接続ポート管理部５０５に問い合わせることで、データ受付部５０６を特定する機能を有する。デバイス接続受付部５１２は、接続ポート管理部５０５に対して、受付キーと画像投影装置１０２の外観情報とを送信する機能を有する。受付キーについては後述する。
【００３２】
接続サーバ１０３の接続ポート管理部５０５は、後述する受付キー６０１−７に設定する受付キーを生成する機能を有する。また、接続ポート管理部５０５は、さらに接続要求時に含まれる画像投影装置１０２の外観情報とすでに登録済みの他のデバイスの外観情報との類似度判定を行う機能を有する。
【００３３】
図６は、図５に示した接続ポート管理部５０５が管理するテーブルの一例を示す図である。本実施形態において、接続ポート管理部５０５は、ポータブルデバイス１０４と画像投影装置１０２とが通信するために作成された接続ポートのポート情報を複数のデータ通信装置で共有可能かどうかを識別可能に管理する各テーブルを作成する。なお、ポータブルデバイス１０４は、識別する場合には、ポータブルデバイス１０４Ａ、１０４Ｂと表記して説明する。
図６において、テーブル６０１は、接続ポートの情報を管理するテーブルである。テーブル６０１の１つのレコードが、接続サーバ１０３内に作成される接続ポート５０４に対応する。なお、テーブル６０１は、接続ポートを識別するＩＤ６０１−１と、デバイス識別子６０１−２、デバイス機種ＩＤ６０１−３，仮想ポートデータ受付部アドレス６０１−４、位置情報６０１−５，外観情報６０１−６、受付キー６０１−７を含んで構成される。さらに、テーブル６０１は、入力データ形式６０１−８、使用状況６０１−９、共有許可フラグ６０１−１０、仮想ポートデータ取得部ＩＤリスト６０１−１１、データ分岐部６０１−１２を含んで構成される。
【００３４】
また、テーブル６０１は、接続ポート生成時に動的にレコードが追加され、接続要求時にレコードの情報が更新される。
また、テーブル６０２は、接続サーバと通信するデバイス機器の情報を管理するテーブルである。テーブル６０２は本システムの対象デバイスが増加する度に、管理者が情報を追加していくテーブルである。テーブル６０１とテーブル６０２は、双方のテーブルのデバイス機種ＩＤで関連づけられている。
なお、テーブル６０２は、デバイス機種ＩＤ６０２−１、デバイスタイプ６０２−３、機種名６０２−４、入力データ形式６０２−５、出力データ形式６０２−６等を含んで構成される。
【００３５】
テーブル６０３は、入力データ形式６０３−２と出力データ形式６０３−３の内容をキーにデータ変換フィルタ６０３−１を管理するテーブルである。テーブル６０３は扱う入出力データ形式が増えた時に管理者が情報を追加しているテーブルである。テーブル６０１とテーブル６０３は、データ変換フィルタＩＤ６０３−１のＩＤで関連づけられている。なお、テーブル６０３は、データ変換フィルタＩＤ６０３−１、入力データ形式６０３−２、出力データ形式６０３−３等を含んで構成される。
【００３６】
６０４は、データ変換フィルタＩＤ６０４−１とデータ変換フィルタのプログラムオブジェクトのアドレス６０４−２のテーブルである。ここで、テーブル６０４は、扱う入出力データ形式が増えた時に管理者が情報を追加しているテーブルである。なお、テーブル６０４は、データ変換フィルタＩＤ６０４−１、データ変換フィルタのプログラムオブジェクトのアドレス６０４−２を含んで構成される。なお、テーブル６０３とテーブル６０４は、データ変換フィルタＩＤ６０３−１，６０４−１で関連づけられている。
【００３７】
６０５は仮想ポートデータ取得部ＩＤ６０５−１、仮想ポートデータ取得部アドレス６０５−２、データバッファ６０５−３、データ変換フィルタＩＤ６０５−４、変換データ分岐部６０５−５のテーブルである。なお、テーブル６０５は、仮想ポートデータ取得部ＩＤ６０５−１、仮想ポートデータ取得部アドレス６０５−２、データバッファ６０５−３、データ変換フィルタＩＤ６０５−４、変換データ分岐部６０５−５等を含んで構成される。また、テーブル６０１とテーブル６０５は、仮想ポートデータ取得部ＩＤで関連づけられている。変換データ分岐部については後述する第２実施形態において説明する。
【００３８】
図７は、図１に示したポータブルデバイス１０４で動作するソフトウェアの画面を示す図である。なお、ソフトウェアはデータ送受信部５１１、撮像部５１０、位置情報取得部５０９が含まれる。
図７において、７０１は撮像部５１０を動作させるためのボタンであり、押下することで撮影ユニット３０６で撮影した画像を領域７０２に表示させることができる。
ここで、領域７０２は、撮影ユニット３０６で撮影した画像を表示させる領域であり、データの出力先デバイス、つまり本実施例では画像投影装置１０２の外観情報ＩＭを表示させて使用する。
７０３はボタンで、領域７０２で表示させた出力先デバイスに対して、ポータブルデバイス１０４のユーザが指定するデータを出力するジョブを、接続サーバ１０３に接続し投入する際に押下される。ここで、本例では、出力先デバイスとして画像投影装置１０２の外観情報ＩＭが表示されている例である
７０４はポータブルデバイス１０４内に保存されているデータのパスを指定する領域である。
【００３９】
７０５は、画像投影装置１０２で動作するソフトウェアの画面例であり、ソフトウェアには、データ要求部５０１、出力制御部５０２が含まれる。７０６は、画像投影装置１０２を表す画像情報を表示する領域である。本領域７０６に表示する画像は、画像投影装置１０２の製品出荷時にあらかじめ画像投影装置１０２内に装置画像データが格納されているものとする。なお、装置画像データは、画像投影装置１０２のＩｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０７もしくはＮＩＣ２０８経由で装置画像データを受け付け、それを表示する構成であってもよい。
【００４０】
７０７はオプションボタンであり、ポータブルデバイス１０４の領域７０２に表示された画像情報を表示せずに接続要求を行う場合にチェックを入れるボタンである。７０８は画像投影装置１０２の接続ポートを共有可能にする場合にチェックをいれるボタンである。７０９は、接続要求を実行開始するためのボタンである。７１０は、接続要求の状況や結果を表示するための領域である。
【００４１】
図８は、本実施形態を示すデータ処理システムにおけるデータ通信処理を説明するフローチャートである。本例は、画像投影装置１０２から接続サーバ１０３に対して接続を確立するための、接続ポート生成要求を処理するシーケンス例である。なお、各ステップは、接続サーバ１０３、情報処理装置１０５、画像投影装置１０２のＣＰＵがＲＯＭやＨＤＤ等の記憶された制御プログラムをＲＡＭにロードして実行することで実現される。なお、以下の接続確立制御例の説明では、制御主体をモジュールとして説明する。
なお、接続ポート生成要求送信は、図７に示したポータブルデバイス１０４Ｂのボタン７０３がユーザにより押下されることにより開始される。
【００４２】
まず、Ｓ８０１で、画像投影装置１０２のデータ要求部５０１は、ユーザがボタン７０３を押下したことを受け付けて接続ポート生成要求を接続サーバ１０３の接続ポート管理部５０５に対して送信する。この接続ポート生成要求には、画像投影装置１０２が記憶しているデバイス識別子、デバイスタイプ、機種名が含まれる。画像投影装置１０２が設置されている場所の位置情報と画像投影装置１０２の外観情報は含まれていても、いなくても構わない。
【００４３】
次に、Ｓ８０２で、接続サーバ１０３の接続ポート管理部５０５は、画像投影装置１０２から接続ポート生成要求を受け取る。ここで、接続ポート管理部５０５は、受け取った接続ポート生成要求に画像投影装置１０２の位置情報と外観情報が含まれているかどうかを判断する。そして、受け取った接続ポート生成要求に画像投影装置１０２の位置情報と外観情報が含まれていると判断した場合、接続ポート管理部５０５はＳ８０８へ処理を進める。どちらかが含まれていないと接続ポート管理部５０５が判断した場合には、Ｓ８０３へと処理を進める。
【００４４】
そして、Ｓ８０３で、接続ポート管理部５０５は、Ｓ８０１の接続ポート生成要求に対して仮受付したことを示す受付キーを生成する。ここで、受付キーは一意に特定できる情報であればよく例えば数値でも文字列でも構わない。更に接続ポート管理部５０５は、画像投影装置１０２のデータ要求部５０１から送信された接続ポート生成要求に含まれる情報とこの受付キー６０１−７とを含むレコードをテーブル６０１に追加する。
【００４５】
その後、接続ポート管理部５０５は、画像投影装置１０２のデータ要求部５０１に対して受付キー６０１−７を応答として送信する。受付キー６０１−７の送信後、接続ポート管理部５０５は、仮接続要求の情報を保持した状態で待機する。
次に、Ｓ８０４で、画像投影装置１０２のデータ要求部５０１が接続サーバ１０３の接続ポート管理部５０５から送られてきた受付キー６０１−７を受信し、ポータブルデバイス１０４Ｂの領域７０４に表示する。この結果、画像投影装置１０２の操作者は、接続サーバ１０３から受付キーを入手することができる。
【００４６】
Ｓ８０６で、情報処理装置１０５の情報送信部５１５は、操作者によって入力された受付キーと画像投影装置１０２の外観情報を接続サーバ１０３の接続ポート管理部５０５へ送信する。そして、Ｓ８０７では、接続サーバ１０３の接続ポート管理部５０５が情報処理装置１０５の情報送信部５１５から送信されてきた受付キーを元に対応する待機中の仮接続要求を探し出す。そして、さらに、接続サーバ１０３の接続ポート管理部５０５が仮接続要求と情報送信部５１５から送信されてきた位置情報と外観情報の紐付を行う。
【００４７】
次に、Ｓ８０８では、接続サーバ１０３の接続ポート管理部５０５がテーブル６０１に格納されている既存の他のデバイスの外観情報６０１−６とＳ８０１またはＳ８０７で情報処理装置１０５から受信した外観情報とを比較して類似度を判定する。
【００４８】
ここで、外観情報の類似度判定に関しては、画像の領域内に含まれる色の分布具合を比較して判定するなど既知の技術を利用する。そのため、類似度判定処理の詳細についてはここでは説明しない。
そして、Ｓ８０９では、接続ポート管理部５０５が類似度判定の結果、ある一定値以上の類似度であると判断している場合は、Ｓ８１０へ進み、それ以外と判断した場合は、Ｓ８１２へと進む。
【００４９】
次に、Ｓ８１０では、接続ポート管理部５０５がＳ８０９で類似の外観情報があると判定しているので、新たな接続ポートの生成を接続ポート管理部５０５が登録拒否する通知を、画像投影装置１０２のデータ要求部５０１へ送信する。Ｓ８１１では、データ要求部５０１は既に登録済みであることを示す登録拒否通知を受信して、本処理を終了する。
一方、Ｓ８１２では、接続ポート管理部５０５がデータ要求部５０１および情報送信部５１５から受信した接続ポート生成要求のために新しい接続ポート５０４を生成する。
【００５０】
ここで、接続ポート管理部５０５が新しい接続ポート５０４を生成するとき、データ受付部５０６、データバッファ５０７、データ取得部５０８も同時に生成され、データバッファ５０７とデータ取得部５０８は接続される。
【００５１】
さらに、接続ポート管理部５０５は、その接続ポートを管理するために、図５に示したようにＳ８０２でテーブル６０１に追加したレコードに対して、新しい接続ポートに関する情報を、次に示すように格納する。
まず、接続ポート管理部５０５は、追加したレコードのＩＤとして一意に決まる接続ポートのＩＤ情報を生成してテーブル６０１に格納する。次に、接続ポート管理部５０５は、Ｓ８０１の接続ポート生成要求のデバイスタイプ、機種名を用いてテーブル６０２から該当するデバイス機種ＩＤ６０１−３の内容を検索する。
【００５２】
そして、接続ポート管理部５０５は、検索結果をテーブル６０１の作成した接続ポートのためのレコードのデバイス機種ＩＤＩＤ６０１−３へ格納する。そして、接続ポート管理部５０５は、作成した接続ポートのデータ取得部５０８のＩＤを格納する。なお、作成した接続ポートのデータ取得部５０８のＩＤのカラムは複数個のＩＤを格納できる。
さらに、接続ポート管理部５０５は、テーブル６０５に作成した接続ポートのデータ取得部５０８のＩＤと接続ポートのデータ取得部５０８のアドレス、データバッファを追加する。ここで、接続ポートは未使用であるためテーブル６０５のデータ変換フィルタＩＤは空白を格納する。
更に、接続ポート管理部５０５は、接続ポートのデータ受付部５０６のアドレスを格納する。なお、接続ポートの生成時、接続ポートは使用中ではないので、使用状況へは未使用を格納する。更に図７に示したボタン７０８がチェックされていた場合、接続ポート管理部５０５は、共有許可フラグにＹｅｓを格納し、チェックされていない場合にはＮｏを格納する。
【００５３】
そして、Ｓ８１３で、接続ポート管理部５０５は、データ要求部５０１に対してＳ８１２で生成した新しい接続ポート５０４のデータ取得部５０８へリダイレクトするようリダイレクト応答を画像投影装置１０２へ返す。Ｓ８１４では、画像投影装置１０２のデータ要求部５０１が接続ポート管理部５０５からのリダイレクト応答を受けて接続サーバ１０３のデータ取得部５０８へとリダイレクトを行う。
そして、Ｓ８１５ではデータ取得部５０８がデータ要求部５０１からの接続要求を受け付けて接続の確立を行う。ここでの接続確立は、ＣＯＭＥＴやＷＥＢ  Ｓｏｃｋｅｔといった双方向通信可能な接続形態での接続確立を意味する。
上述した図８のシーケンスを実行することにより、接続サーバ１０３に画像投影装置１０２用の接続ポート５０４が作成され、画像投影装置１０２との接続が確立される。
【００５４】
図９は、本実施形態を示すデータ処理システムにおけるデータ通信処理を説明するフローチャートである。本例は、ポータブルデバイス１０４Ａ、１０４Ｂから接続サーバ１０３に対して接続を確立するシーケンス例である。なお、各ステップは、接続サーバ１０３のＣＰＵがＲＯＭやＨＤＤ等の記憶された制御プログラムをＲＡＭにロードして実行することで実現される。なお、以下の接続確立制御例の説明では、制御主体をモジュールとして説明する。
【００５５】
図１０は、本実施形態を示すデータ通信システムのモジュール構成を説明するブロック図である。
図１０において、接続サーバ１０３には、通信可能なポータブルデバイスまたは画像投影装置の入出力データ形式を識別情報に従い登録する接続ポート管理部５０５を備える。  接続ポート管理部５０５は、第１のデータ通信装置（ポータブルデバイス１０４Ａ）又は第２のデータ通信装置（ポータブルデバイス１０４Ｂ）からの接続要求に含まれる特定情報と識別情報に基づいて、それぞれの入出力データ形式を判別する。さらに、データ変換管理部５１６は、判別した入出力データ形式に対応して、前記接続ポートから出力されるデータの形式を接続元となる第１のデータ通信装置又は接続先となる第２のデータ通信装置のデータ形式に変換するための変換フィルタを作成する。
【００５６】
さらに、デバイス接続受付部５１２は、ポータブルデバイス１０４Ａから受け付ける接続要求を受け付ける。そして、デバイス接続受付部５１２は、受け付けた接続要求に含まれる特定情報とポート情報とで特定される接続ポートと作成された変換フィルタを用いて接続先の画像投影装置とポータブルデバイス１０４Ａとを接続する第１の接続処理を行う。
さらに、デバイス接続受付部５１２は、ポータブルデバイス１０４Ｂから接続要求を受け付ける。そして、デバイス接続受付部５１２は、受け付けた接続要求に含まれる特定情報とポート情報とで接続ポートを特定する。そして、デバイス接続受付部５１２は、特定した接続ポートと作成された変換フィルタを用いてポータブルデバイス１０４Ａと当該ポータブルデバイス１０４Ｂとを接続してデータの通信を行う第２の接続処理を行う。
【００５７】
〔ポータブルデバイス１０４Ａとの通信確立処理〕
始めに、ポータブルデバイス１０４Ａから接続サーバ１０３に対して接続を確立するシーケンスを説明する。
接続先の画像投影装置１０２は未使用状態で、他の接続元のデバイスと通信が確立されていない状態である。この接続要求はユーザがポータブルデバイス１０４Ａの図７で示されるボタン７０３の押下することを受け付けることで実行される。
このようにして、接続サーバ１０３はポータブルデバイス１０４Ａのボタン７０３の押下を受けて、Ｓ９０１において、ポータブルデバイス１０４Ａのデータ送受信部５１１Ａが接続サーバ１０３のデバイス接続受付部５１２に対して接続要求を行う。
【００５８】
また、この接続要求には、画像投影装置１０２の位置情報と画像投影装置１０２の外観情報が含まれる。ここでは、画像投影装置１０２の位置情報とは、位置情報取得部５０９が取得するポータブルデバイス１０４Ａが存在する場所の位置情報と同一であると見なす。なお、撮影時にポータブルデバイス１０４Ａにおいて、撮影時の方角や、被写体までの距離を計測して画像投影装置１０２の位置情報を補正してもよい。この接続要求には、ポータブルデバイス１０４Ａのデバイス識別子、デバイスタイプ、機種名、および位置情報も含まれる。
【００５９】
次にＳ９０２では、データ送受信部５１１Ａによって実行された接続要求をデバイス接続受付部５１２が受信する。Ｓ９０３では、デバイス接続受付部５１２が受信された接続要求に含まれる外観情報と位置情報を元に接続ポート管理部５０５に問い合わせることで目的の接続ポート情報を検索・取得する。ここで、接続要求に含まれる外観情報は、テーブル６０１に登録されている画像情報と比較を行うが、双方の特徴量を抽出した上で比較を行うなど、公知の画像検索技術を用いる事を想定している。
【００６０】
一方、接続要求に含まれる位置情報に関しては、テーブル６０１に登録されている位置情報との距離を算出し、あらかじめ決められた閾値内にあるかどうかでＳ９０３の検索条件に適合するかどうかを判断する。Ｓ９０４では、検索条件に適合した接続ポートがないと判断した場合はＳ９０５へ進み、検索条件に適合した接続ポートがあると判断した場合には、Ｓ９０７へと進む。
【００６１】
そして、Ｓ９０５では、検索条件に適合した接続ポートがないので、接続ポート管理部５０５が該当の接続ポートが見つからないとの通知をデータ送受信部５１１Ａに対して送信する。次に、Ｓ９０６でデータ送受信部５１１Ａは、該当の接続ポートが見つからないとの通知を受信して、本処理を終了する。
【００６２】
一方、Ｓ９０７では、接続サーバ１０３のデバイス接続受付部５１２が、検索条件に適合した接続ポートの使用状況について接続ポート管理部５０５に問い合わせる。接続ポート管理部５０５は、テーブル６０１の該当の接続ポートの情報を参照し、未使用か、使用中かを判断した判断結果を返す。ここで、判断結果が未使用である場合はＳ９０８へ進み、使用中である場合には、Ｓ９１７へと進む。
【００６３】
Ｓ９０８では、デバイス接続受付部５１２は、ポータブルデバイス１０４Ａから送信した接続要求に含まれる情報を元に自ら管理するテーブル６０２からデバイスを特定し、テーブル６０２から特定したデバイスの出力データ形式６０２−６を取得する。
【００６４】
そして、Ｓ９０９では、デバイス接続受付部５１２は、テーブル６０１から該当の接続ポートのデバイス機種ＩＤ６０１−３を取得し、取得したデバイス機種ＩＤをキーにテーブル６０２からデバイスの入力データ形式６０２−６を取得する。
【００６５】
Ｓ９１０では、デバイス接続受付部５１２は、次の条件に一致するデータ変換フィルタのＩＤをテーブル６０３から取得する。ここで、テーブル６０３の入力データ形式カラムの値がＳ９０８で取得した出力データ形式と等しく、かつテーブル６０３の出力データ形式６０３−３の内容がＳ９０９で取得した入力データ形式と等しい。
【００６６】
更に、デバイス接続受付部５１２は、取得したデータ変換フィルタＩＤ６０３−１を使ってデータ変換管理部５１６からデータ変換フィルタを取得する。データ変換管理部５１６はテーブル６０４から、デバイス接続受付部５１２から渡されたデータ変換フィルタＩＤに対応するデータ変換フィルタのプログラムオブジェクトのアドレスを返す。
【００６７】
次に、Ｓ９１１では接続ポート管理部５０５は、テーブル６０１からＳ９０３で取得した接続ポート５０４のデータ受付部アドレス６０１−４を取得し、Ｓ９１０で取得したデータ変換フィルタ５１４Ａのプログラムオブジェクトと接続する。さらに、接続ポート管理部５０５は、テーブル６０１からＳ９０３で取得した接続ポート５０４の仮想ポートデータ取得部ＩＤリスト６０１−１１に含まれる仮想ポートデータ取得部ＩＤを取得する。
次に、接続ポート管理部５０５は、テーブル６０５から取得した仮想ポートデータ取得部ＩＤ６０５−１かつ、変換フィルタＩＤ６０５−４が空白のレコードを取得し、そのレコードに含まれるデータバッファ６０５−３の値を取得する。そして、Ｓ９１０で取得したデータ変換フィルタ５１４Ａとデータバッファ５０７Ａを接続する。
【００６８】
そして、Ｓ９１２では、デバイス接続受付部５１２は、テーブル６０１の該当の接続ポート５０４の使用状況を「使用中」に更新することを接続ポート管理部５０５に依頼する。その依頼を受けて、接続ポート管理部５０５は、使用状況を「使用中」に変更する。更に、デバイス接続受付部５１２は、テーブル６０１の該当の接続ポート５０４の入力データ形式６０１−８にＳ９０８で取得した接続要求するポータブルデバイス１０４の出力データ形式を保存するように接続ポート管理部５０５に依頼する。その依頼を受けて、接続ポート管理部５０５は、入力データ形式６０１−８にデバイスの出力データ形式を保存する。さらに、Ｓ９１２で、デバイス接続受付部５１２は、テーブル６０５から取得したレコードのデータ変換フィルタＩＤ６０５−４にＳ９１０で取得したデータ変換フィルタＩＤを保存する。
【００６９】
Ｓ９１３では、デバイス接続受付部５１２は、特定した接続ポート５０４に含まれるデータ受付部５０６へデータ送受信部５１１Ａを誘導するようリダイレクトの応答をポータブルデバイス１０４Ａに返す。
Ｓ９１４では、ポータブルデバイス１０４Ａは、データ送受信部５１１Ａがデバイス接続受付部５１２からのリダイレクト応答に従いデータ受付部５０６へ接続要求を行う。Ｓ９１５で、データ受付部５０６がデータ送受信部５１１Ａからの接続要求を受け付けて接続の確立を行う。
図９のＳ９０１からＳ９１５へつながるシーケンスよりポータブルデバイス１０４Ａと画像投影装置１０２との接続が確立され、図１０で示す接続の構成が確立される。
【００７０】
〔ポータブルデバイス１０４Ｂとの通信確立処理〕
次に、ポータブルデバイス１０４Ａと接続サーバ１０３との接続の確立後に、図１に示す別のポータブルデバイス１０４Ｂより接続サーバ１０３へ接続要求を出した場合の処理シーケンスについて説明する。
この処理シーケンスは、図９のＳ９１６、Ｓ９０２〜Ｓ９０４、Ｓ９０７、Ｓ９１７〜Ｓ９３２の流れとなる。最終的に確立される仮想ポート接続共有状態の機能モジュールの構成を図１０に示す。
【００７１】
この接続要求も、Ｓ９０１と同様に、ユーザによってポータブルデバイス１０４Ｂの図７で示されるボタン７０３の押下を受けると実行される。ボタン７０３の押下を受けて、Ｓ９１６では、ポータブルデバイス１０４Ｂのデータ送受信部５１１が接続サーバ１０３のデバイス接続受付部５１２に対して接続要求を行う。この接続要求に含まれる情報は、Ｓ９０１と同じである。
【００７２】
そして、Ｓ９０２〜Ｓ９０５における処理は既に説明したものと同じである。よってここでの説明を割愛する。なお、上述した処理によって、ポータブルデバイス１０４Ａと接続サーバ１０３との接続は既に確立されている。そのため、デバイス接続受付部５１２は、Ｓ９０７においてＳ９１７へと処理を進める。
Ｓ９１７で、デバイス接続受付部５１２は、接続要求のあった接続ポート５０４と、接続要求元のデバイスとの間で、接続ポート５０４のデータ取得部を分岐してよいかを接続ポート管理部５０５で確認する。接続ポート管理部５０５は、分岐許可の条件が成立するかを次の手順で判断する。
【００７３】
まず、Ｓ９０３で、接続ポート管理部５０５は、特定された接続ポート５０４のデバイス機種ＩＤに対応するレコードをテーブル６０１から取得する。次に、接続ポート管理部５０５は、取得したレコードの共有許可フラグ６０１−１０の値を確認する。この値がＹｅｓであると判断した場合、接続ポート管理部５０５は、分岐許可の条件が成立することをデバイス接続受付部５１２に返す。一方、取得したレコードの共有許可フラグ６０１−１０フィールドの値にＹｅｓが入っていないと接続ポート管理部５０５が判断した場合、分岐の条件が成立しないことを示す接続拒否通知をデバイス接続受付部５１２に返す。
【００７４】
そして、Ｓ９１７において、デバイス接続受付部５１２は分岐許可の条件が成立していないと判断した場合、Ｓ９１８に進め、分岐許可の条件が成立すると判断した場合、ポータブルデバイス１０４Ｂ用の新たなデータ取得部を作るために、Ｓ９２０に進む。
【００７５】
Ｓ９１８では、接続ポート管理部５０５が接続を拒否する通知をデータ送受信部５１１Ｂに対して送信する。Ｓ９１９で、データ送受信部５１１Ｂは、接続ができなかった旨の接続拒否通知を受信して、本処理を終了する。
【００７６】
一方、Ｓ９２０では、接続ポート管理部５０５は、ポータブルデバイス１０４Ｂから送信した接続要求に含まれる情報を元にテーブル６０２からデバイスを特定し、デバイスの入力データ形式６０２−５をテーブル６０２から取得する。
【００７７】
そして、Ｓ１１０１で、接続ポート管理部５０５は、Ｓ９０３で特定された接続ポート５０４のデバイス機種ＩＤ６０１−３に対応するレコードをテーブル６０１から取得する。そして、接続ポート管理部５０５は、テーブル６０１から取得したレコードの入力データ形式６０２−５の値とＳ９２０で取得した接続要求するポータブルデバイス１０４Ｂの入力データ形式をキーにテーブル６０３を参照する。そして、接続ポート管理部５０５は、テーブル６０３からデータ変換フィルタＩＤ６０３−１のデータ変換ＩＤを取得する。
【００７８】
更に、接続ポート管理部５０５は、取得したデータ変換ＩＤを使ってデータ変換管理部５１６からデータ変換フィルタ５１４Ｂを取得する。データ変換管理部５１６は、テーブル６０４から、接続ポート管理部５０５から渡されたデータ変換フィルタＩＤに対応するデータ変換フィルタのプログラムオブジェクトのアドレス６０４−２のアドレスを返す。
【００７９】
次にＳ９２２で、接続ポート管理部５０５は、Ｓ９０３で特定された接続ポート５０４のデバイス機種ＩＤに対応するレコードのデータ分岐部フィールドを取得する。そして、Ｓ９２３で、接続ポート管理部５０５は、Ｓ９２２でデータ分岐部６０１−１２の値が取得できているかどうかに基づいてデータ分岐部があるかないかを判断する。ここで、Ｓ９２２でデータ分岐部６０１−１２の値が取得できていると判断した場合は、Ｓ９２４に進み、取得できていないと判断した場合は、Ｓ９２５に進む。
【００８０】
そして、Ｓ９２５では、接続ポート管理部５０５はデータ分岐部を生成し、Ｓ９０３で特定された接続ポート５０４のデバイス機種ＩＤに対応するレコードのデータ分岐部６０１−１２に保存して、Ｓ９２４へ進む。
一方、Ｓ９２４では、接続ポート管理部５０５は、Ｓ９２３で取得、またはＳ９２５で生成したデータ分岐部を生成し、データ受付部５０６とデータ変換フィルタ５１４の間に挿入する。次に、Ｓ９２６で、接続ポート管理部５０５は、Ｓ９２１で取得したデータ変換フィルタ５１４ＢをＳ９２４で挿入したデータ分岐部に接続する。
【００８１】
そして、Ｓ９２７で、接続ポート管理部５０５は、データバッファ５０７Ｂとデータバッファ５０７ＢのＩＤを生成し、データバッファ５０７Ｂ（図１０参照）をデータ変換フィルタ５１４Ｂ（図１０参照）に接続する。次に、Ｓ９２８で、接続ポート管理部５０５は、データ取得部５０８Ｂを生成し、データ取得部５０８Ｂをデータバッファ５０７Ｂに接続する。
【００８２】
次に、Ｓ９２９で、接続ポート管理部５０５は、テーブル６０５に新規レコードを生成する。作成したレコードのデータ変換フィルタＩＤ６０５−４にＳ９２１で取得したデータ変換フィルタＩＤを保存する。そして、接続ポート管理部５０５は、作成したレコードのデータバッファ６０５−３にＳ９２７で生成したデータバッファ５０７Ｂの内容を保存する。
また、接続ポート管理部５０５は、作成したレコードの仮想ポートデータ取得部アドレス６０５−２にＳ９２８で生成した仮想ポートデータ取得部アドレス６０５−２の内容をデータ取得部５０８Ｂに保存する。
【００８３】
次に、Ｓ９３０では、デバイス接続受付部５１２は、特定した接続ポート５０４に含まれるデータ取得部５０８Ｂへデータ送受信部５１１Ｂを誘導するようリダイレクトの応答を返す。そして、Ｓ９３１では、データ送受信部５１１Ｂがデバイス接続受付部５１２からのリダイレクト応答に従いデータ取得部５０８Ｂへ接続要求を行う。次に、Ｓ９３２で、データ取得部５０８Ｂがデータ送受信部５１１からの接続要求を受け付けて接続の確立を行う。
【００８４】
本実施形態によれば、参加者のポータブルデバイスから接続先デバイスであるプロジェクターの外観画像と位置情報などの識別情報を接続サーバに送付することにより、接続サーバとプロジェクターの間の接続の分岐が行われる。そして、発表者のポータブルデバイスと参加者のポータブルデバイスの接続が確立される。これにより、従来は必要であった発表者のポータブルデバイスと接続サーバ間の通信コネクションを増やすことなく接続することができる。したがって、接続元と接続先の間の基本の接続に対して、より少ないリソースで追加の接続ができるようになる。
〔第２実施形態〕
【００８５】
第１実施形態に示す構成により、発表者のポータブルデバイスと接続サーバを接続する通信コネクションを増やすことなく、参加者のポータブルデバイスを接続サーバに接続することができることについて説明した。
しかし、ポータブルデバイスの接続を希望する参加者が増えた場合、それぞれの参加者のポータブルデバイス毎にデータ変換フィルタが生成されることになる。
【００８６】
このような接続状態において、接続サーバ１０３が動作するサーバコンピューターやクラウドシステムのコンピューティング資源が有限なことと、クラウドシステムにおいては使用したコンピューティング資源に応じ料金が課金される。よって、上述したデータ通信システムにおいて、データ変換フィルタを実行するために消費するコンピューティング資源を減らすことが新たな課題となる。
【００８７】
そこで、本実施形態では、データ変換管理部５１６が新たな通信先となる第２のデータ通信装置からの接続要求を受け付ける毎に、既に作成された変換フィルタを使用可能かどうかを判別するフィルタ判別処理を行う。そして、データ変換管理部５１６が既に作成された変換フィルタを使用可能であると判別した場合、変換フィルタの出力を分岐する出力分岐処理を後述するように実行する。これにより、デバイス接続受付部５１２は、接続元のポータブルデバイス１０４Ａと１０４Ｂとを接続して分岐された出力を用いてデータの通信を行う第２の接続処理を行う。以下、本実施形態をフローチャートに基づいて詳述する。
【００８８】
図１１は、本実施形態を示すデータ処理システムの制御方法を説明するフローチャートである。本例は、ポータブルデバイス１０４Ｂと接続サーバ１０３との接続の確立後に、ポータブルデバイス１０４Ｂと同じ機種である別のポータブルデバイス１０４Ｂから接続サーバ１０３に対して接続を確立するシーケンスを説明する。
【００８９】
図１２は、本実施形態を示すデータ通信システムのモジュール構成を説明するブロック図である。なお、図１０と同一のものには同一の符号を付して説明を省略する。
図１２において、１０４Ｂ２は、あらたな接続先となるポータブルデバイスで、同一の接続ポートと同一の変換フィルタを用いて接続サーバ１０２と通信する。５１１Ｂ２はデータ送受信部で、データ送受信部５１１Ｂと同一の機能を備える。５１０Ｂ２は撮影部で、撮影部５１０Ｂと同一の撮影機能を備える。５０９Ｂ２は位置情報取得部で、位置情報取得部５０９Ｂと同一の機能を備える。５２２Ｂ２は出力制御部で、出力制御部５２２Ｂと同一の機能を備える。
【００９０】
１２０１は変換データ分岐部で、ポータブルデバイス１０４Ｂとポータブルデバイス１０４Ａとの間の通信確立処理において作成されたデータ変換フィルタの出力を他のポータブルデバイスに分岐出力する機能を備える。
本実施形態の通信確立処理は、図１１に示すように、Ｓ１１０１、Ｓ９０２〜Ｓ９０４、Ｓ９０７、Ｓ９２０〜Ｓ９２２、Ｓ１１０２〜Ｓ１１０３〜Ｓ１１１２の流れとなる。最終的に確立される仮想ポート接続共有状態の機能モジュールの構成を図１２に示す。
【００９１】
この接続要求も、Ｓ９０１と同様に、別のポータブルデバイス１０４Ｂを操作するユーザが図７で示されるボタン７１３の押下を受けて実行される。ボタン７１３の押下を受けて、Ｓ１１０１では、別のポータブルデバイス１０４Ｂ（以下、ポータブルデバイス１０４Ｂとして説明する）のデータ送受信部５１１が接続サーバ１０３のデバイス接続受付部５１２に対して接続要求を行う。
なお、接続要求に含まれる情報は、Ｓ９０１と同じである。Ｓ９０２〜Ｓ９２２における処理は既に説明したものと同じである。よってここでの説明を割愛する。
【００９２】
Ｓ１１０２で、接続ポート管理部５０５は、Ｓ９０３で特定された接続ポート５０４のデバイス機種ＩＤに対応するレコードをテーブル６０１から取得する。接続ポート管理部５０５は、取得したテーブル６０１のレコードの仮想ポートデータ取得部ＩＤリストに含まれる仮想ポートデータ取得部ＩＤをキーにテーブル６０５のレコードを取得する。また、接続ポート管理部５０５は、取得したテーブル６０５のレコードのデータ変換フィルタのＩＤがＳ９２０で取得したデータ変換フィルタのＩＤと等しいかを調べる。ここで、等しいフィールドを含むレコードを見つけるまで、接続ポート管理部５０５は、取得したテーブル６０１のレコードの仮想ポートデータ取得部ＩＤリストに含まれるすべての仮想ポートデータ取得部ＩＤに対して行う。
【００９３】
そして、Ｓ１１０３で、接続ポート管理部５０５は、Ｓ１１０２においてＳ９２０で取得したデータ変換フィルタＩＤと等しいデータ変換フィルタＩＤを見つけているかを判定する。ここで、接続ポート管理部５０５が見つけていないと判断した場合は、Ｓ９２３に進み、Ｓ９２３以降の処理は、第１実施形態と同様である。
一方、接続ポート管理部５０５がＳ９２０で取得したデータ変換フィルタＩＤと等しいデータ変換フィルタＩＤを見つけていると判断した場合は、Ｓ１１０４にすすむ。
【００９４】
そして、Ｓ１１０４で、接続ポート管理部５０５は、Ｓ１１０２で見つけたＳ９２０で取得したデータ変換フィルタＩＤと等しいデータ変換フィルタＩＤをもつテーブル６０５のレコードの変換データ分岐部１２０１を取得する。
次に、Ｓ１１０５で、接続ポート管理部５０５は、Ｓ１１０４で変換データ分岐部を取得できているかどうかを判断する。ここで、接続ポート管理部５０５が変換データ分岐部を取得できていると判断した場合は、Ｓ１１０７に進み、取得できていないと判断した場合は、Ｓ１１０６に進む。
【００９５】
そして、Ｓ１１０６では、接続ポート管理部５０５は、変換データ分岐部１２０１を生成し、データ変換フィルタ５１４Ｂとデータバッファ５０７Ｂの間に挿入する。さらに、接続ポート管理部５０５は、Ｓ１１０２で見つけたＳ９２０で取得したデータ変換フィルタＩＤと等しいデータ変換フィルタＩＤをもつテーブル６０５のレコードの変換データ分岐部１２０１に生成した変換データ分岐部１２０１を保存する。
そして、Ｓ１１０７で、接続ポート管理部５０５は、データバッファ５０７Ｂ２を生成し変換データ分岐部１２０１に接続する。そして、Ｓ１１０８で、接続ポート管理部５０５は、データ取得部５０８Ｂ２を生成し、Ｓ１１０６で生成したデータバッファ５０７Ｂ２に登録する。
【００９６】
次に、Ｓ１１０９で、接続ポート管理部５０５は、テーブル６０５の新規レコードを生成する。接続ポート管理部５０５は、生成したテーブル６０５のレコードにＳ１１０７で生成したデータ取得部５０８Ｂ２のＩＤ、アドレスを保存する。そして、接続ポート管理部５０５は、生成したテーブル６０５のレコードにＳ１１０６で生成したデータバッファ５０７Ｂ２を保存する。接続ポート管理部５０５は、生成したテーブル６０５のレコードにＳ９２２で取得したデータ変換フィルタ５１４ＢのＩＤを保存する。さらに、接続ポート管理部５０５は、生成したテーブル６０５のレコードにＳ１１０４で取得、またはＳ１１０５で生成した変換データ分岐部１２０１を保存する。
【００９７】
更に、接続ポート管理部５０５は、生成したテーブル６０５のレコードのＩＤをＳ９０３で特定した接続ポート５０４のデバイス機種ＩＤに対応するレコードの仮想ポートデータ取得部ＩＤリストに保存する。以後Ｓ１１１０〜Ｓ１１１２の処理は第１実施形態に示すＳ９３０〜Ｓ９３２と同様である。
【００９８】
本実施形態では、複数の参加者から同一ポータブルデバイスへの分岐接続要求が来た場合に、データ変換後のデータを分岐させることにより、発表者のポータブルデバイスと参加者のポータブルデバイスの接続が確立される。
これにより、接続サーバでデータ変換のために使用するリソースの増加を抑えて、より少ないリソースで追加の接続ができるようになる。
【００９９】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【０１００】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【０１０１】
１０１  インターネット
１０２  画像投影装置
１０４Ａ、１０４Ｂ  ポータブルデバイス
１０５  情報処理装置
【図１】
0005936339.tif 000002
【図２】
0005936339.tif 000003
【図３】
0005936339.tif 000004
【図４】
0005936339.tif 000005
【図５】
0005936339.tif 000006
【図６】
0005936339.tif 000007
【図７】
0005936339.tif 000008
【図８】
0005936339.tif 000009
【図９】
0005936339.tif 000010
【図１０】
0005936339.tif 000011
【図１１】
0005936339.tif 000012
【図１２】
0005936339.tif 000013