(57)【要約】【課題】  送受信装置間でデータを送受信するコスト、或いは、時間を低減する。【解決手段】  機器１０２は、機器９０１からの要求Ｓ１０１を受信し、その要求Ｓ１０１に応じて、データを送信するサービスのインターフェースを記述する情報（ＷＳＤＬ）を送信する。機器１０２は、機器１０３からの要求Ｓ１０４を受信し、機器１０３からのサービスのインターフェースに従った要求Ｓ１０４に応じて、データを送信するサービスによるデータを送信する。【選択図】      図１
2008084297.tif 000002
【特許請求の範囲】
【請求項１】
データを送信するサービスを提供する通信装置であって、
第１の装置から第１の要求を受信し、第２の装置から第２の要求を受信する受信手段と、
前記第１の装置から受信した第１の要求に応じて、前記サービスのインターフェースを記述する情報を送信し、前記サービスのインターフェースに従った、前記第２の装置から受信した第２の要求に応じて、前記サービスによるデータを送信する送信手段とを有することを特徴とする通信装置。
【請求項２】
前記送信手段は、前記サービスのインターフェースを記述する情報を前記第１の装置に送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記送信手段は、前記サービスのインターフェースを記述する情報を前記第２の装置に送信し、前記第２の装置がデータの受信を完了すると、その完了を前記第１の装置に通知することを特徴とする請求項１に記載の通信装置。
【請求項４】
装置間連携のフローを制御するフロー制御装置において、
データを送信するサービスを提供する第１の装置へ前記サービスのインターフェースを記述する情報を取得するための第１の要求を送信し、前記サービスのインターフェースを記述する情報を受信する通信手段と、
前記第１の装置が提供するサービスを用いて第２の装置がデータを受信するように、前記サービスのインターフェースを記述する情報を含む第２の要求を前記第２の装置に送信する送信手段とを有することを特徴とするフロー制御装置。
【請求項５】
他の装置からデータを受信する通信装置であって、
前記他の装置が実行するデータを送信するサービスのインターフェースを記述する情報を、装置間連携のフローを制御するフロー制御装置から受信する受信手段と、
前記サービスのインターフェースに従って前記他の装置へデータ要求を送信し、前記他の装置が送信したデータを受信する通信手段とを有することを特徴とする通信装置。
【請求項６】
データを送信するサービスを提供する通信装置の通信方法であって、
第１の装置から第１の要求を受信する第１の受信工程と、
前記第１の装置から受信した第１の要求に応じて、前記サービスのインターフェースを記述する情報を送信する第１の送信工程と、
第２の装置から第２の要求を受信する第２の受信工程と、
前記サービスのインターフェースに従った、前記第２の装置から受信した第２の要求に応じて、前記サービスによるデータを送信する第２の送信工程とを有することを特徴とする通信装置の通信方法。
【請求項７】
前記第１の送信工程は、前記サービスのインターフェースを記述する情報を前記第２の装置に送信し、
前記第２の送信工程は、前記第２の装置がデータの受信を完了すると、その完了を前記第１の装置に通知する通知工程を含むことを特徴とする請求項６に記載の通信装置の通信方法。
【請求項８】
装置間連携のフローを制御するフロー制御装置の通信方法であって、
データを送信するサービスを提供する第１の装置へ前記サービスのインターフェースを記述する情報を取得するための第１の要求を送信する第１の送信工程と、
前記第１の装置から前記サービスのインターフェースを記述する情報を受信する受信工程と、
前記第１の装置が提供するサービスを用いて第２の装置がデータを受信するように、前記サービスのインターフェースを記述する情報を含む第２の要求を前記第２の装置に送信する第２の送信工程とを有することを特徴とするフロー制御装置の通信方法。
【請求項９】
他の装置からデータを受信する通信装置の通信方法であって、
前記他の装置が実行するデータを送信するサービスのインターフェースを記述する情報を、装置間連携のフローを制御するフロー制御装置から受信する第１の受信工程と、
前記サービスのインターフェースに従って前記他の装置へデータ要求を送信する送信工程と、
前記他の装置が送信したデータを受信する第２の受信工程とを有することを特徴とする通信装置の通信方法。
【請求項１０】
コンピュータに請求項６乃至９の何れか１項記載の通信方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、フロー制御装置、制御方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
従来、ネットワークに接続された複数の機器間で連携してデータを送受信する「ＷＥＢサービス」が実用化されている。ＷＥＢサービスのようなメッセージ交換の仕組みを利用したフロー制御システムでは、フローを記述した文書を解釈実行するフローコントローラ経由でメッセージやデータの送受信が行われる（例えば、特許文献１参照）。
【特許文献１】特開2004-361993号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述したフローコントローラを中心とするメッセージ交換によるフロー制御システムでは、機器間で画像データなどの大容量データの転送を行う際に、次のような問題がある。フローコントローラが解釈或いは使用に必要のないデータもフローコントローラを経由させていたので、フローコントローラとして機能する機器に転送用の余分なリソースが必要になりコストが上昇する。また、フローコントローラを経由する分、データ転送の時間が倍増する。
【０００４】
本発明は、送受信装置間でデータを送受信するコスト、或いは、時間を低減することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、データを送信するサービスを提供する通信装置であって、第１の装置から第１の要求を受信し、第２の装置から第２の要求を受信する受信手段と、前記第１の装置から受信した第１の要求に応じて、前記サービスのインターフェースを記述する情報を送信し、前記サービスのインターフェースに従った、前記第２の装置から受信した第２の要求に応じて、前記サービスによるデータを送信する送信手段とを有することを特徴とする。
【０００６】
また、本発明は、装置間連携のフローを制御するフロー制御装置において、データを送信するサービスを提供する第１の装置へ前記サービスのインターフェースを記述する情報を取得するための第１の要求を送信し、前記サービスのインターフェースを記述する情報を受信する通信手段と、前記第１の装置が提供するサービスを用いて第２の装置がデータを受信するように、前記サービスのインターフェースを記述する情報を含む第２の要求を前記第２の装置に送信する送信手段とを有することを特徴とする。
【０００７】
更に、本発明は、他の装置からデータを受信する通信装置であって、前記他の装置が実行するデータを送信するサービスのインターフェースを記述する情報を、装置間連携のフローを制御するフロー制御装置から受信する受信手段と、前記サービスのインターフェースに従って前記他の装置へデータ要求を送信し、前記他の装置が送信したデータを受信する通信手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、送受信装置間でデータを送受信するコスト、或いは、時間を低減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１０】
［第１の実施形態］
図１は、第１の実施形態におけるフロー制御システムの構成及び動作の一例を示す図である。図１において、１０１は機器Ｘ（フローコントロール機器）であり、フロー記述文書を解釈し、ＷＥＢサービスによるメッセージ交換によりネットワークに接続された他の機器を制御する機能を有する。１０２は機器Ａ（データ送信機器）であり、他の機器からの要求に応じてデータを送信する機能と、データを送信するインターフェースを記述した文書（以下、インターフェース記述文書）をＷＥＢサービスで提供する機能とを有する。１０３は機器Ｂ（データ受信機器）であり、ＷＥＢサービスによりインターフェース記述文書を受信する機能と、受信したインターフェース記述文書を解釈してデータを取得する機能とを有する。
【００１１】
図１３は、機器１０１、１０２、１０３の構成の一例を示す図である。図１３において、１３０１はネットワークを接続するためのネットワークインターフェース、１３０２はコンピュータであるＣＰＵ、１３０３はコンピュータプログラムや制御データを記憶するメモリである。ＣＰＵ１３０２は、メモリ１３０３に記憶されたコンピュータプログラムを読み出し、機器１０１、１０２、１０３のそれぞれが以下に説明する動作を行うように制御する。
【００１２】
尚、上述した各機器は、ネットワークに接続可能な機器であり、且つＷＥＢサービスの利用者と提供者として動作する機器であれば良い。また、フローコントロール機器１０１には、フローコントローラ１１０を備え、フローコントローラ１１０がフロー記述文書を解釈し、詳細は後述する制御を行う。
【００１３】
ここで第１の実施形態におけるフロー制御システムにおいて、フローコントロール機器１０１がデータ送信機器１０２からデータ受信機器１０３へ直接データを送信させる際の制御を、図１〜図８を用いて説明する。
【００１４】
図２は、図１に示す機器間で送受信されるメッセージ及びデータのシーケンスを示す図である。図３は、図１に示すフローコントロール機器１０１の内部動作を示すフローチャートである。図４は、図１に示すデータ送信機器１０２の内部動作を示すフローチャートである。図５は、図１に示すデータ受信機器１０３の内部動作を示すフローチャートである。尚、図３〜図５に示す内部動作は一例であり、これに限定されるものではない。
【００１５】
図６は、データ送信機器１０２が提供するインターフェース記述文書の一例を示す図である。図６に示す例は、ＷＥＢサービスのインターフェースをＷＳＤＬで記述した文書である。ここで、ＷＳＤＬはWeb Service Description Languageの略であり、ＸＭＬ形式で記述される。このＷＳＤＬ文書は、wsdl:definitions、wsdl:types、wsdl:message、wsdl:portType、wsdl:binding、wsdl:serviceの各要素で構成される。
【００１６】
まず、図３に示すステップＳ３０１において、フローコントロール機器１０１がＷＥＢサービスを用いたデータ送信の準備を要求するデータ送信準備要求メッセージ（Ｓ１０１）をデータ送信機器１０２へ送信する。データ送信準備要求メッセージ（Ｓ１０１）は、データ送信機器１０２が送信するべきファイル（データ）を表す文字列（識別子）を含む。この識別子をデータ送信機器１０２が既知であれば、データ送信準備要求メッセージ（S１０１）に含めなくても良い。
【００１７】
一方、図４に示すステップＳ４０１において、データ送信機器１０２がデータ送信準備要求メッセージ（Ｓ１０１）をフローコントロール機器１０１から受信すると、ステップＳ４０２において、送信サービスを起動（Ｓ２０１）する。そして、ステップＳ４０３において、起動した送信サービスのインターフェースを記述したインターフェース記述文書（図６）を生成する。次に、ステップＳ４０４において、そのインターフェース記述文書を含むデータ送信準備完了通知メッセージ（Ｓ１０２）をフローコントロール機器１０１へ返信する。
【００１８】
図７は、データ送信機器１０２がステップＳ４０４において、フローコントロール機器１０１に送信するインターフェース記述文書（図６）を含むデータ送信準備完了通知メッセージ（Ｓ１０２）の一例を示す図である。図７に示す例は、ＷＥＢサービスで送信されるＳＯＡＰメッセージで、ＳＯＡＰメッセージ（Ｓ１０２）にはSOAP with Attachmentの仕様に沿ってインターフェース文書（図６）であるＷＳＤＬ文書が添付されている。図７に示す例では、添付を利用してＷＳＤＬ文書をメッセージ中に含めているが、ＳＯＡＰのEnvelope要素に直接ＷＳＤＬを含めるなどの方法もあり、ＳＯＡＰメッセージにＷＳＤＬ文書を含める方法はこの例の限りではない。ＳＯＡＰはSimple Object Access Protocolの略である。
【００１９】
図７に示すように、このデータ送信準備完了通知メッセージ（Ｓ１０２）は、ＳＯＡＰのEnvelope要素内にメッセージがデータ送信準備完了通知メッセージ（Ｓ１０２）であることを示すns1:finish要素を含む。更に、ns1:finish要素中には、ns1:operation要素を含む。このns1:operation要素の持つ値は添付されたＷＳＤＬ文書内に記述されているwsdl:portType要素内のwsdl:operation要素の持つname属性の値をQNameとして参照している。このように参照されていることを図７に示す。
【００２０】
尚、このname属性はwsdl:operation要素を一意に特定する値である。また、wsdl:portType要素内のwsdl:operation要素はＷＥＢサービスにおける操作を意味している。即ち、ns1:operation要素の値のQNameが示すwsdl:operationは、データ送信機器１０２がＷＥＢサービスを介してデータを送信する際に、データ受信機器１０３がどのwsdl:operationを呼び出すべきかを示す。ns1:operation要素の値により特定されたインターフェース記述文書内のwsdl:operationが指し示すインターフェース記述文書は、データ受信機器１０３がデータ送信機器１０２に送信するメッセージのフォーマットを定義する。
【００２１】
また、ns1:finish要素中のns1:imagefile要素の値の文字列はデータ送信機器１０２がどのファイルを送信するべきか表す文字列を示している。
【００２２】
次に、ステップＳ３０２において、フローコントロール機器１０１がインターフェース記述文書を含むデータ送信準備完了通知メッセージ（Ｓ１０２）をデータ送信機器１０２から受信する。そして、ステップＳ３０３において、データ送信機器１０２から受信したインターフェース記述文書をデータ受信開始要求メッセージ（Ｓ１０３）に含めてデータ受信機器１０３へ送信する。
【００２３】
図８は、フローコントロール機器１０１がステップＳ３０２において、データ受信機器１０３に送信するインターフェース記述文書（図６）を含むデータ受信開始要求メッセージ（Ｓ１０３）の一例を示す図である。図８に示す例は、図７に示す例と同じく、SOAP with Attachmentの仕様に沿ってＷＳＤＬ文書が添付されているが、ＳＯＡＰメッセージにＷＳＤＬ文書を含める方法についてはこの例の限りではない。
【００２４】
また、図８に示すように、このデータ受信開始要求メッセージ（Ｓ１０３）はＳＯＡＰのEnvelope要素内にこのメッセージがデータ受信開始要求メッセージ（Ｓ１０３）であることを示すns1:start要素を含んでいる。更に、ns1:start要素内にns1:operation要素を含む。このns1:operation要素は添付されたＷＳＤＬ文書内に記述されているwsdl:portType要素内のwsdl:operation要素の持つname属性の値を参照している。ns1:operation要素の値が示すwsdl:operationは、データ受信機器１０３がＷＥＢサービスを介してデータを受信する際に、データ送信機器１０２のどのwsdl:operationを呼び出すべきかを示す。また、ns1:imagefile要素の値の文字列はデータ受信機器１０３がデータ送信機器１０２にどのファイルの送信要求を出すべきかを表す文字列を示している。
【００２５】
一方、図５に示すステップＳ５０１において、フローコントロール機器１０１から受信したメッセージ中のns1:start要素を読み取ることで、データ受信機器１０３は受信したメッセージをデータ受信開始要求メッセージ（Ｓ１０３）であると認識する。
【００２６】
データ受信機器１０３が受信したメッセージをデータ受信開始要求メッセージ（Ｓ１０３）と認識すると、ステップＳ５０２において、受信準備（Ｓ２０２）を行う。ここでは、ns1:start要素の中身を解析し、ns1:start要素内のns1:operation要素の値を取得する。また、データ受信開始要求メッセージ（Ｓ１０３）に含まれるインターフェース記述文書を解析する。そして、ステップＳ５０３において、解析結果に基づき、ns1:operation要素の値により特定されたwsdl:operationが指し示すインターフェース記述文書に記述されている型のデータ要求メッセージ（Ｓ１０４）を作成する。その際、データ受信開始要求メッセージ（Ｓ１０３）に記述されているns1:imagename要素の値の文字列を読み取る。そして、データ要求メッセージ（Ｓ１０４）にns1:imagename要素から取得した文字列をセットし、データ送信機器１０２へ送信する。
【００２７】
即ち、データ要求メッセージ（Ｓ１０４）のフォーマットは、ns1:operation要素の値により特定されたインターフェース記述文書内のwsdl:operationが指し示すインターフェース記述文書に定義されている。データ受信機器１０３は、取得すべきデータの識別子をそのフォーマットで構成されたメッセージ（Ｓ１０４）の所定の位置にセットする。その後、データ返信メッセージ（Ｓ１０５）をデータ送信機器１０２から受信すると、データ受信完了通知メッセージ（Ｓ１０６）をフローコントロール機器１０１へ返信する。
【００２８】
即ち、データ送信機器１０２は、データを送信するサービスを提供する通信装置である。データ送信機器１０２は、フローコントロール機器１０１から第１の要求（Ｓ１０１）を受信し、第１の要求（Ｓ１０１）に応じて、サービスのインターフェースを記述する情報（Ｓ１０２、ＷＳＤＬ）を送信する。本形態では、この情報（Ｓ１０２）をフローコントロール機器１０１に送信する。また、データ送信機器１０２は、データ受信機器１０３から第２の要求（Ｓ１０４）を受信し、データ受信機器１０３からのサービスのインターフェースに従った第２の要求（Ｓ１０４）に応じて、データ送信サービスによるデータ（Ｓ１０４）を送信する。インターフェースを記述する情報は、第２の要求（Ｓ１０４）のフォーマットを指定する。また、そのフォーマットの第２の要求には、所定の位置に、データを特定する情報が含まれている。ある形態では、そのデータを特定する情報は、第１の要求（Ｓ１０１）、又は、インターフェースを記述する情報（Ｓ１０２）に含まれる。
【００２９】
また、データ送信機器１０２は、装置間連携のフローを制御するフローコントロール機器１０１から第１の要求（Ｓ１０１）を受信し、ネットワークに接続された他の装置からの第２の要求（Ｓ１０４）に応じてデータを送信する通信装置である。即ち、データ送信機器１０２は、フローコントロール機器１０１から第１の要求（Ｓ１０１）を受信し、データを送信するサービスのインターフェースに関するインターフェース記述文書を含むメッセージ（Ｓ１０２）を送信する第１の通信手段を有する。また、データ送信機器１０２は、インターフェース記述文書に対応したデータ受信機器１０３からの第２の要求（Ｓ１０４）を受信し、データ（Ｓ１０５）を送信する第２の通信手段を有する。
【００３０】
本形態では、データ送信機器１０２は、メッセージ（Ｓ１０２）をフローコントロール機器１０１に送信する。インターフェース記述文書は、第２の要求（Ｓ１０４）のフォーマットを指定する。また、そのフォーマットの第２の要求には、所定の位置に、データを特定する情報が含まれている。ある形態では、そのデータを特定する情報は、第１の要求（Ｓ１０１）、又は、メッセージ（Ｓ１０２）に含まれる。
【００３１】
また、フローコントロール機器１０１は、装置間連携のフローを制御するフロー制御装置である。フローコントロール機器１０１は、データを送信するサービスを提供するデータ送信機器１０２に、そのサービスのインターフェースを記述する情報を取得するための第１の要求（Ｓ１０１）を送信する。そして、フローコントロール機器１０１は、データ送信機器１０２からそのサービスのインターフェースを記述する情報（Ｓ１０２、ＷＳＤＬ）を受信する。そして、フローコントロール機器１０１は、データ送信機器１０２が提供するサービスを用いてデータ受信機器１０３がデータを受信するように、そのインターフェースを記述する情報を含む第２の要求（Ｓ１０３）をデータ受信機器１０３に送信する。
【００３２】
また、フローコントロール機器１０１は、装置間連携のフローを制御するフロー制御装置である。そして、フローコントロール機器１０１は、ネットワークに接続された他の装置からの第１の要求に応じてデータを送信するデータ送信機器１０２に第２の要求を送信する。すると、フローコントロール機器１０１は、データ送信機器１０２が実行するデータを送信するサービスのインターフェースに関するインターフェース記述文書を含む第１のメッセージ（Ｓ１０２）を受信する。また、フローコントロール機器１０１は、データ受信機器１０３がデータ送信機器１０２からデータを受信するように、インターフェース記述文書を含む第２のメッセージ（Ｓ１０３）をデータ受信機器１０３へ送信する。
【００３３】
更に、データ受信機器１０３は、他の装置からデータを受信する通信装置である。データ受信機器１０３は、データ送信機器１０２が実行するデータを送信するサービスのインターフェースを記述する情報（Ｓ１０３）を、装置間連携のフローを制御するフローコントロール機器１０１から受信する。そして、データ受信機器１０３は、そのインターフェースに従ってデータ送信機器１０２へデータ要求（Ｓ１０４）を送信し、データ送信機器１０２が送信したデータ（Ｓ１０５）を受信する。
【００３４】
また、データ受信機器１０３は、装置間連携のフローを制御するフローコントロール機器１０１からメッセージを受信し、ネットワークに接続された他の装置からデータを受信する通信装置である。データ受信機器１０３は、データ送信機器１０２が実行するデータを送信するサービスのインターフェースに関するインターフェース記述文書を含むメッセージをフローコントロール機器１０１から受信する。そして、データ受信機器１０３は、インターフェース記述文書に基づいてデータ送信機器１０２へデータ要求を送信し、データを受信する。
【００３５】
尚、フローコントロール機器１０１の一連の動作は、予めフロー記述文書として記述されており、フロー記述文書の内容を差し替えることにより、データ転送の内容を変更することが可能である。
【００３６】
また、データ要求メッセージ（Ｓ１０４）やデータ返信メッセージ（Ｓ１０６）に利用されるプロトコルは、ＳＯＡＰやＨＴＴＰなどのＷＥＢサービスのプロトコルだけでなく、他のプロトコルでも良い。例えば、ＦＴＰやＲＴＰなど、転送するデータに最適なプロトコルを必要に応じて選択できるように構成すれば良い。
【００３７】
また、ＳＯＡＰはSimple Object Access Protocolの略であり、ＨＴＴＰはHyper Text Transfer Protocolの略である。そして、ＦＴＰはFile Transfer Protocolの略であり、ＲＴＰはReal-time Transport Protocolの略である。
【００３８】
第１の実施形態によれば、データを送信する機器のインターフェース記述文書を、データを受信する機器へ送信することにより、フローコントローラを経由させる必要がないデータを機器間で直接送受信することができる。
【００３９】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。
【００４０】
図９は、第２の実施形態におけるフロー制御システムの構成及び動作の一例を示す図である。図９において、９０１は機器Ｘ（フローコントロール機器）であり、フロー記述文書を解釈し、ＷＥＢサービスによるメッセージ交換によりネットワークに接続された他の機器を制御する機能を有する。９０２は機器Ａ（データ送信機器）であり、他の機器からの要求に応じてデータを送信する機能と、データを送信するインターフェースを記述した文書（以下、インターフェース記述文書）をＷＥＢサービスで提供する機能とを有する。９０３は機器Ｂ（データ受信機器）であり、ＷＥＢサービスによりインターフェース記述文書を受信する機能と、受信したインターフェース記述文書を解釈してデータを取得する機能とを有する。第２の実施形態における機器９０１、９０２、９０３の構成は図１３に示す構成と共通である。
【００４１】
尚、上述の各機器は、ネットワークに接続可能な機器で、且つＷＥＢサービスの利用者と提供者として動作する機器であれば良い。また、フローコントロール機器９０１には、フローコントローラ９１０を備え、フローコントローラ９１０がフロー記述文書を解釈し、制御を行う。
【００４２】
ここで第２の実施形態におけるフロー制御システムにおいて、フローコントロール機器９０１がデータ送信機器９０２からデータ受信機器９０３へ直接データを送信させる際の制御を、図６〜図１２を用いて説明する。
【００４３】
図１０は、図９に示す機器間で送受信されるメッセージ及びデータのシーケンスを示す図である。図１１は、図９に示すデータ送信機器９０２の内部動作を示すフローチャートである。図１２は、図９に示すデータ受信機器１０３の内部動作を示すフローチャートである。尚、図１１〜図１２に示す内部動作は一例であり、これに限定されるものではない。
【００４４】
第２の実施形態におけるデータ送信機器９０２は、図６のＷＳＤＬで表されるサービスを提供している。
【００４５】
まず、フローコントロール機器９０１がＷＥＢサービスによりデータ送信の準備を要求するデータ送信要求メッセージ（Ｓ９０１）をデータ送信機器９０２へ送信する。データ送信要求メッセージ（Ｓ９０１）は、データ送信機器９０２が送信するべきファイル（データ）を表す文字列（識別子）、及び、そのファイルの送信先であるデータ受信機器９０３のアドレス（識別子）を含む。これらの識別子をデータ送信機器９０２が既知であれば、データ送信要求メッセージ（Ｓ９０１）に含めなくても良い。
【００４６】
一方、図１１に示すステップＳ１１０１において、データ送信機器９０２はデータ送信要求メッセージ（Ｓ９０１）をフローコントロール機器９０１から受信すると、ステップＳ１１０２において、送信サービスを起動（Ｓ１００１）する。そして、ステップＳ１１０３において、データ送信機器９０２は起動した送信サービスのインターフェースを記述したインターフェース記述文書（図６）を生成する。次に、ステップＳ１１０４において、データ送信機器９０２はそのインターフェース記述文書を含むデータ受信開始メッセージ（Ｓ９０２）をデータ受信機器９０３へ送信する。
【００４７】
インターフェース記述文書（図６）を含むデータ受信開始要求メッセージ（Ｓ９０２）は、図８に示すデータ受信開始要求メッセージ（Ｓ１０３）と共通である。従って、ns1:operation要素の値により特定されたインターフェース記述文書内のwsdl:operationが指し示すインターフェース記述文書はデータ受信機器９０３がデータ送信機器９０２に送信するメッセージのフォーマットを定義する。また、ns1:finished要素中のns1:imagefile要素の値の文字列はデータ送信機器９０２がどのファイルを送信するべきかを表す文字列を示している。図８に示す例はＷＳＤＬ文書を添付の形式でＳＯＡＰメッセージに含めているが、第１の実施形態に記述した通り、ＳＯＡＰメッセージにＷＳＤＬ文書を含める方法についてはこの例の限りでは無い。
【００４８】
一方、図１２に示すステップＳ１２０１において、データ送信機器９０２から受信したメッセージ中のns1:start要素を読み取ることでデータ受信機器９０３は受信したメッセージをデータ受信開始要求メッセージ（Ｓ９０２）と認識する。
【００４９】
データ受信機器９０３は受信したメッセージをデータ受信開始要求メッセージ（Ｓ９０２）と認識した場合、ステップＳ１２０２において、受信準備（Ｓ１００２）を行う。ここでは、ns1:start要素の中身を解析し、ns1:start要素内のns1:operation要素の値を取得する。また、データ受信開始要求メッセージ（Ｓ９０２）に含まれるインターフェース記述文書を解析する。そして、解析結果に基づき、ns1:operation要素の値で特定されたインターフェース記述文書内のwsdl:operationが指し示すインターフェース記述文書に記述されている型のデータ要求メッセージ（Ｓ９０３）を作成する。その際、データ受信機器９０３はデータ受信開始要求メッセージ（Ｓ９０２）に記述されているns1:imagename要素の値の文字列を読み取る。そして、データ要求メッセージ（Ｓ９０３）にns1:imagename要素から取得した文字列をセットし、データ送信機器９０２へ送信する。
【００５０】
即ち、データ要求メッセージ（Ｓ９０３）のフォーマットは、ns1:operation要素の値により特定されたインターフェース記述文書内のwsdl:operationが指し示すインターフェース記述文書に定義されている。データ受信機器９０３は、取得すべきデータの識別子を、そのフォーマットで構成されたメッセージ（Ｓ９０３）の所定の位置にセットする。
【００５１】
その後、ステップＳ１２０３で、データ返信メッセージ（Ｓ９０４）をデータ送信機器９０２から受信する。そして、ステップＳ１２０４で、データ受信機器９０３はデータ受信完了通知メッセージ（Ｓ９０５）をデータ送信機器９０２に返信する。
【００５２】
一方、図１１に示すステップＳ１１０５において、データ送信機器９０２はデータ受信機器９０３から受信したデータ受信完了通知メッセージ（Ｓ９０５）を受け取る。すると、データ送信機器９０２は、ステップ１１０６において、データ送信完了通知メッセージ（Ｓ９０６）をフローコントロール機器９０１に返信する。
【００５３】
即ち、データ送信機器９０２は、データを送信するサービスを提供する通信装置である。そして、フローコントロール機器９０１から第１の要求（Ｓ９０１）を受信する第１の受信工程と、第１の要求（Ｓ９０１）に応じて、サービスのインターフェースを記述する情報（Ｓ９０２、ＷＳＤＬ）を送信する第１の送信工程とを実行する。本形態では、この情報（Ｓ９０２）をデータ受信機器９０３に送信する。また、データ送信機器９０２は、データ受信機器９０３から第２の要求（Ｓ９０３）を受信する第２の受信工程を実行する。
【００５４】
更に、データ送信機器９０２は、データ受信機器９０３からのサービスのインターフェースに従った第２の要求（Ｓ９０３）に応じて、データ送信サービスによるデータ（Ｓ９０４）を送信する第２の送信工程を実行する。インターフェースを記述する情報は、第２の要求（Ｓ９０３）のフォーマットを指定する。また、そのフォーマットの第２の要求には、所定の位置に、データを特定する情報が含まれている。ある形態では、そのデータを特定する情報は、第１の要求（Ｓ９０１）、又は、インターフェースを記述する情報（Ｓ９０２）に含まれる。
【００５５】
また、データ送信機器９０２は、装置間連携のフローを制御するフローコントロール機器９０１から第１の要求（Ｓ９０１）を受信し、ネットワークに接続された他の装置からの第２の要求（Ｓ９０３）に応じてデータを送信する通信装置である。即ち、データ送信機器９０２は、フローコントロール機器９０１から第１の要求（Ｓ９０１）を受信し、データを送信するサービスのインターフェースに関するインターフェース記述文書を含むメッセージ（Ｓ９０２）を送信する。
【００５６】
また、データ送信機器９０２は、インターフェース記述文書に対応したデータ受信機器９０３からの第２の要求（Ｓ９０３）を受信し、データ（Ｓ９０４）を送信する。本形態では、データ送信機器９０２は、メッセージ（Ｓ９０２）をデータ受信機器９０３に送信する。そして、本形態では、データ送信機器９０２は、データ受信機器９０３がデータの受信を完了すると（Ｓ９０５）、その完了をフローコントロール機器９０１に通知する（Ｓ９０６）。インターフェース記述文書は、第２の要求（Ｓ９０３）のフォーマットを指定する。また、そのフォーマットの第２の要求には、所定の位置に、データを特定する情報が含まれている。ある形態では、そのデータを特定する情報は、第１の要求（Ｓ９０１）、又は、メッセージ（Ｓ９０２）に含まれる。
【００５７】
尚、フローコントロール機器９０１の一連の動作は、予めフロー記述文書として記述されており、フロー記述文書の内容を差し替えることにより、データ転送の内容を変更することが可能である。
【００５８】
また、データ要求メッセージ（Ｓ９０３）やデータ返信メッセージ（Ｓ９０４）に利用されるプロトコルは、ＳＯＡＰやＨＴＴＰなどのＷＥＢサービスのプロトコルだけでなく、他のプロトコルでも良い。例えば、ＦＴＰやＲＴＰなど、転送するデータに最適なプロトコルを必要に応じて選択できるように構成すれば良い。
【００５９】
第２の実施形態によれば、データを送信する機器のインターフェース記述文書を、データを受信する機器へ送信することにより、フローコントローラを経由させる必要がないデータを機器間で直接送受信することができる。
【００６０】
［第３の実施形態］
次に、図面を参照しながら本発明に係る第３の実施形態を詳細に説明する。第３の実施形態では、各種データを収集して用紙にレイアウトして印刷するシステムに応用した場合を説明する。
【００６１】
図１４は、第３の実施形態におけるシステムの構成及び動作の一例を示す図である。図１４において、１４０１は複合機であり、フローコントロール機能と、レイアウト結果のデータを印刷する機能とを有する。１４０２はレイアウトサービスであり、インターフェース記述文書を解析実行し、データ受信する機能と、受信した複数のデータをレイアウトし、印刷データとして出力する機能とを有する。
【００６２】
１４０３はデータベースサービスであり、様々なテキストデータを保持し、ネットワークで接続された他の機器へ送信する機能と、データを取得するためのインターフェース記述文書を提供する機能とを有する。１４０４は画像データベースサービスであり、画像データなどのバイナリデータを保持し、ネットワークで接続された他の機器へ送信する機能と、他の機器がデータを取得するためのインターフェース記述文書を提供する機能とを有する。
【００６３】
尚、第３の実施形態における機器と第１の実施形態における機器とは、次のような関係である。複合機１４０１はフローコントロール機器１０１に相当し、データベースサービス１４０３及び画像データベースサービス１４０４はデータ送信機器１０２に相当する。そして、レイアウトサービス１４０２はデータ受信機器１０３に相当する。本形態では、本システムの動作の概略を説明するが、その詳細は、第１の実施形態と共通である。また、第２の実施形態の手順を、図１４の構成に適用することも可能である。
【００６４】
図１４に示す構成において、まず、複合機１４０１がＷＥＢサービスによりデータ送信準備要求メッセージ（Ｓ１４０１）をデータベースサービス１４０３へ送信する。そして、レイアウト対象のデータを取得するためのインターフェース記述文書を含むデータ送信準備完了通知メッセージ（Ｓ１４０２）をデータベースサービス１４０３から受信する。
【００６５】
次に、複合機１４０１は、画像データ送信準備要求メッセージ（Ｓ１４０３）を画像データベースサービス１４０４へ送信する。そして、レイアウト対象の画像データを取得するためのインターフェース記述文書を含む画像データ送信準備完了通知メッセージ（Ｓ１４０４）を画像データベースサービス１４０４から受信する。ここで、複合機１４０１はデータベースサービス１４０３及び画像データベースサービス１４０４から受信したインターフェース記述文書を含むレイアウト要求メッセージ（Ｓ１４０５）をレイアウトサービス１４０２へ送信する。
【００６６】
一方、レイアウトサービス１４０２では複合機１４０１から送られてきたインターフェース記述文書を解析し、解析結果に基づくデータ要求メッセージ（Ｓ１４０６）をデータベースサービス１４０３へ送信する。そして、データ返信メッセージ（Ｓ１４０７）をデータベースサービス１４０３から受信する。また、レイアウトサービス１４０２では複合機１４０１から送られてきたインターフェース記述文書の解析結果に基づく画像データ要求メッセージ（Ｓ１４０８）を画像データベースサービス１４０４へ送信する。そして、画像データ返信メッセージ（Ｓ１４０９）を画像データベースサービス１４０４から受信すると、受信したデータ及び画像データからデータのレイアウトを行い、印刷データを作成する。
【００６７】
次に、複合機１４０１がレイアウトサービス１４０２で作成された印刷データを含むレイアウト結果返信メッセージ（Ｓ１４１０）を受信すると、印刷データを用紙へ印刷する。
【００６８】
尚、上述した一連の動作は、複合機１４０１がフローコントロール機能によりフロー記述文書を解釈することによって行われる。
【００６９】
第３の実施形態によれば、各種データを収集して用紙にレイアウトして印刷するシステムにおいて、レイアウト用の各種データを複合機経由でなく、直接レイアウトサービスが収集することにより、無駄なデータ転送を省くことができる。
【００７０】
［第４の実施形態］
次に、図面を参照しながら本発明に係る第４の実施形態を詳細に説明する。第４の実施形態では、ネットワーク接続のカメラなどに応用した場合を説明する。
【００７１】
図１５は、第４の実施形態におけるシステムの構成及び動作の一例を示す図である。図１５において、１５０１はデジタルカメラであり、ネットワークに接続され、フローコントロール機能とデータ送信機能とインターフェース記述文書を提供する機能とを有する。１５０２はストレージサービスであり、データを保持する機能とインターフェース記述文書を解釈してデータを受信する機能とインターフェース記述文書を提供してデータ送信する機能とを有する。１５０３はプリンタであり、インターフェース記述文書を解釈して印刷のためのデータを取得する機能を有する。
【００７２】
尚、第４の実施形態における機器と第１の実施形態における機器とは、次のような関係である。デジタルカメラ１５０１はフローコントロール機器１０１に相当する。また、ストレージサービス１５０２はデータ送信機器１０２に相当する。そして、プリンタ１５０３はデータ受信機器１０３に相当する。本形態では、本システムの動作の概略を説明するが、その詳細は、第１の実施形態と共通である。また、第２の実施形態の手順を、図１５の構成に適用することも可能である。
【００７３】
まず、デジタルカメラ１５０１がカメラサービスのインターフェース記述文書を含む撮影データ保存要求メッセージ（Ｓ１５０１）をストレージサービス１５０２へ送信する。ここで、カメラサービスのインターフェース記述文書は、ストレージサービス１５０２がデジタルカメラ１５０１から撮影データを取得し、保存するためのものである。
【００７４】
一方、ストレージサービス１５０２では、受信したインターフェース記述文書を解釈して撮影データ要求メッセージ（Ｓ１５０２）をデジタルカメラ１５０１へ送信する。そして、撮影データ返信メッセージ（Ｓ１５０３）をデジタルカメラ１５０１から受信し、撮影データを保存する。保存後、ストレージサービス１５０２はストレージサービスのインターフェース記述文書を含む保存済み撮影データ送信準備完了メッセージ（Ｓ１５０４）をデジタルカメラ１５０１へ返信する。
【００７５】
尚、ストレージサービスのインターフェース記述文書は、プリンタ１５０３がストレージサービス１５０２から保存済みの撮影データを取得し、印刷するためのものである。
【００７６】
次に、デジタルカメラ１５０１はストレージサービスのインターフェース記述文書を含む印刷要求メッセージ（Ｓ１５０５）をプリンタ１５０３へ送信する。
【００７７】
一方、プリンタ１５０３では、受け取ったインターフェース記述文書を解釈して保存済みデータを要求する保存済み撮影データ要求メッセージ（Ｓ１５０６）をストレージサービス１５０２へ送信する。そして、保存済み撮影データ返信メッセージ（Ｓ１５０７）をストレージサービス１５０２から受信し、保存済み撮影データを用紙へ印刷する。その後、印刷が終了すると、印刷完了通知メッセージ（Ｓ１５０８）をデジタルカメラ１５０１へ返信する。
【００７８】
第４の実施形態によれば、ネットワーク接続のカメラがストレージに保存したデータをプリンタに印刷させる際に、データをストレージからプリンタへ直接送信させることで、不要なデータ転送を省くことができる。
【００７９】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００８０】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００８１】
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００８２】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【００８４】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８５】
【図１】第１の実施形態におけるフロー制御システムの構成及び動作の一例を示す図である。
【図２】図１に示す機器間で送受信されるメッセージ及びデータのシーケンスを示す図である。
【図３】図１に示すフローコントロール機器１０１の内部動作を示すフローチャートである。
【図４】図１に示すデータ送信機器１０２の内部動作を示すフローチャートである。
【図５】図１に示すデータ受信機器１０３の内部動作を示すフローチャートである。
【図６】データ送信機器１０１及びデータ送信機器９０１が提供するインターフェース記述文書の一例を示す図である。
【図７】図６に示すインターフェース記述文書を含むデータ送信準備完了通知メッセージ（Ｓ１０２）の一例を示す図である。
【図８】図６に示すインターフェース記述文書を含むデータ受信開始要求メッセージ（Ｓ１０３）の一例及び、データ受信開始要求メッセージ（Ｓ９０２）の一例を示す図である。
【図９】第２の実施形態におけるフロー制御システムの構成及び動作の一例を示す図である。
【図１０】図９に示す機器間で送受信されるメッセージ及びデータのシーケンスを示す図である。
【図１１】図９に示すデータ送信機器９０２の内部動作を示すフローチャートである。
【図１２】図９に示すデータ受信機器９０３の内部動作を示すフローチャートである。
【図１３】機器の構成図である。
【図１４】第２の実施形態におけるシステムの構成及び動作の一例を示す図である。
【図１５】第３の実施形態におけるシステムの構成及び動作の一例を示す図である。
【符号の説明】
【００８６】
１０１  機器Ｘ（フローコントロール機器）
１０２  機器Ａ（データ送信機器）
１０３  機器Ｂ（データ受信機器）
【図１】
2008084297.tif 000003
【図２】
2008084297.tif 000004
【図３】
2008084297.tif 000005
【図４】
2008084297.tif 000006
【図５】
2008084297.tif 000007
【図６】
2008084297.tif 000008
【図７】
2008084297.tif 000009
【図８】
2008084297.tif 000010
【図９】
2008084297.tif 000011
【図１０】
2008084297.tif 000012
【図１１】
2008084297.tif 000013
【図１２】
2008084297.tif 000014
【図１３】
2008084297.tif 000015
【図１４】
2008084297.tif 000016
【図１５】
2008084297.tif 000017