JP5120121B2 - 中継サーバ、中継方法および中継プログラム - Google Patents

中継サーバ、中継方法および中継プログラム Download PDF

Info

Publication number
JP5120121B2
JP5120121B2 JP2008183551A JP2008183551A JP5120121B2 JP 5120121 B2 JP5120121 B2 JP 5120121B2 JP 2008183551 A JP2008183551 A JP 2008183551A JP 2008183551 A JP2008183551 A JP 2008183551A JP 5120121 B2 JP5120121 B2 JP 5120121B2
Authority
JP
Japan
Prior art keywords
web
message
function
server
web server
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.)
Expired - Fee Related
Application number
JP2008183551A
Other languages
English (en)
Other versions
JP2010026562A (ja
Inventor
博征 川畑
洋信 中田
俊彦 大竹
一美 澤柳
佳輝 時本
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2008183551A priority Critical patent/JP5120121B2/ja
Publication of JP2010026562A publication Critical patent/JP2010026562A/ja
Application granted granted Critical
Publication of JP5120121B2 publication Critical patent/JP5120121B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、中継サーバ、中継方法および中継プログラムに関し、特にWebサービスを提供するWebサーバと情報処理装置とを中継する中継サーバ、その中継サーバで実行される中継方法および中継プログラムに関する。
近年、Webサービスを提供するWebサーバが登場している。特開2005−321995号公報には、ネットワークを介してWebサーバより提供されるWebサービスに関する情報を格納し、要求に応じて該Webサービスに関する情報の検索を行う情報処理装置が記載されている。
しかしながら、Webサーバが提供するWebサービスを利用するためには、WebサーバがWSDL(Web Services Description Language)で公開するプロファイルを取得し、そのプロファイルに定義された操作を記述したメッセージをWebサーバに与えなければならない。このため、複数のWebサーバが存在し、複数種類のWebサービスが提供されている場合、複数のWebサーバそれぞれに対応したメッセージを生成しなければならない。したがって、Webサービスが変更、追加等されて変動する場合に、その変動に応じたメッセージを生成しなければならないといった問題があった。また、同種のWebサービスを提供する複数のWebサーバが存在する場合には、いずれのWebサービスの提供を受けるかをユーザが判断しなければならないといった問題がある。さらに、複数のWebサービスの利用を望む場合には、複数のWebサービスを提供する複数のWebサーバに順にメッセージを送信しなければならないといった問題があった。
特開2005−321995号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の1つは、Webサービスの変動に容易に対応することが可能な中継装置を提供することである。
この発明の他の目的は、Webサービスの変動に容易に対応することが可能な中継方法を提供することである。
この発明のさらに他の目的は、Webサービスの変動に容易に対応することが可能な中継プログラムを提供することである。
上述した目的を達成するためにこの発明のある局面によれば、中継サーバは、それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバであって、複数のWebサーバそれぞれから、当該Webサーバが提供するWebサービスを利用するための複数の操作を定めたプロファイルを取得するプロファイル取得手段と、取得されたプロファイルを解析することによって、複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを生成し、記憶する関連付テーブル記憶手段と、情報処理装置から情報処理装置と中継サーバとの間で予め定義された複数の操作を含むメッセージを受信するメッセージ受信手段と、メッセージを関連付テーブルを用いて変換する変換手段と、変換されたメッセージを複数のWebサーバのうちメッセージで特定される機能を実行可能なWebサーバに送信し、変換されたメッセージに従って機能を実行させる機能実行指示手段と、Webサーバから機能の実行結果を受信する実行結果受信手段と、受信された実行結果を情報処理装置に送信する実行結果送信手段と、を備える。
この局面に従えば、複数のWebサーバそれぞれから取得されたプロファイルを解析することによって、複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルが生成され、記憶されており情報処理装置から受信されるメッセージを関連付テーブルを用いて変換し、変換されたメッセージが複数のWebサーバのうちメッセージで特定される機能を実行可能なWebサーバに送信され、Webサーバから受信される機能の実行結果が情報処理装置に送信される。このため、情報処理装置においては、複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作に関係なく、中継サーバとの間で機能を実行させるために予め定義された複数の操作を含むメッセージを生成できればよい。このため、Webサービスの変動に対して、情報処理装置で生成されるメッセージを変更する必要がない。その結果、Webサービスの変動に容易に対応することが可能な中継装置を提供することができる。
好ましくは、複数のWebサーバのうちで同種の機能を実行する複数のWebサーバが存在する場合、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報を情報処理装置に送信するリスト情報送信手段と、情報処理装置から同種の機能を実行する複数のWebサーバのうちから選択された1つのWebサーバを特定する情報を受信する特定情報受信手段と、をさらに備え、機能実行指示手段は、特定されたWebサーバに変換されたメッセージを送信する。
この局面に従えば、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報が情報処理装置に送信されるので、情報処理装置のユーザは、リスト情報を見て機能を実行させるWebサーバを決定することができる。このため、機能を実行させるWebサーバを容易に決定することが可能となる。
好ましくは、複数のWebサーバのうちで同種のWebサービスを提供する複数のWebサーバが存在する場合、同種のWebサービスを提供する複数のWebサーバのうちから1つを選択する選択手段をさらに備え、機能実行指示手段は、特定されたWebサーバに変換されたメッセージを送信する。
この局面に従えば、同種のWebサービスを提供する複数のWebサーバのうちから1つが選択される。このため、情報処理装置のユーザは、複数のWebサーバがそれぞれ提供する複数のWebサービスを知る必要がなく、Webサービスの提供を受けることができる。
好ましくは、メッセージ受信手段は、複数のWebサーバのうちで異なる機能を実行する第1および第2のWebサーバが存在する場合、情報処理装置から異なる機能それぞれを実行させるためのメッセージを受信し、変換手段は、メッセージを関連付テーブルを用いて第1のWebサーバに対して送信するための第1のメッセージと、第2のWebサーバに送信するための第2のメッセージとに変換し、機能実行指示手段は、第1のメッセージを第1のWebサーバに送信し、実行結果受信手段が第1のWebサーバから実行結果を受信した後に、第2のメッセージを第2のWebサーバに送信する。
この局面に従えば、異なる機能それぞれを実行させるためのメッセージが情報処理装置から受信されると、受信されたメッセージが、関連付テーブルを用いて第1のWebサーバに対して送信するための第1のメッセージと、第2のWebサーバに送信するための第2のメッセージとに変換され、第1のメッセージが第1のWebサーバに送信され、第1のWebサーバから実行結果が受信された後に、第2のメッセージが第2のWebサーバに送信される。このため、情報処理装置において、1つのメッセージを送信するだけで、複数のWebサービスを利用することができる。
好ましくは、複数のWebサーバのうち少なくとも1つは認証情報に基づいて認証する認証手段を含み、該少なくとも1つのWebサーバは、該認証手段により認証されることを条件に機能を実行し、中継サーバは、情報処理装置に代わって少なくとも1つのWebサーバに対して認証情報を送信する代行認証手段をさらに備える。
この局面に従えば、情報処理装置に代わってWebサーバに対して認証情報が送信されるので、情報処理装置のユーザは、認証情報を入力する必要がなく、Webサーバを意識する必要がない。
好ましくは、新たなWebサーバが有するWebサービスを提供するための機能を利用するための複数の操作を定義するプロファイルを取得するプロファイル取得手段と、取得されたプロファイルに基づいて、関連付テーブルを更新する更新手段と、をさらに備える。
この局面に従えば、関連付テーブルが更新されるので、Webサービスの変動に対応することができる。
この発明の他の局面に従えば、中継方法は、それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継方法であって、複数のWebサーバそれぞれから、当該Webサーバが提供するWebサービスを利用するための複数の操作を定めたプロファイルを取得するステップと、取得されたプロファイルを解析することによって、複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを生成し、記憶するステップと、情報処理装置から情報処理装置と中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、メッセージを関連付テーブルを用いて変換するステップと、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージに従って機能を実行させるために、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージを送信するステップと、Webサーバから機能の実行結果を受信するステップと、受信された実行結果を情報処理装置に送信するステップと、を含む。
この局面に従えば、Webサービスの変動に容易に対応することが可能な中継方法を提供することができる。
この発明のさらに他の局面によれば、中継プログラムは、それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継プログラムであって、複数のWebサーバそれぞれから、当該Webサーバが提供するWebサービスを利用するための複数の操作を定めたプロファイルを取得するステップと、取得されたプロファイルを解析することによって、複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを生成し、記憶するステップと、情報処理装置から情報処理装置と中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、メッセージを関連付テーブルを用いて変換するステップと、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージに従って機能を実行させるために、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージを送信するステップと、Webサーバから機能の実行結果を受信するステップと、受信された実行結果を情報処理装置に送信するステップと、を中継サーバに実行させる。
この局面に従えば、Webサービスの変動に容易に対応することが可能な中継プログラムを提供することができる。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態における情報処理システムの全体概要を示す図である。図1を参照して、情報処理システム1は、ネットワーク2にそれぞれ接続された複合機(以下、「MFP」という)100,100A,100B,100Cと、中継サーバ200と、を含む。MFP100,100A,100Bおよび100Cは、情報処理装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。また、ネットワーク2は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)等であってもよい。ネットワーク2は、ゲートウェイを介してインターネット3に接続されており、MFP100,100A,100B,100Cそれぞれは、インターネット3に接続されたWebサーバ7,7Aと通信可能である。
Webサーバ7,7Aは、Webサービスを提供する。Webサービスは、Webサーバ7.7Aが、それぞれが有する機能を実行することにより提供される。具体的には、Webサービスを利用するために、サービスリクエスタは、機能を実行させるための操作を含む要求をWebサーバ7,7AのうちWebサービスの提供を受けようとするものに送信する。Webサーバ7,7Aは、サービスリクエスタからの要求に応じて、サービスリクエスタから受信される操作に従って機能を実行し、実行結果を返信する。サービスリクエスタは、MFP100,100A,100B,100Cおよび中継サーバ200のいずれかである。Webサーバ7,7AがWebサービスを提供するために実行する機能は、例えば、翻訳処理、文字認識処理、技術計算処理、画像処理等のデータに対する処理を実行する機能と、データベース等を検索する機能と、を含む。操作は、Webサーバ7,7Aが、機能を実行するために必要な設定条件を含む。
中継サーバ200は、サービスリクエスタであるMFP100,100A,100B,100Cと、Webサーバ7,7Aとの間に設置され、Webサービスを中継する。サービスリクエスタであるMFP100,100A,100B,100Cは、中継サーバ200に対して要求を送信する。この際、MFP100,100A,100B,100Cそれぞれが送信する要求は、中継サーバ200との間で予め定められた機能を実行させるための操作を含む。したがって、中継サーバ200は、MFP100,100A,100B,100Cに対してWebサービスを提供するサービスプロバイダーとして機能する。中継サーバ200は、MFP100,100A,100B,100Cそれぞれが送信する要求を、サービスプロバイダであるWebサーバ7,7Aに適した要求に変換し、変換した要求をWebサーバ7,7Aに送信する。したがって、中継サーバ200は、Webサーバ7,7Aに対してサービスリクエスタとして機能する。
なお、本実施の形態においては情報処理装置の一例としてMFP100,100A,100B,100Cを例に説明するが、MFP100,100A,100B,100Cに代えて、たとえば、パーソナルコンピュータ、スキャナ、プリンタ、ファクシミリ等であってもよい。なお、MFP100,100A,100B,100C各々が有する機能は同じなので、ここではMFP100を例に説明する。
図2は、中継サーバのハードウェア構成の一例を示すブロック図である。図2を参照して、中継サーバ200は、それぞれがバス208に接続され、中継サーバ200の全体を制御するためのCPU201と、CPU201が実行するプログラム等を記憶するためのROM202と、CPU201の作業領域として用いられるRAM203と、中継サーバ200をネットワークに接続するためのネットワークI/F204と、大容量記憶装置としてのHDD205と、表示部206と、ユーザの操作の入力を受付ける操作部207と、外部記憶装置209と、を含む。
外部記憶装置209は、中継プログラムを記憶したCD−ROM(Compact Disc−ROM)209Aが装着される。CPU201は、外部記憶装置209を介してCD−ROM209Aに記憶された中継プログラムをRAM203にロードし、実行する。なお、中継プログラムを記憶する記録媒体としては、CD−ROM209Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(、EEPROMなどの半導体メモリ等でもよい。また、HDD205に記憶された中継プログラムをRAM203にロードして実行するようにしてもよい。この場合、中継サーバ200が、インターネット3に接続された他のコンピュータから中継プログラムをダウンロードして、その中継プログラムをHDD205に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、MFPの機能の一例を示す機能ブロック図である。図3を参照して、MFP100は、メイン回路101と、ファクシミリ部122と、通信制御部123と、自動原稿搬送装置(ADF)10と、画像読取部20と、画像形成部30と、給紙部40と、を含む。
ADF10は、原稿給紙トレイ11上にセットされた複数枚の原稿を1枚ずつ自動的に画像読取部20のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、画像読取部20により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。画像読取部20は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部30に出力する。給紙部40は、給紙トレイに収納された用紙を画像形成部30に搬送する。
画像形成部30は、周知の電子写真方式により画像を形成するものであって、画像読取部20から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部40により搬送される用紙に画像を形成する。
メイン回路101は、CPU111と、CPU111の作業領域として使用されるRAM(Random Access Memory)112と、CPU111が実行するプログラム等を記憶するためのフラッシュメモリ113と、表示部114と、操作部115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、データ通信制御部117と、を含む。
CPU111は、フラッシュメモリ113に記憶されたプログラムを実行して、各種の処理を実行する。フラッシュメモリ113は、EEPROM(Electronically Erasable Programmable Read Only Memory)である。
CPU111は、表示部114、操作部115、HDD116およびデータ通信制御部117と、それぞれ接続され、メイン回路101の全体を制御する。また、CPU111は、ファクシミリ部122、通信制御部123、ADF10、画像読取部20、画像形成部30、給紙部40と接続され、MFP100の全体を制御する。
表示部114は、液晶表示装置(LCD)、有機ELD(Electro Luminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部115は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部115が備える複数のキーは、スイッチを備えたハードキーである。操作部115は、表示部114上に設けられたタッチパネルを含む。タッチパネルの方式は、特に限定するものではないが、例えば、抵抗膜方式または表面弾性波方式などであればよい。タッチパネルは、指またはスタイラスペンで指示された位置を検出し、検出した位置の座標をCPU111に出力する。表示部114と、操作部115とで、MFP100の上面に設けられる操作パネル9が構成される。
データ通信制御部117は、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)等の通信プロトコルで通信するためのインターフェースであるLAN端子118と、シリアル通信のためのシリアル通信インターフェース端子119とを有する。データ通信制御部117は、CPU111からの指示に従って、LAN端子118またはシリアル通信インターフェース端子119に接続された外部の機器との間でデータを送受信する。
LAN端子118に、ネットワーク2に接続するためのLANケーブルが接続される場合、データ通信制御部117は、LAN端子118を介して接続された他のMFP100A,100B,100Cまたは中継サーバ200と通信する。さらに、データ通信制御部117は、インターネット3に接続されたWebサーバ7,7Aと通信する。
CPU111は、データ通信制御部117を制御して、ネットワーク2またはインターネット3に接続されたコンピュータからプログラムをダウンロードし、フラッシュメモリ113に記憶することにより、プログラムを更新することが可能である。
シリアル通信インターフェース端子119には、フラッシュメモリを内蔵したメモリカード119Aが接続可能である。CPU111は、データ通信制御部117を制御して、メモリカード119AからCPU111が実行するためのプログラムを読出し、フラッシュメモリ113に記憶することにより、プログラムを更新することが可能である。
なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、メモリカード119Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(CD−ROM(Compact Disc−Read Only Memory)/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード(メモリカードを含む)、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROMなどの半導体メモリ等の媒体でもよい。
さらに、CPU111がネットワーク2に接続されたコンピュータからプログラムをダウンロードしてフラッシュメモリ113に記憶する、または、ネットワーク2に接続されたコンピュータがプログラムをフラッシュメモリ113に書込みするようにして、フラッシュメモリ113に記憶されたプログラムをRAM112にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
通信制御部123は、CPU111を公衆交換電話網(PSTN)7に接続するためのモデムである。MFP100には、PSTN7における電話番号が予め割り当てられており、PSTN7に接続されたファクシミリ装置からMFP100に割り当てられた電話番号に発呼があると、通信制御部123がその発呼を検出する。通信制御部123は、発呼を検出すると通話を確立し、ファクシミリ部122に通信させる。
ファクシミリ部122は、PSTN7に接続され、PSTN7にファクシミリデータを送信する、またはPSTN7からファクシミリデータを受信する。
図4は、中継サーバのCPUの機能の概要を示す機能ブロック図である。図4を参照して、CPU201は、MFP100,100A,100B,100Cのいずれかからメッセージを受信するメッセージ受信部51と、Webサーバ7,7Aのうちから受信されたメッセージにより特定される機能を実行させるものを選択する選択部61と、受信されたメッセージをWebサーバに対応したメッセージに変換する変換部53と、選択部61により選択されたWebサーバに認証確認をする代行認証部63と、選択部61により選択されたWebサーバに機能を実行させる機能実行指示部55と、機能の実行結果を受信する実行結果受信部57と、MFP100,100A,100B,100Cのうちメッセージを送信してきたものに実行結果を送信する実行結果送信部59と、Webサーバからプロファイルを取得するプロファイル取得部65と、関連付テーブルを更新する更新部67と、を含む。
メッセージ受信部51は、MFP100,100A,100B,100Cのいずれかからメッセージを受信する。ここでは、MFP100からメッセージを受信する場合を例に説明する。メッセージは、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のうちから選ばれた少なくとも1つの操作を含む。メッセージ受信部51は、受信したメッセージを選択部61および変換部53に出力する。メッセージは、ここでは、SOAP(Simple Object Access Protocol)の通信プロトコルにより受信される。
選択部61は、Webサーバ7,7Aのうちから受信されたメッセージにより特定される機能を実行させるものを選択する。HDD205には、Webサーバ7,7Aそれぞれが実行可能な機能を定義した機能定義テーブルが記憶されている。選択部61は、機能定義テーブルを参照し、Webサーバ7,7Aのうちからメッセージにより特定される機能を実行可能なものを決定する。メッセージより特定される機能は、メッセージに記述されている操作に基づき定まる。ここでは、Webサーバ7が選択される場合を例に説明する。選択部61は、メッセージにより特定される機能を実行可能なWebサーバ7を識別するためのWebサーバ識別情報を代行認証部63および変換部53に出力する。なお、機能定義テーブルを用いることなく、後述する関連付テーブルからWebサーバ7,7Aそれぞれが実行可能な機能を特定するようにしてもよい。
選択部61は、メッセージにより特定される機能実行可能なWebサーバが複数ある場合、複数のWebサーバのうちから1つを選択する。この場合における選択基準は、予め中継サーバに定めておくようにすればよい。たとえば、機能定義テーブルにおいて、Webサービスごとのコストを設定しておくようにし、コストの最も安いものを選択基準として定めることにより1つのWebサーバを選択することができる。または、メッセージにより特定される機能を実行可能な複数のWebサーバを識別するためのWebサーバ識別情報を、コストの安いものから順に列挙したリストをメッセージを送信してきたMFP100に送信するようにし、MFP100のユーザにより選択させるようにしてもよい。この場合、リストにはWebサーバごとにコストを併記するのが好ましい。
変換部53は、入力されるメッセージを、関連付テーブルを参照して選択部61により選択されたWebサーバに対応したメッセージに変換する。HSS205は、関連付テーブルを記憶する。関連付テーブルは、Webサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付ける。以下、Webサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作を複数のWeb操作といい、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作を、複数のローカル操作という。
図5は、関連付テーブルの一例を示す図である。ここでは、Webサーバ7が提供する翻訳のWebサービスに対する関連付テーブルの一部を示している。ローカル操作およびWeb操作それぞれは、少なくとも1つのタグとパラメータとからなる。例えば、ローカル操作の1つである「コントロール1」に対しては、タグ「コントロール1名」とパラメータ「読取言語」の組と、タグ「コントロール1タイプ」とパラメータ「選択肢」の組と、タグ「コントロール1範囲」とパラメータ「日本語、英語、韓国語」の組の3つの組を含む。この「コントロール1」のローカル操作に対して、Web操作として、タグ「コントロール1名」とパラメータ「入力言語」の組と、タグ「コントロール1タイプ」とパラメータ「数値」の組と、タグ「コントロール1範囲」とパラメータ「1:英語、2:韓国語、3:日本語」との組が、それぞれ関連付けられる。
関連付テーブルは、複数のローカル操作それぞれに対して、対応するWeb操作を関連付けるが、Web操作に存在しないローカル操作については、ローカル操作に何も関連付けられない。例えば、ローカル操作の1つである「コントロール3」に対しては、タグ「コントロール3名」、タグ「コントロール3タイプ」、タグ「コントロール3範囲」の3つのタグを含むが、ローカル操作の1つである「コントロール3」に対するWeb操作が存在しないので、「コントロール3」のローカル操作に対するWeb操作には何も関連付けれない。
図6は、メッセージの一例を示す図である。図6に示すメッセージは、MFP100が送信するメッセージである。図7は、変換後のメッセージの一例を示す図である。図7に示す変換後のメッセージは、Webサーバ7で受信されるメッセージであり、図6に示すメッセージが図5に示した関連付テーブルに従って変換されている。
図4に戻って、代行認証部63は、MFP100,100A,100B,100Cのうちメッセージを送信してきたMFPに代わって、Webサーバ7,7Aに認証情報を送信し、認証させる。まず、代行認証部63は、選択部61により選択されたWebサーバが提供するWebサービスを利用する権限があるか否かを判断する。このためHDD205に、認証テーブルを予め記憶している。認証テーブルは、MFP100,100A,100B,100Cごとに、利用可能なWebサービスを提供するWebサーバのサーバ識別情報と、認証情報とを関連付ける。代行認証部63は、MFP100,100A,100B,100Cのうちメッセージを送信してきたMFPが、選択部61により選択されたWebサーバのサーバ識別情報と対応つけられているか否かを判断する。対応付けられていれば、認証テーブルによりそのMFPとWebサーバとの組に関連付けられた認証情報を、Webサーバに送信し、Webサーバに認証させるが、対応付けられていなければエラー信号を返信する。代行認証部63は、Webサーバにおいて認証が成功すると、実行指示を機能実行指示部55に出力する。
このように、中継サーバ200において、MFP100,100A,100B,100CごとにあるWebサービスを利用可能なものと利用不可能なものとを認証テーブルに設定することができる。また、認証テーブルに利用可能としてMFPを操作するユーザは、認証情報を入力する必要がないので便利である。
機能実行指示部55は、代行認証部63から実行指示が入力されると、変換部53から入力されるメッセージを、選択部61により選択されたWebサーバ7に送信する。Webサーバ7においては、受信されるメッセージにしたがって、機能を実行する。中継サーバ200が送信するメッセージは、Webサーバ7から取得されるプロファイルに基づき生成された関連付テーブルを用いて変換されているため、Webサーバ7が要求するメッセージのフォーマットに適合している。このため、Webサーバ7において解釈されて、機能が実行される。Webサーバ7は、機能を実行した結果である実行結果を中継サーバ200に送信する。
実行結果受信部57は、Webサーバ7が送信する実行結果を受信し、受信した実行結果を実行結果送信部59に出力する。実行結果送信部59は、入力される実行結果を、MFP100,100A,100B,100Cのうちメッセージを送信してきたもの、ここではMFP100に送信する。これにより、MFP100にいおては、中継サーバ200に、その中継サーバ200との間で予め定められた機能を実行するための操作を含むメッセージを送信すれば、Webサーバ7が提供するWebサービスを利用することができる。MFP100のユーザは、Webサーバ7,7Aが提供するWebサービスを意識する必要がなく、それらが提供するWebサービスを利用することができる。また、新たなWebサービスを提供する新たなWebサーバについて、関連付テーブルおよび認証テーブルに登録することによって、MFP100,100A,100B,100Cの少なくとも1つのユーザに新たなWebサービスを利用させることができる。
また、MFP100,100A,100B,100Cぞれぞれに対して利用可能なWebサービスを、認証テーブルに設定することができるので、中継サーバ200において一括して管理することができる。
プロファイル取得部65は、新たなWebサービスを提供するWebサーバからプロファイルを取得する。新たなWebサーバは、Webサーバ7,7Aであってもよいし、それらとは異なるWebサーバであってもよい。プロファイル取得部65は、中継サーバ200の管理者が、新たなWebサーバのプロファイルを取得する指示を入力すると、新たなWebサーバからプロファイルを取得する。プロファイル取得部65は、取得されたプロファイルを更新部67に出力する。
更新部67は、プロファイル取得部65から入力されるプロファイルを解析し、プロファイルに設定されている少なくとも1つの操作(コントロール)それぞれを、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のいずれか1つに対応付けた関連付レコードを生成し、生成した関連付レコードを、HDD205に記憶されている関連付テーブルに追加することにより、関連付テーブルを更新する。
図8は、プロファイルの一例を示す図である。図8に示すプロファイルは、Webサーバ7から取得されるプロファイルを示す。図8に示したプロファイルが受信されると、図4に示した関連付データが生成される。
図9は、メッセージ中継処理の流れの一例を示すフローチャートである。メッセージ中継処理は、中継サーバ200が備えるCPU201が中継プログラムを実行することによりCPU201により実行される処理である。図9を参照して、CPU201は、MFP100,100A,100B,100Cのいずれかからメッセージを受信したか否かを判断する。メッセージを受信するまで待機状態となり(ステップS01でNO)、メッセージを受信したならば処理をステップS02に進める。
ステップS02においては、Webサーバを選択する。具体的には、HDD205に記憶されている機能定義テーブルを参照し、Webサーバ7,7AのうちからステップS01において受信されたメッセージに記述されている操作に基づき定まる機能を実行可能なものを決定する。ここでは、Webサーバ7を選択する場合を例に説明する。
次のステップS03においては、ステップS01において受信されたメッセージを、HDD205に記憶された関連付テーブルを参照して、ステップS02において選択されたWebサーバ7に対応したメッセージに変換する。
次のステップS04においては、認証確認を行う。ステップS01において受信されたメッセージを送信してきたMFP100が、HDD205に記憶されている認証テーブルを参照して、ステップS02において選択されたWebサーバ7が提供するWebサービスを利用可能か否かを確認する。
メッセージを送信してきたMFP100が、認証テーブルにおいて、Webサーバ7が提供するWebサービスを利用可能であれば処理をステップS05に進め、そうでなければ処理を終了する。処理を終了する場合、メッセージを送信してきたMFP100に対してエラーメッセージを送信する。
ステップS05においては、メッセージを送信してきたMFP100と選択されたWebサーバ7との組に、認証テーブルにより関連付けられた認証を情報をWebサーバ7に送信し、Webサーバ7に認証させ、Webサーバ7から認証結果を受信する。次のステップS06においては、認証結果が認証OKを示すならば処理をステップS07に進め、そうでなければ処理を終了する。処理を終了する場合、エラーメッセージをメッセージを送信してきたMFP100に送信する。
次のステップS07においては、ステップS03において変換された変換メッセージをWebサーバ7に送信し、Webサーバ7に変換メッセージに従って機能を実行させる。変換メッセージを受信するWebサーバ7は、変換メッセージに従って機能を実行し、その実行結果を返信する。
ステップS08においては、実行結果を受信するまで待機状態となり、実行結果を受信すると処理をステップS09に進める。ステップS09においては、Webサーバ7より受信された実行結果を、ステップS01において受信されたメッセージを送信してきたMFP100に送信する。
図10は、関連付テーブル更新処理の流れの一例を示すフローチャートである。関連付テーブル更新処理は、中継サーバ200が備えるCPU201が中継プログラムを実行することによりCPU201により実行される処理である。
図10を参照して、CPU201は、新規Webサーバの指定を受け付けたか否かを判断する(ステップS21)。新規Webサーバの指定を受け付けるまで待機状態となり(ステップS21でNO)、新規Webサーバの指定を受け付けると(ステップS21でYES)、処理をステップS22に進める。
ステップS22においては、指定された新規Webサーバからプロファイルを取得する。そして、取得されたプロファイルに含まれる複数のコントロールのうちから1つを選択する(ステップS23)。次に、HDD205に記憶されている関連付テーブルを参照し、ステップS23において選択されたコントロールが既に設定されているか否かの判断する(ステップS24)。関連付テーブルに既に設定されているならば処理をステップS25に進め、そうでなければ処理をステップS27に進める。ステップS25においては、ステップS23において選択したコントロールに、それに対応する既存のAPI(Application Program Interface)を関連付ける。
ステップS26においては、プロファイル中に未選択のコントロールが存在するか否かを判断する。未選択のコントロールが存在するならば処理をステップS23に進め、存在しなければ処理を終了する。
一方、ステップS27においては、ユーザによる手動変換を受け付ける。すなわち、プロファイルに含まれるコントロールに対応する新たなAPIを関連付ける操作を受け付ける。そして、受け付け得られた新たなAPIを関連付テーブルに追加して記憶し(ステップS28)、処理をステップS26に進める。
<変形例>
上述した実施の形態においては、1つのメッセージで1つのWebサービスを利用するものであったが、変形例における情報処理システムにおいては、1つのメッセージで複数のWebサービスを利用可能とするものである。具体的には、MFP100から送信されるメッセージが複数の機能に関する操作を含む場合である。この場合、複数の機能をそれぞれ実行するWebサービスを提供する複数のWebサーバが存在する場合がある。ここでは、複数の機能として文字認識と翻訳を例に説明し、Webサーバ7が翻訳する機能を実行するWebサービスを提供し、Webサーバ7Aが文字認識する機能実行するWebサービスを提供する場合を例に説明する。
図11は、変形における中継サーバ200が備えるCPU201Aの機能の概要を示す機能ブロック図である。図4に示した機能ブロック図と異なる点は、選択部61A、変換部53A、機能実行指示部55Aおよび実行結果受信部57Aが異なる点である。その他の機能は図4に示した機能ブロック図と同じなのでここでは説明を繰り返さない。
図11を参照して、選択部61Aは、機能定義テーブルを参照し、Webサーバ7,7AのうちからMFP100から受信するメッセージにより特定される文字認識する機能を実行可能なWebサーバ7Aおよび翻訳する機能を実行可能なWebサーバ7を選択する。選択部61Aは、メッセージにより特定される機能を実行可能なWebサーバ7,7Aを識別するためのWebサーバ識別情報を代行認証部63および変換部53Aに出力する。
変換部53Aは、第1メッセージ変換部81と、第2メッセージ変換部82とを含む。第1メッセージ変換部81は、メッセージ受信部57より入力されるメッセージのうちWebサーバ7Aが提供する文字認識する機能に関するコントロールを、関連付テーブルを参照してWebサーバ7Aに対応したメッセージに変換し、変換した第1変換メッセージを機能実行指示部55Aに出力する。第2メッセージ変換部82は、メッセージ受信部57より入力されるメッセージのうちWebサーバ7が提供する翻訳する機能に関するコントロールを、関連付テーブルを参照してWebサーバ7に対応したメッセージに変換し、変換した第2変換メッセージを機能実行指示部55Aに出力する。
機能実行指示部55Aは、第1機能実行指示部83と、第2機能実行指示部84とを含む。第1機能実行指示部83は、第1メッセージ変換部81より第1変換メッセージが入力され、第1変換メッセージを選択部61Aにより選択されたWebサーバ7Aに送信する。Webサーバ7Aにおいては、受信される第1変換メッセージに従って、文字認識する機能を実行し、実行結果を中継サーバ200に送信する。
実行結果受信部57Aは、第1実行結果受信部85と第2実行結果受信部86とを含む。第1実行結果受信部85は、Webサーバ7Aが送信する実行結果を受信し、受信した実行結果を第2機能実行指示部84に出力する。
第2機能実行指示部84は、第2メッセージ変換部82より第2変換メッセージが入力され、第1実行結果受信部85より実行結果が入力され、入力される第2変換メッセージおよび実行結果をWebサーバ7に送信する。Webサーバ7においては、受信される第2変換メッセージに従って、受信される実行結果に対して翻訳する機能を実行し、実行結果を中継サーバ200に送信する。第2実行結果受信部86は、Webサーバ7が送信する実行結果を受信し、受信した実行結果を実行結果送信部59に出力する。
図12は、変形例におけるメッセージ中継処理の流れの一例を示すフローチャートである。変形例におけるメッセージ中継処理は、変形例における中継サーバ200が備えるCPU201Aが中継プログラムを実行することによりCPU201Aにより実行される処理である。図12を参照して、CPU201Aは、MFP100,100A,100B,100Cのいずれかからメッセージを受信したか否かを判断する(ステップS31)。メッセージを受信するまで待機状態となり(ステップS31でNO)、メッセージを受信したならば(ステップS31でNO)、処理をステップS32に進める。
ステップS32においては、複数のWebサーバを選択する。具体的には、HDD205に記憶されている機能定義テーブルを参照し、Webサーバ7,7AのうちからステップS31において受信されたメッセージに記述されている操作に基づき定まる機能を実行可能なものを決定する。ここでは、翻訳する機能を実行するWebサービスを提供するWebサーバ7と、文字認識する機能を実行するWebサービスを提供するWebサーバ7Aを選択する場合を例に説明する。
次のステップS33においては、ステップS31において受信されたメッセージを、HDD205に記憶された関連付テーブルを参照して、ステップS32において選択されたWebサーバ7,7Aそれぞれに対応した複数のメッセージに変換し、処理をステップS34に進める。
次のステップS34においては、認証確認を行う。ステップS31において受信されたメッセージを送信してきたMFP100が、HDD205に記憶されている認証テーブルを参照して、ステップS32において選択されたWebサーバ7,7Aそれぞれが提供するWebサービスを利用可能か否かを確認する。メッセージを送信してきたMFP100が、認証テーブルにおいて、Webサーバ7、7Aそれぞれが提供するWebサービスをともに利用可能であれば処理をステップS35に進め、そうでなければ処理を終了する。Webサーバ7、7Aそれぞれが提供するWebサービスの少なくとも1つでも利用可能でなければ処理を終了する。1の機能でも利用できなければメッセージに設定された操作で定まるすべての機能を実行できないからである。処理を終了する場合、メッセージを送信してきたMFP100に対してエラーメッセージを送信する。
ステップS35においては、メッセージを送信してきたMFP100と選択されたWebサーバ7との組に、認証テーブルにより関連付けられた認証情報をWebサーバ7に送信し、Webサーバ7に認証させ、Webサーバ7から認証結果を受信するとともに、MFP100と選択されたWebサーバ7Aとの組に、認証テーブルにより関連付けられた認証情報をWebサーバ7Aに送信し、Webサーバ7Aに認証させ、Webサーバ7から認証結果を受信する。ステップS35においては、Webサーバ7,7Aのすべてで認証結果が認証OKを示すならば処理をステップS36に進め、そうでなければ処理を終了する。Webサーバ7、7Aの1つでも認証さればければ、メッセージに設定された操作で定まるすべての機能を実行できないからである。処理を終了する場合、エラーメッセージをメッセージを送信してきたMFP100に送信する。
次のステップS36においては、ステップS33において変換された複数の変換メッセージのうちから1つのメッセージを選択する。そして、選択されたメッセージを対応するWebサーバに送信し、メッセージに従って機能を実行させる(ステップS37)。ここではWebサーバ7Aに送信し、Webサーバ7Aに選択されたメッセージに従って機能を実行させる。メッセージを受信するWebサーバ7Aは、メッセージに従って文字認識する機能を実行し、その実行結果を返信する。
ステップS38においては、実行結果を受信するまで待機状態となり、実行結果を受信すると処理をステップS39に進める。ここでは、画像を文字認識した実行結果として英語のテキストデータを受信する。
ステップS39においては、ステップS33において変換された複数の変換メッセージのうちから次の順番のメッセージを選択する。そして、ステップS38において受信された実行結果と、ステップS39において選択されたメッセージとを対応するWebサーバに送信し、メッセージに従って機能を実行させる(ステップS40)。ここではWebサーバ7に送信し、Webサーバ7に、実行結果である英語のテキストデータに対して選択されたメッセージに従って翻訳する機能を実行させる。メッセージを受信するWebサーバ7は、メッセージに従って英語のテキストデータに基づいて翻訳する機能を実行し、その実行結果である日本語のテキストデータを返信する。
ステップS41においては、実行結果を受信するまで待機状態となり、実行結果を受信すると処理をステップS42に進める。ここでは、実行結果として、英文字が表された画像を文字認識し、文字認識された英文字を日本語に翻訳した日本語のテキストデータを受信する。次のステップS42においては、ステップS33において変換された複数のメッセージのうちに未選択のメッセージが存在するか否かを判断する。未選択のメッセージが存在すれば処理をステップS39に戻すが、存在しなければ処理をステップS43に進める。
ステップS43においては、Webサーバ7より受信された実行結果を、ステップS31において受信されたメッセージを送信してきたMFP100に送信する。
以上説明したように本実施の形態における中継サーバ200は、複数のWebサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルをHDD205に記憶しており、MFP100,100A,100B,100CのいずれかからMFP100,100A,100B,100Cと中継サーバ200との間で予め定義された複数の操作を含むメッセージを受信すると、メッセージを関連付テーブルを用いて変換し、変換されたメッセージを複数のWebサーバのうちメッセージで特定される機能を実行可能なWebサーバに送信し、変換されたメッセージに従って機能を実行させる。そして、メッセージを送信したWebサーバから機能の実行結果を受信し、受信された実行結果をMFP100,100A,100B,100Cのうちメッセ維持を送信してきたものに送信する。このため、MFP100,100A,100B,100Cにおいては、複数のWebサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作に関係なく、中継サーバ200との間で機能を実行させるために予め定義された複数の操作を含むメッセージを生成できればよい。このため、新たなWebサーバが追加される場合等のWebサービスの変動に対して、MFP100,100A,100B,100Cで生成されるメッセージを変更する必要がない。その結果、Webサービスの変動に容易に対応することができる。
また、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報がMFP100,100A,100B,100Cのうちメッセージを送信してきたものに送信されるので、MFP100,100A,100B,100Cのユーザは、リスト情報を見て機能を実行させるWebサーバを決定することができる。このため、機能を実行させるWebサーバを容易に決定することが可能となる。
また、複数のWebサーバ7,7Aのうちで同種のWebサービスを提供する複数のWebサーバが存在する場合、同種のWebサービスを提供する複数のWebサーバのうちから1つを選択する。例えば、コストの安いWebサービスを提供するWebサーバを選択する。このため、MFP100,100A,100B,100Cのユーザは、複数のWebサーバ7,7Aがそれぞれ提供する複数のWebサービスを知る必要がなく、Webサービスの提供を受けることができる。
さらに、MFP100,100A,100B,100Cのいずれかから文字認識と翻訳の機能それぞれを実行させるためのメッセージを受信し、メッセージを関連付テーブルを用いてWebサーバ7Aに対して送信するための第1のメッセージと、Webサーバ7に送信するための第2のメッセージとに変換し、第1のメッセージを文字認識する機能を実行可能なWebサーバ7Aに送信し、Webサーバ7Aから実行結果を受信した後に、実行結果と第2のメッセージとを翻訳する機能を実行可能なWebサーバ7に送信する。このため、MFP100,100A,100B,100Cにおいて、1つのメッセージを送信するだけで、複数のWebサービスを利用することができる。
さらに、MFP100,100A,100B,100Cに代わってWebサーバ7,7Aに対して認証情報が送信されるので、MFP100,100A,100B,100Cのユーザは、認証情報を入力する必要がなく、Webサーバ7,7Aを意識する必要がない。
また、新たなWebサーバが有するWebサービスを提供するための機能を利用するための複数の操作を定義するプロファイルが取得されると、取得されたプロファイルに基づいて、関連付テーブルを更新する。このため、Webサービスの変動に対応することができる。
なお、上述した実施の形態においては、情報処理システム1について説明したが、図9、図10および図12に示した処理を実行するための中継方法、および中継方法をコンピュータに実行させるための中継プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の実施の形態における情報処理システムの全体概要を示す図である。 中継サーバのハードウェア構成の一例を示すブロック図である。 MFPの機能の一例を示す機能ブロック図である。 中継サーバのCPUの機能の概要を示す機能ブロック図である。 関連付テーブルの一例を示す図である。 メッセージの一例を示す図である。 変換後のメッセージの一例を示す図である。 プロファイルの一例を示す図である。 メッセージ中継処理の流れの一例を示すフローチャートである。 関連付テーブル更新処理の流れの一例を示すフローチャートである。 変形における中継サーバが備えるCPUの機能の概要を示す機能ブロック図である。 変形例におけるメッセージ中継処理の流れの一例を示すフローチャートである。
符号の説明
7,7A サーバ、51 メッセージ受信部、53,53A 変換部、55,55A 機能実行指示部、57,57A 実行結果受信部、59 実行結果送信部、61,61A 選択部、63 代行認証部、65 プロファイル取得部、67 更新部、81 第1メッセージ変換部、82 第2メッセージ変換部、83 第1機能実行指示部、84 第2機能実行指示部、85 第1実行結果受信部、86 第2実行結果受信部、200 中継サーバ、201 CPU、202 ROM、203 RAM、204 ネットワークI/F、205 HDD、206 表示部、207 操作部、208 バス、209 外部記憶装置。

Claims (8)

  1. それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバであって、
    前記複数のWebサーバそれぞれから、当該Webサーバが提供するWebサービスを利用するための複数の操作を定めたプロファイルを取得するプロファイル取得手段と、
    前記取得されたプロファイルを解析することによって、前記複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、前記情報処理装置と前記中継サーバとの間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを生成し、記憶する関連付テーブル記憶手段と、
    前記情報処理装置から前記情報処理装置と前記中継サーバとの間で予め定義された複数の操作を含むメッセージを受信するメッセージ受信手段と、
    前記メッセージを前記関連付テーブルを用いて変換する変換手段と、
    前記変換されたメッセージを前記複数のWebサーバのうち前記メッセージで特定される機能を実行可能なWebサーバに送信し、前記変換されたメッセージに従って機能を実行させる機能実行指示手段と、
    前記Webサーバから機能の実行結果を受信する実行結果受信手段と、
    前記受信された実行結果を前記情報処理装置に送信する実行結果送信手段と、を備えた中継サーバ。
  2. 前記複数のWebサーバのうちで同種の機能を実行する複数のWebサーバが存在する場合、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報を前記情報処理装置に送信するリスト情報送信手段と、
    前記情報処理装置から同種の機能を実行する複数のWebサーバのうちから選択された1つのWebサーバを特定する情報を受信する特定情報受信手段と、をさらに備え、
    前記機能実行指示手段は、前記特定されたWebサーバに前記変換されたメッセージを送信する、請求項1に記載の中継サーバ。
  3. 前記複数のWebサーバのうちで同種のWebサービスを提供する複数のWebサーバが存在する場合、同種のWebサービスを提供する複数のWebサーバのうちから1つを選択する選択手段をさらに備え、
    前記機能実行指示手段は、前記特定されたWebサーバに前記変換されたメッセージを送信する、請求項1に記載の中継サーバ。
  4. メッセージ受信手段は、前記複数のWebサーバのうちで異なる機能を実行する第1および第2のWebサーバが存在する場合、前記情報処理装置から前記異なる機能それぞれを実行させるためのメッセージを受信し、
    前記変換手段は、前記メッセージを前記関連付テーブルを用いて第1のWebサーバに対して送信するための第1のメッセージと、第2のWebサーバに送信するための第2のメッセージとに変換し、
    前記機能実行指示手段は、前記第1のメッセージを前記第1のWebサーバに送信し、前記実行結果受信手段が前記第1のWebサーバから実行結果を受信した後に、第2のメッセージを前記第2のWebサーバに送信する、請求項1に記載の中継サーバ。
  5. 前記複数のWebサーバのうち少なくとも1つは認証情報に基づいて認証する認証手段を含み、該少なくとも1つのWebサーバは、該認証手段により認証されることを条件に機能を実行し、
    前記中継サーバは、前記情報処理装置に代わって前記少なくとも1つのWebサーバに対して認証情報を送信する代行認証手段をさらに備える、請求項1に記載の中継サーバ。
  6. 新たなWebサーバが有するWebサービスを提供するための機能を利用するための複数の操作を定義するプロファイルを取得するプロファイル取得手段と、
    前記取得されたプロファイルに基づいて、前記関連付テーブルを更新する更新手段と、をさらに備えた請求項1に記載の中継サーバ。
  7. それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継方法であって、
    前記複数のWebサーバそれぞれから、当該Webサーバが提供するWebサービスを利用するための複数の操作を定めたプロファイルを取得するステップと、
    前記取得されたプロファイルを解析することによって、前記複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、前記情報処理装置と前記中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを生成し、記憶するステップと、
    前記情報処理装置から前記情報処理装置と前記中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、
    前記メッセージを前記関連付テーブルを用いて変換するステップと、
    前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージに従って機能を実行させるために、前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージを送信するステップと、
    前記Webサーバから機能の実行結果を受信するステップと、
    前記受信された実行結果を前記情報処理装置に送信するステップと、を含む中継方法。
  8. それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継プログラムであって、
    前記複数のWebサーバそれぞれから、当該Webサーバが提供するWebサービスを利用するための複数の操作を定めたプロファイルを取得するステップと、
    前記取得されたプロファイルを解析することによって、前記複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、前記情報処理装置と前記中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを生成し、記憶するステップと、
    前記情報処理装置から前記情報処理装置と前記中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、
    前記メッセージを前記関連付テーブルを用いて変換するステップと、
    前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージに従って機能を実行させるために、前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージを送信するステップと、
    前記Webサーバから機能の実行結果を受信するステップと、
    前記受信された実行結果を前記情報処理装置に送信するステップと、を前記中継サーバに実行させる中継プログラム。
JP2008183551A 2008-07-15 2008-07-15 中継サーバ、中継方法および中継プログラム Expired - Fee Related JP5120121B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008183551A JP5120121B2 (ja) 2008-07-15 2008-07-15 中継サーバ、中継方法および中継プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008183551A JP5120121B2 (ja) 2008-07-15 2008-07-15 中継サーバ、中継方法および中継プログラム

Publications (2)

Publication Number Publication Date
JP2010026562A JP2010026562A (ja) 2010-02-04
JP5120121B2 true JP5120121B2 (ja) 2013-01-16

Family

ID=41732373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008183551A Expired - Fee Related JP5120121B2 (ja) 2008-07-15 2008-07-15 中継サーバ、中継方法および中継プログラム

Country Status (1)

Country Link
JP (1) JP5120121B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187467B2 (en) 2013-10-29 2019-01-22 Ricoh Company, Ltd. Information processing system and method of processing information

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043398A (ja) * 2010-07-21 2012-03-01 Canon Inc コンテンツ印刷システム、および印刷中継システム、および制御方法、およびプログラム
JP5698475B2 (ja) * 2010-07-29 2015-04-08 キヤノン株式会社 通信装置、中継装置、通信装置の制御方法、中継装置の制御方法およびプログラム
JP5316515B2 (ja) 2010-11-04 2013-10-16 ブラザー工業株式会社 通信システムおよび中継装置
JP5251963B2 (ja) * 2010-11-16 2013-07-31 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム、画像処理サーバ、画像形成装置、画像処理方法及び画像処理プログラム
JP5755052B2 (ja) * 2011-06-29 2015-07-29 キヤノン株式会社 印刷中継サーバーシステム、その制御方法、およびプログラム。
JP5891740B2 (ja) * 2011-11-24 2016-03-23 ブラザー工業株式会社 仲介サーバ及び通信装置
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) * 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321995A (ja) * 2004-05-07 2005-11-17 Canon Inc 情報処理装置、情報処理方法ならびに記録媒体、プログラム
JP2007293603A (ja) * 2006-04-25 2007-11-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2008134906A (ja) * 2006-11-29 2008-06-12 Hitachi Ltd 業務プロセス定義生成方法、装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187467B2 (en) 2013-10-29 2019-01-22 Ricoh Company, Ltd. Information processing system and method of processing information

Also Published As

Publication number Publication date
JP2010026562A (ja) 2010-02-04

Similar Documents

Publication Publication Date Title
JP5120121B2 (ja) 中継サーバ、中継方法および中継プログラム
JP5231620B2 (ja) サーバ装置
US9021391B2 (en) Image forming apparatus able to re-execute workflow and method thereof
JP4604847B2 (ja) 画像処理システム、画像処理装置および画像処理プログラム
US9692927B2 (en) Device, information processing system, and information processing method
JP6690439B2 (ja) 画像処理装置
JP2007243845A (ja) 情報処理システム、情報処理装置および端末登録方法
KR100941404B1 (ko) 정보 처리 시스템, 정보 또는 처리 기능의 제공을 제어하기 위한 프로그램을 기억한 기록 매체, 및 방법
JP2008197809A (ja) 情報処理装置、代行処理実行方法および代行処理実行プログラム
JP5817766B2 (ja) 情報処理装置、通信システム及びプログラム
US20200287883A1 (en) Computer-readable medium, information processing device, and method for providing better accessibility to cloud server
JP5176806B2 (ja) 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム
US20050015446A1 (en) Method and apparatus to remotely control electronic apparatuses over a network
US11765292B2 (en) Information processing apparatus used for converting image to file, image processing system, method of controlling information processing apparatus, and storage medium
US10911611B2 (en) Transmitting fax document by using cloud server
JP5648433B2 (ja) 共有画像印刷システム、共有画像印刷方法及び印刷装置
JP2016126481A (ja) デバイス制御プログラム、デバイス制御方法及びデバイス制御装置
JP5585603B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US20080057907A1 (en) Service Usage Control System, Service Usage Controller, Method For The Same, Computer Readable Medium For The Same, And Computer Data Signal of The Same
JP6801258B2 (ja) 情報処理装置、動作更新方法および動作更新プログラム
US11909926B2 (en) Information processing apparatus using cloud, control method therefor, storage medium storing control program therefor, and information processing system, that obtain and store additional print setting information not included in a tenant server that stores print setting information
US11444930B2 (en) Computer-readable medium, information processing device, and method for providing better accessibility to cloud server
US20210337081A1 (en) Processing facsimile in cloud server
JP5492636B2 (ja) ファックス送信システム、及びファックス送信制御装置
JP2006343882A (ja) 画像処理システム、画像処理装置および画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

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: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121008

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees