JP6651178B1 - コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム - Google Patents

コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム Download PDF

Info

Publication number
JP6651178B1
JP6651178B1 JP2019165565A JP2019165565A JP6651178B1 JP 6651178 B1 JP6651178 B1 JP 6651178B1 JP 2019165565 A JP2019165565 A JP 2019165565A JP 2019165565 A JP2019165565 A JP 2019165565A JP 6651178 B1 JP6651178 B1 JP 6651178B1
Authority
JP
Japan
Prior art keywords
server
browser
instruction
connection
information processing
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.)
Active
Application number
JP2019165565A
Other languages
English (en)
Other versions
JP2021043718A (ja
Inventor
将則 村井
将則 村井
豊 三林
豊 三林
Original Assignee
有限会社C−Rise
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 有限会社C−Rise filed Critical 有限会社C−Rise
Priority to JP2019165565A priority Critical patent/JP6651178B1/ja
Application granted granted Critical
Publication of JP6651178B1 publication Critical patent/JP6651178B1/ja
Priority to US17/049,850 priority patent/US11695836B2/en
Priority to PCT/JP2020/023896 priority patent/WO2021049120A1/ja
Priority to EP20792911.8A priority patent/EP4030303A4/en
Publication of JP2021043718A publication Critical patent/JP2021043718A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】プライベートネットワークに接続される情報処理装置にブラウザの操作を自動実行させることが可能なコンピュータプログラム等を提供する。【解決手段】コンピュータプログラムは、プライベートネットワークに接続される情報処理装置に、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるためのコンピュータプログラムであって、前記情報処理装置に、前記サーバへコネクションの確立を要求し、前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得し、取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行し、前記操作処理の実行結果を取得し、取得した前記実行結果を前記サーバに出力する処理を実行させる。【選択図】図1

Description

本技術は、コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システムに関する。
オフィス又は工場等における作業の効率化を目的としたクラウドサービスとして、特許文献1には、社内ネットワーク上のサーバに対する操作を伴う業務プロセスを自動化するための方法が開示されている。
特許第6532626号公報
プライベートネットワークに接続される情報処理装置と、グローバルネットワークに接続されるサーバとが通信することにより提供されるクラウドサービスにおいては、セキュリティを担保しつつ可用性の更なる向上が期待される。
本開示の目的は、プライベートネットワークに接続される情報処理装置に、ブラウザの操作を自動実行させることが可能なコンピュータプログラム等を提供することである。
本開示の一態様におけるコンピュータプログラムは、プライベートネットワークに接続される情報処理装置に、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるためのコンピュータプログラムであって、前記情報処理装置に、前記サーバへコネクションの確立を要求し、前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得し、取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行し、前記操作処理の実行結果を取得し、取得した前記実行結果を前記サーバに出力する処理を実行させる。
本開示の一態様における情報処理方法は、プライベートネットワークに接続される情報処理装置に、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるための情報処理方法であって、前記サーバへコネクションの確立を要求し、前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得し、取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行し、前記操作処理の実行結果を取得し、取得した前記実行結果を前記サーバに出力する。
本開示の一態様における情報処理装置は、プライベートネットワークに接続され、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるための情報処理装置であって、前記サーバへコネクションの確立を要求する要求部と、前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得する操作指示取得部と、取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行する実行部と、前記操作処理の実行結果を取得する実行結果取得部と、取得した前記実行結果を前記サーバに出力する出力部とを備える。
本開示の一態様における情報処理システムは、プライベートネットワークに接続される情報処理装置及びウェブサーバと、グローバルネットワークに接続されており、前記情報処理装置からの要求に応答することにより確立されたコネクションを用いて、前記情報処理装置に前記ウェブサーバにアクセスするブラウザの操作処理に関する操作指示を出力するサーバとを備え、前記情報処理装置は、前記サーバへ前記コネクションの確立を要求する要求部と、前記コネクションを用いて、前記サーバからプッシュ送信される前記操作指示を取得する操作指示取得部と、取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行する実行部と、前記操作処理の実行結果を取得する実行結果取得部と、取得した前記実行結果を前記サーバに出力する出力部とを備える。
本開示によれば、プライベートネットワークに接続される情報処理装置にブラウザの操作を自動実行させることが可能なコンピュータプログラム等を提供することができる。
実施形態1における情報処理システムの概要を示す図である。 ブラウザ制御装置の内部構成を示すブロック図である。 情報処理システムにおいて実行される操作処理の手順の一例を示すシーケンス図である。 情報処理システムにおいて実行される操作処理の手順の一例を示すシーケンス図である。 情報処理システムにおいて実行される操作処理の手順の一例を示すシーケンス図である。 情報処理システムにおいて実行される処理の手順の一例を示すフローチャートである。 実施形態2における情報処理システムの概要を示す図である。 情報処理システムにおいて実行される操作処理の手順の一例を示すシーケンス図である。 情報処理システムにおいて実行される操作処理の手順の一例を示すシーケンス図である。 情報処理システムにおいて実行される操作処理の手順の一例を示すシーケンス図である。 情報処理システムにおいて実行される処理の手順の一例を示すフローチャートである。 実施形態3における情報処理システムの概要を示す図である。
本発明をその実施の形態を示す図面を参照して具体的に説明する。
(実施形態1)
図1は、実施形態1における情報処理システム100の概要を示す図である。情報処理システム100は、サーバ1、ブラウザ制御装置2、ユーザ端末装置3及びウェブサーバ4を含む。ブラウザ制御装置2、ユーザ端末装置3及びウェブサーバ4はプライベートネットワークN1に接続される。サーバ1は、インターネット等のグローバルネットワークN2に接続され、中継装置5を介してプライベートネットワークN1上のブラウザ制御装置2及びユーザ端末装置3との間で通信接続し、情報を送受信する。
情報処理システム100では、ユーザ端末装置3からの要求に応じて、サーバ1を介してブラウザ制御装置2がウェブサーバ4に対する各種の操作処理を自動で実行し、実行結果をユーザ端末装置3へ提供する自動実行サービスを実現する。
サーバ1は、例えば、サーバコンピュータである。実施形態1において、以下では、サーバ1は1台のサーバコンピュータとして説明するが、複数のサーバコンピュータで機能又は処理を分散させてもよいし、1台の大型コンピュータに仮想的に生成される複数のサーバコンピュータ(インスタンス)の内の1つであってもよい。サーバ1は、自動実行サービスにより実行される操作処理のためのシナリオを記憶するシナリオデータベース(図示せず)を備える。シナリオは、例えばJSON(Javascript(登録商標) Object Notation)形式のデータであり、ブラウザの操作処理の手順に関するデータが含まれる。
シナリオに基づき、自動実行される操作処理は、例えば、ウェブサーバ4へのアクセス、ウェブサーバ4上におけるデータの入力、エレメントの選択、ブラウザのリサイズ、ブラウザのスクロール、タブの切替等である。サーバ1は、シナリオデータベースを参照して、これらの操作処理の操作指示をブラウザ制御装置2へ送信する。
ブラウザ制御装置2は、自動実行サービスによる操作処理の自動実行を行う装置であり、例えばパーソナルコンピュータ、サーバコンピュータ等である。ブラウザ制御装置2は、ブラウザ2aを備える。ブラウザ2aは、ウェブサーバ4と通信を行い、ウェブサーバ4から取得した情報を解析し、解析結果をブラウザ画面に表示する。
ユーザ端末装置3は、例えばパーソナルコンピュータ、スマートフォン又はタブレット等である。ユーザ端末装置3は、自動実行サービスのユーザにより使用され、ブラウザ制御装置2により自動実行された操作処理に応じて得られる実行結果を取得する。
ウェブサーバ4は、プライベートネットワークN1に接続されるウェブサーバであり、例えばユーザ企業の販売管理システム、売上管理システム、就業管理システム等である。ウェブサーバ4は、HTTPプロトコルを用いて、プライベートネットワークN1に接続されている各装置にウェブサービスを提供する。ウェブサーバ4からブラウザ制御装置2には、例えばHTML(Hyper Text Markup Language)形式、XML(Extensible Markup Language)形式等のデータが送信される。
中継装置5は、プライベートネットワークN1とグローバルネットワークN2との間の通信を中継する中継装置であり、例えばルータ、ゲートウェイ等である。中継装置5は、プロキシサーバ、ファイアウォール等の機能を含んでいてもよい。中継装置5は、プライベートネットワークN1でのみ通用するプライベートIP(Internet Protocol )アドレスと、グローバルネットワークN2で使用されるグローバルIPアドレスとを相互に変換するNAT(Network Address Translation )又はNAPT(Network Address Port Translation)機能を備える。中継装置5は、プライベートネットワークN1とグローバルネットワークN2との通信を中継する。中継装置5は、グローバルネットワークN2からの不正なアクセスから、プライベートネットワークN1を防御する。
図2は、ブラウザ制御装置2の内部構成を示すブロック図である。ブラウザ制御装置2は、制御部20、記憶部21及び通信部22を備える。
通信部22は、グローバルネットワークN2を介してサーバ1との間で、情報の送受信を実現するための有線又は無線の通信モジュールである。通信部22は、プライベートネットワークN1を介してウェブサーバ4との間で、情報の送受信を実現するための有線又は無線の通信モジュールである。通信部22は、制御部20の指示に従って、サーバ1から、シナリオの操作指示を受信し、ウェブサーバ4にアクセスする。通信部22は、制御部20の指示に従って、ブラウザ画像データをサーバ1に送信する。
記憶部21は、不揮発性メモリである。記憶部21には、ブラウザ制御プログラム210が記憶されている。ブラウザ制御プログラム210は、シナリオ操作を自動で実行するためのアプリケーションプログラムである。
ブラウザ制御プログラム210は、ブラウザ制御プログラム210を読み取り可能に記録した非一時的な記憶媒体A1を用いて、ブラウザ制御装置2に提供されてもよい。記憶媒体A1は、例えば可搬型メモリである。可搬型メモリの例として、CD−ROM、USB(Universal Serial Bus)メモリ、SDカード、マイクロSDカード又はコンパクトフラッシュ(登録商標)等が挙げられる。記憶媒体A1が可搬型メモリである場合、制御部20の処理素子は、図示しない読み取り装置を用いて記憶媒体A1からブラウザ制御プログラム210を読み取り、記憶部21に記憶してもよい。
ブラウザ制御プログラム210は、通信部22を介した通信によって、ブラウザ制御装置2に提供されてもよい。この場合、制御部20の処理素子は、通信部22を通じてブラウザ制御プログラム210を取得し、記憶部21に記憶してもよい。
制御部20は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)又はGPU(Graphics Processing Unit)等の処理素子(コンピュータ)を有する。制御部20の処理素子は、ブラウザ制御プログラム210を実行する。なお、制御部20が有する処理素子の数は2以上であってもよい。この場合、複数の処理素子が協働で種々の処理を実行する。
上記のように構成される情報処理システム100において、シナリオに基づく操作処理の自動実行が行われる。図3から図5は、情報処理システム100において実行される操作処理の手順の一例を示すシーケンス図である。
ブラウザ制御装置2は、ブラウザ制御装置2が起動された場合、グローバルネットワークN2を介してサーバ1にコネクション61の確立要求を送信する(ステップS111)。確立要求は、HTTPプロトコルにより行われ、Websocketへのプロトコルのアップグレード、及びブラウザ制御装置2からの要求であること等が示される。サーバ1は、受信したコネクションの確立要求への応答を送信する(ステップS112)。これにより、サーバ1とブラウザ制御装置2との間でWebsocketプロトコルによるコネクション61が確立され、双方向通信、すなわちプッシュ型の相互通信が可能となる。以降のサーバ1とブラウザ制御装置2との通信は、コネクション61を用いてWebsocketプロトコルに準拠する電文を用いて行われる。ブラウザ制御装置2が起動している場合は常時サーバ1との情報の送受信を可能にするため、コネクション61は、ブラウザ制御装置2の起動をトリガとして確立され、ブラウザ制御装置2のシステムが終了されるまではコネクションが継続される。
通常、グローバルネットワーク上の装置がプライベートネットワーク内の装置に接続する場合においては、いわゆるNAT(Network Address Translation )越えを行う必要がある。本実施形態においても、サーバ1からブラウザ制御装置2へと通信を行う場合はNAT越えが必要とされる。本実施形態においては、Websocketにより、OSI参照モデルのアプリケーション層にてコネクション61を確立することで、NAT越えを実現する。なお、Websocketプロトコルを用いる場合においては、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)を使用して暗号化して通信するwss(Websocket secure)のようなセキュアな通信プロトコルが好ましい。
コネクション61の確立後、ユーザ端末装置3は、シナリオの自動実行を要求する。ユーザ端末装置3は、初めにサーバ1へブラウザの起動要求を送信する(ステップS113)。ユーザ端末装置3からは、例えば、起動要求と共にユーザ端末装置3の識別情報が送信される。サーバ1は、ブラウザの起動要求を受信する。サーバ1は、シナリオの自動実行を要求するユーザ端末装置3と、当該ユーザ端末装置3からの要求に応じて操作処理を実行させるべきブラウザ制御装置2とを対応付けたテーブルを予め記憶している。サーバ1は、起動指示を送信するブラウザ制御装置2をテーブルから読み出し、コネクション61を介して、読み出したブラウザ制御装置2へとブラウザの起動指示をプッシュ送信する(ステップS114)。起動指示は、Websocketプロトコル内で定められた電文形式にて送信される。サーバ1とブラウザ制御装置2との間では、コネクション61が確立されているため、NATを超えたサーバ1からのブラウザ制御装置2への情報のプッシュ送信が可能である。
ブラウザ制御装置2は、起動指示を受信し、ブラウザ2aを起動する(ステップS115)。一連のシナリオ処理操作は、ブラウザ制御装置2にて自動実行されるため、起動されるブラウザ2aはヘッドレスブラウザであってよい。ブラウザ2aの制御は、ウェブドライバ等を用いてよい。
次に、ユーザ端末装置3は、サーバ1へシナリオの実行要求を送信する(ステップS116)。サーバ1は、シナリオの実行要求を受信する。サーバ1は、既に確立されているコネクション61を介してシナリオの実行指示をブラウザ制御装置2へプッシュ送信する(ステップS117)。実行指示は、Websocketプロトコル内で定められた電文形式にて送信される。
ブラウザ制御装置2は、実行指示を受信する。ブラウザ制御装置2は、受信した実行指示に基づき、ブラウザ2aの操作処理を実行する。具体的には、ブラウザ制御装置2は、実行指示に基づき、ブラウザ2aの操作処理を実行する(ステップS118)。ブラウザ2aは、ウェブサーバ4へHTTPリクエストを送信し(ステップS119)、HTTPレスポンスを取得する(ステップS120)。ウェブサーバ4から取得するレスポンスは、例えばHTML形式のデータである。ブラウザ制御装置2は、操作処理に対するブラウザ2aのレスポンスを取得し(ステップS121)、取得したレスポンスをサーバ1へ送信する(ステップS122)。実行指示へのレスポンスには、例えば操作が正常に完了した場合の結果以外に、操作処理に対して異常終了した場合のエラー情報等が含まれる。ブラウザ制御装置2は、ウェブサーバ4への操作処理に応じたウェブページを含むブラウザ画面の画像データを要求する(ステップS123)。ブラウザ制御装置2は、ブラウザ画面の画像データを取得する(ステップS124)。画像データは、ブラウザ画面のスナップショットによるイメージデータである。これにより、操作処理の実行結果が、画像データで取得される。
シナリオに含まれる操作処理は、一般的なセレクタの仕様形態を拡張した独自セレクタを用いるものであってもよい。自動実行する操作処理の対象であるウェブサーバ4が提供するウェブサービスにおいて、当該ウェブサービスによる主たるブラウザ画面が、iframeタグを含むものである場合、当該iframeタグによって定義されるインラインのブラウザ画面内の入力項目等のエレメントへの操作処理も自動化する必要がある。この場合、主たるブラウザ画面及びインラインのブラウザ画面の双方の画面におけるセレクタを取得し、取得したセレクタ夫々を結合した独自セレクタを用いることにより、iframeタグによって定義されるインラインのブラウザ画面内、すなわちインラインフレームのエレメントを直接指定し、操作処理を行うことができる。
さらに、ブラウザ制御装置2は、ブラウザ画面を定期的に取得し、ブラウザ画面の変化を検知する。ブラウザ制御装置2は、例えば3秒毎等の所定のタイミングで、ウェブページを含むブラウザ画面の画像データを要求し(ステップS125)、画像データを取得する(ステップS126)。ブラウザ制御装置2は、前回画面との差分に基づき、画面変化を検知する。(ステップS127)。ブラウザ制御装置2は、所定時間操作が行われないことによるタイムアウト情報等の、ウェブサーバ4からの処理により変化する画面遷移を取得する。これにより、自動変化の検知に対する実行結果が、画像データで取得される。
ブラウザ制御装置2は、取得した実行結果の画像データ、HTMLソース等をサーバ1へ送信する(ステップS128)。ユーザ端末装置3は、実行結果の取得を希望する場合には、サーバ1へ実行結果の要求を送信する(ステップS129)。サーバ1は、送信要求への応答として、受信した実行結果の画像データをユーザ端末装置3へ送信する(ステップS131)。ユーザ端末装置3に送信される実行結果の画像データは、HTML形式のデータの一部として送信される。ユーザ端末装置3は、自身の端末装置上でブラウザ操作を行うことなく、選択したシナリオに応じた実行結果の画面を画像データで取得することができる。なお、ユーザ端末装置3から実行結果の要求がされない場合においては、サーバ1は実行結果画面の画像データを送信しない構成であってよい。サーバ1は、実行結果をデータベースに記憶しておき、ユーザの要求を取得したタイミングで、データベースから実行結果を読み出し送信する構成であってよい。
ステップS117からステップS131のループ処理が行われ一連のシナリオの操作処理が終了した場合、情報処理システム100の各装置は、一連の処理を終了する。
上記の処理において、ブラウザ制御装置2は、ブラウザ2aの起動指示を受信することなくブラウザ2aの起動を行ってもよい。例えば、ブラウザ制御装置2の起動時にブラウザ2aが自動起動されてもよい。ブラウザ制御プログラム210とブラウザ2aが一体化されることにより、ブラウザ制御プログラム210の起動と同時にブラウザ2aが自動起動されてもよい。
また、シナリオ自動実行の操作指示は、ユーザ端末装置3からの要求を受けて行われるものに限定されない。サーバ1は、ユーザ端末装置3からの要求を受信することなく、予め設定されるタイミングにて、起動指示又は操作指示を自動でブラウザ制御装置2へと送信してよい。
図6は、情報処理システム100において実行される処理の手順の一例を示すフローチャートである。図6の処理はブラウザ制御装置2の制御部20により実行される。ブラウザ制御装置2は、ブラウザ制御プログラム210を実行することによって、ブラウザ操作処理を自動実行する。処理の実行タイミングは、例えばブラウザ制御装置2が起動されたタイミングである。
制御部20は、通信部22を介してサーバ1にコネクション61の確立要求を送信する(ステップS11)。制御部20は、ブラウザ制御装置2からの要求であることを示す情報を含むコネクション61の確立要求を送信する。制御部20は、サーバ1から確立要求に対する応答を受信する(ステップS13)。これにより、サーバ1とブラウザ制御装置2との間でコネクション61が確立される。
制御部20は、通信部22を介してサーバ1から起動指示を取得する(ステップS15)。起動指示は、Websocketプロトコル内で定められた電文形式を用いて、コネクション61を介して任意のタイミングでサーバ1からプッシュ送信される。制御部20は、取得した起動指示に基づき、ブラウザ2aを起動する(ステップS17)。ブラウザ2aは、バックグラウンドにて起動されるヘッドレスブラウザであってよい。なお、制御部20は、起動指示を取得することなくブラウザ2aを起動する構成であってよい。例えば制御部20は、ブラウザ制御プログラム210の起動等をトリガとして、ブラウザ2aを起動してよい。
制御部20は、通信部22を介してサーバ1から実行指示を取得する(ステップS19)。実行指示は、Websocketプロトコル内で定められた電文形式を用いて、コネクション61を介して任意のタイミングでサーバ1からプッシュ送信される。制御部20は、実行指示に基づき、通信部22を介してウェブサーバ4へアクセスし、シナリオの操作処理を実行する(ステップS21)。制御部20は、操作処理に対するブラウザ2aのレスポンスを取得する(ステップS23)。レスポンスには、操作処理の正常完了、異常終了等が含まれる。
制御部20は、サブプロセスを発生させ、ステップS19の処理に並行してステップS25の処理を行う。制御部20は、例えばウェブドライバ等を介して、所定のタイミングで、ブラウザ2aに表示されるウェブページのブラウザ画面データを取得し、取得した今回の画面データと前回の画面データとを比較する。制御部20は、今回の画面データと前回の画面データとの差分を導出し、導出した差分に基づきブラウザ画面が変化したか否かを判定する(ステップS25)。ブラウザ画面が変化したことを示す差分が取得されず、ブラウザ画面が変化したと判定されない場合には、制御部20は、処理をステップS25に戻しブラウザ画面データの取得を継続する。ブラウザ画面が変化したことを示す差分が取得され、ブラウザ画面が変化したと判定された場合には、制御部20は、処理をステップS27へ進める。
制御部20は、ウェブサーバ4への操作処理の実行結果を取得する(ステップS27)。具体的には、制御部20はブラウザ画面の画像データを取得する。画像データには、実行指示に対するブラウザ画面の画像データ及び画面の自動変化の検知に対するブラウザ画面の画像データの少なくとも一方が含まれる。制御部20は、通信部22を介して取得した実行結果の画像データをサーバ1へ出力する(ステップS29)。
制御部20は、一連のシナリオの操作処理が終了したか否かを判断する(ステップS31)。取得した全ての操作処理を実行しておらず、操作処理が終了したと判断されない場合(S31:NO)、制御部20は、処理をステップS19に戻しループ処理を行い、一連のシナリオの操作処理に係る実行指示の取得を継続する。一方、取得した全ての操作処理を実行し、操作処理が終了したと判断される場合(S31:YES)、制御部20は一連の処理を終了する。
本実施形態では、実行結果は画像データで出力される例を説明するが、実行結果は画像データのみに限定されるものではない。実行結果は、画像データ以外にパスが出力されてもよく、HTML形式のデータが出力されてもよい。制御部20は、操作ログを取得し、取得した操作ログをサーバ1へ出力してもよい。また、実行指示の取得及び画像データの出力は、操作処理毎に行われる必要はなく、所定数の操作処理がまとめて送受信されてよい。複数の画像データがまとめて送信される場合においては、制御部20は、画像データを識別するための画像ID、当該画像IDに対応付けられる操作指示の情報等のメタデータを画像データと共に出力してよい。
シナリオの操作処理に対するエラー情報を取得した場合、制御部20は、ステップS29において、画像情報と共にエラー情報に関する情報を出力してもよい。制御部20は、例えば、ブラウザ2aからエラー箇所又はエラー内容を取得して画像情報と共にサーバ1へ出力する。制御部20は、例えば、ブラウザ2aからエラーの発生原因を取得し、エラーがウェブサーバ4、シナリオ、本ブラウザ制御プログラム210及びブラウザ制御装置2等のいずれを原因として発生しているかを識別する情報を画像情報と共にサーバ1へ出力する。さらに制御部20は、サーバ1又はユーザ端末装置3へ、エラーの発生を示す通知情報を出力してもよい。
本実施形態において、ブラウザ制御装置2、ユーザ端末装置3及びウェブサーバ4はそれぞれ、複数台設けられてよい。この場合において、各ブラウザ制御装置2と各ユーザ端末装置3とは、異なるプライベートネットワークに接続されていてもよい。
ブラウザ制御装置2が複数台設けられる場合においては、サーバ1は、操作指示を出力するブラウザ制御装置2を特定し、特定したブラウザ制御装置2へと操作指示を出力する。操作処理の処理対象として、特定のブラウザ制御装置2が指定されている場合には、サーバ1は、特定されるブラウザ制御装置2へ操作指示を出力する。操作処理の処理対象が指定されていない場合には、サーバ1は、各ブラウザ制御装置2の負荷状況に基づき、シナリオを実行させるブラウザ制御装置2を特定するとよい。サーバ1は、コネクション確立時に取得した各ブラウザ制御装置2を識別するための情報と、各ブラウザ制御装置2へのシナリオの実行指示状況とに基づき、新たな操作処理を実行させるブラウザ制御装置2を選択し、操作指示を出力する。所定のブラウザ制御装置2へ操作指示を出力した場合に、エラー等により正常に受信されなかった場合には、サーバ1は、代替するブラウザ制御装置2を選択して操作指示を出力する。サーバ1は、シナリオの操作処理を割り振り、各ブラウザ制御装置2の負荷を分散させるロードバランサーとして機能する。
本実施形態によれば、グローバルネットワークN2上のサーバ1とプライベートネットワークN1内のブラウザ制御装置2との間にコネクション61が確立されることにより、双方向通信が可能となる。従って、任意のタイミングでサーバ1からブラウザ制御装置2へと、シナリオの操作処理に関する各種の情報をプッシュ送信することができる。
コネクション61は、アプリケーション層にて確立される。OSI参照モデルの上位層でのコネクションが確立されるため、通信時のセキュリティの向上を図ることが可能となる。コネクション61を用いたサーバ1からの操作処理に関する操作指示は、Websocketプロトコルに準拠した電文のみが送信可能である。従って、グローバルネットワークN2からのアクセスに関して、送信される情報の範囲が限定されるため、脆弱性の発生リスクを減少させることができる。また、サービスの提供を受けるユーザ側のネットワーク環境のセキュリティ設定条件により、グローバルネットワークN2上の装置からプライベートネットワークN1へのアクセスにおいて、HTTPプロトコル以外のプロトコルは不正アクセスとして遮断される場合がある。本実施形態では、HTTPプロトコルの拡張規格として規定されるWebsocketプロトコルを用いるため、コネクション61の確立が容易に実現される。
本実施形態によれば、ブラウザ制御装置2上のブラウザ2aを用いてウェブサーバ4へのシナリオ操作処理が実行され、サーバ1及びユーザ端末装置3へは、実行結果の画像データが送信される。ブラウザ制御装置2及びウェブサーバ4は、プライベートネットワークN1により接続されるため、セキュリティを確保した情報の送受信が可能である。また、ブラウザ制御装置2のリソースにてブラウザ機能を使用することで、サーバ1の負荷を軽減することが可能となる。
上記では、ブラウザ制御装置2上のブラウザ機能を使用して一連の操作処理が実行される例を説明したが、本実施形態はこれに限定されるものではない。例えば、ブラウザ制御装置2とプライベートネットワークN1により通信接続された他の情報処理装置との間で情報の送受信を行い、他の情報処理装置のブラウザからウェブサーバ4へアクセスが実行されてもよい。本実施形態は、シナリオを自動実行する場合のみならず、シナリオデータを記録する場合においても適用が可能である。
(実施形態2)
実施形態2では、実施形態1のサーバ1が行う処理を、第1サーバ及び第2サーバが分担して行う点で実施形態1と異なる。図7は、実施形態2における情報処理システム200の概要を示す図である。実施形態2における情報処理システム200は、サーバ1に代替して第1サーバ11及び第2サーバ12が含まれる点、情報処理システム200で実行される処理の詳細が異なる点以外は実施形態1における構成と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。
第1サーバ11及び第2サーバ12は夫々、インターネット等のグローバルネットワークN2に接続され、中継装置5を介してプライベートネットワークN1との間で通信接続し、情報を送受信することが可能である。また、第1サーバ11及び第2サーバ12は、グローバルネットワークN2を介して通信接続し、情報を送受信することが可能である。第1サーバ11及び第2サーバ12は夫々、例えばサーバコンピュータである。
実施形態2では、第1サーバ11からブラウザ2aの起動指示が出力され、第2サーバ12から操作処理の実行指示が出力される。図8から図10は、情報処理システム200において実行される操作処理の手順の一例を示すシーケンス図である。
ブラウザ制御装置2は、ブラウザ制御装置2が起動された場合、グローバルネットワークN2を介して第1サーバ11にコネクション61の確立要求を送信する(ステップS211)。確立要求は、HTTPプロトコルにより行われ、Websocketへのプロトコルのアップグレード、及びブラウザ制御装置2からの要求であること等が示される。第1サーバ11は、コネクションの確立要求への応答を送信する(ステップS212)。これにより、第1サーバ11とブラウザ制御装置2との間でWebsocketプロトコルによる第1コネクション62が確立され、双方向通信が可能となる。第1コネクション62は、ブラウザ制御装置2の起動をトリガとして確立される。
ユーザ端末装置3は、シナリオの自動実行を要求する。ユーザ端末装置3は、初めに第2サーバ12へブラウザ2aの起動要求を送信する(ステップS213)。ユーザ端末装置3からは、例えば起動要求と共にユーザ端末装置3の識別情報が送信される。第2サーバ12は、ブラウザ2aの起動要求を受信した場合、起動指示を第1サーバ11へ送信する(ステップS214)。第1サーバ11は、シナリオの自動実行を要求するユーザ端末装置3と、当該ユーザ端末装置3からの要求に応じて操作処理を実行させるべきブラウザ制御装置2とを対応付けたテーブルを予め記憶している。第1サーバ11は、起動指示を送信するブラウザ制御装置2をテーブルから読み出し、第1コネクション62を介して、読み出したブラウザ制御装置2へとブラウザ2aの起動指示をプッシュ送信する(ステップS215)。第1サーバ11とブラウザ制御装置2との間では、第1コネクション62が確立されているため、NATを超えた第1サーバ11からのブラウザ2a制御装置への情報のプッシュ送信が可能である。
ブラウザ制御装置2は、起動指示を受信し、ブラウザ2aを起動する(ステップS216)。一連のシナリオ処理操作は、ブラウザ制御装置2にて直接操作を受け付けることなく自動で実行されるため、起動されるブラウザ2aはヘッドレスブラウザ2aであってよい。
さらにブラウザ制御装置2は、起動指示を受信した場合に、グローバルネットワークN2を介して第2サーバ12に第2コネクション63の確立要求を送信する(ステップS217)。確立要求は、HTTPプロトコルにより行われ、Websocketへのプロトコルのアップグレード、及びブラウザ制御装置2からの要求であること等が示される。第2サーバ12は、受信した第2コネクション63の確立要求への応答を送信する(ステップS218)。これにより、第2サーバ12とブラウザ制御装置2との間でWebsocketプロトコルによる第2コネクション63が確立され、双方向通信が可能となる。第2コネクション63は、ブラウザ制御装置2における起動指示の取得をトリガとして確立される。
ユーザ端末装置3は、第2サーバ12へシナリオの実行要求を送信する(ステップS219)。第2サーバ12は、シナリオの実行要求を受信する。第2サーバ12は、既に確立されている第2コネクション63を介して、シナリオの実行指示をブラウザ制御装置2へプッシュ送信する(ステップS221)。
ブラウザ制御装置2は、実行指示を受信する。ブラウザ制御装置2は、実行指示のメッセージに基づき、ブラウザ2aの操作処理を実行する(ステップS222)。ブラウザ2aは、ウェブサーバ4へHTTPリクエストを送信し(ステップS223)、HTTPレスポンスを取得する(ステップS224)。ブラウザ制御装置2は、操作処理に対するブラウザ2aのレスポンスを取得し(ステップS225)、取得したレスポンスを第2サーバ12へ送信する(ステップS226)。ブラウザ制御装置2は、ウェブサーバ4への操作処理に応じたウェブページを含むブラウザ画面の画像データを要求する(ステップS227)。ブラウザ制御装置2は、ブラウザ画面の画像データである実行結果を取得する(ステップS228)。
さらに、ブラウザ制御装置2は、ブラウザ画面の変化を検知する。ブラウザ制御装置2は、所定のタイミングで、ウェブページを含むブラウザ画面の画像データを要求し(ステップS229)、画像データを取得する(ステップS230)。ブラウザ制御装置2は、前回画面との差分に基づき、画面変化を検知する(ステップS231)。
ブラウザ制御装置2は、取得した実行結果の画像データ、HTMLソース等を第2サーバ12へ送信する(ステップS232)。ユーザ端末装置3は、実行結果の取得を希望する場合には、第2サーバ12へ実行結果の要求を送信する(ステップS233)。第2サーバ12は、送信要求への応答として、受信した実行結果の画面の画像データをユーザ端末装置3へ送信する(ステップS234)。ユーザ端末装置3は、選択したシナリオに応じた実行結果を画像データで取得することができる。
ステップS221からステップS234のループ処理が行われ、一連のシナリオの処理操作が実行される。一連のシナリオの操作処理が終了した場合、ブラウザ制御装置2は第2サーバ12との通信を切断する(ステップS235)。これにより第2コネクション63が切断される。
図11は、情報処理システム200において実行される処理の手順の一例を示すフローチャートである。図11の処理はブラウザ制御装置2の制御部20により実行される。ブラウザ制御装置2は、ブラウザ制御プログラム210を実行することによって、ブラウザ2a操作処理を自動実行する。処理の実行タイミングは、例えばブラウザ制御装置2が起動されたタイミングである。
制御部20は、通信部22を介して第1サーバ11に第1コネクション62の確立要求を送信する(ステップS41)。制御部20は、ブラウザ制御装置2からの要求であることを示す情報を含む第1コネクション62の確立要求を送信する。制御部20は、第1サーバ11から確立要求に対する応答を受信する(ステップS43)。これにより、第1サーバ11とブラウザ制御装置2との間で第1コネクション62が確立される。
制御部20は、通信部22を介して第1サーバ11から起動指示を取得する(ステップS45)。起動指示は、Websocketプロトコル内で定められた電文形式を用いて、第1コネクション62を介して任意のタイミングで第1サーバ11からプッシュ送信される。制御部20は、取得した起動指示に基づき、ブラウザ2aを起動する(ステップS47)。ブラウザ2aは、バックグラウンドにて起動されるヘッドレスブラウザ2aであってよい。
制御部20は、起動指示の取得をトリガとして、通信部22を介して第2サーバ12に第2コネクション63の確立要求を送信する(ステップS49)。制御部20は、第2サーバ12から確立要求に対する応答を受信する(ステップS51)。これにより、第2サーバ12とブラウザ制御装置2との間で第2コネクション63が確立される。
制御部20は、通信部22を介して第2サーバ12から実行指示を取得する(ステップS53)。実行指示は、Websocketプロトコル内で定められた電文形式を用いて、第2コネクション63を介して任意のタイミングで第2サーバ12からプッシュ送信される。制御部20は、実行指示に基づき、通信部22を介してウェブサーバ4へアクセスし、シナリオの操作処理を実行し(ステップS55)、レスポンスを取得する(ステップS57)。
制御部20は、サブプロセスを発生させ、ステップS53の処理に並行してステップS59の処理を行う。制御部20は、所定のタイミングで、ブラウザ2aに表示されるウェブページのブラウザ画面データを取得し、取得した今回の画面データと前回の画面データとを比較する。制御部20は、今回の画面データと前回の画面データとの差分を導出し、導出した差分に基づきブラウザ画面が変化したか否かを判定する(ステップS59)。ブラウザ画面が変化したことを示す差分が取得されず、ブラウザ画面が変化したと判定されない場合には(ステップS59:NO)、制御部20は、処理をステップS59に戻しブラウザ画面データの取得を継続する。ブラウザ画面が変化したことを示す差分が取得され、ブラウザ画面が変化したと判定された場合には(ステップS59:YES)、制御部20は、処理をステップS61へ進める。
制御部20は、ウェブサーバ4への操作処理の実行結果を取得する(ステップS61)。具体的には、制御部20はブラウザ画面の画像データを取得する。制御部20は、通信部22を介して取得した実行結果の画像データを第2サーバ12へ出力する(ステップS63)。
制御部20は、一連のシナリオの操作処理が終了したか否かを判断する(ステップS65)。取得した全ての操作処理を実行しておらず、操作処理が終了したと判断されない場合(S65:NO)、制御部20は、処理をステップ53に戻しループ処理を行い、一連のシナリオの操作処理に係る実行指示の取得を継続する。一方、取得した全ての操作処理を実行し、操作処理が終了したと判断される場合(S65:YES)、制御部20は、第2サーバ12との通信を切断し(ステップS67)、一連の処理を終了する。
本実施形態では、第1サーバ11及び第2サーバ12を用いてシナリオの操作処理に関する指示を分担して行うため、各サーバの負担をさらに軽減することが可能となる。
(実施形態3)
実施形態3では、複数台のサーバにて、操作処理の自動実行からシナリオの記録までの一連の自動実行サービスを提供する例を説明する。図12は、実施形態3における情報処理システム300の概要を示す図である。実施形態1及び実施形態2と共通する構成については同一の符号を付してその詳細な説明を省略する。
情報処理システム300は、第1サーバ13、第2サーバ14、第3サーバ15、第4サーバ16、シナリオデータベース17、ブラウザ制御装置2、ユーザ端末装置3、ウェブサーバ4及び中継装置5を含む。なお、図12では、中継装置5及びグローバルネットワークN2は図示しない。第1サーバ13、第2サーバ14、第3サーバ15及び第4サーバ16は夫々、グローバルネットワークN2と接続され、中継装置5を介してプライベートネットワークN1との間で通信接続し、情報を送受信することが可能である。第1サーバ13、第2サーバ14、第3サーバ15及び第4サーバ16は夫々、例えばサーバコンピュータである。実施形態3においては、実施形態2における第2サーバ12の処理を第2サーバ14、第3サーバ15及び第4サーバ16で行う。
初めにブラウザ制御装置2は、第1サーバ13へ第1コネクション62の確立要求を送信し、ブラウザ制御装置2と第1サーバ13との間で第1コネクション62を確立する。
ユーザ端末装置3は、第2サーバ14へブラウザ2aの起動要求を送信する。第2サーバ14は、第1サーバ13へブラウザ2aの起動要求を送信する。第1サーバ13は、受信した起動要求に基づき、第1コネクション62を用いてブラウザ制御装置2へブラウザ2aの起動指示をプッシュ送信する。
ブラウザ制御装置2は、起動指示の取得をトリガとして、第2サーバ14へ第2コネクション63の確立要求を送信し、ブラウザ制御装置2と第2サーバ14との間で第2コネクション63を確立する。
ユーザ端末装置3は、第2サーバ14へシナリオの実行要求を送信する。第2サーバ14は、受信した実行要求に基づき、第2コネクション63を用いてブラウザ制御装置2へシナリオの実行指示をプッシュ送信する。
ブラウザ制御装置2は、ブラウザ2aの操作を実行する。具体的にはブラウザ制御装置2は、ウェブサーバ4へアクセスし、アクセス結果を取得する。ブラウザ制御装置2は、操作処理の実行結果の画像データを取得し、取得した画像データを第2サーバ14へ送信する。第2サーバ14は、取得した画像データをユーザ端末装置3へ送信する。
ユーザ端末装置3は、実行結果画面の画像データを取得する。さらにユーザ端末装置3は、実行した操作処理の手順データであるシナリオを蓄積する。ユーザ端末装置3は、蓄積した一連のシナリオの保存要求を第4サーバ16へ送信する。第4サーバ16は、受信したシナリオをシナリオデータベース17に記憶する。これによりシナリオが記録される。
記録したシナリオに基づき、ユーザ端末装置3からの要求によらず所定のタイミングで操作処理を実行する場合には、第3サーバ15は、シナリオデータベース17を参照しシナリオを取得する。第3サーバ15は、読み出したシナリオの実行要求を第2サーバ14へ送信する。第2サーバ14は、ブラウザ制御装置2へシナリオの実行指示を送信し、上記の操作処理が々実行される。
(実施形態4)
上述の各実施形態における通信方法は、Websocketによるものに限定されない。コネクション61、第1コネクション62及び第2コネクション63は、Websocketによるものに代替して、例えばポーリング、ロングポーリング等の、他の通信方法を用いてもよい。例えば、ポーリングを用いることにより、ブラウザ制御装置2は、所定間隔にて定期的又は定常的にサーバ1(第1サーバ11及び第2サーバ12)に問合せを行い、当該問合せに対しサーバ1からプッシュ送信される返答を取得するものであってもよい。当該所定間隔の間に、サーバ1における操作指示の更新があった場合、ブラウザ制御装置2は、サーバ1からの返答に基づき操作指示の更新に関する情報を取得することができる。ポーリングを用いることにより、中継装置5に対するフォワード設定等を不要とし、セキュリティを担保しつつサーバ1とブラウザ制御装置2との通信を行うことができる。なおロングポーリングにより通信を行う場合においては、定期的にコネクションが切断されるため、ブラウザ制御装置2を一位に識別できるようにセッション管理等を行うことが好ましい。
なお、上述のように開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
1 サーバ
11,13 第1サーバ
12,14 第2サーバ
15 第3サーバ
16 第4サーバ
2 ブラウザ制御装置
3 ユーザ端末装置
4 ウェブサーバ
5 中継装置
61 コネクション
62 第1コネクション
63 第2コネクション
20 制御部
21 記憶部
22 通信部
2a ブラウザ
210 ブラウザ制御プログラム

Claims (13)

  1. プライベートネットワークに接続される情報処理装置に、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるためのコンピュータプログラムであって、
    前記情報処理装置に、
    前記サーバへコネクションの確立を要求し、
    前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得し、
    取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行し、
    前記操作処理の実行結果を取得し、
    取得した前記実行結果を前記サーバに出力する
    処理を実行させるためのコンピュータプログラム。
  2. 前記コネクションは、アプリケーション層にて確立される
    請求項1に記載のコンピュータプログラム。
  3. 前記コネクションは、Websocketによるものである
    請求項1又は請求項2に記載のコンピュータプログラム。
  4. 前記操作指示は、前記ブラウザの起動指示及び前記操作処理の実行指示を含む
    請求項1から請求項3のいずれか1項に記載のコンピュータプログラム。
  5. 前記サーバは、前記ブラウザの起動指示を送信する第1サーバと、前記操作処理の実行指示を送信する第2サーバとを含み、
    前記コネクションは、第1コネクション及び第2コネクションを含み、
    前記情報処理装置に、
    前記第1サーバへ前記第1コネクションの確立を要求し、
    前記第1コネクションを用いて、前記第1サーバからプッシュ送信される前記起動指示を取得し、
    取得した前記起動指示に基づいて、前記ブラウザを起動し、
    前記第2サーバへ前記第2コネクションの確立を要求し、
    前記第2コネクションを用いて、前記第2サーバからプッシュ送信される前記実行指示を取得し、
    取得した前記実行指示に基づいて、前記ブラウザの前記操作処理を実行する
    処理を実行させるための請求項1から請求項4のいずれか1項に記載のコンピュータプログラム。
  6. 前記情報処理装置に、
    前記起動指示を取得した場合に、前記第2コネクションの確立を要求し、
    前記実行指示に基づいて実行した前記操作処理が終了した場合に、前記第2コネクションを切断する
    処理を実行させるための請求項5に記載のコンピュータプログラム。
  7. 前記実行結果は、前記操作処理に応じて前記ブラウザ上で表示されるべき画面の画像データを含む
    請求項1から請求項6のいずれか1項に記載のコンピュータプログラム。
  8. 前記実行結果は、前記ブラウザ上で表示されるべき画面の変化に応じた画像データを含む
    請求項1から請求項7のいずれか1項に記載のコンピュータプログラム。
  9. 前記実行結果は、前記操作処理に係るエラー情報又はタイムアウト情報を含む
    請求項1から請求項8のいずれか1項に記載のコンピュータプログラム。
  10. プライベートネットワークに接続される情報処理装置に、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるための情報処理方法であって、
    前記サーバへコネクションの確立を要求し、
    前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得し、
    取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行し、
    前記操作処理の実行結果を取得し、
    取得した前記実行結果を前記サーバに出力する
    情報処理方法。
  11. プライベートネットワークに接続され、グローバルネットワークに接続されるサーバからの指示に基づいて、前記プライベートネットワーク上のウェブサーバにアクセスするブラウザの操作処理を自動実行させるための情報処理装置であって、
    前記サーバへコネクションの確立を要求する要求部と、
    前記コネクションを用いて、前記サーバからプッシュ送信される前記操作処理に関する操作指示を取得する操作指示取得部と、
    取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行する実行部と、
    前記操作処理の実行結果を取得する実行結果取得部と、
    取得した前記実行結果を前記サーバに出力する出力部と
    を備える情報処理装置。
  12. プライベートネットワークに接続されるウェブサーバにアクセス可能に接続される情報処理装置と、
    グローバルネットワークに接続されており、前記情報処理装置からの要求に応答することにより確立されたコネクションを用いて、前記情報処理装置に前記ウェブサーバにアクセスするブラウザの操作処理に関する操作指示を出力するサーバとを備え、
    前記情報処理装置は、
    前記サーバへ前記コネクションの確立を要求する要求部と、
    前記コネクションを用いて、前記サーバからプッシュ送信される前記操作指示を取得する操作指示取得部と、
    取得した前記操作指示に基づいて、前記ブラウザの前記操作処理を実行する実行部と、
    前記操作処理の実行結果を取得する実行結果取得部と、
    取得した前記実行結果を前記サーバに出力する出力部とを備える
    情報処理システム。
  13. 前記プライベートネットワークに接続されるユーザ端末装置をさらに含み、
    前記サーバは、前記ユーザ端末装置の要求を受け付けた場合に、前記情報処理装置に前記操作指示を送信する
    請求項12に記載の情報処理システム。
JP2019165565A 2019-09-11 2019-09-11 コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム Active JP6651178B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019165565A JP6651178B1 (ja) 2019-09-11 2019-09-11 コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム
US17/049,850 US11695836B2 (en) 2019-09-11 2020-06-18 Recording medium, information processing method, information processing device, and information processing system
PCT/JP2020/023896 WO2021049120A1 (ja) 2019-09-11 2020-06-18 コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム
EP20792911.8A EP4030303A4 (en) 2019-09-11 2020-06-18 COMPUTER PROGRAM, INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019165565A JP6651178B1 (ja) 2019-09-11 2019-09-11 コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム

Publications (2)

Publication Number Publication Date
JP6651178B1 true JP6651178B1 (ja) 2020-02-19
JP2021043718A JP2021043718A (ja) 2021-03-18

Family

ID=69568433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019165565A Active JP6651178B1 (ja) 2019-09-11 2019-09-11 コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム

Country Status (4)

Country Link
US (1) US11695836B2 (ja)
EP (1) EP4030303A4 (ja)
JP (1) JP6651178B1 (ja)
WO (1) WO2021049120A1 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5627128A (en) 1979-08-10 1981-03-16 Canon Inc Copying apparatus
JP2002342152A (ja) 2001-05-15 2002-11-29 Nec Software Chubu Ltd 自動アクセスによるWebページ利用方法
US6801604B2 (en) * 2001-06-25 2004-10-05 International Business Machines Corporation Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources
US9154557B2 (en) * 2006-10-12 2015-10-06 Cisco Technology, Inc. Automatic proxy registration and discovery in a multi-proxy communication system
KR20120134732A (ko) * 2011-06-03 2012-12-12 삼성전자주식회사 원격제어기를 이용하여 웹 브라우징을 수행하는 장치 및 방법
CN102833323B (zh) * 2012-08-14 2017-04-12 新浪网技术(中国)有限公司 服务器远程控制受控终端的方法和***
US11245706B2 (en) * 2017-03-27 2022-02-08 Oracle Systems Corporation Protection configuration for application programming interfaces
JP2019074889A (ja) 2017-10-13 2019-05-16 BizteX株式会社 ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム
JP6532626B1 (ja) 2019-04-02 2019-06-19 BizteX株式会社 社内ネットワーク上の社内サーバに対する操作を伴う業務プロセスを自動化するための装置、方法及びそのためのプログラム

Also Published As

Publication number Publication date
US11695836B2 (en) 2023-07-04
EP4030303A1 (en) 2022-07-20
EP4030303A4 (en) 2023-08-16
US20210281647A1 (en) 2021-09-09
WO2021049120A1 (ja) 2021-03-18
JP2021043718A (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
US9069503B2 (en) Apparatus, system, and method of output distribution, and recording medium storing output distribution control program
US9146731B2 (en) Information processing apparatus, relay server, information relay method, non-transitory computer-readable medium storing information relay program, and communication system
JP6061501B2 (ja) サービス提供装置、情報処理装置、画像形成装置、印刷システムの制御方法、およびコンピュータプログラム
US20210234944A1 (en) Network communication method, system, computing device, and computer-readable storage medium
US20140214921A1 (en) System and method for identification of an application executed on a mobile device
US20120102479A1 (en) Automated service version upgrading
US20160205278A1 (en) Information processing apparatus, system, and control method for information processing apparatus
CN110442506B (zh) 一种日志获取方法、装置、业务服务器、***及存储介质
JP6452323B2 (ja) 通信機器、その制御方法、プログラム
CN113765774B (zh) 消息实时同步方法、装置、电子设备及介质
KR101395830B1 (ko) 프록시를 경유한 접속 세션정보 확인시스템과 이를 기반으로 한 세션정보 확인방법
US20130226984A1 (en) Method and apparatus of providing optimized web browser communications
JP6651178B1 (ja) コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム
CN109698832B (zh) 快速提供Portal认证、快速弹出Portal认证页面的方法及相关设备
US9609085B2 (en) Broadcast-based update management
US8521911B2 (en) Apparatus, system and method for executing discovery in network
CN114915565A (zh) 网络调试的方法和***
JP6516539B2 (ja) 通信装置、通信方法、およびプログラム
JP4532238B2 (ja) オンデマンドサービス提供システム
US20190230146A1 (en) Communicating with a remote service through a hypertext transfer protocol (http) session
US11429446B2 (en) Device data collector agent component on cloud computing network
JP2006092320A (ja) コンテンツデータ送信装置、コンテンツデータ送信装置の制御方法及びプログラム
JP2009116407A (ja) 情報処理装置及びクライアントサーバシステム
JP6288206B2 (ja) プログラム及び装置
US9596242B2 (en) Information processing apparatus, method of controlling the same, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190911

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190911

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200109

R150 Certificate of patent or registration of utility model

Ref document number: 6651178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250