JP2015072653A - 中継装置、中継方法、及び中継プログラム - Google Patents
中継装置、中継方法、及び中継プログラム Download PDFInfo
- Publication number
- JP2015072653A JP2015072653A JP2013208916A JP2013208916A JP2015072653A JP 2015072653 A JP2015072653 A JP 2015072653A JP 2013208916 A JP2013208916 A JP 2013208916A JP 2013208916 A JP2013208916 A JP 2013208916A JP 2015072653 A JP2015072653 A JP 2015072653A
- Authority
- JP
- Japan
- Prior art keywords
- cloud platform
- request
- communication
- relay
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】クラウドプラットフォームの制限を回避するための適切な非同期通信を実現する。
【解決手段】通信ネットワークを介して接続されたクラウドプラットフォームからのリクエストに対応させて前記クラウドプラットフォームと外部システムとのデータ通信を中継する中継装置において、前記クラウドプラットフォームからのリクエストを受け付け、受け付けた前記リクエストを登録し、該登録した結果を前記クラウドプラットフォームに送信する要求受付手段と、前記クラウドプラットフォームとの通信とは非同期に前記外部システムと通信を行い、前記要求受付手段により登録された前記リクエストに対するレスポンスを前記外部システムから取得し、取得した前記レスポンスを前記クラウドプラットフォームに送信する処理を実行する非同期処理実行手段とを有する。
【選択図】図3
【解決手段】通信ネットワークを介して接続されたクラウドプラットフォームからのリクエストに対応させて前記クラウドプラットフォームと外部システムとのデータ通信を中継する中継装置において、前記クラウドプラットフォームからのリクエストを受け付け、受け付けた前記リクエストを登録し、該登録した結果を前記クラウドプラットフォームに送信する要求受付手段と、前記クラウドプラットフォームとの通信とは非同期に前記外部システムと通信を行い、前記要求受付手段により登録された前記リクエストに対するレスポンスを前記外部システムから取得し、取得した前記レスポンスを前記クラウドプラットフォームに送信する処理を実行する非同期処理実行手段とを有する。
【選択図】図3
Description
本発明は、クラウドプラットフォームの制限を回避するための非同期通信技術に関連するものである。
近年、1以上の情報処理装置を有するクラウドコンピューティングシステムを用いてデータ管理や各種処理を行う形態が普及し始めている。ユーザは、例えばクライアントコンピュータのWebブラウザ等からインターネット等を介してクラウドサーバコンピュータのWebページにアクセスし、そのWebページ上で閲覧したいデータを表示する。また、その画面からメールの受信指示を行うと、メールサーバに要求が送信され、メールサーバから取得したメールがWeb画面上で表示される。
なお、従来では、Web画面からメールサーバに要求する際に、HTTP(Hyper Text Transfer Protocol)やPOP(Post Office Protocol)/IMAP(Internet Message Access Protocol)等のプロトコル変換を行ってメールの送受信を行う手法が存在する(例えば、特許文献1及び2参照)。
ところで、上述したようなクラウドコンピューティングシステムを用いたクラウドプラットフォームの中には、外部システムとの通信の際に、通信プロトコルの制限や通信時間、通信データサイズ等が制限されるものがある。また、プロトコルが異なるシステム間で通信を行う場合には、その変換を行うEAI(Enterprise Application Integration)システムの導入が一般的である。
しかしながら、EAIシステムは、リクエスト・レスポンス方式で通信を行うため、リクエストを送信してからレスポンスを取得するまでの通信時間がかかり、上述した通信時間の制限を回避することができずに、通信が途中で途切れたり、必要な情報を取得できないといった問題が生じる。
また、例えばメールサーバ上に受信対象となる未読メールが大量にたまっている場合には、受信データサイズの制限により受信メールが取得できなかったり、サーバ負荷やネットワーク輻輳等の原因で応答遅延が発生することで、通信時間の制限により通信が途切れる場合がある。このような状況は、事前に予測ができないため、リクエスト側(クラウドプラットフォーム側)で自律的に回避する制御もできない。
本発明は上記の点に鑑みてなされたものであり、クラウドプラットフォームの制限を回避した適切な非同期通信を実現する技術を提供することを目的とする。
上記の課題を解決するために、本発明の一態様における中継装置は、通信ネットワークを介して接続されたクラウドプラットフォームからのリクエストに対応させて前記クラウドプラットフォームと外部システムとのデータ通信を中継する中継装置において、前記クラウドプラットフォームからのリクエストを受け付け、受け付けた前記リクエストを登録し、該登録した結果を前記クラウドプラットフォームに送信する要求受付手段と、前記クラウドプラットフォームとの通信とは非同期に前記外部システムと通信を行い、前記要求受付手段により登録された前記リクエストに対するレスポンスを前記外部システムから取得し、取得した前記レスポンスを前記クラウドプラットフォームに送信する処理を実行する非同期処理実行手段とを有する。
また、前記中継装置は、前記クラウドプラットフォーム又は前記外部システムと通信する場合に、プロトコル変換を行うプロトコル変換手段を有していてもよい。
また、前記非同期処理実行手段は、前記外部システムから得られたレスポンスに対し、所定のレスポンス数に応じたデータセットを作成し、作成した前記データセット毎に前記クラウドプラットフォームにデータを送信してもよい。
また、前記非同期処理実行手段は、前記要求受付手段により前記リクエストを受け付けた後、又は、予め設定された時間間隔で、前記要求受付手段により登録された未処理のリクエストに対するレスポンスを前記外部システムから取得してもよい。
また、本発明の一態様は、前記中継装置が実行する中継方法、及び、コンピュータを、前記中継装置における各手段として機能させるための中継プログラムとして構成することもできる。
本発明によれば、クラウドプラットフォームの制限を回避するための適切な非同期通信を実現することができる。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
<非同期通信システム:システム構成例>
図1は、非同期通信システムのシステム構成例を示す図である。図1に示す非同期通信システム10は、1又は複数のユーザ端末11−1〜11−n(以下、必要に応じて「ユーザ端末11」と総称する。)と、クラウドプラットフォーム12と、中継装置の一例としての中継システム13と、外部システムの一例としてのメールサーバ14とを有する。ユーザ端末11、クラウドプラットフォーム12、中継システム13、及びメールサーバ14は、それぞれインターネット等に代表される通信ネットワークによりデータの送受信が可能な状態で接続されている。
図1は、非同期通信システムのシステム構成例を示す図である。図1に示す非同期通信システム10は、1又は複数のユーザ端末11−1〜11−n(以下、必要に応じて「ユーザ端末11」と総称する。)と、クラウドプラットフォーム12と、中継装置の一例としての中継システム13と、外部システムの一例としてのメールサーバ14とを有する。ユーザ端末11、クラウドプラットフォーム12、中継システム13、及びメールサーバ14は、それぞれインターネット等に代表される通信ネットワークによりデータの送受信が可能な状態で接続されている。
本実施形態における非同期通信システム10は、図1に示すようにクラウドプラットフォーム12と、通信対象となるメールサーバ14との間で、データ通信を中継するためのシステム(中継システム13)を有する。
ユーザ端末11は、クラウドプラットフォーム12を利用するユーザの端末である。ユーザ端末11は、例えばPC(Personal Computer)やサーバ等であるが、これに限定されるものではなく、例えばスマートフォンやタブレット端末、携帯電話、ゲーム機器等であってもよい。
クラウドプラットフォーム12は、1以上の情報処理装置を有するクラウドコンピューティング等を利用したサービス上で、データ管理や各種処理等を行う。情報処理装置は、例えばPCやサーバ、データベース等であるが、これに限定されるものではない。
ユーザ端末11は、通信ネットワークを介してクラウドプラットフォーム12にアクセスし、そのWeb画面(Webページ)上でメールの受信処理を指示する。クラウドプラットフォーム12では、その画面からメール受信指示を行うと、中継システム13に転送される。その後、クラウドプラットフォーム12は、中継システム13からのメール取得結果を受けて、その内容をユーザ端末11に閲覧可能に表示する。
ここで、クラウドプラットフォーム12を用いたサービスの代表例として、例えばSalesforce.com社のSalesforce.com(登録商標)があるが、これに限定されるものではない。
ここで、クラウドプラットフォーム12側では、例えばアウトバウンド通信(例えば、クラウドプラットフォーム12から外部装置に対する通信)に対する制限や、インバウンド通信(外部装置からクラウドプラットフォーム12に対する通信)に対する制限が設けられている。
アウトバウンド通信では、例えば通信プロトコルの制限(HTTP/HTTPS(HTTP over SSL(Secure Sockets Layer)/TLS(Transport Layer Security)通信のみ等)、受信データサイズの制限(例えば、1回の通信で受信可能なデータは2MBまで等)、通信時間の制限(例えば、1回の通信が完了するまでの時間は120秒以内等)があるが、これに限定されるものではない。また、インバウンド通信では、例えば通信回数の制限(例えば、クラウドプラットフォーム12への通信は24時間で1000[回/利用者]等)の制限があるが、これに限定されるものではない。クラウドプラットフォーム12は、上述した各種の制限に抵触すると通信エラーとなる。
したがって、本実施形態において、クラウドプラットフォーム12から指示を受けた中継システム13は、ユーザ端末11とクラウドプラットフォーム12との通信とは異なる非同期でメールサーバ14と通信を行い、リクエストに対応するメールをメールサーバ14等の外部システムから取得する。
中継システム13は、上述したアウトバウンド通信における制限の回避・軽減や、インバウンド通信における制限の回避・軽減等を行う。また、中継システム13は、クラウドプラットフォーム12から得られるリクエストをHTTPやHTTPSで受信した場合に、メールサーバ14との通信条件等に対応させて所定のプロトコル(例えば、POP/IMAP等にプロトコル変換を行う。また、中継システム13は、メールサーバ14から取得したメールをクラウドプラットフォーム12に送信する場合にも通信条件等に対応させてプロトコル変換を行う。
例えば、中継システム13は、クラウドプラットフォーム12からのリクエストに対し、すぐにリクエスト受領を知らせるレスポンスをクラウドプラットフォーム側に返す。その後、中継システム13は、そのリクエストとは非同期で、メールサーバ14に対して対応プロトコルを使ってデータ取得をリクエストする。中継システム13は、データ取得が完了すると、クラウドプラットフォーム12に対して制限を回避するための制御を行いつつデータを登録する。
メールサーバ14は、他の装置等から通信ネットワーク等を介して送受信されるメールを管理する。メールサーバ14は、中継システム13からの受信問い合わせに対して、対応するユーザのメールを抽出し、抽出したメールを中継システム13へ送信する。
なお、本実施形態における外部システムは、メールサーバ14に限定されるものではなく、例えばデータを取得するためのデータベースサーバや、予約を行う予約サーバ、顧客を管理する顧客管理サーバ、その他の各種業務サーバ等を用いてもよい。また、外部システムは、1又は複数のサーバ等の装置で構成されていてもよい。中継システム13は、例えばユーザ端末11からの要求(リクエスト)に応じて対応する装置にアクセスし、要求に応じたレスポンスに関する情報を取得する。
<中継システム13の概略構成例>
次に、上述した中継システム13の概略構成例について、図を用いて説明する。図2は、中継システムの概略構成例を示す図である。図2の例では、中継システム13の概略構成の他にクラウドプラットフォーム12及び外部システムの一例であるメールサーバ14も示している。
次に、上述した中継システム13の概略構成例について、図を用いて説明する。図2は、中継システムの概略構成例を示す図である。図2の例では、中継システム13の概略構成の他にクラウドプラットフォーム12及び外部システムの一例であるメールサーバ14も示している。
図2に示す中継システム13は、ルータ21と、ファイアウォール22と、ロードバランサ23と、1又は複数のWebサーバ24−1〜24−n(以下、必要に応じて「Webサーバ24」という)と、1又は複数のデータベースサーバ(以下、「DBサーバ」という)25−1〜25−n(以下、必要に応じて「DBサーバ25」という)とを有するよう構成されている。
ルータ21は、中継システム13が、クラウドプラットフォーム12やメールサーバ14等の外部装置と通信ネットワークを介してデータを中継する通信手段である。ルータ21は、例えばデータをどのルートを通して転送すべきかを判断するルート選択機能を有する。
ファイアウォール22は、中継システム13内部の装置と外部装置との通信を制御し、内部の装置や通信ネットワーク上の安全を維持することを目的としたソフトウェアやそのソフトウェアを搭載したハードウェアである。
ロードバランサ23は、例えばクラウドプラットフォーム12等の外部装置からの要求を一元的に管理し、同等の機能を持つ複数のサーバ(例えば、Webサーバ24やDBサーバ25)に要求を転送する装置である。ロードバランサ23は、各サーバに要求を分散して送信する負荷分散機能を有し、各サーバが快適な応答速度を保つように制御を行う。
Webサーバ24は、本実施形態における各種の非同期通信等を実行する。例えば、Webサーバ24は、HTTP等にしたがってクラウドプラットフォーム12上のソフトウェア(例えば、ウェブブラウザ等)に対して、HTMLや所定のオブジェクト(例えば、メールや画像)の表示を提供するサービスプログラムを動作させる。
また、Webサーバ24は、クラウドプラットフォーム12からの要求(例えば、ユーザ端末11からのメール問い合わせ等)を受け付けると共に、クラウドプラットフォーム12との回線を切断し、非同期に外部システム(例えば、メールサーバ14等)にアクセスして、要求に対応する回答(例えば、メール)を取得する。
また、Webサーバ24は、取得した回答(例えば、受信メール)をDBサーバ25に記憶すると共に、所定の時間毎、メール問い合わせ結果の取得時、又は、所定のデータ量以上になった場合等の所定のタイミングで、クラウドプラットフォーム12に結果を出力する。
なお、クラウドプラットフォーム12には、中継システム13との通信、登録されたメールの閲覧等を行うための中継システム専用のアプリケーションを有する。ユーザは、ユーザ端末11上のブラウザからこのアプリケーションにアクセスしてサービスを利用する。
Webサーバ24は、例えばCentOS(Community ENTerprise Operating System)やWindows(登録商標)等のOSを用いることができ、更にApache(登録商標)等のオープンソースのWebサーバソフトウェアやPHP(Hypertext Preprocessor)等を用いることができるが、これらに限定されるものではない。
DBサーバ25は、クラウドプラットフォーム12からの各ユーザ端末11からの要求や処理状況(ステータス)等を記憶して管理したり、メールサーバ14からのメールを記憶して管理する記憶手段である。また、DBサーバ25は、あるDBサーバと同一内容の複製(レプリカ)を別のDBサーバ上に作成し、常に内容を同期させるレプリケーション機能を有していてもよい。DBサーバ25は、例えばCentOSやWindows(登録商標)等のOSを用いることができ、更にMySQL(登録商標)等のデータベース管理システム等を用いることができるが、これらに限定されるものではない。
なお、上述したWebサーバ24やDBサーバ25は、1台で構成されていてもよく、その場合には、図2に示す中継システム13は、ロードバランサ23を有しない構成となる。
<中継システム13の機能構成例>
次に、中継装置の一例である中継システム13の機能構成例について、図を用いて説明する。図3は、中継システムの機能構成例を示す図である。図3の例において、中継システム13は、入力手段31と、出力手段32と、記憶手段33と、要求受付手段34と、プロトコル変換手段35と、非同期処理実行手段36と、負荷分散手段37と、通信手段38と、制御手段39とを有するよう構成されている。
次に、中継装置の一例である中継システム13の機能構成例について、図を用いて説明する。図3は、中継システムの機能構成例を示す図である。図3の例において、中継システム13は、入力手段31と、出力手段32と、記憶手段33と、要求受付手段34と、プロトコル変換手段35と、非同期処理実行手段36と、負荷分散手段37と、通信手段38と、制御手段39とを有するよう構成されている。
入力手段31は、例えば中継システム13を使用する管理者等からの本実施形態に係る中継処理に関する各種指示の開始/終了等の入力を受け付ける。なお、入力手段31は、例えばPC等の汎用のコンピュータであればキーボードやマウス等のポインティングデバイスからなる。
出力手段32は、入力手段31により入力された内容や、入力内容に基づいて実行された処理結果等の出力を行う。なお、出力手段32は、例えばディスプレイやスピーカ等からなる。また、出力手段32は、例えば処理結果をWeb上に公開したり、画面出力する機能を有する。また、出力手段32は、プリンタ等の印刷機能を有し、紙媒体等で処理結果を印刷してもよい。
記憶手段33は、本実施形態において必要となる各種情報を記憶する。具体的には、本実施形態における中継処理を実行するための各種プログラムや各要求(例えば、メール問い合わせ等)、処理結果等の情報を記憶する。
なお、記憶手段33は、上述した各種情報を必要に応じて所定のタイミングで書き込んだり、読み出したりすることができる。記憶手段33は、上述したような多種の情報の集合物であり、それらの情報を、例えばキーワード等を用いて検索し、抽出することができるように体系的に構成されているデータベースとしての機能も有していてもよい。更に、記憶手段33に記憶される情報は、例えば通信ネットワークを介して外部装置から取得してもよい。記憶手段33は、例えば上述したDBサーバ25に対応する。
要求受付手段34は、クラウドプラットフォーム12からの処理要求を受け付ける。また、要求受付手段34は、受け付けた要求を記憶手段33に登録する。
プロトコル変換手段35は、クラウドプラットフォーム12から得られる要求内容に応じてアクセス先の外部システムで処理可能なプロトコル形式に変換する。例えば、プロトコル変換手段35は、クラウドプラットフォーム12とHTTP/HTTPSプロトコルで通信を行っており、更にその通信で得られたリクエストをメールサーバ14に送信する場合には、HTTP/HTTPSプロトコルから、例えばPOP/IMAPプロトコルへの変換を行う。また、メールサーバ14と通信して得られた結果を、クラウドプラットフォーム12に送信する場合には、POP/IMAPプロトコルからHTTP/HTTPSプロトコルへの変換を行う。
なお、どのプロトコルに変換するかについては、予め通信を行う外部システムに応じてプロトコル変換情報が設定され、記憶手段33に記憶されているため、その情報を参照することで、通信条件に応じた適切なプロトコル変換を行うことができる。プロトコルの種類については、上述した内容に限定されるものではない。
非同期処理実行手段36は、クラウドプラットフォーム12との通信とは非同期でメールサーバ14等の外部システムと通信等を行い、クラウドプラットフォーム12から要求された処理を記憶手段33から読み出し、呼び出した処理を実行する。
また、非同期処理実行手段36は、例えばメールサーバ14等の外部システムとの通信により要求に対応する回答(レスポンス)を取得した後、メールサーバ14との通信とは非同期にクラウドプラットフォーム12と通信を行い、回答を送信する。なお、非同期処理実行手段36は、例えば取得した回答数(レスポンス数)に応じて、クラウドプラットフォーム12で予め設定された1回の通信で受信可能なデータ件数等の制限に基づいて、所定の件数毎に分割したデータセットを作成し、作成したデータセット毎にクラウドプラットフォーム12へ送信を行う。非同期処理実行手段36は、上述した処理の実行結果や経過(状況)等を記憶手段33に記憶して管理する。
上述した要求受付手段34、プロトコル変換手段35、及び非同期処理実行手段36は、例えば上述したWebサーバ24に対応する。
負荷分散手段37は、例えば上述したロードバランサ23に対応する。上述した要求受付手段34やプロトコル変換手段35、非同期処理実行手段36における処理を複数の装置やプロセッサ(CPU)等で処理している場合に、これらの負荷を計測し、その計測結果に基づいて、負荷が均等になるように処理を分散させる。
例えば、負荷分散手段37は、クラウドプラットフォーム12からのリクエスト数又はメールサーバ14からのレスポンス数に応じて記憶手段33や要求受付手段34、プロトコル変換手段35、非同期処理実行手段36等における負荷を分散する。なお、中継システム13が1つの装置やプロセッサで構成されている場合には、中継システム13内に負荷分散手段37の機能を設けていなくてもよい。
通信手段38は、例えば通信ネットワーク等を用いて接続可能な外部装置(クラウドプラットフォーム12やメールサーバ14等)から本実施形態における各処理に必要な情報や取得した情報等を送受信したり、本実施形態における中継処理を実現するための実行プログラム等を送受信することが可能なインタフェースである。
制御手段39は、中継システム13の各構成全体の制御を行う。例えば、制御手段39は、要求受付手段34による各種要求の受け付けや、プロトコル変換手段35による通信プロトコルの変換、非同期処理実行手段36による非同期通信による処理の実行、負荷分散手段37による負荷分散等の各処理のうち、少なくとも1つを制御する。なお、制御手段39における処理内容は、これに限定されるものではなく、例えばエラー発生時の制御等も行う。
<中継システム13のハードウェア構成例>
例えば、上述した中継システム13の各機能をコンピュータに実行させる実行プログラム(中継プログラム)を生成し、例えば汎用のPC、サーバ等のコンピュータにインストールすることにより、本実施形態における中継処理等を実現することができる。図4は、本実施形態における中継処理が実現可能なハードウェア構成の一例を示す図である。
例えば、上述した中継システム13の各機能をコンピュータに実行させる実行プログラム(中継プログラム)を生成し、例えば汎用のPC、サーバ等のコンピュータにインストールすることにより、本実施形態における中継処理等を実現することができる。図4は、本実施形態における中継処理が実現可能なハードウェア構成の一例を示す図である。
図4におけるコンピュータ本体は、入力装置41と、出力装置42と、ドライブ装置43と、補助記憶装置44と、主記憶装置45と、各種制御を行うCPU(Central Processing Unit)46と、ネットワーク接続装置47とを有するよう構成され、これらはシステムバスBで相互に接続されている。
入力装置41は、例えば中継システム13の管理者等が操作するキーボードやマウス等のポインティングデバイスを有しており、例えば管理者等からのプログラムの実行等、各種操作信号を入力する。出力装置42は、本発明における処理を行うコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU46が実行する制御プログラムの実行経過や結果等を表示する。
ここで、本発明においてコンピュータ本体にインストールされる実行プログラムは、例えばUSB(Universal Serial Bus)メモリやCD−ROM等の可搬型の記録媒体48等により提供される。記録媒体48は、ドライブ装置43にセット可能であり、記録媒体48に含まれる実行プログラムが、記録媒体48からドライブ装置43を介して補助記憶装置44にインストールされる。
補助記憶装置44は、ハードディスク等のストレージ手段であり、本発明における実行プログラムやコンピュータに設けられた制御プログラム等を蓄積し、必要に応じて入出力を行う。
主記憶装置45は、CPU46により補助記憶装置44から読み出された実行プログラム等を格納する。なお、主記憶装置45は、ROM(Read Only Memory)やRAM(Random Access Memory)等である。
CPU46は、OS(Operating System)等の制御プログラム、及び主記憶装置45に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御することで、情報提供における各処理を実現する。なお、プログラム実行中に必要な各種情報等は、補助記憶装置44から取得し、実行結果等を格納してもよい。
ネットワーク接続装置47は、通信ネットワーク15等と接続することにより、実行プログラムを通信ネットワーク15に接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラム自体を他の端末等に提供したりする。
本実施形態では、上述したコンピュータ本体のハードウェア構成に実行プログラム(例えば、中継プログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における中継処理等を実現することができる。
<中継システム13が管理するデータ項目例>
次に、中継システム13が管理するデータ項目例について、図を用いて説明する。図5は、中継システムが管理するデータ項目例を示す図である。図5(A)はユーザ情報の一例を示し、図5(B)は本実施形態における非同期通信を管理する管理テーブルの一例を示し、図5(C)は、受信メール情報の一例を示し、図5(D)は、プロトコル変換情報を示している。なお、図5(A)〜図5(C)は、それぞれユーザIDで関連付けられている。また、図5(A)〜図5(D)の各情報は、記憶手段33(DBサーバ25)に記憶して管理される。
次に、中継システム13が管理するデータ項目例について、図を用いて説明する。図5は、中継システムが管理するデータ項目例を示す図である。図5(A)はユーザ情報の一例を示し、図5(B)は本実施形態における非同期通信を管理する管理テーブルの一例を示し、図5(C)は、受信メール情報の一例を示し、図5(D)は、プロトコル変換情報を示している。なお、図5(A)〜図5(C)は、それぞれユーザIDで関連付けられている。また、図5(A)〜図5(D)の各情報は、記憶手段33(DBサーバ25)に記憶して管理される。
図5(A)に示すユーザ情報の項目としては、例えば「ユーザID」、「ユーザアカウントID」、「クラウドプラットフォームアカウントID」、「メール接続アカウント名」、「メール接続パスワード」、「SMTP(Simple Mail Transfer Protocol)認証用アカウント名」、「SMTP認証用パスワード」、「差出人アドレス」、「差出人名」、「有効/無効フラグ」、「最終メール同期時刻」、「認証有効フラグ」、「作成日時」、「更新日時」等があるが、これに限定されるものではない。
図5(A)に示すユーザ情報では、中継システム13の利用する個々のユーザ情報を保持する。したがって、個々のユーザにおけるクラウドプラットフォーム12側のID情報や、メールサーバ14に接続するためのアカウント情報等を保持する。また、メールサーバ14以外の外部装置にアクセスする場合には、その装置にアクセスするためデータが登録される。
例えば、図5(A)に示す「クラウドプラットフォームアカウントID」は、個々のユーザにおけるクラウドプラットフォーム12側のIDであり、中継システム13からクラウドプラットフォーム12にメールを登録するときは、このIDをメールの所有者として登録する。
また、図5(B)に示す管理テーブルの項目としては、例えば「トリガーID」、「ユーザID」、「メールトリガー」、「トリガー設定日時」、「作成日時」、「更新日時」等があるが、これに限定されるものではない。
図5(B)に示す管理テーブルは、例えばユーザ端末11からのメール取得リクエストを、クラウドプラットフォーム12を介してメール取得フラグ登録リクエストとして受信したときに参照される。管理テーブルは、ユーザID毎にメールを非同期で取得する際のステータス情報等を管理しており、例えば「メールトリガー」等にそのステータスを識別する情報としてメール取得フラグ等を格納する。
メール取得フラグの具体例としては、例えばメール取得リクエストを受領可能な状態を「0」とし、メール取得リクエストを受け付け済みでメール取得処理が未処理の状態を「1」とし、メール取得処理中の状態を「2」とすることができるが、識別する種類や値については、これに限定されるものではない。管理テーブルを作成したり、更新したり、メールトリガーを設定した場合には、その作成日時や更新日時、トリガー設定日時も管理テーブルに記憶される。
また、図5(C)に示す受信メール情報の項目としては、例えば「受信メールID」、「ユーザID」、「メールフォルダID」、「UID」、「メッセージID」、「TEXT/HTML」、「既読フラグ」、「メッセージ送信者名」、「メッセージ送信者アドレス」、「メッセージ受信者名」、「メッセージ受信者アドレス」、「受信日時」、「メッセージ件名」、「メッセージ本文」、「添付ファイルID」、「添付ファイル名」、「返信/転送した対象のメッセージID」、「クラウドプラットフォームメールID」、「同期日時」、「作成日時」、「更新日時」等があるが、これに限定されるものではない。
図5(C)に示す受信メール情報は、例えばメールサーバ14から取得したメールを保存し、メールのステータスも管理する。図5(C)に示す受信メール情報において「ユーザID」は、中継システム13において各種データを管理するためのユーザ情報であり、「UID」とは、メールサーバ14においてメールを識別するための情報である。
また、図5(C)に示す「クラウドプラットフォームメールID」は、この項目が空かどうかによって、メールがクラウドプラットフォーム12側に登録済みか否かのステータスを管理する。中継システム13でメールサーバ14からメールを取得して、クラウドプラットフォーム12に登録する場合には、まずメールサーバ14から取得したメールを図5(C)に示す受信メールに保存する。このとき「クラウドプラットフォームメールID」は、空の状態とする。つまり、「登録待ち」の状態となる。
次に、「クラウドプラットフォームメールID」が空のメールを対象にクラウドプラットフォーム12に登録処理を行う。登録処理が完了すると、個々のメール毎にユニークなIDがクラウドプラットフォーム12から返される。そのため、非同期処理実行手段36は、そのIDを「クラウドプラットフォームメールID」に登録する。これにより、「登録済み」の状態となる。なお、上述した登録処理でエラーが発生した場合には、非同期処理実行手段36は、その旨を示す情報を「クラウドプラットフォームメールID」に登録する。これにより、「登録エラー」の状態となる。
また、図5(C)に示す「同期日時」には、上述した「クラウドプラットフォームメールID」が「登録済み」又は「登録エラー」になった日時を登録する。これにより、非同期通信におけるステータス管理を適切に行うことができる。
また、図5(D)に示すプロトコル変換情報の項目としては、例えば「非同期通信先」、「通信可能プロトコル」等があるが、これに限定されるものではない。本実施形態では、中継システム13から外部システムと通信する場合に、図5(D)に示すプロトコル変換情報を参照して、その通信先に対して通信なプロトコル情報を取得し、取得したプロトコル情報と、現在のプロトコル情報とが異なる場合に、プロトコル変換手段35により変換が行われる。
例えば、図5(D)に示すプロトコル変換情報を参照し、メールサーバ14にアクセスする場合には、POP/IMAP等への変換が必要である場合、プロトコル変換手段35は、現在のプロトコル(例えば、HTTP)からPOP/IMAP等へのプロトコル変換を行う。なお、図5(D)に示すプロトコル変換情報は、処理実行前に予め登録されている。
<本実施形態における中継処理例>
次に、本実施形態の非同期通信における中継処理の各実施例について、図を用いて説明する。
次に、本実施形態の非同期通信における中継処理の各実施例について、図を用いて説明する。
<第1実施例>
図6は、第1実施例における中継処理の一例を示すシーケンス図である。第1実施例では、クラウドプラットフォーム12から随時リクエストを受領し、中継システム13ですぐに処理を行う。図6の例では、ユーザ端末11と、クラウドプラットフォーム12と、中継システム13と、メールサーバ14とを有する。
図6は、第1実施例における中継処理の一例を示すシーケンス図である。第1実施例では、クラウドプラットフォーム12から随時リクエストを受領し、中継システム13ですぐに処理を行う。図6の例では、ユーザ端末11と、クラウドプラットフォーム12と、中継システム13と、メールサーバ14とを有する。
図6の例に示す第1実施例において、ユーザ端末11は、Webブラウザ等を用いてクラウドプラットフォーム12にアクセスし、メール取得リクエストを送信する(S01)。クラウドプラットフォーム12は、ユーザ端末11から取得したメール取得リクエストをメール取得フラグ登録リクエストとして中継システム13に送信する(S02)。
中継システム13は、要求受付手段34により要求を受け付けて登録した後、対象ユーザのメール取得フラグ(例えば、上述した図5(B)に示す管理テーブルの「メールトリガー」)を「1」に更新する(S03)。また、中継システム13は、S03の処理後、メール取得フラグ登録結果レスポンスをクラウドプラットフォーム12に送信する(S04)。クラウドプラットフォーム12は、メール取得リクエスト完了レスポンスをユーザ端末11に送信する(S05)。ここで、ユーザ端末11とクラウドプラットフォーム12との間の通信を切断してもよい。
次に、中継システム13は、メールサーバ14に対して対象ユーザのメール取得をリクエストする(S06)。メールサーバ14は、メールを受け付けると、対象ユーザのメールを取得し、そのメールをレスポンスとして中継システム13に送信する(S07)。
中継システム13は、メールサーバ14から取得したメールを記憶手段33(DBサーバ25)に登録する(S08)。このとき、記憶手段33に登録された対象ユーザのメールのステータスを「登録待ち」とする。例えば、中継システム13は、メールサーバ14からメールを取得し、そのメールに関する情報を、例えば上述した図5(C)に示す受信メール情報に登録する際、「クラウドプラットフォームメールID」の値を空にしておくことで、メールのステータスを、クラウドプラットフォーム12に対する「登録待ち」として判断させることができるが、これに限定されるものではない。
次に、中継システム13は、取得した複数のメールを、クラウドプラットフォーム12において1回のAPI(Application Programming Interface)通信で受信可能なデータ件数毎に分割したデータセットを作成する(S09)。これは、1回の通信で送信するデータ件数(データ量)がクラウドプラットフォーム12側の制限を超えないようにするためである。受信可能なデータ件数等の制限は、クラウドプラットフォーム12上で予め設定されているため、その情報を事前に取得しておくことで、データ件数を超えない範囲でデータセットを作成することができる。
次に、中継システム13は、例えば上述したS09において、分割してできたデータセット毎にクラウドプラットフォーム12にメールの登録を行い(S10)、クラウドプラットフォーム12からの登録結果のレスポンスを受信する(S11)。また、中継システム13は、受信したレスポンスを確認し、正常登録されたメールのステータスを「登録済み」に更新する(S12)。なお、S12の処理では、例えば上述した図5(C)に示す受信メール情報の「クラウドプラットフォームメールID」に、クラウドプラットフォーム12からレスポンスとして得られるメールIDを登録することで「登録済み」に更新したと判断することができる。
上述したS10〜S12の処理は、データセット毎に繰り返し実行される。次に、中継システム13は、対象ユーザのメール取得フラグを「0」に更新する(S13)。なお、クラウドプラットフォーム12では、1回のデータセットに対するメールの登録毎に通信は完結し、そのデータに対する登録処理を終了する。
ユーザ端末11は、S05の処理によりメール取得リクエスト完了から所定時間経過後に再度クラウドプラットフォーム12にアクセスして画面リロードを行うことで(S14)、新着メール等がWeb画面(ブラウザ画面)に表示される(S15)。
<第1実施例における中継システム13の処理例>
次に、第1実施例における中継システム13の処理の一例について、フローチャートを用いて説明する。図7は、第1実施例における中継システム処理の一例を示すフローチャートである。図7の例において、中継システム13の要求受付手段34は、メール取得フラグ登録リクエストを受信すると(S21)、記憶手段33に記憶された管理テーブル等を参照し、対象ユーザのメール取得フラグが「0」であるか否かを判断する(S22)。
次に、第1実施例における中継システム13の処理の一例について、フローチャートを用いて説明する。図7は、第1実施例における中継システム処理の一例を示すフローチャートである。図7の例において、中継システム13の要求受付手段34は、メール取得フラグ登録リクエストを受信すると(S21)、記憶手段33に記憶された管理テーブル等を参照し、対象ユーザのメール取得フラグが「0」であるか否かを判断する(S22)。
要求受付手段34は、対象ユーザのメール取得フラグが「0」である場合(S22において、YES)、該当するメール取得フラグを「1」に更新する(S23)。次に、要求受付手段34は、クラウドプラットフォーム12に対してリクエストを正常受領したことをレスポンスする(S24)。
次に、非同期処理実行手段36は、例えば別スレッド(プロセス)でメール取得処理を起動し(S25)、メールサーバ14に接続して対象ユーザのメールを取得する(S26)。なお、S26の処理において、通信時のプロトコルの変換が必要である場合には、プロトコル変換手段35により、メールサーバ14との通信を行うための適切なプロトコルへと変換する。
ここで、非同期処理実行手段36は、メールの取得が成功したか否かを判断し(S27)、メールの取得が成功した場合(S27において、YES)、取得したメールをステータス「登録待ち」として登録する(S28)。次に、非同期処理実行手段36は、取得したメールを、クラウドプラットフォーム12において1回の通信で受け入れ可能なデータ件数毎のデータセットに分割する(S29)。
次に、非同期処理実行手段36は、データセット毎にデータセットがなくなるまで以下に示すS31〜S36の処理を繰り返し行う(S30)。非同期処理実行手段36は、データセットをクラウドプラットフォーム12に登録し、そのレスポンスを受信する(S31)。なお、S31の処理において、クラウドプラットフォーム12との通信において、プロトコル変換が必要な場合、プロトコル変換手段35は、クラウドプラットフォーム12と通信が可能なプロトコルに変換を行ってもよい。
ここで、非同期処理実行手段36は、レスポンスの内容を確認し、レスポンス内の全データを確認するまで以下に示すS33〜S36の処理を繰り返し行う(S32)。非同期処理実行手段36は、レスポンスから個々のメールの登録結果を取り出して確認し(S33)、メールの登録が成功したか否かを判断する(S34)。非同期処理実行手段36は、メールの登録が成功した場合(S34において、YES)、対象メールのステータスを「登録済み」に更新する(S35)。また、非同期処理実行手段36は、メールの登録が成功しなかった場合(S34において、NO)、対象メールのステータスを「登録エラー」に更新する(S36)。登録エラーとなる場合としては、例えば通信ネットワーク上の障害でクラウドプラットフォーム12に疎通できなかった場合や、クラウドプラットフォーム12への認証が失敗した場合、クラウドプラットフォーム12側で登録可能なデータ量の上限に達した場合等があるが、これに限定されるものではない。
非同期処理実行手段36は、S32の処理におけるレスポンス内容確認ループ及びS30の処理におけるデータセットループが終了後、対象ユーザのメール取得フラグを「1」から「0」に更新し(S37)、処理を終了する。
なお、上述したS22の処理において、対象ユーザのメール取得フラグが「0」でない場合(S32において、NO)、要求受付手段34は、すでにリクエスト受領済みであることをクラウドプラットフォーム12にレスポンスする(S38)。
また、上述したS27の処理において、メールサーバ14からメールの取得が成功しなかった場合(S27において、NO)、非同期処理実行手段36は、対象ユーザでエラーが発生したことをクラウドプラットフォーム12に登録する(S39)。メールサーバ14からの取得に成功しない(失敗する)場合としては、例えば通信ネットワーク上の障害でメールサーバ14と疎通できなかった場合やメールサーバ14の障害、対象アカウントのパスワード変更やアカウントの削除等による認証の失敗等があるが、これに限定されるものではない。
上述した第1実施例によれば、ユーザ(クラウドプラットフォーム12)側からリクエストを受けてから、クラウドプラットフォーム12に対するデータ登録が完了するまでのタイムラグが小さくなる。
<第2実施例>
次に、第2実施例について説明する。上述した第1実施例では、例えばクラウドプラットフォーム12からの1回リクエストに対し中継システム13側から1以上のデータの登録を行うため、クラウドプラットフォーム12に対する通信が多くなり、外部からの通信回数の制限を回避できない可能性がある。
次に、第2実施例について説明する。上述した第1実施例では、例えばクラウドプラットフォーム12からの1回リクエストに対し中継システム13側から1以上のデータの登録を行うため、クラウドプラットフォーム12に対する通信が多くなり、外部からの通信回数の制限を回避できない可能性がある。
そこで、第2実施例では、クラウドプラットフォームからは随時リクエストを受領し、中継システム13上では1又は複数のリクエストをまとめて定期的に処理を行う。図8は、第2実施例における中継処理の一例を示すシーケンス図である。図8の例では、ユーザ端末11と、クラウドプラットフォーム12と、中継システム13と、メールサーバ14とを有する。
図8の例に示す第2実施例において、S41〜S45の処理は、上述した第1実施例におけるS01〜S05の処理と同様であるため、ここでの具体的な説明は省略する。なお、中継システム13は、例えばユーザ端末11からのメール取得リクエストがある度に、対象ユーザのメール取得フラグを「1」に更新する。
次に、中継システム13は、例えば定期的なタイミングで、メールサーバ14に対してメール取得をリクエストするため、メール取得フラグが「1」(メール取得処理が未処理)のユーザを対象にメール取得処理(バッチ処理)を開始する(S46)。定期的なタイミングとは、例えば5分〜10分等の予め設定された時間間隔である。なお、第2実施例では、これに限定されるものではなく、例えば時間帯(例えば、日中/夜間)や曜日(平日/休日)等に応じて時間間隔を変更してもよい。更に、第2実施例では、上述した時間的なタイミングではなく、メールのリクエスト件数がある一定値以上となったことを基準としてS46以降の処理を行ってもよい。
中継システム13は、メール取得フラグが「1」のユーザ毎に対象ユーザのメール取得をメールサーバ14にリクエストし(S47)、対象ユーザのメールをレスポンスする(S48)。また、中継システム13は、取得したメールを記憶手段33に登録する(S49)。このとき、中継システム13は、図5(C)に示す受信メール情報を作成し、例えば受信メール情報内の「クラウドプラットフォームメールID」を空とすることで、メールのステータスを「登録待ち」にする。
上述の処理をメール取得フラグが「1」のユーザ毎に行った後、中継システム13は、クラウドプラットフォーム12にメールを登録する処理を開始する(S51)。中継システム13は、全てのユーザのメールを対象に、メールのステータスが「登録待ち」のメールを取得し(S52)、取得したメールをクラウドプラットフォーム12において1回のAPI通信で受信なデータ件数毎のデータセットに分割する(S52)。
なお、中継システム13におけるS53〜S55の処理は、上述した第1実施例のS53〜S55の処理と同様であるため、ここでの説明は省略する。中継システム13は、処理が終了したユーザのメール取得フラグを「0」に更新する(S56)。
ユーザ端末11は、S55の処理によりメール取得リクエスト完了から所定時間経過後に再度クラウドプラットフォーム12にアクセスして画面リロードを行うことで(S57)、新着メールがブラウザ画面に表示される(S58)。
<第2実施例における中継システム13の処理例>
次に、第2実施例における中継システム13の処理の一例について、フローチャートを用いて説明する。図9、図10は、第2実施例における中継システム処理の一例を示すフローチャート(その1、その2)である。なお、図9の処理では、メール取得フラグ登録リクエスト受信処理の一例を示し、図10の処理では、定期メール取得処理の一例を示している。
次に、第2実施例における中継システム13の処理の一例について、フローチャートを用いて説明する。図9、図10は、第2実施例における中継システム処理の一例を示すフローチャート(その1、その2)である。なお、図9の処理では、メール取得フラグ登録リクエスト受信処理の一例を示し、図10の処理では、定期メール取得処理の一例を示している。
図9の例において、中継システム13の要求受付手段34は、クラウドプラットフォーム12からメール取得フラグ登録リクエストを受信すると(S61)、記憶手段33に記憶された図5(B)等に示す管理テーブル等を参照し、対象ユーザのメール取得フラグが「0」であるか否かを判断する(S62)。
要求受付手段34は、対象ユーザのメール取得フラグが「0」である場合(S62において、YES)、該当するメール取得フラグを「1」に更新する(S63)。次に、要求受付手段34は、クラウドプラットフォーム12に対してリクエストを正常受領したことをレスポンスする(S64)。
また、非同期処理実行手段36は、対象ユーザのメール取得フラグが「0」でない場合(S62において、NO)、すでにリクエスト受領済みであることをクラウドプラットフォーム12にレスポンスする(S65)。上述した図9に示すメール取得フラグ登録リクエスト受信処理は、クラウドプラットフォーム12からの登録リクエストがある毎に行われる。
また、図10の例に示すように定期メール取得処理を開始した場合には、非同期処理実行手段36は、メール取得フラグが「1」のユーザを検索し、抽出されたデータを対象ユーザ毎に配列として格納し、その配列が空になるまで、以下に示すS73〜S77の処理を行う(S72)。
非同期処理実行手段36は、図5(B)に示す管理テーブルの対象ユーザのメール取得フラグ(メールトリガー)を「2」に更新し(S73)、メールサーバ14に接続して対象ユーザのメールを取得する(S74)。なお、S74の処理では、メールサーバ14と接続する際にプロトコルの変換が必要な場合、プロトコル変換手段35により所定のプロトコル変換を行う。
次に、非同期処理実行手段36は、メールの取得が成功したか否かを判断し(S75)、メールの取得が成功した場合(S75において、YES)、取得したメールを、ステータス「登録待ち」として記憶手段33に登録する(S75)。また、非同期処理実行手段36は、メールの取得が成功しなかった場合(S75において、NO)、対象ユーザでエラーが発生したことをクラウドプラットフォーム12に登録する(S77)。上述の処理は、対象ユーザ配列が空になるまでループされる。
次に、非同期処理実行手段36は、全ユーザのメールを対象に、ステータスが「登録待ち」のメールを検索し(S78)、検索結果のメールを、クラウドプラットフォームにおいて1回の通信で受け入れ可能なデータ件数毎のデータセットに分割する(S79)。
次に、非同期処理実行手段36は、データセット毎にデータセットがなくなるまで以下に示すS81〜S86の処理を繰り返し行う(S80)。なお、S81〜S86の処理は、上述した第1実施例のS30〜S36と同様であるため、ここでの具体的な説明は省略する。
次に、非同期処理実行手段36は、S82の処理におけるレスポンス内容確認ループ及びS80の処理におけるデータセットループが終了後、対象ユーザのメール取得フラグを「2」から「0」に更新し(S37)、処理を終了する。
上述した第2実施例によれば、クラウドプラットフォームからの複数リクエストを中継システム側でまとめて処理できるため、クラウドプラットフォームに対する通信が少なくなり、外部からの通信回数の制限を回避しやすくなる。
なお、第2実施例では、利用ユーザ(クラウドプラットフォーム)側からリクエストを受けてから、クラウドプラットフォーム12に対するデータ登録が完了するまでのタイムラグが大きくなる可能性がある。したがって、本実施形態では、上述した第1実施例及び第2実施例をサービス形態やシステム負荷、時間帯、管理者等の設定に応じて適宜組み合わせて実施することができる。
<画面例>
次に、ユーザ端末11のWebブラウザ等で表示される画面例について図を用いて説明する。図11は、ユーザ端末で表示される画面例を示す図である。図11(A)、(B)に示す画面例は、例えばユーザ端末11からクラウドプラットフォーム12にアクセスすることで表示されるWeb画面例である。
次に、ユーザ端末11のWebブラウザ等で表示される画面例について図を用いて説明する。図11は、ユーザ端末で表示される画面例を示す図である。図11(A)、(B)に示す画面例は、例えばユーザ端末11からクラウドプラットフォーム12にアクセスすることで表示されるWeb画面例である。
ユーザ端末11からクラウドプラットフォーム12にアクセスすると、通常は、ユーザ端末11のWebブラウザ上にメール一覧の画面が表示される。ユーザは、ユーザ端末11に表示されているWeb画面等を用いて、例えば上述したメール取得リクエストを行った場合に図11(A)に示すように画面50に処理中を意味するGIF(Graphics Interchange Format)アニメ等のアイコン51が表示される。また、リクエストが完了すると、例えば図11(B)に示すような画面が表示される。
図11(B)に示す画面50には、メール一覧表示領域52と、チャット領域53と、ステータス表示領域54とを有しているが、画面レイアウトや表示される内容については、これに限定されるものではない。メール一覧表示領域52には、ユーザに対応してメールサーバ14から取得した受信メールの一覧が表示される。メール一覧には、受信メール毎に送信者や件名、受信時刻等が表示される。また、メール一覧は、各メールが未読メールであるか既読メールであるかが区別できるように所定のマークやハイライト等を用いた表示が行われる。ここで、ユーザがメール一覧の中から何れかのメールを選択すると、メール本文が画面に表示され、ユーザはメールの内容を閲覧することができ、必要に応じて返信等を行うことができる。
また、図11(B)に示すチャット領域53は、例えばユーザが文字を入力してチャット等を行うための領域である。チャット領域53により予め設定されたSNS(Social Networking Service)で他人と会話したり情報を共有することができる。また、チャット領域53は、メール一覧から閲覧した受信メールに対する返信メールを作成することもでき、送信メールの一覧をメール一覧表示領域52に表示させることもできる。
また、図11(B)に示すステータス表示領域54は、例えば、メール取得リクエスト中に異常が発生した場合には、ステータス表示領域54にエラーメッセージが表示される。なお、リクエストが正常に完了した場合には、ステータス表示領域54に正常に完了したことを示すメッセージを表示してもよく、メッセージを何も表示しなくてもよい。
上述したように、本実施形態の技術を用いることにより、クラウドプラットフォームの制限を回避するための適切な非同期通信を実現することができる。なお、上述した実施形態では、クラウドプラットフォームへの通信と非同期に通信される外部システムの一例としてメールサーバを用いて説明したが、これに限定されるものではない。
例えば、本実施形態における中継手法は、オンラインストレージやオンプレミスのファイルサーバと連携し、外部のストレージからファイルサイズをフィルタリングして、指定したクラウドプラットフォームの領域へ格納する「外部ストレージ連携」にも適用することができる。また、本実施形態における中継手法は、例えばグループウェアでテキスト更新やファイルデータを保存した場合に、クラウドプラットフォームの特定の領域へ格納する「グループウェア連携」にも適用することができる。また、本実施形態における中継手法は、例えば他の業務システムにおいて保存されている画像データをクラウドプラットフォームへ取り込み、顧客データと対応付けて管理する「Webサービス連携」等にも適用することができる。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した実施例の一部又は全部を組み合わせることも可能である。
10 非同期通信システム
11 ユーザ端末
12 クラウドプラットフォーム
13 中継システム(中継装置)
14 メールサーバ(外部システム)
21 ルータ
22 ファイアウォール
23 ロードバランサ
24 Webサーバ
25 DBサーバ
31 入力手段
32 出力手段
33 記憶手段
34 要求受付手段
35 プロトコル変換手段
36 非同期処理実行手段
37 負荷分散手段
38 通信手段
39 制御手段
41 入力装置
42 出力装置
43 ドライブ装置
44 補助記憶装置
45 主記憶装置
46 CPU
47 ネットワーク接続装置
48 記録媒体
50 画面
51 アイコン
52 メール一覧表示領域
53 チャット領域
54 ステータス表示領域
11 ユーザ端末
12 クラウドプラットフォーム
13 中継システム(中継装置)
14 メールサーバ(外部システム)
21 ルータ
22 ファイアウォール
23 ロードバランサ
24 Webサーバ
25 DBサーバ
31 入力手段
32 出力手段
33 記憶手段
34 要求受付手段
35 プロトコル変換手段
36 非同期処理実行手段
37 負荷分散手段
38 通信手段
39 制御手段
41 入力装置
42 出力装置
43 ドライブ装置
44 補助記憶装置
45 主記憶装置
46 CPU
47 ネットワーク接続装置
48 記録媒体
50 画面
51 アイコン
52 メール一覧表示領域
53 チャット領域
54 ステータス表示領域
Claims (9)
- 通信ネットワークを介して接続されたクラウドプラットフォームからのリクエストに対応させて前記クラウドプラットフォームと外部システムとのデータ通信を中継する中継装置において、
前記クラウドプラットフォームからのリクエストを受け付け、受け付けた前記リクエストを登録し、該登録した結果を前記クラウドプラットフォームに送信する要求受付手段と、
前記クラウドプラットフォームとの通信とは非同期に前記外部システムと通信を行い、前記要求受付手段により登録された前記リクエストに対するレスポンスを前記外部システムから取得し、取得した前記レスポンスを前記クラウドプラットフォームに送信する処理を実行する非同期処理実行手段とを有することを特徴とする中継装置。 - 前記クラウドプラットフォーム又は前記外部システムと通信する場合に、プロトコル変換を行うプロトコル変換手段を有することを特徴とする請求項1に記載の中継装置。
- 前記非同期処理実行手段は、
前記外部システムから得られたレスポンスに対し、所定のレスポンス数に応じたデータセットを作成し、作成した前記データセット毎に前記クラウドプラットフォームにデータを送信することを特徴とする請求項1又は2に記載の中継装置。 - 前記非同期処理実行手段は、
前記要求受付手段により前記リクエストを受け付けた後、又は、予め設定された時間間隔で、前記要求受付手段により登録された未処理のリクエストに対するレスポンスを前記外部システムから取得することを特徴とする請求項1乃至3の何れか1項に記載の中継装置。 - 通信ネットワークを介して接続されたクラウドプラットフォームからのリクエストに対応させて前記クラウドプラットフォームと外部システムとのデータ通信を中継する中継方法において、
前記クラウドプラットフォームからのリクエストを受け付け、受け付けた前記リクエストを登録し、該登録した結果を前記クラウドプラットフォームに送信する要求受付ステップと、
前記クラウドプラットフォームとの通信とは非同期に前記外部システムと通信を行い、前記要求受付ステップにより登録された前記リクエストに対するレスポンスを前記外部システムから取得し、取得した前記レスポンスを前記クラウドプラットフォームに送信する処理を実行する非同期処理実行ステップとを有することを特徴とする中継方法。 - 前記クラウドプラットフォーム又は前記外部システムと通信する場合に、プロトコル変換を行うプロトコル変換ステップを有することを特徴とする請求項5に記載の中継方法。
- 前記非同期処理実行ステップは、
前記外部システムから得られたレスポンスに対し、所定のレスポンス数に応じたデータセットを作成し、作成した前記データセット毎に前記クラウドプラットフォームにデータを送信することを特徴とする請求項5又は6に記載の中継方法。 - 前記非同期処理実行ステップは、
前記要求受付ステップにより前記リクエストを受け付けた後、又は、予め設定された時間間隔で、前記要求受付ステップにより登録された未処理のリクエストに対するレスポンスを前記外部システムから取得することを特徴とする請求項5乃至7の何れか1項に記載の中継方法。 - コンピュータを、請求項1乃至4の何れか1項に記載の中継装置における各手段として機能させるための中継プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013208916A JP2015072653A (ja) | 2013-10-04 | 2013-10-04 | 中継装置、中継方法、及び中継プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013208916A JP2015072653A (ja) | 2013-10-04 | 2013-10-04 | 中継装置、中継方法、及び中継プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015072653A true JP2015072653A (ja) | 2015-04-16 |
Family
ID=53014964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013208916A Pending JP2015072653A (ja) | 2013-10-04 | 2013-10-04 | 中継装置、中継方法、及び中継プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015072653A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017022640A (ja) * | 2015-07-14 | 2017-01-26 | 株式会社Phone Appli | サービスシステム、サーバ装置、及びプログラム |
JP2017224218A (ja) * | 2016-06-17 | 2017-12-21 | ジーニーラボ株式会社 | カタログ検索システム、方法、プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0667966A (ja) * | 1992-05-22 | 1994-03-11 | Nec Corp | ファイル転送方式 |
JP2004326643A (ja) * | 2003-04-28 | 2004-11-18 | Ricoh Co Ltd | 文書配信要求受け付け装置、文書配信装置、文書配信方法、文書配信プログラム及び記録媒体 |
JP2013161149A (ja) * | 2012-02-02 | 2013-08-19 | Fujitsu Ltd | 情報処理システム,仮想マシン管理プログラム,仮想マシン管理方法 |
-
2013
- 2013-10-04 JP JP2013208916A patent/JP2015072653A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0667966A (ja) * | 1992-05-22 | 1994-03-11 | Nec Corp | ファイル転送方式 |
JP2004326643A (ja) * | 2003-04-28 | 2004-11-18 | Ricoh Co Ltd | 文書配信要求受け付け装置、文書配信装置、文書配信方法、文書配信プログラム及び記録媒体 |
JP2013161149A (ja) * | 2012-02-02 | 2013-08-19 | Fujitsu Ltd | 情報処理システム,仮想マシン管理プログラム,仮想マシン管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017022640A (ja) * | 2015-07-14 | 2017-01-26 | 株式会社Phone Appli | サービスシステム、サーバ装置、及びプログラム |
JP2017224218A (ja) * | 2016-06-17 | 2017-12-21 | ジーニーラボ株式会社 | カタログ検索システム、方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE47384E1 (en) | Generating link information to access a file stored in a storage area associated with user identification information | |
US9398084B2 (en) | Information processing system | |
KR20150005708A (ko) | 정보 공유 방법 및 장치 | |
JP5988355B2 (ja) | 携帯端末を用いた業務システムおよびその制御方法 | |
US8606850B2 (en) | Method, apparatus and system for controlling transmission of an attachment to an email using a plurality of computers | |
JP2015201111A (ja) | 画像形成システム、サービス提供サーバー、情報処理端末、画像形成装置及びプログラム | |
US20160359774A1 (en) | Instant messaging with non subscriber users | |
KR101263590B1 (ko) | 통합업무지원 시스템 및 방법 | |
JP5510434B2 (ja) | ネットワークシステム、情報処理装置およびその制御方法、ならびにコンピュータープログラム | |
CN112202744A (zh) | 一种多系统数据通信方法和装置 | |
JP2006243985A (ja) | メッセージ通知システム及びその方法並びにそれに用いるサーバ | |
CN102150151B (zh) | web应用程序的异步队列的消息收发 | |
JP2015072653A (ja) | 中継装置、中継方法、及び中継プログラム | |
KR20090000276A (ko) | 캘린더 동기화 방법 및 서비스 장치 | |
JP2014002619A (ja) | 情報処理装置及びその制御方法とプログラム | |
JP2019153063A (ja) | 情報処理システム、中継装置およびプログラム | |
US11163537B1 (en) | Tiered application pattern | |
US11086579B2 (en) | Server system having print notification and control method thereof | |
JP6895147B2 (ja) | データ転送システム | |
JP7165373B1 (ja) | 企業間データ連携システム、情報処理装置およびプログラム | |
JP7174970B1 (ja) | 企業間データ連携システム、情報処理装置およびプログラム | |
KR100640512B1 (ko) | 메신저 서비스 시스템을 이용한 서버와 사용자 단말기간에 데이터 동기화 방법 및 그 시스템 | |
JP4267224B2 (ja) | ネットワーク上でメッセージの送受信を行うためのシステム、方法及びコンピュータにネットワーク上でメッセージの送受信を実行させるためのコンピュータソフトウエアプログラム | |
JP2008217376A (ja) | コンテンツ共有方法及びシステム | |
KR20220119968A (ko) | 화상 형성 장치에서의 일회용 링크 기반 사용자 인증 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160926 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170905 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180227 |