(58)【調査した分野】(Int.Cl.,DB名)
ユーザが操作するユーザ端末と、連携の対象として前記ユーザにより任意に選択されそれぞれ入力されたデータに基づいて所定の情報処理を実行する複数のAPの実行手段とが接続される装置であって、
前記複数のAP、各APの実行手段へのアクセスを可能にするユーザ情報、および、連携させるデータを特定するための特定記号とを登録する登録手段と、
前記ユーザ端末から、登録された前記複数のAPのうち第1APに入力される第1データを取得する取得手段と、
取得した前記第1データを所定基準に従って解析することにより前記第1データに前記特定記号が含まれているかどうかを判別する解析手段と、
前記第1データに前記特定記号が含まれている場合、前記ユーザ端末からの指示を待つことなく、前記ユーザ情報を用いて前記第1APと異なる第2APの実行手段にアクセスして前記特定記号により特定される第2データを前記第2APの実行手段へ入力するとともに前記第2APの実行結果である第3データを取得し、さらに、前記ユーザ情報を用いて前記第1APおよび前記第2APと異なる第3APの実行手段へアクセスして前記第3データを前記第3APへ入力するとともに前記第3APの実行結果である第4データを取得する制御手段と、を備えたことを特徴とする情報処理装置。
前記制御手段は、前記ユーザ端末からの指示を待つことなく、前記ユーザ情報を用いて前記第1から第3APと異なる第4APの実行手段へアクセスして前記第4データを前記第4APの実行手段へ入力するとともに前記第4APの実行結果である第5データを取得することを特徴とする、請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0009】
図1は、本発明の一実施形態に係るアプリ連携システムの全体構成図である。このアプリ連携システム1は、公衆通信回線を使用したネットワークNW、例えばインターネットなどに接続される中継サーバ10を含んで構成される。中継サーバ10は、本発明の情報処理装置の一例となる装置であり、ユーザDB(DBはデータベースシステムの略、以下同じ)11を備えている。中継サーバ10の構成およびユーザDB11の内容については、後述する。
【0010】
ネットワークNWには、基地局20が接続されている。基地局20は、ユーザ端末30であるスマートフォンやパーソナルコンピュータ(PC)との間で通信を行う。なお、ユーザ端末30は、有線通信によってダイレクトにネットワークNWに接続することもできる。ネットワークNWには、メールサーバ41,ソーシャルネットワーク(SNS)サーバ42,予約サーバ43,カレンダーAPサイト51,経路案内APサイト52,旅費精算APサイト53,勤怠管理APサイト54も接続されている。これらのサーバ41〜43,APサイト51〜54に存在するAPの実行条件として、ユーザ端末30を操作するユーザの権限情報、アカウント情報その他のユーザ固有の設定情報が設定されている。
【0011】
メールサーバ41は、電子メールの送受信を行うメールAPの実行手段を許容する環境(実行環境)を提供する。SNSサーバ42は、ユーザが所属する組織、本例では、ユーザの会社の社員が閲覧可能な掲示板APの実行環境を提供する。予約サーバ43は、新幹線、航空機,フェリーなどのチケット、あるいは宿泊施設を予約する予約APの実行環境を提供する。本例では、チケット予約サイトや宿泊予約サイトへのアクセスを可能にする。カレンダーAPサイト51は、ユーザごとのスケジュールの予定入力機能や予定管理機能などを有するカレンダーAPの実行環境を提供する。経路案内APサイト52は、公共交通機関の時刻表や運賃の情報、経路探索機能、地図情報などを有する経路案内APの実行環境を提供する。この経路案内APは、出発地と目的地並びに出発時刻ないし到着時刻を指定する必要があるが、出発時刻ないし到着時刻の指定がない場合は、入力時点が出発時刻となる。旅費精算APサイト53は、ユーザごとの経費登録機能、経費申請機能、経費承認機能、会計記録出力機能などの旅費精算APの実行環境を提供する。この旅費精算APは、1日又は1出張当たりの旅費精算申請書を自動的に生成し、印刷出力することができる。勤怠管理APサイト54は、ユーザごとの出勤、欠勤、残業時間などを計算する機能を有する勤怠管理APの実行環境を提供する。この勤怠管理APは、1日又は1ヶ月単位の出勤簿を印刷出力することができる。これらのAPの中には同種機能を有する多くの種類のものが存在するが、ここでは、ユーザが通常使用しているAPの例を挙げる。
【0012】
本実施形態のアプリ連携システム1は、
図2に示されるように、中継サーバ10が、ユーザ端末30を含む全ての他のサーバ41〜43ないしAPサイト51〜54の中継を行う。すなわち、中継サーバ10を中心として1:Nの関係で接続される。各APはそれぞれ中継サーバ10と連携することで、結果的に中継サーバ10を介して相互に連携して動作する。AP同士はダイレクトには連携しない。この場合、中継サーバ10は、単なるポータルサイトとして、データの受け渡しをするのではなく、互いのAPの実行を操作するとともに、各APの実行結果を取得し、取得した実行結果を他の全てのAPが実行する処理に反映させるという能動的な動作を行う。
【0013】
このように動作する中継サーバ10のハードウエア構成図を
図3に示す。中継サーバ10は、制御バスB1を介して接続されたCPU110、RAM111、ROM112を主要部品として含む制御コンピュータを備えている。
CPU(Central Processing Unit)110は、本発明のコンピュータプログラムを実行することにより、中継サーバとして動作する上で、必要な機能を構築する。RAM(Random Access Memory)111は、CPU110の主メモリ、ワークエリア等の一時記憶領域として用いられる書換可能なメモリである。ROM(Read Only Memory)112は、各種デバイスドライバおよびパラメータデータなどが格納されている読出専用メモリである。
【0014】
制御バスB1には、メモリI/F(I/Fはインタフェースの略、以下同じ)114、入出力I/F116、通信I/F118も接続されている。メモリI/F114はユーザDB11およびハードディスクなどの外部記憶装置STへの各種情報の格納および格納された各種情報の読み出しを行うためのインタフェースである。外部記憶装置STには、本発明のコンピュータプログラムなどが格納されている。入出力I/F116は、ディスプレイDPへの情報表示並びにキーボードKBなどの入力デバイスからのデータ入力を行うためのインタフェースである。通信I/F118は、ネットワークNWとの通信を可能にするインタフェースである。
【0015】
次に、本発明のコンピュータプログラムにより中継サーバ10に形成される各種機能ブロックについて説明する。
図4は、中継サーバ10の機能構成図である。中継サーバ10は、ユーザが任意に選択した複数のAPの実行を中継する。そのために、主制御部120、通信制御部121、登録受付部122、ユーザ管理部123、解析部124、AP管理部125の機能ブロックを有する。通信制御部121は、ネットワークNWとの間の通信を制御することにより、
図2に示した1:Nの双方向通信を可能にする。
【0016】
登録受付部122は、中継する各APおよびそれらの実行条件、ユーザが予め登録した企業の名称、所在、最寄駅などを特定するための企業情報(ランドマーク)などをユーザ管理部123を介してユーザDB11に登録する登録手段として機能する。
ユーザ管理部123は、登録された複数のAPへのアクセス先、各APの権限情報、ユーザのアカウント情報を含むユーザプロファイル、AP同士を連携させる意図を表す情報、ランドマーク、および、各APの実行結果などをユーザ毎に分類し、分類結果をユーザDB11へ蓄積する。アクセス先は、本実施形態では当該APのURL(Uniform Resource Locator)とする。各APの権限情報は、ID、パスワードなどである。ユーザのアカウント情報は、ユーザネーム、住所、勤務先およびその住所などである。AP同士を連携させる意図を表す情報は、あるAPを通じて入力されたデータに付加された特定記号ないしその組み合わせ、例えばアスタリスク記号や文字列をくくる鉤括弧などである。この情報は、ユーザが任意に設定可能なものである。
【0017】
解析部124は、登録されたAPのうちユーザが最初にアクセスした任意のAP(便宜上、第1APと称する)を通じて入力されたデータを所定基準に基づいて解析することにより、当該データに第1APと異なる他のAPと連携させる意図を表す情報が含まれているかどうかを判別する。所定基準は、例えばデータに含まれる文字列(数字、記号を含む)の形態素解析により品詞を分類する基準である。本例では、上記の「意図を表す情報」の有無およびその記述内容を判別する。例えば、データに含まれる文字列に名詞が含まれている場合、その名詞の前に「意図を表す情報」が付されているか否かなどを判別する。以後の説明では、「意図を表す情報」が鉤括弧のような特定記号であるものとして説明する。
【0018】
AP管理部125は、ユーザDB11においてユーザが登録した複数のAPおよびその実行条件などをAP毎に管理する。例えばユーザが第1APと、それに連携可能な他のAP(第1APと区別するため、「第2AP」、「第3AP」、「第4AP」・・・などと称する場合がある)とを特定可能にする。
【0019】
主制御部120は、解析部124およびAP管理部125と協働して、ユーザ端末30からの明示のアクセスないし実行の指示を待つことなく、また、複数のAP同士をダイレクトに連携させることなく、中継サーバ10を介して連携させる制御手段として機能する。各APへのアクセスは通信制御部121を通じて行う。例えば、解析部124による解析の結果、第1APを通じて入力されたデータに上記特定記号が含まれているときに当該データを入力データとする第2APをAP管理部125を通じて特定する。そして、特定された第2APに対して当該APの実行条件を基に所用の情報処理を実行させるとともに、該第2APによる実行結果を受領し、受領した実行結果を他のAPが実行する処理に反映させる。
【0020】
主制御部120は、また、第2APによる実行結果を第1APが実行する処理に反映させた後、第1APに新たに入力されたデータに基づく第1APの実行結果とそれまでの実行結果とを比較する。そして、両立するかどうかを当該新たに入力されたデータに基づく第2APの実行結果に基づいて判定する。両立できない場合は、新たに入力されたデータに基づいて第1APを再実行させる。例えば、それまでの実行結果では、移動中であるべき時間帯にどこかの場所を訪問するスケジュールでは、両立できないので、第1APおよび第2APを再実行させることになる。
【0021】
主制御部120は、また、取得した第2APの実行結果に基づき、当該実行結果を入力データとして第2APと異なる情報処理を実行する第3APを特定し、特定した第3APに対して当該情報処理を実行させる。あるいは、取得した第2APの実行結果に基づき、当該実行結果を入力データとして第2APおよび第3APと異なる情報処理を実行する第4APを特定し、特定した第4APに対して当該情報処理を実行させる。さらに、第1APないし第4APのいずれかのAPに入力されるデータが修正されたときは、該修正後のデータに基づいて各APを再実行し、これにより、既存の実行結果を更新する。
【0022】
次に、ユーザDB11への格納情報について説明する。ユーザDB11は、登録受付部122でユーザ端末30からの登録を受け付け、ユーザ管理部123を通じて分類された情報を、ユーザテーブルおよび補助テーブルの形式で格納する。
ユーザテーブルには、このアプリ連携システム1におけるユーザ認証に用いる権限情報と、ユーザが任意に選択した使用APの名称、そのアカウント情報、補助テーブル名などが格納される。補助テーブルには、AP毎の実行条件などが格納される。
図5(a)はユーザテーブルの例示図、同(b),(c)はユーザの識別情報(MT001)により関連付けられた補助テーブルの例示図である。
図5(b)は、経路案内APの実行条件が格納されている補助テーブルの例であり、MT0011のテーブル番号により、
図5(a)のユーザテーブルと関連付けられている。図示の例では、経路探索を平均モードで行い、飛行機、新幹線、有料特急は利用するが、バスや船は利用しないという条件が格納されている。
図5(c)は予約APの実行条件が格納されている補助テーブルの例である。すなわち、チケット予約の場合は乗車券のみ(指定席や特急券は不要)であり、宿泊予約の場合は、上限1万円という条件である。その他、禁煙ルームを希望するという希望情報や、宿泊予約に関しては仮予約にとどめ、正式予約は手動で確定するといった実行範囲を定める情報を含めてもよい。
【0023】
<運用形態例>
次に、アプリ連携システム1の運用形態例について説明する。ユーザは、アプリ連携システム1に、まずユーザ登録を行う。このときの中継サーバ10の登録受付部122が行う処理の手順を示したのが
図6である。
図6を参照すると、登録受付部122は、前述のユーザプロファイルの入力を待つ(S101:N)。通信制御部121を通じてユーザプロファイルが入力されると(S101:Y)、登録受付部122は、そのユーザのユーザテーブルを作成し、ユーザDB11へ格納する。その後、ユーザが使用するAP、アカウント情報などの入力を待つ(S103:N)。これらの情報が入力されると(S103:Y)、登録受付部122はユーザテーブルへ登録する(S104)。このとき、AP毎の実行条件があるかどうかをユーザ端末30へ問い合わせる(S105:N)。条件入力がある場合(S105:Y)、登録受付部122は、そのユーザの補助テーブルを作成し、入力された実行条件を登録した後、ユーザテーブルと関連付けてユーザDB11へ格納する(S106)。その後、全てのAPについての登録が終了したかどうかをユーザ端末30へ問い合わせる(S107)。
【0024】
なお、S105において条件入力がない場合は、ただちにS107の処理に移る(S105:N)。ユーザが使用するAPが他に存在する場合(S107:N)、登録受付部122は、S102以降の処理を繰り返す。全てのAPについての登録が済んだ場合(S107:Y)、登録受付部122は、ユーザ登録の処理を終了させる。
【0025】
ユーザ登録後、第1APと第2APとのアプリ連携を中継する場合の中継サーバ10の処理の手順例を
図7に示す。
図7の処理は、中継サーバ10の主制御部120が実行する。ユーザがユーザ端末30を操作し、中継サーバ10にアクセスすると、主制御部120は、ユーザ認証を行う(S201)。ユーザ認証は、
図5に示したユーザテーブルの権限情報に基づいて行う。ユーザ認証を終えると、主制御部120は、ユーザ端末30による第1APの起動を待つ(S202:N)。つまり、最初のAPはユーザ端末30によりアクセスされ、起動される。第1APが起動されると、主制御部120は、第1APへのデータ入力を待つ(S203:N)。データ入力があると(S203:Y)、主制御部120は、解析部124にデータ解析を行わせ、その結果を待つ(S204)。データ解析の結果、入力データに特定記号が付加されていると判定された場合(S205:Y)、主制御部120は、AP管理部125に、当該特定記号が付加されたデータを入力データとする第2APを特定させる。そして特定された第2APについてのアカウント情報をもとに第2APにアクセスし、所用の情報処理を実行させ(S206)、実行結果を待つ(S207:N)。実行結果を受領した場合(S207:Y)、主制御部120は、その実行結果を第1APが実行する処理に反映させる(S208)。
【0026】
なお、S205において特定記号が付加されていないと判定された場合(S205:N)、主制御部120は、アプリ連携の必要がないと判断し、ただちにそのデータを第1APの処理に反映させる。その後、修正の必要がないかどうかをユーザ端末30へ問い合わせる。ユーザ端末30から修正データが入力された場合(S209:Y)、主制御部120は、S204以降の処理を繰り返す。修正データの入力がない(修正の必要がない)場合(S209:N)、主制御部120は、第1APと第2APとのアプリ連携の中継処理を終了する。
【0027】
第2APの実行結果に基づいて第3AP、第4APを連鎖的に実行する場合、主制御部120は、S208の処理後、第3AP,第4APおよびそのアカウント情報並びに実行条件などをAP管理部125に特定させ、それらのAPの実行環境を提供するサーバないしサイトへアクセスし、それぞれの実行結果を受領することになる。そして、必要に応じて実行結果を他のAPが実行する処理に反映させる。あるいは、実行結果を第2APの処理に反映させる。なお、第1AP以外の他のAPは、ユーザ端末30からの明示の実行指示を待たずに実行する。
【0028】
<具体例1>
次に、
図2に示された連携関係に基づいて、ユーザが実際にアプリ連携システム1を利用する場合の具体例を説明する。
図8は、カレンダーAPサイト51のカレンダーAP、経路案内APサイト52の経路案内AP、旅費精算APサイト53の旅費精算APを連携させ、ユーザが、顧客先への訪問スケジュールをカレンダーAPに入力する場合の例を示す。前提として、ユーザDB11のユーザプロファイルは、自宅および勤務先の住所が東京23区内で、勤務時間が午前8時から午後6時のように設定されているものとする。なお、各APの実行状況は、ユーザ端末30が備える表示部の画面で随時確認することができる。
【0029】
図8(a)は、ユーザが中継サーバ10にユーザ登録を行った後、カレンダーAPにアクセスし、スケジュールデータの入力を行った場合の例を示す。すなわち、カレンダーAPが第1APとなる。
図8(a)の例では、各データの入力は未だ無い。
いま、11月7日の9時に自宅から港区田町(田町駅)にあるA社(ランドマーク登録有り)を1時間ほど訪問するスケジュールデータをカレンダーAPに入力したとする。ユーザは、アプリ連携の意思があることを表す特定記号として、鉤括弧でA社をくくるように入力する。そうすると、中継サーバ10は、第2APの例となる経路案内APに、A社を目的地とする経路探索を自動的に行わせ、その実行結果をカレンダーAPおよび第3APとなる旅費精算APが実行する処理に反映させる。
図8(b)は、反映された各APの実行結果例を示す。つまり、9時の約1時間前に自宅からA社までの移動経路と、10時にA社を出たときの勤務先への帰社経路とがカレンダーAPのスケジュール内容に自動転記される。また、旅費精算APの所定のシートに旅費精算の内訳(日付、経路、運賃)を自動転記させる。
【0030】
その後、A社への訪問により、突然、11時に新宿のB社(ランドマーク登録有り)へ1時間訪問することになったとする。この場合、ユーザは、カレンダーAPの11時のスケジュールにB社と鉤括弧でくくって入力する。中継サーバ10は、カレンダーAPへの修正データが入力されたことを認識し、経路案内APにA社からB社への移動経路を再探索させる。その結果、カレンダーAPのスケジュール内容は、11時の時点で、
図8(c)のように帰社経路が移動経路へ変更され、B社から出た後に帰社経路が自動転記される。また、旅費精算APによるシートが自宅〜田町〜新宿〜会社のように修正される。
【0031】
他方、B社から訪問時間を13時に変更してほしい旨の連絡を受けたユーザは、カレンダーAPの11時のB社訪問のスケジュール内容を13時に修正したとする。中継サーバ10は、カレンダーAPへの再修正データが入力されたことを認識し、経路案内APにA社から13時にB社への移動経路を再探索させる。このとき、中継サーバ10は、13時に新宿では、一旦勤務先に戻るのが最適経路と判定し、A社からは勤務先への帰社経路、B社へは勤務先からの往復の経路をカレンダーAPのスケジュール内容に自動転記する。同様に、旅費精算APのシートを、自宅〜田町〜会社、会社〜新宿(往復)の内容に変更させる。
【0032】
<具体例2>
図9は、
図8に示した例の変形として、旅費精算APのシートに先に旅費の実績データを入力したことによって移動のスケジュールを自動転記する場合の例を示す。この場合の第1APは旅費精算AP、第2APは経路案内AP、第3APはカレンダーAPとなる。
図9(a)は、未だ実績データの入力がない状態を示す。
図9(b)は、8時に自宅を出発してA社への旅費の実績データを入力した場合の例である。このとき、カレンダーAPの8時からのスケジュール内容にA社までの移動経路が自動転記される。また、A社から勤務先に戻ったときの実績データを入力すると、カレンダーAPのスケジュール内容には、10時から移動経路が自動転記される。なお、この後にカレンダーAPの9時のスケジュールに鉤括弧でくくったA社を入力しても、旅費精算APの実行結果は反映済であるため、カレンダーAPのスケジュール内容への移動経路の自動転記は行われない。
【0033】
<具体例3>
東京の自宅から札幌への出張の場合の例を
図10に示す。連携させるAPは、カレンダーAP、経路案内AP、旅費精算AP、予約サーバ43を通じてアクセス可能なチケット予約APと宿泊予約APである。この例では、第1APがカレンダーAP、第2APが経路案内AP、第3APが旅費精算AP、第4APがチケット予約APおよび宿泊予約APとなる。
図10(a)はデータの入力がない状態の各APの実行状態を示す。カレンダーAPの11月7日、札幌のC社(ランドマーク登録有り)へ9時から1時間だけ訪問するスケジュールデータを入力したとする。この場合、経路案内APの探索によれば、C社へ9時前に到着する航空機がない。そのため、中継サーバ10は前泊が最適のスケジュールと判断する。そして、
図10(b)に示されるように、旅費精算APのシートに前日移動分と当日移動分の明細行を自動転記させる。また、チケット予約APに航空券を仮予約させ、宿泊予約APに宿泊先を仮予約させる(仮予約の実行条件が登録されている場合)。すなわち、カレンダーAPの11月7日のスケジュールには、9時前の移動経路と10時以降の帰社経路とが自動転記される。また、宿泊予約APによる前日(11月6日)の仮予約の状況も表示される。
【0034】
<具体例4>
旅費精算APで11月7日に、沖縄のD社へ17時に訪問した後、Cホテルへ宿泊し、翌日東京に戻るときのアプリ連携の例を
図11に示す。連携させるAPは、カレンダーAP、経路案内AP、旅費精算AP、チケット予約AP、宿泊予約APである。この例では、第1APが旅費精算AP、第2APが経路案内AP、第3APがカレンダーAP、第4APがチケット予約APおよび宿泊予約APとなる。
【0035】
図11(a)は、旅費精算APにおいて、鉤括弧でくくった旅費精算の実績データが入力されている。すなわち、宿泊するホテルがCホテルで、宿泊費が10000円で、17時前にはD社に到着しなければならないことが事前に判明しているので、その内容を表すデータがユーザ端末30から旅費精算APへ入力されている。東京の自宅から17時前に沖縄のD社を訪問し、Cホテルへ宿泊した後、翌日、東京の勤務先又は自宅に戻るためには、連携する経路案内APを起動することになる。経路案内APの実行結果は、自宅〜羽田空港〜沖縄までの空路〜D社〜Cホテル〜那覇空港〜羽田空港の経路が探索される。
【0036】
また、Cホテルへの宿泊が確定した時点で、勤務先へ請求する日当を請求することができるという実行条件が旅費精算APには付加されている。そのため、旅費精算APの実行結果として、日当を含む、
図11(b)の網掛け部分が旅費精算APの実行結果として自動追記される。また、カレンダーAPに、自宅からの11月7日のスケジュールが自動転記される。宿泊予約APについてもCホテルが自動転記される。ユーザ端末30の表示部を通じて表示されたこれらの実行結果について了承した場合、ユーザの11月7日のD社訪問に関わる各APの実行結果が確定する。
【0037】
<具体例5>
具体例4により沖縄のD社訪問に関わる各APの実行結果が確定した後、同じく沖縄のE社に14時に訪問するスケジュールをカレンダーAPへ追加入力した場合の例を説明する。この場合、カレンダーAPが第1AP、旅費精算APが第3APとなる。それ以外は、具体例4と同じである。本例では、修正データが入力された場合の各APの連携処理の例となる。
図12(a)はE社訪問の直前までに確定してい各APの実行結果であり、
図11(b)と同じである。しかし、E社への訪問時間の予定は、直前に確定したスケジュールによれば、E社へ訪問する時間帯は飛行機で移動している。そのため、新たに入力されたデータに基づくカレンダーAPの実行結果は
図12(b)のようになり、中継サーバ10は、これらの一連のスケジュールは、変更前後で両立できないと判断する。
【0038】
そこで、中継サーバ10は、各APへのそれまでの実行結果を破棄させる。そして、カレンダーAPに、14時のE社訪問を追加入力した場合について、まず、経路案内APに経路探索を実行させる。その結果、E社(ランドマーク登録有り)を14時に訪問する場合、東京からは、8時代の飛行機に乗らなければならず、そのためには、自宅を6時45分に出て羽田空港に向かい、那覇空港行の103便、すなわち8時の時間帯の飛行機に乗らなければならない。そのため、中継サーバ10は、
図13に示すように、カレンダーAPのスケジュールを、新たな経路案内APの実行結果に基づいて再編成させるようにした。旅費精算APおよび宿泊予約APの実行結果については変更がない。この内容について承認した場合、修正データの入力に基づくユーザのスケジュールが確定する。
【0039】
<具体例6>
具体例5の各APの実行結果に基づき、ユーザが、具体例5のスケジュールを破棄し、沖縄のE社だけを訪問するスケジュールを新たに入力する例について説明する。Cホテルの予約は、既に決まっており、それ故に、宿泊予約APにCホテルを予約することについて、ユーザが鉤括弧でくくって連携の意図を表したとする。つまり、本例ではCホテルへの宿泊予約を先行させる。連携するAPは、具体例5と同じであるが、本例の場合、宿泊予約APが第1AP、経路案内APが第2AP、カレンダーAPと旅費精算APの一方が第3AP、他方が第4APとなる。
【0040】
図14(a)はどのAPもデータが入力されていない状態である。同(b)は宿泊予約APにCホテルへの宿泊予定だけを入力している。この時点では、経路案内APは、入力時点を出発時刻とするため、東京にいるユーザのカレンダーAPのスケジュールは、終日出張と自動転記される。その後、カレンダーAPに、11時に沖縄のE社への訪問を入力した場合、これにより経路案内APが実行され、その実行結果が反映されたカレンダーAPおよび旅費精算APの実行結果が
図14(c)のようにユーザ端末30の表示部に表示される。すなわち、カレンダーAPの画面には、6時45分に自宅から羽田空港に向かう移動経路、羽田空港から那覇空港に向かう空路、那覇空港からE社に向かう移動経路が自動転記される。また、旅費精算APの画面には、日当をはじめとする沖縄のE社と東京との間の交通費が自動転記される。
【0041】
<具体例7>
次に、ユーザDB11に登録されているAPに入力されるデータが、名詞のほかに動詞ないし形容詞を含む文字列で、登録されているAPのいくつかが、ユーザ以外の他者に向けて情報を発信する発信型APであり、解析部124は、メールAPを通じて入力された文字列の意味合いを解釈するとともに、当該文字列を発信型APに向けた文字列に編集するように構成される場合の例を説明する。発信型APとなるのは、メールAP、SNS APである。
【0042】
図15は、このような場合のアプリ連携の具体例を示すものである。例えば、メールサーバを通じてユーザが通常使用しているメールAPから、「急用のため、明日欠勤します」、「なお、面会予定有」というメールが中継サーバ10に入力されたとする。つまり、メールAPが第1APとなる。実際、そのユーザのスケジュールには、大阪の顧客との商談が予定されており、それ故に、新幹線および宿泊の予約が決まっているものとする。
【0043】
中継サーバ10は、メールAPを通じて入力された文字列の意味合いを解釈するとともに、当該文字列をそれぞれ
図15に例示されるメールAP、SNS AP発信型APに向けた文字列に編集する。そして、メールサーバ41に連絡し、明日面会予定の取引先にキャンセルの旨の電子メールを自動送信させるとともに、送信した電子メールをユーザ端末30へもc.c.で送信させる。また、SNSサーバ42へ連絡し、第2APとなるSNS APを通じて、上司に、明日欠勤の旨の自動メッセージを送信させる。また、送信したメッセージをユーザ端末30へc.c.で送信させる。さらに、第3APとなるそのユーザのカレンダーAPに、明日の商談予定を削除する内容のデータを送信する。さらに、予約サーバ43へ連絡し、第4APとなるチケット予約APおよび宿泊予約APを通じて新幹線、宿泊の予約をキャンセルさせる。上記一連の連携の処理は、最初に電子メールで連絡を受けたとき以外は、ユーザからの実行指示を待つことなく実行される。
【0044】
以上のとおり、本実施形態のアプリ連携システム1では、中継サーバ10が、ユーザが任意に選択し、登録した複数のAPの実行を中継する。すなわち、いずれかの第1APを通じて入力されたデータに特定記号が含まれているときは、当該データを入力データとする第2APに所用の情報処理を実行させるとともに、該第2APによる実行結果を受領し、受領した実行結果を第2AP以外の他の登録されたAPが実行する処理に反映させる。そのため、AP同士をダイレクトに連携させる必要がないので、APの増減に柔軟に対応することができる。
ユーザにとっては、通常使用している任意のAP同士を連携させることができるので、使用感を高めることが期待される。システム運用者側も、連携させるAPに増減が生じても、ユーザDB11の登録内容を変更するだけで足りる。そのため、ユーザが使用するAPが増えても連携のための開発作業が不要となり、ユーザの使用感を高めたアプリ連携を容易に実現することができる。