(57)【特許請求の範囲】
【請求項１】
操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行する情報処理方法であって、
前期操作処理手順は、前記ブラウザにおける複数の操作処理の手順であり、第１操作処理手順と、前記第１操作処理手順の実行以降に実行される第２操作処理手順とを含み、
前記第１操作処理手順に基づいて、前記ブラウザにおける複数の操作処理を実行し、
前記第１操作処理手順の実行後の前記ブラウザの状態を復元するためのセッション情報を、所定の記憶領域に記憶することにより保持し、
前記第１操作処理手順の実行後、前記ブラウザを再起動し、
前記所定の記憶領域に記憶した前記セッション情報を前記再起動したブラウザに適用して、前記再起動したブラウザにおいて前記第１操作処理手順の実行後の前記ブラウザの状態を復元し、
前記第２操作処理手順に基づいて、前記再起動したブラウザにおける複数の操作処理を実行する
情報処理方法。
【請求項２】
前記セッション情報が有効であるか否かを判定し、
前記セッション情報が有効であると判定された場合、前記セッション情報を用いて操作処理手順を実行する
請求項１に記載の情報処理方法。
【請求項３】
前記セッション情報が有効であるか否かを判定し、
前記セッション情報が無効であると判定された場合、前記セッション情報を有効化する処理を実行する
請求項１又は請求項２に記載の情報処理方法。
【請求項４】
一又は複数の操作処理手順の組を設定し、
設定した組に含まれる操作処理手順において、前記セッション情報を維持する
請求項１から請求項３のいずれか１項に記載の情報処理方法。
【請求項５】
前記操作処理の自動実行を要求するユーザの識別情報、前記操作処理手順の識別情報、及び前記操作処理手順に含まれるドメイン情報のいずれか１つに基づき前記組を設定する
請求項４に記載の情報処理方法。
【請求項６】
前記組に含まれる操作処理手順は、一連の操作として連続して実行される複数の操作処理手順を含む
請求項４又は請求項５に記載の情報処理方法。
【請求項７】
前記セッション情報を維持するか否かを受け付け、
前記セッション情報を維持する場合、前記セッション情報を用いて前記操作処理手順を実行する
請求項４から請求項６のいずれか１項に記載の情報処理方法。
【請求項８】
前記所定の記憶領域に複数のセッション情報を記憶し、
記憶した複数のセッション情報から選択されたセッション情報を用いて前記操作処理手順を実行する
請求項１から請求項７のいずれか１項に記載の情報処理方法。
【請求項９】
前記セッション情報は、前記ブラウザのログインに関する情報を含む
請求項１から請求項８のいずれか１項に記載の情報処理方法。
【請求項１０】
前記操作処理手順はサーバレスアーキテクチャにより実行され、
前記サーバレスアーキテクチャは所定の時間長に限って操作処理を実行するものであり、
前記操作処理手順は、前記所定の時間長以内で完了するよう構成されている
請求項１から請求項９のいずれか１項に記載の情報処理方法。
【請求項１１】
操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行するためのコンピュータプログラムであって、
前期操作処理手順は、前記ブラウザにおける複数の操作処理の手順であり、第１操作処理手順と、前記第１操作処理手順の実行以降に実行される第２操作処理手順とを含み、
前記第１操作処理手順に基づいて、前記ブラウザにおける複数の操作処理を実行し、
前記第１操作処理手順の実行後の前記ブラウザの状態を復元するためのセッション情報を、所定の記憶領域に記憶することにより保持し、
前記第１操作処理手順の実行後、前記ブラウザを再起動し、
前記所定の記憶領域に記憶した前記セッション情報を前記再起動したブラウザに適用して、前記再起動したブラウザにおいて前記第１操作処理手順の実行後の前記ブラウザの状態を復元し、
前記第２操作処理手順に基づいて、前記再起動したブラウザにおける複数の操作処理を実行する
処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項１２】
操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行する情報処理装置であって、
前期操作処理手順は、前記ブラウザにおける複数の操作処理の手順であり、第１操作処理手順と、前記第１操作処理手順の実行以降に実行される第２操作処理手順とを含み、
前記第１操作処理手順に基づいて、前記ブラウザにおける複数の操作処理を実行する第１実行部と、
前記第１実行部による前記第１操作処理手順の実行後の前記ブラウザの状態を復元するためのセッション情報を、所定の記憶領域に記憶することにより保持する記憶部と、
前記第１操作処理手順の実行後、前記ブラウザを再起動する再起動部と、
前記記憶部が前記所定の記憶領域に記憶した前記セッション情報を前記再起動部が再起動したブラウザに適用して、前記再起動部が再起動したブラウザにおいて前記第１実行部による前記第１操作処理手順の実行後の前記ブラウザの状態を復元する復元部と、
前記第２操作処理手順に基づいて、前記再起動部が再起動したブラウザにおける複数の操作処理を実行する第２実行部と
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理方法、コンピュータプログラム及び情報処理装置に関する。
【背景技術】
【０００２】
インターネットを通じて種々のサービスを提供するクラウドサービスが普及している。クラウドサービスでは、ユーザは、ブラウザ画面にウェブページを表示し、ブラウザ画面上で種々の操作を実行する。ユーザは、クラウドサービスを利用する場合において、ブラウザ画面上における操作を繰り返し実行することがある。
【０００３】
このような手間を省くために、ブラウザ画面上で一連の操作を自動で行うロボットが提案されている。特許文献１では、ロボットを作成することを目的として、ブラウザ画面上において自動で行う操作の手順を記録する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６４５２８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これらの方法により記録される操作処理手順においては、操作処理手順のメンテナンス性、サーバの処理負荷を鑑みると、１つの操作処理手順の処理時間が短い方が好ましい。従って複数の処理を行う場合には、短い操作処理手順を複数組み合わせてブラウザ画面上で実行することで、一連の処理を行うことが考えられる。しかしながら、複数の操作処理手順を組み合わせて実行する場合において、例えば同一のウェブサーバにアクセスするときには、個々の操作処理手順の度にログイン処理等を繰り返し実行する必要があり、操作処理が非効率となることが懸念される。
【０００６】
本開示の目的は、複数の操作処理手順を実行する場合の操作効率を向上させることができる情報処理方法等を提供することにある。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る情報処理方法は、操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行する情報処理方法であって、第１の操作処理手順の実行過程において前記ブラウザに記録されたセッション情報を記憶部に記憶し、記憶した前記セッション情報を用いて第２の操作処理手順を実行する。
【０００８】
本開示の一態様に係るコンピュータプログラムは、操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行するためのコンピュータプログラムであって、第１の操作処理手順の実行過程において前記ブラウザに記録されたセッション情報を記憶部に記憶し、記憶した前記セッション情報を用いて第２の操作処理手順を実行する処理をコンピュータに実行させる。
【０００９】
本開示の一態様に係る情報処理装置は、操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行する情報処理装置であって、第１の操作処理手順の実行過程において前記ブラウザに記録されたセッション情報を記憶する記憶部と、前記記憶部が記憶したセッション情報を用いて第２の操作処理手順を実行する実行部とを備える。
【発明の効果】
【００１０】
本開示によれば、複数の操作処理手順を実行する場合の操作効率を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態における情報処理システムの構成を示すブロック図である。
【図２】情報処理システムを構成する各装置の内部構成を示すブロック図である。
【図３】端末装置の表示部に表示される第１例の受付画面を示す説明図である。
【図４】端末装置の表示部に表示される第２例の受付画面を示す説明図である。
【図５】情報処理装置が実行する処理手順の一例を示すフローチャートである。
【図６】情報処理装置が実行する処理手順の一例を示すフローチャートである。
【図７】情報処理装置が実行する共通操作処理手順の一例を示すフローチャートである。
【図８】第４実施形態における情報処理システムを構成する各装置の内部構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
本発明をその実施の形態を示す図面を参照して具体的に説明する。
【００１３】
（第１実施形態）
図１は、第１実施形態における情報処理システム１００の構成を示すブロック図である。情報処理システム１００は、情報処理装置１、端末装置２及びウェブサーバ３を備える。各装置は、インターネット等のネットワークＮを介して相互に情報を送受信することが可能である。
【００１４】
情報処理システム１００では、端末装置２からの要求に応じて、情報処理装置１がウェブサーバ３に対するブラウザの操作処理を自動で実行し、実行結果を端末装置２へ提供する自動実行サービスを実現する。
【００１５】
情報処理装置１は、ウェブサーバ３に対する操作処理を自動実行する装置であり、例えばサーバコンピュータである。情報処理装置１は、ブラウザ１ａを備える。ブラウザ１ａは、ウェブサーバ３と通信を行い、ウェブサーバ３から取得した情報を解析し、解析結果をブラウザ画面に表示する。情報処理装置１は、説明を容易にするために１台のサーバコンピュータとして説明するが、複数のサーバコンピュータで機能又は処理を分散させてもよいし、１台の大型コンピュータに仮想的に生成される複数のサーバコンピュータ（インスタンス）の内の１つであってもよい。
【００１６】
端末装置２は、例えばパーソナルコンピュータ、スマートフォン又はタブレット等である。端末装置２は、ブラウザ画面上における操作処理の自動実行要求、操作処理の自動実行に必要な入力情報等を情報処理装置１へ送信し、情報処理装置１により自動実行された操作処理の実行結果データを取得する。
【００１７】
ウェブサーバ３は、ネットワークＮに接続されるウェブサーバであり、例えば販売管理システム、売上管理システム、就業管理システム等である。ウェブサーバ３は、ＨＴＴＰプロトコルを用いて、ネットワークＮに接続されている各装置にウェブサービスを提供する。ウェブサーバ３から情報処理装置１には、例えばＨＴＭＬ（Hyper Text Markup Language）形式、ＸＭＬ（Extensible Markup Language）形式等のデータが送信される。
【００１８】
情報処理装置１は、手順データＤＢ（Data Base ：データベース）４に対して情報を読み書きすることが可能である。手順データＤＢ４には、情報処理装置１が自動実行する操作処理手順を記録した手順データが保存されている。手順データは、例えばＪＳＯＮ（Javascript(登録商標) Object Notation）形式のデータであり、ブラウザ１ａにおける複数の操作処理の手順に関するデータを含む。手順データに基づき自動実行される操作処理とは、ウェブサーバ３に対するブラウザ１ａの操作に関する処理であり、例えば、ブラウザ画面上におけるデータの入力、エレメントの選択、ブラウザのリサイズ、ブラウザのスクロール、タブの切替等である。自動実行サービスの利用者は、端末装置２を用いて予め操作処理の手順を記録した手順データ（シナリオ）を生成する。生成された手順データは、手順データＤＢ４に保存される。利用者は、端末装置２を用いて所望のタイミングにて情報処理装置１へ操作処理の自動実行を要求する。情報処理装置１は、自動実行要求に応じて、手順データＤＢ４から読み出した手順データに基づき、所定の操作処理を順次自動で実行し、実行結果データを端末装置２へ送信する。
【００１９】
このように、情報処理システム１００では、情報処理装置１と端末装置２とが通信を行い、端末装置２の自動実行要求に基づき、情報処理装置１が通信によりブラウザの操作処理を自動実行するクラウド型サービスを実現する。
【００２０】
情報処理装置１により自動実行される手順データは、利用者が所望する複数の操作処理の組み合わせにより生成される。１つの手順データは、単体として自動実行が可能な、複数の操作処理からなる最小の組を１単位として生成される。１手順データは、例えば５分、１０分等、所定の時間長以内で操作処理が完了するよう構成されている。多数の操作処理を自動実行するには、操作処理を複数の手順データに分割し、これら複数の手順データを順に自動実行することにより、全ての操作処理を完了させるよう手順データを生成する。このように、所定時間長に限られた１つのトランザクション処理を１手順データとして作成し、最小単位で作成した１手順データを１モジュールとして管理する。手順データをモジュール化することにより、手順データを簡素化することができるとともに、メンテナンスが容易となる。
【００２１】
ところで、手順データに基づく操作処理を自動実行する場合においては、手順データの作成時点におけるブラウザ状態と、手順データの自動実行時点におけるブラウザ状態とは同じ状態であることが望ましい。例えば、手順データの自動実行時点において、一旦操作処理の対象となるＷｅｂサーバにアクセスしブラウザにセッション情報を記憶している場合において、記録した手順データを自動実行しようとしたときは、手順データの作成時点とは異なる画面表示、挙動となることが懸念される。これを解消するために、例えば、手順データの自動実行時点において、ブラウザのセッション情報を初期化した状態でブラウザを起動することで、手順データの自動実行時における操作の再現率を高めることができる。
【００２２】
しかしながら、自動実行開始毎にブラウザを初期化した場合、例えばＷｅｂサイトへのログイン操作処理が含まれる手順データを自動実行するときは、自動実行開始毎にログイン操作処理が必要となる。そこで、Ｗｅｂサイトへの手順データを自動実行する場合において、例えば複数個の手順データを順次実行するとき、１つの手順データを繰り返し実行するときなどにおいて、前に実行した手順データのセッション情報を維持することで、操作処理を効率的に実行できる。例えば、各手順データの操作処理が所定のアカウント情報を用いたログイン状態で行われる場合や、前の手順データで入力した入力情報を引き継いで次の手順データの操作処理を実行する場合等は、前の手順データのブラウザのセッション情報を維持した状態で次の手順データを開始することで、操作処理手順を簡素化することができる。本実施形態では、前の手順データの終了時に、ブラウザ１ａに記録されたセッション情報を退避させ、次の手順データの開始時にセッション情報を復元することで、ブラウザ１ａのセッションを維持しながら複数の手順データにおける操作処理を効率的に実行する。
【００２３】
ここで、本実施形態におけるセッション情報とは、ウェブサーバ３に対し手順データにを自動実行するにあたり、同一ブラウザ１ａであることを認識させるための情報である。すなわちセッション情報とは、手順データに基づくブラウザ１ａの操作を自動実行した過去の時点におけるブラウザ１ａの状態を退避させ、次回の自動実行時に当該ブラウザ１ａの状態を復元することで、ウェブサーバ３側に同一のブラウザ１ａであると認識させるための情報である。セッション情報を維持した状態でウェブサーバ３に対する手順データを自動実行することにより、ウェブサーバ３に対して同一のブラウザ１ａからの操作処理としての一連の操作処理の実行が可能となる。セッション情報には、例えばウェブサーバ３にアクセスするブラウザ１ａを一意に特定するためのセッションＩＤ、ウェブサーバ３から送信されるＨＴＴＰレスポンスに含まれるＣｏｏｋｉｅ情報、ブラウザ１ａ内のウェブストレージに書き込まれたウェブストレージ情報などが含まれてよい。
【００２４】
ウェブストレージ情報とは、ウェブサーバ３から送信されるＨＴＭＬファイルに含まれるＪａｖａｓｃｒｉｐｔ等により情報処理装置１のウェブストレージに書き込まれる情報である。ウェブストレージには、ブラウザ１ａにおけるウィンドウやタブ単位での一回限りのセッションのデータを保存するセッションストレージと、所謂オリジン単位でのデータを永続的に保存するローカルストレージとが含まれる。ウェブストレージ情報には、例えばブラウザ１ａの各ウィンドウ又はタブ内で入力された入力情報、フラグ情報、キャッシュデータ等が含まれてよい。または、セッションＩＤに紐付けられるユーザＩＤ、パスワード等が含まれてもよい。
【００２５】
これらのセッション情報は、所定の手順データ間において維持されるようセッション情報の共有組が設定される。共有組においてセッション情報を維持することで、情報処理装置１はウェブサーバ３に対する一連の操作処理を効率的に実行する。なおセッション情報の共有組については後述する。
【００２６】
このような情報処理システム１００の構成及び詳細な処理内容について以下に説明する
。
【００２７】
図２は、情報処理システム１００を構成する各装置の内部構成を示すブロック図である。情報処理装置１は、制御部１０、記憶部１１及び通信部１２を備える。制御部１０は、ＣＰＵ（Central Processing Unit ）又はＧＰＵ（Graphics Processing Unit）等の演算処理素子を有する。制御部１０は、記憶部１１に記憶されているプログラム１Ｐを読み出して実行することにより、汎用サーバコンピュータを本開示特有の情報処理装置として機能させる。なお、制御部１０が有する処理素子の数は２以上であってもよい。この場合、複数の処理素子が協働で種々の処理を実行する。
【００２８】
通信部１２は、有線又は無線の通信モジュール又は通信インタフェースであり、ネットワークＮを介して端末装置２及びウェブサーバ３との間で情報の送受信を行う。
【００２９】
記憶部１１は、ＳＲＡＭ（Static Random Access Memory ）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の揮発性記憶領域と、ＥＥＰＲＯＭ又はハードディスク等の不揮発性記憶領域とを含む。記憶部１１は、プログラム１Ｐを含む制御部１０が参照するプログラム及びデータを記憶する。
【００３０】
記憶部１１に記憶されるプログラム１Ｐは、記録媒体にコンピュータ読み取り可能に記録されている態様であってもよい。記憶部１１は、図示しない読出装置によって記録媒体１Ａから読み出されたプログラム１Ｐを記憶する。また、図示しない通信網に接続されている図示しない外部コンピュータからプログラム１Ｐをダウンロードし、記憶部１１に記憶させたものであってもよい。なお記憶部１１は、複数の記憶装置により構成されていてもよく、情報処理装置１に接続された外部記憶装置であってもよい。
【００３１】
端末装置２は、制御部２０、記憶部２１、通信部２２、表示部２３及び操作部２４を備える。制御部２０は、ＣＰＵ又はＧＰＵ等の演算処理素子を有する。なお、制御部２０が有する処理素子の数は２以上であってもよい。この場合、複数の処理素子が協働で種々の処理を実行する。
【００３２】
記憶部２１は、ＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等の揮発性記憶領域と、ＥＥＰＲＯＭ又はハードディスク等の不揮発性記憶領域とを含む。記憶部２１は、制御部２０が参照するプログラム及びデータを記憶する。
【００３３】
通信部２２は、有線又は無線の通信モジュール又は通信インタフェースであり、ネットワークＮを介して情報処理装置１との間で情報の送受信を行う。
【００３４】
表示部２３は、液晶パネル、有機ＥＬ（Electro Luminescence）ディスプレイ等のディスプレイ装置を用いる。操作部２４は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、ディスプレイ内蔵のタッチパネルデバイス等を用いる。
【００３５】
ここで、セッション情報の共有組について説明する。上述したセッションＩＤ、Ｃｏｏｋｉｅ情報、ウェブストレージ情報等を含むセッション情報は、所定の手順データ間において維持されるようセッション情報の共有組が設定される。設定された一又は複数の手順データからなる共有組内においては、同一のセッション情報が維持される。
【００３６】
共有組を構成する第１例は、利用者単位である。利用者の識別情報をキーとして、同一の利用者の自動実行要求に係る手順データ間においてはセッション情報を維持する。同一の利用者により実行される操作処理においてセッション情報を維持することにより、例えば利用者アカウントに紐付けられるユーザＩＤ、パスワード等の情報を毎回引き継ぐことができる。
【００３７】
共有組を構成する第２例は、手順データ単位である。手順データの識別情報をキーとして、同一の手順データにおいてはセッション情報を維持する。同一の手順データが複数回実行される場合であっても、毎回同一のセッション情報を用いて操作処理が実行される。
【００３８】
共有組を構成する第３例は、アクセス先のドメイン単位である。ドメイン情報をキーとして、特定のウェブサーバ３へのアクセスにおいては常にセッション情報を維持する。ドメイン情報には、公開されているグローバルドメイン、社内で利用するローカルドメイン、さらにこれらドメインに対応付けられるＩＰアドレス等が含まれてよい。これにより特定のウェブサーバ３へのアクセスに関しては、毎回同一のセッション情報を用いて操作処理が実行される。なお、ドメイン単位で共有されるセッション情報は、例えば１つの手順データに複数のアクセス先ドメインに対する操作処理が含まれる場合における、所定のドメインに対する操作処理手順にのみ維持されてよい。あるいは、複数の手順データ間において、同一のドメインに対する操作処理手順についてはセッション情報が維持されるものであってもよい。
【００３９】
共有組を構成する第４例は、手順データの実行単位である。手順データは、個々に作成される手順データと、個々の手順データを複数個繋ぎ合わせることにより作成される手順データとが含まれる。情報処理装置１は、１手順データを１回の実行単位として自動実行する。１回の実行単位で行われる１手順データを共有単位とすることにより、１手順データに含まれる個々の手順データ間においてセッション情報が維持される。
【００４０】
共有組を構成する第５例は、手順データのグループ単位である。複数の手順データの組み合わせからなる１つのグループにおいてセッション情報を維持することにより、１つのグループに含まれる複数の手順データ間においては、同一のセッション情報を用いて操作処理が実行される。例えば、第１手順データから第４手順データまでの合計４個の手順データを実行する場合において、第１手順データ及び第４手順データを第１グループとし、第２手順データ及び第３手順データを第２グループとする。第１グループにおいては第１セッション情報を維持し、第２グループにおいては第２セッション情報を維持する。
【００４１】
共有組は、これら上述の例をさらに組み合わせて構成されてもよい。なお、上述した共有組の構成例は、上述の例に限定されるものではない。このように共有組を設定し、設定した共有範囲内でセッション情報を維持することで、必要な処理にのみセッション情報を引き継ぐことができる。
【００４２】
利用者は、手順データの生成時又は自動実行要求時において、端末装置２に表示される受付画面を用いてセッション情報を維持するか否かを選択することができる。図３は、端末装置２の表示部２３に表示される第１例の受付画面２３１を示す説明図である。図３は、上述の共有組を構成する第２例で説明した手順データ単位でのセッション情報の維持を受け付ける受付画面２３１の一例を示している。表示部２３に表示される受付画面２３１には、左側に手順データＩＤ及び当該手順データＩＤの手順データに含まれるブラウザ操作処理手順が表示され、右下側にブラウザ画像が表示されている。さらに受付画面２３１の右上側には、セッション情報の維持を受け付ける受付アイコン２３２が含まれている。右下側に表示されるブラウザ画像は、情報処理装置１のブラウザ１ａにおけるウェブサーバ３に対する操作処理により、ウェブサーバ３から情報処理装置１に送信されるブラウザ画面の画像データを、情報処理装置１から取得することにより端末装置２に表示されるものである。ブラウザ画像は、例えばブラウザ画面のスナップショットによるイメージデータである。なお受付画面２３１は、端末装置内２の専用アプリケーションや拡張プラグインにより端末装置２内のブラウザを制御し、ウェブサーバに直接アクセスすることで生成されてもよい。
【００４３】
利用者は、セッション情報の維持を希望する手順データについては、受付画面２３１の受付アイコン２３２にチェック入力を行う。端末装置２は受付アイコン２３２の選択操作を受け付けた場合、当該選択操作の受付情報と手順データＩＤと関連付けて情報処理装置１へ送信する。情報処理装置１の制御部１０は、受付情報を取得し、手順データＩＤをキーとしてセッション情報を維持する共有組を構成する。制御部１０は、同一の手順データＩＤに係る操作処理を実行する場合には永続的にセッション情報を維持するよう、共有組におけるセッション情報の維持設定を行う。
【００４４】
図４は、端末装置２の表示部２３に表示される第２例の受付画面２３３を示す説明図である。図４は、上述の共有組を構成する第３例で説明したドメイン単位でのセッション情報の維持を受け付ける受付画面２３３の一例を示している。受付画面２３３には、左側に手順データＩＤ及び当該手順データＩＤの手順データに含まれるブラウザ操作処理手順が表示され、右下側にブラウザ画像が表示されている。さらに受付画面２３３には、左側のブラウザ操作処理手順に対応付けて、ドメイン毎にセッション情報の維持を受け付ける複数の受付アイコン２３４が表示されている。受付アイコン２３４はそれぞれ、異なるドメインを含むＵＲＬへアクセスする操作処理に対応付けて表示されており、対応付けられたドメインのセッション情報の維持に関する選択を受け付ける。
【００４５】
利用者は、セッション情報の維持を希望するドメインについては、当該ドメインに対応付けられた受付アイコン２３４にチェック入力を行う。端末装置２は受付アイコン２３４の選択操作を受け付けた場合、当該選択操作の受付情報とドメイン情報と関連付けて情報処理装置１へ送信する。情報処理装置１の制御部１０は、受付情報を取得し、ドメイン情報をキーとしてセッション情報を維持する共有組を構成する。制御部１０は、同一のドメイン情報に係る操作処理を実行する場合には永続的にセッション情報を維持するよう、共有組におけるセッション情報の維持設定を行う。
【００４６】
上記において、例えば複数の手順データを含む手順データを実行する場合においては、利用者はいずれのセッション情報を利用するかを指定して、セッション情報の維持範囲を設定してもよい。例えば第１手順データから第３手順データまでの合計３個の手順データを連結して自動実行する場合において、利用者は第１手順データにおけるセッション情報の維持を指定して第２手順データの実行要求を行う。これにより利用者は、複数の手順データを実行する場合において、例えば複数のブラウザから選択される一のブラウザを指定して各手順データを自動実行するものと同様の効果を得ることができる。
【００４７】
なお、セッション情報を維持するか否かの選択は、利用者により直接受付画面を用いて入力される例に限定されるものではない。例えば利用者は、ＡＰＩ通信、実行コマンド等のオプションパラメータとしてセッション情報を維持するか否かを指定し、自動実行要求を行ってもよい。情報処理装置１は、オプションパラメータを取得することにより、セッション情報を維持するか否かを受け付ける。
【００４８】
図５及び図６は、情報処理装置１が実行する処理手順の一例を示すフローチャートである。例えば利用者が端末装置２を用いてブラウザプログラム等を起動し、アカウント情報を用いて自動実行サービスへログインし操作処理の自動実行要求を送信すると、情報処理装置１の制御部１０は、以下の処理を開始する。なお図５及び図６では、第１手順データ及び第２手順データにおいて、セッション情報としてＣｏｏｋｉｅ情報を維持する例を説明する。
【００４９】
端末装置２は、操作部２４の操作を受け付けブラウザプログラム等を起動し、自動実行サービスへのログイン情報を受け付け情報処理装置１へ通信接続する。情報処理装置１は、例えば利用者ＩＤ等に対応付けて登録されている、予め記録済みの複数の手順データの手順データＩＤを端末装置２へ送信する。端末装置２は、受信した複数の手順データＩＤを表示部２３に表示し、利用者の所望する手順データの選択を受け付け、受け付けた手順データＩＤを情報処理装置１へ送信する。
【００５０】
情報処理装置１の制御部１０は、選択された手順データＩＤに係る操作処理の自動実行要求を受信する（ステップＳ１０）。情報処理装置１は、手順データＤＢ４を参照し、自動実行要求に係る手順データＩＤの手順データを取得する（ステップＳ１１）。
【００５１】
制御部１０は、セッション情報を維持するか否かを受け付ける（ステップＳ１２）。具体的には、制御部１０は、セッション情報の維持を受け付ける受付画面情報を生成し、端末装置２に受付画面情報を出力する。制御部１０は、端末装置２の受付画面（図３及び図４参照）を介して利用者の選択を受け付ける。端末装置２は、利用者の選択を受け付け、受け付けた選択結果を情報処理装置１へ送信する。
【００５２】
セッション情報を維持する選択を受け付けないことにより、セッション情報を維持しないと判定した場合（ステップＳ１２：ＮＯ）、制御部１０は処理を終了する。あるいは、制御部１０は、セッション情報の維持を含まない手順データの自動実行処理を行うものであってよい。
【００５３】
セッション情報を維持する選択を受け付けたことにより、セッション情報を維持すると判定した場合（ステップＳ１２：ＹＥＳ）、制御部１０は、セッション情報を維持する共有組を設定する（ステップＳ１３）。例えば制御部１０は、選択結果に基づき利用者ＩＤをキーとして、同一利用者からの自動実行要求に係る第１手順データ及び第２手順データを含む共有組を構成する。
【００５４】
制御部１０は、第１ブラウザを起動し（ステップＳ１４）、第１手順データに基づく第１ブラウザ（ブラウザ１ａ）の操作処理手順を開始する。なお一連の操作処理は自動実行されるため、起動されるブラウザ１ａはヘッドレスブラウザであってよい。またブラウザ１ａの制御は、ウェブドライバ等を用いてよい。制御部１０は、第１手順データを自動実行する（ステップＳ１５）。制御部１０は、第１手順データに基づき、ウェブサーバ３との通信を行いウェブサーバ３に対する第１ブラウザにおける操作処理を順次自動実行する。
【００５５】
具体的には、制御部１０は、第１手順データに基づき、ウェブサーバ３へＨＴＴＰリクエストを送信する。ウェブサーバ３は、ＨＴＴＰリクエストを受信し、ＨＴＴＰリクエストに対するＨＴＴＰレスポンス（応答画面情報）を送信する。この場合において、ＨＴＴＰレスポンスにはＣｏｏｋｉｅ情報が埋め込まれている。ウェブサーバ３は、セッションＩＤを発行し、Ｃｏｏｋｉｅ情報としてセッションＩＤの保存要求を応答画面情報と共に送信する。制御部１０は、Ｃｏｏｋｉｅ情報の埋め込まれたＨＴＴＰレスポンスを受信する。制御部１０は、受信したＣｏｏｋｉｅ情報を一時的に記憶部１１の揮発性記憶領域に保持する。なお、Ｃｏｏｋｉｅ情報はウェブサーバ３から発行されるものに限定されるものではなく、情報処理装置１側で発行してもよい。例えば制御部１０は、Ｊａｖａｓｃｒｉｐｔ等により第１ブラウザにおいてＣｏｏｋｉｅ情報を生成し、生成したＣｏｏｋｉｅ情報を一時的に記憶部１１の揮発性記憶領域に保持する。以降、制御部１０は、毎回ＨＴＴＰリクエストの送信において保持されたＣｏｏｋｉｅ情報をウェブサーバ３へ送信する。このように、第１手順データに基づく操作処理手順においては、第１ブラウザの標準機能により、第１ブラウザを実行するためのプロセス又はスレッドに割り当てられている記憶領域にＣｏｏｋｉｅ情報が保持される。制御部１０は、ウェブサーバ３との間でこのような第１手順データに基づくデータの送受信を繰り返し自動実行する。
【００５６】
制御部１０は、第１手順データが終了したか否かを判定する（ステップＳ１６）。第１手順データに含まれるすべての操作処理が自動実行されていないことにより、第１手順データが終了していないと判定される場合（ステップＳ１６：ＮＯ）、制御部１０は、処理をステップＳ１５に戻し、第１手順データの自動実行を継続する。
【００５７】
第１手順データに含まれるすべての操作処理が自動実行されたことにより、第１手順データが終了したと判定される場合（ステップＳ１６：ＹＥＳ）、制御部１０は、保持されたＣｏｏｋｉｅ情報を取得する（ステップＳ１７）。具体的には、制御部１０はＪａｖａｓｃｒｉｐｔ等を実行し、ウェブドライバ等を用いて第１ブラウザ上のＣｏｏｋｉｅ情報を記憶部１１の揮発性記憶領域から取得する。すなわち、制御部１０は、第１ブラウザを実行するためのプロセス又はスレッドに割り当てられている記憶領域から、第１シナリオの実行対象となるドメインに対応するＣｏｏｋｉｅ情報を読み取ることにより、当該Ｃｏｏｋｉｅ情報を取得する。
【００５８】
制御部１０は、取得したＣｏｏｋｉｅ情報を退避させる（ステップＳ１８）。具体的には、制御部１０は、取得したＣｏｏｋｉｅ情報を第１ブラウザの標準機能によりＣｏｏｋｉｅ情報が保持される記憶領域（例えば記憶部１１の揮発性記憶領域）とは異なる記憶領域（例えば記憶部１１の不揮発性記憶領域）へ記憶する。すなわち、制御部は、取得したクッキー情報を、予め定義された所定の変数の値として所定の記憶領域に保存する。このようにＣｏｏｋｉｅ情報を所定の変数の値として不揮発性記憶領域に保存することにより、上述の第１ブラウザを終了した後であっても、制御部１０は、当該所定の変数に基づき、Ｃｏｏｋｉｅ情報を再利用することができる。Ｃｏｏｋｉｅ情報を退避させた後、制御部１０は、第１ブラウザを終了する（ステップＳ１９）。これにより、第１ブラウザのセッションが退避される。
【００５９】
第１手順データの終了後、制御部１０は、第２ブラウザを起動し（ステップＳ２０）、第２手順データに基づく第２ブラウザ（ブラウザ１ａ）の操作処理手順を開始する。制御部１０は、第１手順データで退避させたＣｏｏｋｉｅ情報を復元する（ステップＳ２１）。具体的には、制御部１０は、Ｊａｖａｓｃｒｉｐｔ等を実行し、記憶部１１の不揮発性記憶領域へ記憶したＣｏｏｋｉｅ情報を読み出し、ウェブドライバ等を用いて第２ブラウザ上に読み出したＣｏｏｋｉｅ情報を設定する。すなわち、制御部１０は、不揮発性記憶領域に保存した所定の変数を参照し、当該変数の値であるＣｏｏｋｉｅ情報を取得し、第１ブラウザの終了後、新たに起動した第２ブラウザを実行するためのプロセス又はスレッドに対して有効となるように、当該Ｃｏｏｋｉｅ情報を適用することにより、復元を行う。これにより、第１ブラウザのセッションが第２ブラウザ上で復元される。なお、制御部１０は、ステップＳ１９において第１ブラウザを終了させることなく、Ｃｏｏｋｉｅ情報の退避後に継続して第１ブラウザを利用しＣｏｏｋｉｅ情報を復元するものであってもよい。
【００６０】
制御部１０は、復元したＣｏｏｋｉｅ情報を用いて、第２手順データを自動実行する（ステップＳ２２）。制御部１０は、第２手順データに基づき、ウェブサーバ３との通信を行いウェブサーバ３に対する第２ブラウザにおける操作処理を順次自動実行する。
【００６１】
具体的には、制御部１０は、操作処理手順に基づき、ウェブサーバ３へＨＴＴＰリクエストを送信する。この場合において、制御部１０は、不揮発性記憶領域から読み出すことにより復元したＣｏｏｋｉｅ情報、すなわち第１手順データにおいて取得し退避させたＣｏｏｋｉｅ情報をＨＴＴＰリクエストに埋め込む。これにより、新たに開始する第２手順データにおいても、第１手順データのＣｏｏｋｉｅ情報を用いてウェブサーバ３とのセッションを維持することができる。
【００６２】
ウェブサーバ３は、復元されたＣｏｏｋｉｅ情報の埋め込まれたＨＴＴＰリクエストを受信する。ウェブサーバ３は、ＨＴＴＰリクエストに対するＨＴＴＰレスポンス（応答画面情報）を送信する。制御部１０は、ＨＴＴＰレスポンスを受信する。制御部１０は、ウェブサーバ３との間でこのような第２手順データに基づくデータの送受信を繰り返し自動実行する。
【００６３】
制御部１０は、第２手順データが終了したか否かを判定する（ステップＳ２３）。第２手順データに含まれるすべての操作処理が自動実行されていないことにより、第２手順データが終了していないと判定される場合（ステップＳ２３：ＮＯ）、制御部１０は、処理をステップＳ２２に戻し、第２手順データの自動実行を継続する。
【００６４】
第２手順データに含まれるすべての操作処理が自動実行されたことにより、第２手順データが終了したと判定される場合（ステップＳ２３：ＹＥＳ）、制御部１０は、第２ブラウザを終了し（ステップＳ２４）、ウェブサーバ３との通信を切断する。制御部１０は、例えばブラウザ画面の画像データ、ＨＴＭＬソース等を含む実行結果データを取得する。制御部１０は、取得した実行結果データを端末装置２へ出力して（ステップＳ２５）、一連の処理を終了する。なお、制御部１０はステップＳ２４の処理の後にステップＳ１８を行うループ処理を行ってもよい。
【００６５】
上述のステップＳ１２において、情報処理装置１により自動実行される手順データに複数の手順データが含まれる場合は、制御部１０は、いずれのセッション情報を利用するかを含んだ選択結果を端末装置２から取得するとよい。この場合において、セッション情報は、ブラウザ名（例えば社内アクセスブラウザ、クラウドブラウザ等）を用いて管理されることが好ましい。これにより利用者がセッション情報を容易に認識することができる。利用者は、ブラウザ名を指定してセッション情報を維持する共有範囲を選択する。制御部１０は、記憶部１１に記憶した複数のセッション情報から、利用者の選択に応じたセッション情報を用いることにより共有組におけるセッション情報を維持する。なお、上記では、セッション情報を維持するか否かを自動実行時に受け付ける例を説明したが、受け付けのタイミングは限定されるものではない。
【００６６】
上述の処理によれば、情報処理装置１は、第１手順データの自動実行時にブラウザ１ａに記録されたセッション情報を第１手順データの終了時に退避させ、退避させたセッション情報を復元して次の第２手順データに用いることにより、第１手順データと第２手順データ間においてセッション情報を維持する。セッション情報が維持されることにより、ウェブサーバ３との間でセッションを維持することができる。情報処理装置１は、ブラウザ１ａのプロセスを制御しセッション情報の退避及び復元を実行することにより、複数の手順データ間においてセッション情報が維持されるため、効率的に操作処理を自動実行することができる。
【００６７】
上述したセッション情報の維持と共に、情報処理装置１は手順データの自動実行時において、複数の手順データに共通して実行可能な共通操作処理手順を実行することにより、さらに操作効率の向上を図る。共通操作処理手順とは、例えばセッション情報の有効性の判定手順、初期操作手順、セッション情報の無効化手順等を含む。これらの処理操作は、複数の手順データにおいて共通して実行されるものである。図７は、情報処理装置１が実行する共通操作処理手順の一例を示すフローチャートである。以下の共通操作処理手順は、例えばセッション情報の復元後に実行される。
【００６８】
情報処理装置１の制御部１０は、ＨＴＴＰリクエストをウェブサーバ３へ送信し、セッション情報の有効性を判定するための所定のＵＲＬへアクセスする（ステップＳ３１）。所定のＵＲＬは、例えばウェブサーバ３のトップ画面である。この場合において、制御部１０は、復元したセッション情報、すなわち有効性の判定対象となるセッション情報を用いた操作処理を実行する。例えば、制御部１０は、有効性の判定対象となるＣｏｏｋｉｅ情報を埋め込んだＨＴＴＰリクエストをウェブサーバ３へ送信するものであってよい。ウェブサーバ３は、Ｃｏｏｋｉｅ情報に対する判定結果を含むＨＴＴＰレスポンスを情報処理装置１へ送信する。制御部１０は、ＨＴＴＰレスポンスとして応答画面情報を受信する（ステップＳ３２）。制御部１０は、応答画面情報を解析することにより、セッション情報が有効か否かを判定する（ステップＳ３３）。
【００６９】
セッション情報が有効か否かの判定は、例えば応答画面情報に含まれるエレメント情報に基づき判定される。例えば、応答画面情報に、ログイン処理のための入力欄（例えばユーザＩＤ・パスワードの入力欄）が含まれている場合には、ログインが行われていない、すなわちセッション情報が有効でないと判定される。あるいは、応答画面情報に、ログインエラー情報が含まれている、ページが見つからないことを示すエラー情報が含まれている等の場合には、セッション情報が有効でないと判定される。一方、応答画面情報にログイン処理のための入力欄含まれていない場合には、ログイン済みである、すなわちセッション情報が有効であると判定される。あるいは、応答画面情報に、ログイン済みである場合に表示されるユーザ名が含まれている場合には、セッション情報が有効であると判定される。このようなセッション情報の有効性の判定基準は、各手順データ毎に設定されてよい。
【００７０】
セッション情報が有効でないと判定した場合（ステップＳ３３：ＮＯ）、制御部１０は、セッション情報の有効化処理手順を実行する（ステップＳ３４）。制御部１０は、セッション情報の有効化手順として、例えばログイン処理のための入力欄に対するユーザＩＤ及びパスワードの入力操作処理手順を実行する。制御部１０は、ＨＴＴＰレスポンスである応答画面情報において、ウェブサーバ３から新たなセッションＩＤをＣｏｏｋｉｅ情報として取得する。制御部１０は、予め記憶するユーザＩＤ及びパスワードをＰＯＳＴデータ、新たなセッションＩＤをＣｏｏｋｉｅ情報としてウェブサーバ３へＨＴＴＰリクエスト送信する。ウェブサーバ３は、ＨＴＴＰリクエストを受信し、ＨＴＴＰレスポンスとしてログイン後の画面情報を情報処理装置１へ送信する。情報処理装置１の制御部１０は、ＨＴＴＰレスポンスとしてログイン後の画面情報を取得する。このように、制御部１０は過去に取得済みのセッションＩＤを再取得し、ウェブサーバ３との通信コネクションを確立することで、復元したセッション情報の有効化を行う。
【００７１】
なお、制御部１０は、セッション情報の有効化手順として、その他シングルサインオン（ＳＳＯ：Single Sign On）方式によるＳＳＯ認証サーバへのリンク操作処理、ワンタイムパスワード情報の入力操作処理等を実行してもよい。
【００７２】
セッション情報が有効であると判定した場合（ステップＳ３３：ＹＥＳ）、制御部１０は、ステップＳ３４のセッション情報の有効化処理手順をスキップする。
【００７３】
ついで制御部１０は、例えば所定のスタートページのＵＲＬへアクセスする共通初期手順を実行する（ステップＳ３５）。スタートページは、例えばログイン処理完了後のメニュー画面である。各手順データは、毎回共通初期手順によりアクセスされるメニュー画面から開始されるよう構成されている。制御部１０は、共通初期手順の実行後、各手順データに基づく操作処理を自動実行する。各手順データに基づく操作処理は、例えば図５及び図６に示した処理である。
【００７４】
各手順データの自動実行が終了した後、制御部１０は、共通終了手順である無効化手順を実行する。具体的には制御部１０は、各手順データの操作処理の終了後、セッション情報を無効化するか否かを判定する（ステップＳ３６）。
【００７５】
セッション情報の維持が不要であることによりセッション情報を無効化すると判定した場合（ステップＳ３６：ＹＥＳ）、制御部１０は、セッション情報の無効化手順を実行する（ステップＳ３７）。制御部１０は、例えばログアウトに係る操作処理手順を実行することにより、セッション情報の無効化処理を行う。制御部１０は、予め記憶するログアウト画面のＵＲＬへアクセスするＨＴＴＰリクエストをウェブサーバ３へ送信する。制御部１０は、応答画面上でログアウトボタンをクリックする等の操作処理を自動実行しログアウトを行うことにより、記憶部１１に記憶されるＣｏｏｋｉｅ情報を消去する。このようにしてセッション情報の無効化を行う。
【００７６】
セッション情報の維持が必要であることによりセッション情報を無効化しないと判定した場合（ステップＳ３６：ＮＯ）、制御部１０は、セッション情報の無効化処理手順をスキップし、一連の処理を終了する。なお、共通操作処理手順は一部を省略してもよい。すなわち制御部１０は共通操作処理手順として、上述の有効性の判定手順、共通初期手順及び無効化手順のいずれか１つのみを行うものであってもよい。
【００７７】
上述の共通操作処理手順は、各手順データの生成時に設定を行うことにより、手順データの実行時に共通して自動実行される。情報処理装置１は、セッション情報の有効性の判定結果に基づき有効化されたセッション情報を用いることにより、効率的にセッション情報を維持することができる。さらにこれらの処理を一連の共通操作処理手順として作成することで、同一の操作処理手順を手順データ毎に生成することを回避し、操作効率を向上させることができる。
【００７８】
（第２実施形態）
第２実施形態では、セッション情報の維持方法が第１実施形態と異なるため、以下では主に上記相違点を説明する。その他の構成及び作用効果は実施形態１と同様であるため、対応する箇所には同様の符号を付して詳細な説明を省略する。
【００７９】
情報処理装置１の制御部１０は、ブラウザ１ａのプロセスを継続することによりセッション情報を維持する。制御部１０は、第１手順データの終了時においてブラウザ１ａのプロセス（例えば第１ブラウザ）を終了させることなく、セッション情報を記憶部１１の揮発性記憶領域に記憶した状態で保持したまま、第２手順データの開始時までプロセスを維持する。制御部１０は、第２手順データの自動実行において、維持したブラウザ１ａのプロセス（例えば第１ブラウザ）を継続して使用することにより、記憶部１１に保持したセッション情報を読み出し使用する。本実施形態によれば、同一ブラウザプロセスを用いることにより、第１手順データ及び第２手順データの間でセッション情報を共有することができるため、より簡易な手法によりセッション情報を維持することができる。
【００８０】
（第３実施形態）
第３実施形態では、セッション情報の維持方法が第１実施形態と異なるため、以下では主に上記相違点を説明する。その他の構成及び作用効果は実施形態１と同様であるため、対応する箇所には同様の符号を付して詳細な説明を省略する。
【００８１】
情報処理装置１の制御部１０は、セッション情報を保持する記憶領域（ユーザディレクトリ）を指定することによりセッション情報を維持する。制御部１０は、ブラウザ１ａの起動時に、セッション情報を保持する記憶領域を指定して第１ブラウザを起動し、第１手順データを実行する。セッション情報を保持する記憶領域は、例えば情報処理装置１の記憶部１１の記憶領域であってもよく、情報処理装置１からネットワークＮ経由でアクセス可能な外部ストレージであってもよい。制御部１０は、第１手順データで取得したセッション情報を、指定された記憶領域に記憶し保持する。制御部１０は、第２手順データの実行時において、同一の記憶領域を指定して第２ブラウザを起動することにより、記憶領域に保持したセッション情報を読み出す。このようにして第１手順データ及び第２手順データの間でセッション情報を維持することができる。あるいは、制御部１０は、第１手順データの終了後に、指定した記憶領域内のセッション情報を記憶部１１の他の記憶領域へ退避させる。制御部１０は、第２手順データの実行時において退避させたセッション情報を読み出し復元する。制御部１０は、復元したセッション情報を第２ブラウザに中に書き込み第２手順データを実行することにより、セッション情報を維持してもよい。
【００８２】
上記において、制御部１０は、セッション情報に加えて第１手順データの終了時点におけるブラウザ画面情報（例えばＨＴＭＬデータ）を記憶することにより、第２手順データの実行時にセッション情報及びブラウザ画面情報を維持するものであってよい。これにより、第２手順データの実行時において、第１手順データの終了時点と同一のブラウザ画面の状態とセッション情報とを用いて操作処理を開始することができる。本実施形態によれば、情報処理装置１は、ブラウザプロセスを外部から制御することなくセッション情報を維持することができる。
【００８３】
（第４実施形態）
第４実施形態では、外部サーバを用いてサーバレスアーキテクチャにより手順データが自動実行される点が第１実施形態と異なるため、以下では主に上記相違点を説明する。その他の構成及び作用効果は実施形態１と同様であるため、対応する箇所には同様の符号を付して詳細な説明を省略する。
【００８４】
図８は、第４実施形態における情報処理システム２００を構成する各装置の内部構成を示すブロック図である。情報処理システム２００は、ブラウザ機能を有する外部サーバ５をさらに備える。
【００８５】
外部サーバ５は、制御部５０、記憶部５１及び通信部５２を備える。制御部５０は、ＣＰＵ又はＧＰＵ等の演算処理素子を有する。通信部５２は、有線又は無線の通信モジュール又は通信インタフェースであり、ネットワークＮを介して情報処理装置１及びウェブサーバ３との間で情報の送受信を行う。記憶部５１は、ＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等の揮発性記憶領域と、ＥＥＰＲＯＭ又はハードディスク等の不揮発性記憶領域とを含む。記憶部５１は、制御部５０が参照するプログラム及びデータを記憶する。
【００８６】
外部サーバ５は、情報処理装置１からの自動実行指示を取得した場合、情報処理装置１に代替して手順データに基づく操作処理手順を自動実行する。なお、外部サーバ５における操作処理手順は、サーバレスコンピューティングやＦａａＳ（Function as a Service ）と呼ばれるアーキテクチャ上で実行される。外部サーバ５には、手順データを実行するための関数が予め登録される。情報処理装置１は、端末装置２から自動実行要求を受け付けた場合、外部サーバ５上の関数を読み出し実行させることにより、手順データに係る操作処理の自動実行を実現する。
【００８７】
このような外部サーバ５における関数の実行時においては、実行される度にメモリやＣＰＵなどのコンピュータリソースが割り当てられ、所定時間内で実行された後、リソースが解放される。所定時間内に処理を終えない場合は、処理が強制的に終了される。次に実行する場合には、異なるリソースが割り当てられる。従って、このようなアーキテクチャによるシステムを構築する場合には、１つの関数が所定時間内で実行可能に構成されることが必要である。本実施形態で実行される手順データは、所定の時間長内で完了するよう生成されており、所定の時間長は外部サーバ５の実行条件に応じた所定時間の範囲内となるよう構成されている。
【００８８】
情報処理装置１は、予め第１手順データ及び第２手順データの操作処理を実行するための関数をそれぞれ外部サーバ５に登録する。情報処理装置１は、例えば端末装置２からの自動実行要求の受け付けをトリガーとして、外部サーバ５上の関数を呼び出す。情報処理装置１は、呼び出した関数の実行命令を送信し、第１手順データを外部サーバ５のブラウザ上で実行させる。なお、ブラウザ上での処理するにあたり、外部サーバ５はブラウザが行っている入出力機能を代替する関数を実行するものであってよい。第１手順データの操作処理手順は、外部サーバ５の実行条件に応じた所定時間内に完了するものである。
【００８９】
外部サーバ５は、第１手順データの終了時に、ブラウザのセッション情報を読み込む。読み込んだセッション情報は、ストレージに書き出され退避される。この場合において、セッション情報は、外部サーバ５から情報処理装置１に送信され、情報処理装置１で受信されたセッション情報が記憶部１１に保存されることで退避されてもよい。あるいは、セッション情報は、外部サーバ５から提供されるストレージ領域を利用して、外部サーバ５のストレージ領域に保存されてもよい。情報処理装置１は、第２手順データを実行するための関数を呼び出す。情報処理装置１は、呼び出した関数の実行命令を送信し、第２手順データを外部サーバ５のブラウザ上で実行させる。外部サーバ５は、自装置のストレージ領域を参照し、あるいは情報処理装置１と通信することによりセッション情報を取得する。外部サーバ５は、取得したセッション情報を復元して利用し、第２手順データを実行する。第２手順データの操作処理手順は、第１手順データと同様に外部サーバ５の実行条件に応じた所定時間内に完了するものである。情報処理装置１は、外部サーバ５から実行結果データを取得する。
【００９０】
上述の処理によれば、クラウド上の関数を呼び出す形で手順データが自動実行される。個々の手順データは、外部サーバ５の１回あたりの実行可能時間内で完了するよう構成されている。手順データ間におけるセッション情報を維持することで、サーバレスアーキテクチャにより構築されたシステムにおいても、ブラウザのセッションを維持し複数の手順データを効率的に実行することが可能となる。
【００９１】
なお、上述のように開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
【符号の説明】
【００９２】
１  情報処理装置
２  端末装置
３  ウェブサーバ
４  手順データＤＢ
５  外部サーバ
１０，２０，５０  制御部
１１，２１，５１  記憶部
２３  表示部
１Ｐ  プログラム
１００，２００  情報処理システム
【要約】
【課題】複数の操作処理手順を実行する場合の操作効率を向上させることができる情報処理方法等を提供する。
【解決手段】情報処理方法は、操作処理手順に基づいてウェブサーバにアクセスするブラウザの操作処理を自動実行する情報処理方法であって、第１の操作処理手順の実行過程において前記ブラウザに記録されたセッション情報を記憶部に記憶し、記憶した前記セッション情報を用いて第２の操作処理手順を実行する。
【選択図】図５【図１】
0006806351.tif 000002
【図２】
0006806351.tif 000003
【図３】
0006806351.tif 000004
【図４】
0006806351.tif 000005
【図５】
0006806351.tif 000006
【図６】
0006806351.tif 000007
【図７】
0006806351.tif 000008
【図８】
0006806351.tif 000009