JP6538675B2 - データ処理システム、センタ装置、及びプログラム - Google Patents

データ処理システム、センタ装置、及びプログラム Download PDF

Info

Publication number
JP6538675B2
JP6538675B2 JP2016526387A JP2016526387A JP6538675B2 JP 6538675 B2 JP6538675 B2 JP 6538675B2 JP 2016526387 A JP2016526387 A JP 2016526387A JP 2016526387 A JP2016526387 A JP 2016526387A JP 6538675 B2 JP6538675 B2 JP 6538675B2
Authority
JP
Japan
Prior art keywords
terminal device
terminal
request
data
information
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
JP2016526387A
Other languages
English (en)
Other versions
JP2016526746A (ja
Inventor
澤勇 鄭
澤勇 鄭
Original Assignee
上海ハイウェイテクノロジー有限公司
株式会社ハイウェイテックジャパン
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 上海ハイウェイテクノロジー有限公司, 株式会社ハイウェイテックジャパン filed Critical 上海ハイウェイテクノロジー有限公司
Publication of JP2016526746A publication Critical patent/JP2016526746A/ja
Application granted granted Critical
Publication of JP6538675B2 publication Critical patent/JP6538675B2/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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1475Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、データ処理システム、センタ装置、及びプログラムに関する。
近年では、業務で利用されるハンディターミナルを始め、種々の家庭電化製品といった、多くの機器がマイクロコンピュータによって制御されている。また、インターネット技術など通信技術の発展に伴って、こうした各種機器に通信機能が搭載され、ネットワークを介してデータを送受信する機能を有するようになってきている。
例えば、ハンディターミナルの例でいえば、バーコードリーダにて読み込んだバーコードに基づいて計数処理を行い、その計数の結果を指示に応じてセンタ側に配置されたコンピュータに送信する機能を有したものがある。
また、別の代表的な例は、携帯電話機におけるimode(登録商標)である。この例では、携帯電話機にいわゆるウェブブラウザやJava(登録商標)実行環境をインストールしておきパケット交換網のセンタ装置がインターネット上のサーバからHTML(Hyper Text Markup Language)で記述された文書を取得し、これをそのまま携帯電話機に配信する。携帯電話機ではHTMLを解釈して画面表示を行う。
こうした機器の中にはさらに、HTMLを利用して、機器に搭載されたキーの機能を切り替えるもの(特許文献1)がある。また、多くのインターネット通信販売などのサイトでは、ユーザが端末側で入力したデータをサーバ側で受信して検証し、検証の結果、データの入力に誤りがあるなど、再入力の必要がある場合は、それを促すためのHTML文書をさらに端末側に配信する、ということが行われている。
再公表98/006037号公報
しかしながら、端末側にてHTMLで記述された文書を利用する際に、一般的なウェブブラウザを用いている場合、ウェブブラウザの脆弱性を狙ったマルウェア等により、センタ側でデータ処理を行うサーバ装置のURLやアクセスルートが悪意の利用者に知られてしまう場合があり、サーバ装置への攻撃が行われる可能性がある。
本発明は上記実情に鑑みて為されたもので、ウェブブラウザの脆弱性の有無に関わらず、サーバ装置への攻撃可能性を低減できるデータ処理システム、センタ装置、及びプログラムを提供することをその目的の一つとする。
上記従来例の問題点を解決するための本発明は、予め定められたURLへのアクセスを受けて、要求されたデータ処理を実行するサーバ装置と、前記サーバ装置に対してデータ処理を要求する端末装置と、前記サーバ装置と端末装置とに接続されるセンタ装置と、を含むデータ処理システムであって、前記センタ装置は、データの入力を受け、当該入力されたデータをセンタ装置へ送信するデータ入力プログラムを、前記端末装置へ送信する手段と、前記端末装置から処理の対象となるデータと、前記サーバ装置の前記URLとを受け入れて、当該受け入れたURLに対してアクセスし、前記サーバ装置に対して処理の対象となるデータを、HTTPプロトコルにて送信する手段と、を含み、前記端末装置は、前記センタ装置から送信されたデータ入力プログラムに従って動作し、処理の対象となるデータの入力を受け入れて、当該受け入れたデータと、前記サーバ装置の前記URLとを、前記センタ装置へ送信することとしたものである。
また本発明の一態様に係るセンタ装置は、予め定められたURLへのアクセスを受けて、要求されたデータ処理を実行するサーバ装置と、前記サーバ装置に対してデータ処理を要求する端末装置とに接続され、データの入力を受け、当該入力されたデータをセンタ装置へ送信するデータ入力プログラムを、前記端末装置へ送信する手段と、前記端末装置から処理の対象となるデータと、前記サーバ装置の前記URLとを受け入れて、当該受け入れたURLに対してアクセスし、前記サーバ装置に対して処理の対象となるデータを、HTTPプロトコルにて送信する手段と、を含むこととしたものである。
さらに本発明の別の態様に係るプログラムは、予め定められたURLへのアクセスを受けて、要求されたデータ処理を実行するサーバ装置と、前記サーバ装置に対してデータ処理を要求する端末装置とに接続されるセンタ装置で実行されるプログラムであって、データの入力を受け、当該入力されたデータをセンタ装置へ送信するデータ入力プログラムを、前記端末装置へ送信する手段と、前記端末装置から処理の対象となるデータと、前記サーバ装置の前記URLとを受け入れて、当該受け入れたURLに対してアクセスし、前記サーバ装置に対して処理の対象となるデータを、HTTPプロトコルにて送信する手段と、として前記センタ装置を機能させることとしたものである。
本発明の実施の形態に係るデータ処理システムの一例を表す構成ブロック図である。 センタ装置2の例を表す機能ブロック図である。 センタ装置2が保持するデータの例を表す説明図である。 端末装置3にて解釈可能なデータ形式の一例を表す説明図である。 指示処理データの一例を表す説明図である。 指示処理データの別の例を表す説明図である。 本発明の実施の形態に係るデータ処理システムでの通信例を表す流れ図である。
[基本の処理]
本発明の実施の形態について図面を参照しながら説明する。本実施の形態に係るデータ処理システムは、図1に示すように、サーバ装置1と、センタ装置2と、端末装置3とを含んで構成される。なお、ここではサーバ装置1や端末装置3は一つだけ図示しているが、複数あっても構わない。また、サーバ装置1とセンタ装置2とはネットワーク等の通信回線を介して接続される、別体の装置として示しているが、同じコンピュータによってこれらが実装されていてもよい。また端末装置3は、バーコードリーダを備えたハンディターミナルや、バーコードを読み取り可能なカメラを備えたスマートフォン等であり、制御部31と、記憶部32と、表示部33と、操作部34と、通信部35とを含み、センタ装置2との間で通信可能に接続されている。また本実施の形態では、各端末装置3にはそれぞれ固有の端末識別情報(MACアドレスや製造番号(IMEI)等)が保持されている。
[サーバ装置]
サーバ装置1はウエブサーバとして動作する。このサーバ装置1は、少なくとも一つの表示画面を規定する情報(画面記述情報)を記述した指示処理データを保持している。
このサーバ装置1は、センタ装置2とネットワークを介して接続されており、当該センタ装置2からHTTP(Hyper Text Transfer Protocol)による要求を受けて、当該要求に係る各種のデータを、要求元であるセンタ装置2に対して配信する。本実施の形態の一例では、サーバ装置1は、複数種類の要求を受け入れる。例えば、このサーバ装置1は、検収処理の要求、検査処理の要求、入庫処理の要求、出庫処理の要求…といった複数種類の要求を受け入れる。本実施の形態のある例では、要求の種類ごとにアクセス先のURLを異ならせておけばよい。つまり、検収処理の要求を行うには、センタ装置2は、予め定められた第1のURLへアクセスを行い、検査処理の要求を行うには、この第1のURLとは異なる第2のURL(予め定めておく)にアクセスを行うようにすればよい。そしてこのサーバ装置1は、それぞれの種類の要求に応じた処理を実行し、各要求に応じて端末装置3で表示されるべきユーザインタフェースを規定するデータ(処理指示データ)を、要求元であるセンタ装置2に対して配信する。本実施の形態では、サーバ装置1は、このセンタ装置2との通信のみを行うように設定されている。このような設定の方法としては、認証処理を用いるなどの広く知られた方法が採用できるので、ここでの詳しい説明を省略する。
なお、ここでサーバ装置1が送信する指示処理データは、XML(eXtensible Markup Language)を用いて記述されるものとする。また、画面記述情報によって画面に表示される要素のうち、ユーザが行う指示操作を受け付けるもの(ボタンや入力欄、メニュー等)を以下、操作案内要素と呼ぶ。本実施の形態においては、このサーバ装置1が提供する画面記述情報により、端末装置3側から見たときのアプリケーションのユーザインタフェースが規定されることになる。
[センタ装置]
センタ装置2は、CPU及び記憶部を有してなる一般的なサーバコンピュータであり、予めインストールされたプログラムに従って動作する。このプログラムは、DVD−ROM等のコンピュータ可読な記録媒体に格納されて提供され、このセンタ装置2の記憶部に格納されて、CPUにより実行されるものであってもよい。このセンタ装置2のCPUは、このプログラムを実行することにより、機能的に図2に示す構成を備える。すなわちセンタ装置2は、機能的には、制御部21と、通信管理部22と、通信制御部23と、通信部24と、HTTPクライアント部25と、情報変換部26と、要求受付部27を含んで構成されている。
制御部21は、通信管理部22から入力される通信管理情報と、通信制御部23から入力される通信部24の状態を表す通信部状態情報と、HTTPクライアント部25から入力される、サーバ装置1との通信状態を表すサーバ側状態情報と、をそれぞれ記録する。
通信管理部22は、制御部21が記録している通信部状態情報を読み出して、管理者に対して当該通信部状態情報を表示する。また、管理者から通信部24の状態を設定するための指示を受け付けて、当該指示を通信管理情報として制御部21に出力する。
通信制御部23は、通信部24が端末装置3から受信した情報の入力を受けて、当該情報を要求受付部27に出力する。また、この通信制御部23は、情報変換部26から、端末装置3用のプログラム等、配信対象の入力を受けて、当該配信対象(暗号化されていてもよい)を通信部24に出力する。
本実施の形態のある例では、端末装置3は、端末識別情報(例えばMACアドレスや、製造番号(IMEI)等)とともに、グループ識別子(gid)を記憶している。また、センタ装置2の記憶部には、図3に例示するように、グループ識別子(gid)と、どの処理の要求を行うかを表す要求種別情報(サーバ装置1に対してどの種類の要求を行うかを表す情報)とを関連付けた対応処理情報テーブルが記憶される。ここで複数のグループ識別子について、共通の要求種別情報が関連付けられてもよく、またグループ識別子が数値で表現される場合は、数値の範囲で指定される複数のグループ識別子に対して、共通の要求種別情報が関連付けられてもよい。この、要求種別情報(どの処理の要求を行うかを表す情報)は、具体的には各要求に対応するURL(当該要求の種類に対応する、サーバ装置1側のURL)としておいてもよい。
本実施の形態では、端末装置3がセンタ装置2に対して通信開始を要求する際に、端末装置3に記憶されているグループ識別子をセンタ装置2へ送信する。通信部24が端末装置3から通信開始の要求を受け入れると、通信制御部23が、当該通信開始の要求に含まれる端末装置3の端末識別情報に関連付けられた端末識別子(_si)とグループ識別子とを取得する。そして通信制御部23は、当該取得したグループ識別子(gid)に関連付けられたURLを、対応処理情報テーブルを参照して読み出す。通信制御部23は、この読み出したURLを、端末装置3から要求されたURLとして要求受付部27に出力し、サーバ装置1に対してアクセスする。
なお、この最初のアクセスではサーバ装置1に対してセッションを特定する情報(クッキー等)は送信されない。
さらにこの通信制御部23は、情報変換部26から、サーバ装置1によって提供された、端末装置3用のプログラム等、配信対象の入力を受けて、当該配信対象(暗号化されていてもよい)を通信部24に出力する。通信制御部23は、サーバ装置1から受信した情報に、セッションを特定する情報(クッキー等)が含まれている場合は、当該セッションを特定する情報と、端末装置3の端末識別子(_si)とを関連付けて記憶する。
また、この通信制御部23は、通信部24と端末装置3との通信開始後は、通信制御部23は、通信部24が端末装置3からURL(端末装置3にて入力されるデータをパラメータとして含んでもよい)を受信すると、当該URLを、端末装置3から要求されたURLとして、当該端末装置3の端末識別子(_si)に関連付けて記憶している、セッションを特定する情報とともに要求受付部27に出力する。
通信制御部23は、通信部24が端末装置3から通信再開の要求を受け入れると、当該通信部24が通信再開の要求を行った端末装置3の端末識別子(_si)を参照し、当該端末装置3の端末識別子(_si)に関連付けて記憶している、セッションを特定する情報を検索する。ここで当該端末装置3の端末識別子(_si)に関連付けて記憶している、セッションを特定する情報があれば、当該セッションを特定する情報を含む要求を要求受付部27に出力する。これにより、端末装置3とセンタ装置2の通信部24との通信が不能になった期間があったとしても、通信を再開すれば、通信が不能になる以前に行っていた処理から続けて処理を行うことができるようになる。
通信部24は、例えばネットワークインタフェースであり、端末装置3側からアクセスを受け付けて、当該端末装置3から受信したURL(端末装置3にて入力されるデータをパラメータとして含んでもよい)をバッファする。またこの通信部24は、当該バッファしたURLを通信制御部23に出力する。またこの通信部24は、通信制御部23から入力された配信対象のデータをアクセス中の端末装置3に対して送信する。一例として、この通信部24は、802.11b,g,nなど、無線LAN規格にて通信を行うネットワークインタフェースである。
HTTPクライアント部25は、要求受付部27から入力されるURL(Uniform Resource Locators)に対応する指示処理データの要求をHTTPプロトコルによってサーバ装置1に送信する。そして、サーバ装置1から、要求した指示処理データを受信して、当該受信した指示処理データ等を情報変換部26に出力する。
情報変換部26は、HTTPクライアント部25から指示処理データが入力されると、当該入力された処理指示データに基づいて、端末装置3側で実行可能なプログラム(端末装置3用プログラム)を生成して、通信制御部23に出力する。この情報変換部26の動作については、後に詳しく述べる。
要求受付部27は、通信制御部23からURLの情報を受け入れる。本実施の形態では、これらURLの情報は、AES(Advanced Encryption Standard)等の所定の暗号化方法を用いて暗号化されていてもよい。後に述べるように、暗号化をする場合、情報の暗号化と復号とに用いる鍵は、端末装置3とこのセンタ装置2とに予めインストールされているものとし、端末装置3はこのインストールされている鍵を用いて暗号化を行ったURLを特定する情報やプログラム取得要求を送信する。そして要求受付部27ではインストールされている鍵を用いて当該情報を復号し、URLの情報を取り出す。
本実施の形態では、通信部24が、一般的なTCP/IPのソケット通信を行っており、生成されたプログラムを要求元の端末装置3に対して送出する。
またこの本実施の形態の一例において、センタ装置2と端末装置3との間における上記のURLによるデータの取得要求は、HTTPプロトコルにおけるものと異っており、また、要求ごとに固有の識別情報(要求識別情報)が付加されているものとする。例えばこのプログラム取得要求は、
REQUESTPROGRAM_ri=N
といった形式のものである。ここで「_ri=N」は、要求識別情報(_ri:Request ID)が番号Nであることを表す。
要求受付部27は、少なくとも最後に受け入れた要求に係る要求識別情報を保持する。そしてこの要求受付部27は、前回受け入れた要求に係る要求識別情報と同じ要求識別情報を含む要求を受け入れると、前回の要求が再びあった旨の情報を情報変換部26に出力する。
[通信部状態情報及び通信管理情報]
ここで通信部24における通信の動作について説明する。本実施の形態では通信部24は複数の通信スレッドを実行する。具体的に通信部24は、通信先となる端末装置3からの通信開始要求を受けて、当該端末装置3に対応するスレッドを生成する。この通信開始要求において、通信部24は、端末装置3から端末識別子(_si:例えばMACアドレスや、製造番号(IMEI)等を含むもの)を取得する。既に述べたように、センタ装置2では、この端末識別子と、当該端末識別子に対応する端末装置3からの要求に基づいてアクセスしたサーバ装置1からセンタ装置2が取得したセッションの識別情報とを関連付けて保持する。そして通信開始後、センタ装置2は、端末装置3から受信した要求に基づいてサーバ装置1への要求を生成し、サーバ装置1へ当該生成した要求を送信することとなるが、この際、当該要求の元となった端末装置3の端末識別子に関連付けて保持されたセッションの識別情報をサーバ装置1へ併せて送信する。これによりサーバ装置1側では、当該セッションの識別情報に基づき、要求に応じて応答するべき情報がどれであるかを決定する。そして当該決定した情報をセンタ装置2に送出する。センタ装置2では当該情報に基づいて端末装置3に送信するべき情報を生成する。
また端末装置3との間で予め定めた時間だけ通信が行われない場合は、当該端末装置3に対応するスレッドの実行を終了する。
なお、通信制御部23は、通信部24が複数の通信スレッドを実行している場合は、各通信スレッドで受信した情報を順次取り出して要求受付部27に出力することとなる。
またここで通信部24は、通信中の端末装置3ごとにTCPプロトコルのポート番号と、対応する端末装置3との通信に係る状態コード(status)、及びコメントを関連づけて記憶しておいてもよい。ここで状態コードは、オンライン(通信中)となっているか、オフラインであるかの別を主として示すものでよい。なお本実施の形態の説明では通信にはTCPプロトコルが用いられているものとしているが、これに限らず、UDP等、他のプロトコルが利用されてもよい。
[データ入力プログラム]
次に、情報変換部26の処理の内容について説明する。情報変換部26は、HTTPクライアント部25から入力される指示処理データに含まれる画面記述情報部分に基づいて、端末装置3用のデータ入力プログラムモジュール(端末装置3にて解釈可能なデータ形式の指示の列)を生成する。本実施の形態では、分岐処理の結果に応じて、指示処理データに複数の画面記述情報が含まれ得る。情報変換部26は、指示処理データに含まれる複数の画面記述情報のそれぞれに対応して、複数のデータ入力プログラムモジュールを生成する。
例えば、画面記述情報には、図4(a)から(f)に示すような複数の種類の画面要素の規定が含まれ得る。図4(a)は、テキスト表示、(b)は、ボタン表示、(c)は入力欄表示、(d)はスプラッシュ・スクリーン(一定時間だけ表示される画面)、(e)は選択メニュー、(f)は、ヒント表示の要素を表し、それぞれ指示処理データとしてのXML文書における(a)<text>タグ、(b)<button>タグ、(c)<input>タグ、(d)<splash>タグ、(e)<select> タグ、(f)<hint>タグに対応する。
情報変換部26は、画面上に表示されるボタンを指示するXML文書要素として、「button」タグを用いた画面要素の記述が、「<button mode=aaa size=bbb x=ccc y=ddd func=fff url=ggg>eee</button>」のようになっているとき、これを端末装置3側で解釈可能なものとして予め定められたデータ形式に変換し、例えば図4(b)に示すようなデータストリームとする。図4には、テキスト、ボタン、入力欄、スプラッシュ・スクリーン、選択メニュー、ヒント情報の6種類の画面要素に関する記述がそれぞれ情報変換部26によってどのような指示に変換されるかを示している。
例えば、図4(b)は、タイプ(Type)情報が「2」となっており、ボタンであることを示し、続いてボタンの表示態様を表すモード(mode)、サイズ(size)、画面上の表示位置座標を表す「x」及び「y」、ボタンキャプションとして表示されるテキスト(上の例でいう「eee」の部分)と、ボタンのファンクション(送信ボタン等)をあらわすボタンファンクション(func)、そしてそのボタンがクリックされたときに読み出されるべきURL(もしあれば)を表す「url」などからなるデータ形式である。また、テキストやURLなど、固定長でないデータのデリミタは「0xFE 0xDC」となっている。
本実施の形態においては、操作案内要素の一つである入力欄のインタフェースを規定するデータ形式(及びそれに対応するXMLのDTDの記述)において、バーコード入力の可否を表す「method」と、入力値の最大、最小を定める「max」及び「min」といった、操作入力されるべき情報に関する条件(操作条件)、及び操作条件を満足するか否かに応じて行われるべき処理を特定する情報(goodhintやbadhint)が含められている(図4(c))。
[分岐処理]
また、本実施の形態の情報変換部26は、処理指示データに含まれる分岐処理の指示と、分岐処理の結果に応じた画面の提示処理とを端末装置3に実行させる。ここで分岐処理は、条件に応じて動作を異ならせる処理をいう。
本実施の形態の例では、分岐処理は、端末装置3において入力される値と、分岐処理の指示で指定する値との比較に基づく分岐を行う処理として規定される。具体的に本実施の形態の分岐処理の指示は、図5に示すように、「compareタグ」によって規定される。このcompareタグには、少なくとも一つの比較要素(comparegroupタグで囲まれる一連の記述;P)が含まれる。そして各比較要素には、比較の対象となる値の群(comparevalueタグ;A)と、分岐指示群(compareoptionタグ;B)とを含む。分岐指示群は、端末装置3において入力された値との比較条件、及び各比較条件を満足する場合に提示するべき画面に係る画面記述情報を特定する情報を少なくとも一つ含む。つまり、この分岐指示群は、分岐の条件に係る分岐パラメータを規定したもので、分岐指示群は、当該分岐パラメータの配列に相当する。
なお本実施の形態では、説明のため、比較条件が次の7種類であるとする。すなわち、
(1)比較の対象となる値と、入力された値とが等しい、
(2)入力された値が、比較の対象となる値より大きい、
(3)入力された値が、比較の対象となる値より小さい、
(4)比較の対象となる値の群に、入力された値が含まれる、
(5)比較の対象となる値の群に、入力された値が含まれない、
(6)比較の対象となる値は、照合(比較)済みである、
(7)比較の対象となる値は、照合(比較)済みでない、
の7種類であるとする。
情報変換部26は、比較の対象となる値の群を配列として記憶するステップと、値の入力欄を表示するステップと、値が入力されるごとに、分岐指示群に含まれる順に、比較条件に基づいて、記憶した配列と、入力された値とを比較するステップと、比較順で最初に満足する比較条件に対応する画面記述情報に基づいて、画面を表示するステップと、を実行させる端末装置3用のプログラム(端末装置3で解釈可能なデータ形式で記述された指示の列)を生成する。
例えば、図5に示す処理指示データの一部から、分岐処理を含む端末装置3用プログラムを生成する例を用いて、このプログラムの生成処理の内容を説明する。
情報変換部26は、処理指示データのうちから<compare>タグを見いだすと、比較処理のための初期化処理を行うプログラムモジュール(初期化モジュール)を生成する。初期化処理のプログラムコードにおいては、例えば、比較の対象として指定される値の群(<comparevalue>タグで指定された値の群)に含まれる値の数に対応し、各値に係る比較処理を完了したか否かを表す複数のフラグ情報を格納する領域と、次の比較の対象となる値を指定するポインタ値とを記憶する領域とを確保する。また、入力欄ごとに、入力された値と、それに対する比較処理の結果とを記憶するための領域を確保する。
具体例として、図5の例では、<compare>タグのオプションとして最初の比較の対象となる値を指定するオプション(start)が指定されている(ここでは「1」)。また、値の数を指定するオプション(total)によって、比較するべき値の数が指定されている(ここでは「5」)。そこで、情報変換部26は、次の端末装置3用プログラムを生成する。すなわち、(a)5つのフラグ情報を格納する領域と、ポインタ情報を格納する領域とを確保し、(b)ポインタ情報としては初期値「1」(startオプションで指定された値)を設定し、(c)フラグ情報としては、いずれも、未だ比較されていないことを表す値(「未比較」)を設定して初期化する、といった(a)から(c)の各ステップを実行する初期化モジュールを生成する。
また、情報変換部26は、<compare>タグに関連して記述されている画面情報記述(ここでは<compare>タグに対応する終了タグ(</compare>)の直後に記述されている画面情報記述とする)に基づいて、入力欄を表示させ、入力を受け入れるための入力インタフェース処理を行うプログラムモジュール(インタフェース処理モジュール)を生成する。また、ここで表示する入力欄(<input>タグに対応する画面要素)の各々と、<compare>タグ内に含まれる<comparegroup>タグで規定される分岐指示群とを関連付ける。ここでは、各々記述順序(出現順序)に従い、対応付けが行われるものとする。なお、図5では、<comparegroup>の数に対応して第1、第2の2つの入力欄を表示する指示(2つの<input>タグ)が含まれている。
さらに情報変換部26は、表示させた入力欄の各々に対応付けて、各入力欄に値が入力されたときに、各入力欄に対応する<comparegroup>タグに含まれる分岐指示群(対応分岐指示群)に基づく比較処理を実行させるプログラムモジュール(比較処理モジュール)を生成する。この比較処理モジュールのプログラムコードでは、値が入力された入力欄に対応する対応分岐指示群に含まれる複数の比較条件について、入力された値を用いて比較条件を満足するか否かを順次、判断する。
情報変換部26は、これらのような分岐処理を行わせるための、端末装置3で解釈可能な指示の列を含んだ情報、並びに、画面記述情報に基づくデータ入力を端末装置3で行わせるための、端末装置3で解釈可能なデータ形式の情報を生成した後、これらの情報を端末装置3側への配信対象として記憶する。
そして情報変換部26は、記憶した配信対象を、予めインストールされている鍵を用いて暗号化し、暗号化した配信対象を通信制御部23に出力する。ここでの暗号化方式は例えばAES等である。またこの情報変換部26は、通信制御部23へ出力した後も、配信対象を記憶した状態を維持する。そしてこの情報変換部26は、前回の要求が再びあった旨の情報を要求受付部27から受け入れると、当該記憶している配信対象を、再度通信制御部23に出力する。また情報変換部26は、HTTPクライアント部25から指示処理データが新たに入力されると、この記憶している前回の配信対象を削除することとしてもよい。これにより、情報が重複して送信されることが抑止され、サーバ装置1側において重複送信への対応をする必要がなくなる
なお、通信制御部23は、端末装置3側からプログラム取得要求を受けたときに要求受付部27が取得した、当該プログラム取得要求に含まれる要求識別情報_riを取得して、要求元の端末装置3を識別する情報に関連付けて記憶しておいてもよい。そして通信制御部23は、情報変換部26から配信対象を受け入れると、当該配信対象の配信先である端末装置3を識別する情報に関連付けて記憶している要求識別情報_riを読み出し、配信対象に当該読出した要求識別情報_riを付加して、配信先である端末装置3へ配信することとしてもよい。
[情報変換部26の他の処理]
本実施の形態においては、さらに、情報変換部26が、端末装置3における処理の結果の入力を受け入れて、当該処理の結果に基づく処理を実行してもよい。例えば、端末装置3において、上記分岐処理が行われる場合は、端末装置3は、比較の対象となる値の群に含まれる各値に対応した判断の結果が受信される。情報変換部26は、この判断の結果の配列の入力を受けて、この判断の結果の配列をHTTPクライアント部25を介してサーバ装置1へ送出し、集計処理等、他の処理に供する。
[端末装置]
端末装置3の制御部31は、記憶部32に格納されているプログラムに従って動作し、通信部35から入力される指示を解釈して、当該指示に従って各部を制御する。この制御部31の具体的動作の内容は後から詳しく述べる。
記憶部32は、RAM(Random Access Memory)やフラッシュメモリなど、プログラムを保持する、コンピュータ読み取り可能な情報記憶媒体であり、また、少なくとも一部に読み書き可能な部分を含み、制御部31の動作に必要な情報を記憶する、ワークメモリとしても動作する。さらに本実施の形態ではこの記憶部32に、予め設定された暗号化や復号のための鍵の情報やグループ識別子等が保持される。
操作部34は、キーパッドやバーコードリーダなどであり、ユーザの操作に応じて情報入力を受け入れ、当該受け入れた情報を制御部31に出力する。本実施の形態では、この操作部34が、キーパッド(テンキーなど数値入力キーを含む)34aと、バーコードリーダ34bとを含んで構成されているものとする。
表示部33は、制御部31から入力される指示に従って情報を表示するディスプレイである。具体的にこの表示部33は、液晶ドットマトリクスディスプレイなどがあるが、これに限られるものではない。通信部35は、センタ装置2から受信される指示を制御部31に出力し、また、制御部31から入力される指示に従って、情報をセンタ装置2に対して送信する。
次に本実施の形態における端末装置3の制御部31の動作について説明する。本実施の形態の制御部31は、一般的なオペレーティングシステムを動作させており、このオペレーティングシステムの管理の下で、ウェブブラウザ等のアプリケーションを動作させる。
また、本実施の形態の端末装置3では、センタ装置2から提供されるデータ入力プログラムを実行し、センタ装置2との間でデータを送受信するインタプリタプログラムがインストールされており、利用者はセンタ装置2との間で通信を行い、サーバ装置1にて提供されるサービスを受けるときには、このインタプリタプログラムを起動する。
このインタプリタプログラムに従って動作する制御部31は、起動されると初期化処理を行う。このとき制御部31は、予め設定されたセンタ装置2のアドレスにアクセスする。制御部31は、このアクセスの際には、要求ごとに固有の要求識別情報を付加する。具体的に制御部31は、初期化処理時に要求識別情報としての数値を表す変数iを「1」に初期化する。
制御部31は、プログラム取得要求に要求識別情報としての文字列「_ri=1」(ここでの「1」は変数iの表す値)を付加する。そして制御部31は、暗号化の要否を問い合わせる情報を通信部35に出力し、センタ装置2に対して送信する。この問い合わせの情報を受けたセンタ装置2は、事前に為された設定に従って暗号化をするか否かを決定する。
センタ装置2は、この決定の結果を問い合わせ情報の送信元である端末装置3に送信する。端末装置3の制御部31は、センタ装置2から暗号化を要する旨の情報を受け入れると、指定されたURLと、このURLからのプログラム取得要求とを、予めインストールされた暗号化の鍵(復号時の鍵を兼ねてもよい)を用いて暗号化する。ここでの暗号化の方式は例えばAESでよい。制御部31は、暗号化して得たデータを送信対象として記憶部32に格納する。
一方、端末装置3の制御部31は、センタ装置2から暗号化を要しない旨の情報を受け入れると、指定されたURLと、このURLからのプログラム取得要求とを、送信対象として記憶部32に格納する。
また制御部31は、この記憶部32に格納された送信対象を、通信部35に出力し、センタ装置2に対して送信する。
また制御部31は、図示しないタイマーを起動し、予め定めたタイムアウト時間が経過する前に通信部35からデータを受け取ると、要求識別情報としての数値を表す変数iをインクリメントする。また制御部31は、このデータを記憶部32に格納し、予めインストールされている暗号復号用の鍵で復号する。そして制御部31は、復号したデータに含まれるプログラムを実行する。
なお、通信部35から受け取ったデータに、過去にプログラム取得要求に付した要求識別情報_riが付されている。制御部31は、当該要求識別情報_riを参照して、その数値が表す値と、変数iとを(変数iをインクリメントする前に)比較する。そして制御部31は、これらの値が一致する場合は、正常にデータが受け入れられたものとして変数iをインクリメントし、このデータを記憶部32に格納し、予めインストールされている暗号復号用の鍵で復号して、復号したデータに含まれるプログラムを実行する。
また、受け取ったデータに付加された要求識別情報_riが表す値と、変数iが表す値とが一致しない場合は、異常が生じたとして、エラーが生じた旨を報知する画面を表示する。
一方、予め定めたタイムアウト時間が経過する前に通信部35からデータを受け取れない場合、制御部31は、通信エラーを報知する画面を表示する。この画面においてはリトライを指示できるようにしておく。制御部31は、リトライが指示されると、記憶部32に格納した送信対象を再度通信部35に出力し、センタ装置2に対して送信する。この再度出力される送信対象においては、要求識別情報は前回送信したものと同じ値となっている。
また復号したデータに含まれるプログラムを実行する制御部31の処理について、図5に示した例を参照しながら説明する。
制御部31では、比較処理のための初期化処理が行われる。この初期化処理では、比較の対象として指定される値の群(<comparevalue>タグで指定された値の群)に含まれる値の個数(図5の例では5個)に対応し、各値に係る比較処理を完了したか否かを表す複数のフラグ情報を格納する領域と、次の比較の対象となる値を指定するポインタ値とを記憶する領域とを記憶部32に確保する。また、入力欄ごとに、入力された値と、それに対する比較処理の結果とを記憶するための領域を、記憶部32に確保する。また、ポインタ情報は「1」(startオプションで指定された値)に初期化し、フラグ情報としては、いずれも、未だ比較されていないことを表す「未比較」に初期化する。
次に、制御部31は、<compare>タグの直後に記述されている画面情報記述に基づいて、入力欄を表示する。図5では、<comparegroup>の数に対応して第1、第2の2つの入力欄(<input>タグに対応する)が表示される。
制御部31は、この状態で、値の入力を待機する。利用者が、操作部34を操作して情報を入力すると、制御部31は、情報の入力を受けた入力欄に対応する分岐処理を実行する。
例えば、利用者が第1の入力欄に「A」を入力すると、制御部31は、第1の入力欄に対応する処理を開始し、まず比較の対象となる値と、入力された値「A」とが等しいか否か(compareoption option=1)を判断する。ここではポインタ情報の値が「1」であるので、比較の対象となる値は「A」となる。この場合、この比較の対象となる値と、入力された値とが等しいので、条件を満足するものと判断される。
制御部31は、この場合、さらに値の入力を待機する。利用者が次に、第2の入力欄に「1」を入力すると、制御部31は、<compare>タグのオプションに基づいて、現在の第2の入力欄の値(特に指定がない場合は「0」に初期化されているとする)に「1」を加算する。ここでは加算の結果は「1」となる。
そして制御部31は、第2の入力欄に対応する処理を開始する。この場合、図5に示す記述順序に従って比較処理用のプログラムコードが生成されているので、まず、第2の入力欄に上書きされた値が、ポインタ情報によって特定される値(比較の対象となる値)より小さいか否か(compareoption option=3)を判断する。ここでは、ポインタ情報が「1」のままであるので、比較の対象となる値は「10」(2番目の<comparegroup>における<comparevalue>の第1番目の値)となる。つまり、この条件を満足することとなる。この処理については、特に指定がないので、そのまま値の入力を待機することになる。
利用者がさらに、第2の入力欄に「9」を入力すると、制御部31は、第2の入力欄の現在の値「1」に「9」を加算した値「10」を得る。
そして、第2の入力欄に上書きされた値が、ポインタ情報によって特定される値(比較の対象となる値)より小さいか否か(compareoption option=3)を判断する。ここでは、ポインタ情報が「1」のままであるので、比較の対象となる値は「10」である。つまり、この条件は満足されない。
そこで制御部31は、次の分岐指示を参照し、比較の対象となる値と、第2の入力欄に上書きされた値とが等しいか否かを判断する(compareoption option=1)。ここでは、両者が等しいので、この条件が満足されることとなる。制御部31は、この条件に関連するforwardオプションの指定に従って、現在のポインタ情報によって示される値に対応するフラグ情報を「比較済み」に設定する。そして、ポインタ情報をインクリメントして、「2」とする。また、各入力欄に入力された値と比較の結果(双方とも「等しい」ことを表す情報)とを記憶部32に確保した領域に格納する。
なお、図5において、比較の対象となる値よりも入力欄に入力された値が大きいか否かを判断するオプションは、compareoption option=2として指定されているが、ここでの例では実行されない。
以下、同様にして比較の対象となった値の群のそれぞれについて処理を実行し、各値との比較処理の結果が得られた時点で、制御部31は処理を終了し、入力された値と、比較の結果と、当該入力された値の処理の要求(処理サービスのURLを含む)とをセンタ装置2に対して送信する。この際、制御部31は、この処理の要求に要求識別情報としての文字列「_ri=N」(ここでのNは変数iの表す値)を付加する。
そして制御部31は、これら入力された値や比較の結果、並びに処理の要求を含むデータを、予めインストールされた暗号化の鍵(復号時の鍵を兼ねてもよい)を用いて暗号化する。ここでの暗号化の方式は例えばAESでよい。制御部31は、暗号化して得たデータを送信対象として記憶部32に格納する。また制御部31は、この送信対象を通信部35に出力し、センタ装置2に対して送信する。
制御部31は、図示しないタイマーを起動し、予め定めたタイムアウト時間が経過する前に通信部35を介してセンタ装置2からの応答を受け取ると、要求識別情報としての数値を表す変数iをインクリメントする。他方、予め定めたタイムアウト時間が経過する前にセンタ装置2からの応答を受け取れない場合、制御部31は、通信エラーを報知する画面を表示する。この画面においてはリトライを指示できるようにしておく。制御部31は、リトライが指示されると、記憶部32に格納した送信対象を再度通信部35に出力し、センタ装置2に対して送信する。この再度出力される送信対象においては、要求識別情報は前回送信したものと同じ値となっている。
なお、制御部31において入力された値が照合済み(比較済み)であるか否かの判断は次のようにして行う。すなわち、対象となる値の群のうちから入力された値を検索し、当該入力された値が含まれる位置(先頭からの位置でよい)を取得する。そして、取得した位置の情報に基づいて、当該位置に対応するフラグ情報を参照し、フラグ情報の値が照合済み(比較済み)であるか否かを参照して、判断を行う。
また、入力された値が、比較の対象となる値の群に含まれるか否かについては、指定された値の群のうちから、入力された値を検索し、見いだされた場合には含まれていると判断し、見いだされない場合は含まれていないと判断することになる。
また仮に、ポインタ情報が「2」の場合に、利用者が第1の入力欄に「X」を入力したとすると、入力された値がポインタ情報が示す比較対象の値「B」に等しくないので、2.xml又は3.xmlで規定される画面を表示する。
ここでは2.xmlや3.xmlでは、「入力された値が異なります」などの文字列の表示とともに、下の入力画面に「戻る」ためのボタンや、入力欄を初期値にリセットするためのボタン等が併せて表示される。
なお、この図5の例では各値が比較対象の値とそれぞれ「等しい」こととなるまで処理が続けられるので、センタ装置2に対して送信される、比較処理の結果の値は、「1,1,1,1,1」、など、いずれも条件番号「1」、つまり「等しい」との判断が行われたことを示す値となる。
[動作]
次に、本実施の形態に係るセンタ装置2を含むデータ処理システムの動作について説明する。本実施の形態では、要求されたデータ処理を実行するアプリケーションプログラムをサーバ装置1側にインストールすることになる。このアプリケーションプログラムは、HTTPプロトコルにより入出力用の情報を配信可能な状態で記述される。具体的には、このアプリケーションプログラムは、C#、Java(登録商標)、及びそのサーブレットのほか、JavaScript(登録商標)、PHP、ASP(Active Server Pages)等のスクリプト言語によっても記述できる。以下の例では、Java(登録商標)によって、データ処理の例として、在庫管理のアプリケーションプログラムとして、入庫処理プログラムと、出庫処理プログラムとを記述した場合について説明する。ここで入庫処理プログラムは、商品の品番の情報と、その数量の情報とを受け付けて、商品データベースにおける、当該品番の情報に関連付けて記憶された数量の情報に、受け付けた数量を加算して商品データベースを更新するものとし、出庫処理プログラムは、商品の品番の情報と、その数量の情報とを受け付けて、商品データベースにおける、当該品番の情報に関連付けて記憶された数量の情報から、受け付けた数量を減算して商品データベースを更新するものとする。
サーバ装置1にインストールされる指示処理データは、従って、いずれのプログラムにおいても、情報入力のために品番と数量との入力欄と「入力」ボタン及び「入庫」または「出庫」ボタンを配したインタフェースを規定するXML文書である。また、サーバ装置1には、各処理に対応する処理を行うJava(登録商標)プログラムが格納される。
このインタフェースを規定するXML文書は、図6に示したようなものとなる。この図6の例では、第1の入力欄が品番の入力欄として、また第2の入力欄が数量の入力欄として利用される。
このうち、品番の入力欄においては、バーコード入力が可能(method=2)となっており、数量の入力欄では、バーコード入力が不可(method=1)とされている。
また、図7に例示するように、端末装置3は初期化が行われたときに、当該通信開始の要求をセンタ装置2に対して送信する(S1)。この通信開始要求には、端末装置3が記憶している端末識別子(_si)と、要求識別情報(_ri)と、端末装置3が記憶しているグループ識別子(gid)が含まれる。この時点では要求識別情報は初期化されたときの状態となっており、既に述べた例であれば、要求識別情報は「_ri=1」なる文字列で表される。
端末装置3はまた、この通信開始の要求を送信する際にセンタ装置2に対して暗号化の要否を問い合せる。この要否の問い合せを受けるとセンタ装置2は事前の設定に従って暗号化を要するか否かを決定して端末装置3に通知する。端末装置3は、この決定の通知を受けて、当該決定の内容(暗号化を要するか否かを表す情報)を記憶する。
つまり、ここでセンタ装置2が暗号化すると決定すると、端末装置3はセンタ装置2から暗号化を要する旨の応答を受け入れることとなる。この場合、端末装置3は、以下の通信で、要求を暗号化したデータを生成し、当該暗号化したデータをセンタ装置2に対して送信する。またセンタ装置から暗号化を要しない旨の応答を受け入れると、端末装置3は、以下の通信で、要求を暗号化せずにセンタ装置2に対して送信する。センタ装置2では、通信部24が実行する当該端末装置3に対応するスレッドが、当該要求または暗号化されたデータを受け付けてバッファする。
本実施の形態では、このように端末装置3側ではなくセンタ装置2側にて暗号化の要否を決定していることで、端末装置3を操作する個々の作業員に暗号化の要否を判断させることなく、また端末装置3での事前の設定をせずに、暗号化が必要であれば、暗号化通信を行うことができる。これはすなわち、最初の通信(暗号化要否の問い合せ)は暗号化されないが、その後の通信についてはシステム管理者が暗号化すると決定すれば、サーバ側の主導で、通信が暗号化されるように設定されることによるものである。
またこのときセンタ装置2は、端末装置3の端末識別子(_si)を取得する。さらにセンタ装置2は、端末装置3のグループ識別子(gid)を取得し、当該グループ識別子に関連付けられたURL(行うべき処理に対応したURL)を読み出す。ここでの例では、URLは、入庫処理プログラムに対応するサーバ装置1のURL、または出庫処理プログラムに対応するサーバ装置1のURLのいずれかとなる。このように本実施の形態では、端末装置3側で何らの設定変更を行わなくても、事前にセンタ装置2側で設定しておくことで、端末装置3がどのような処理を行う端末となるかを定めておくことができる。
センタ装置2は当該読み出したURLで特定される情報をサーバ装置1に対して要求する(S2)。この要求はHTTPプロトコルにより行われ、初回の通信であるためクッキー等、セッションを特定する情報を含まないものとなる。サーバ装置1は、センタ装置2から、このセッションを特定する情報を含まない要求を受けると、セッションを特定する情報を発行するとともに、当該HTTPプロトコルによる要求に応答して、対応するプログラムを表すXML文書と、発行したセッションを特定する情報とを要求元であるセンタ装置2に配信する(S3)。センタ装置2は、サーバ装置1から受信した、セッションを特定する情報と、要求元である端末装置3の端末識別子(_si)とを関連付けて記憶する。またセンタ装置2は、サーバ装置1から受信したXML文書を端末装置3にて実行可能なプログラムに変換する。そしてセンタ装置2はこのプログラムのデータを暗号化するか否かを決定する。この決定は、既に述べた例と同じく、事前の設定に従い暗号化をするか否かに基づいて行う。
センタ装置2は、当該プログラムのデータを暗号化すると決定した場合は、当該データを暗号化して端末装置3に送信する(S4)。また当該プログラムのデータを暗号化しないと判断した場合は、処理S4において当該プログラムのデータをそのまま端末装置3に送信する。
端末装置3はセンタ装置2からデータを受け入れると、要求識別情報を表す変数をインクリメントする。そして端末装置3は、当該受け入れたデータが暗号化されていれば復号してプログラムを取り出し、取り出したプログラムを記憶部32に格納して、このプログラムに従った処理を開始する(S5)。また端末装置3は、当該受け入れたデータが暗号化されていなければ、処理S5において、当該データに含まれるプログラムを記憶部32に格納して、このプログラムに従った処理を開始する。
このプログラムは例えば図6に例示するようなXMLに基づくものである。図6の例に基づくプログラムであれば、端末装置3の制御部31は、入力された指示の順に従って、まず、最初に入力された操作案内要素に係る指示である、品番の入力欄にカーソルを移動して待機する。なおキーパッドの操作によって、カーソルを移動できるようにしておくこととしてもよい。この場合カーソルの移動順序は指示に含まれる画面要素の順序としてもよい。
利用者が操作部33のバーコードリーダを操作して在庫品に係るバーコードを読みとると、当該バーコードリーダが読みとった情報が制御部31に出力される。制御部31は、当該情報を第1の入力欄に表示するとともに、当該入力された値と、比較対象となった値との比較による分岐処理を実行する。そして、このとき、第2の入力欄に値が入力されなくとも、予め定めた値(図6の例では「1」)が第2の入力欄に入力されたものとして、第2の入力欄に係る分岐処理を行う。
ここで利用者が品番として、「A」以外の品番を読み込んだ場合、図6に示した分岐処理により、端末装置3側の処理としてエラーを表示することができる。また、品番「A」を読み取るごとに、第2の入力欄の値が「1」ずつインクリメントされることになる。
そして、比較対象となった各値に係る分岐処理が完了すると、制御部31は、入力された値(品番及び数量)のリストと、比較結果のリストと、データ処理要求とを含むデータを生成する。ここでデータ処理要求には、要求識別情報の文字列として「_ri=2」(既に述べたように、要求識別情報に係る変数がインクリメントされているので、要求識別情報は「2」となっている。)が付加される。制御部31は、これらのデータの暗号化を要するか否かを、記憶している情報に基づいて決定する。そして暗号化を要すると記憶されていれば、これらのデータを暗号化して、通信部35を介してセンタ装置2に送信する。また暗号化を要しないと記憶されている場合は、これらのデータをそのまま、通信部35を介してセンタ装置2に送信する(S6)。
センタ装置2は、端末装置3から受け入れたデータが暗号化されていれば復号し、当該復号したデータ(暗号化されていなければ受け入れたデータそのもの)に含まれる、入力された値のリストと判断の結果の配列の入力とを受けて、データ処理要求によって特定されるURL(サーバ装置1におけるデータ処理サービスのURLに相当する)宛に当該入力された値のリスト等を送信して、サーバ装置1に対応する処理を行わせる(S7)。このとき、センタ装置2は、このリスト等のデータの出所である端末装置3の端末識別子(_si)に関連付けられているセッションを特定する情報を読み出して、当該読み出した、セッションを特定する情報とともにサーバ装置1に対してリスト等のデータを送信する。
サーバ装置1では、このセッションを特定する情報を参照して、処理を継続して行うこととなる。このセンタ装置2の働きにより、端末装置3におけるエラー等により端末装置3を再起動した場合であっても、端末装置3からの一般的なブラウザアプリケーションによるアクセスとは異なり、サーバ装置1との間のセッションを特定する情報が変化してしまうことがなくなる。従って、サーバ装置1において継続されないセッションに係る情報(ガーベージ)が保持されることがなく、サーバ装置1の負担が増加してしまうことが防止される。
このように本実施の形態では、端末装置3の代わりにセンタ装置2がウエブサーバとの通信や各種処理を実行し、その結果を端末装置3側に送信して表示させるようになっている。この際、端末装置3は、センタ装置2との間で通信を行い、センタ装置2から提供されるプログラムを実行するためのインタプリタプログラムを起動して実行している。
このため、例えば端末装置3の利用者が、端末装置3にインストールされている一般的なウェブブラウザ(Internet Explorerなど)を利用して悪意あるサイトにアクセスしてしまい、例えばアクセス先のURLを盗み取るようなマルウェアが端末装置3にインストールされてしまったとしても、このインタプリタプログラムや、センタ装置2から提供されたプログラムが通信するURLを取得されることはない。仮に端末装置3にて実行されるオペレーティングシステムがウィルスに感染したとしても、センタ装置2との間の通信はHTTPではない独自のプロトコルとなっているため、インタプリタプログラム以外はセンタ装置2と通信を行うことができないので、ウィルスがネットワーク全体に広がりにくい。
[変形例]
センタ装置2は、端末装置3のうち、送信するデータの受取りを拒否する端末装置3の端末識別子のリスト(拒否リスト)をハードディスクドライブやデータベース等の記憶手段に記憶しておいてもよい。そしてセンタ装置2の要求受付部27は、端末装置3からデータを受け取ると、当該端末装置3の端末識別子が、拒否リストに含まれているか否かを調べる。
そしてセンタ装置2は、当該端末装置3の端末識別子が、拒否リストに含まれてなければ、当該データに含まれる要求に基づく処理(サーバ装置1へのデータの送信等)を行う。また当該端末装置3の端末識別子が、拒否リストに含まれていれば、当該データを破棄し、その後の処理を行わない。あるいは、インタプリタプログラムを一時的に使用不能とするべき旨の指示を送出してもよい。あるいは、インタプリタプログラムの削除命令(インタプリタが格納されている記憶領域を「0」データで上書きするなど)を実行して、当該インタプリタプログラムを削除するよう指示してもよい。
これにより、端末装置3が盗難にあった場合など、不正に使用される恐れがある場合にも、その不正使用を防止できる。
またセンタ装置2において記憶される、端末装置3が保持するグループ識別子は、サーバ装置1側からセンタ装置2を介して送信される指示により書換え可能となっていてもよい。具体的にはサーバ装置1からの指示により、センタ装置2は、端末装置3に対してグループ識別子を変更するよう指示すればよい。なお、このグループ識別子は端末装置3側にて変更可能となっていてもよい。このように端末装置3が保持するグループ識別子をサーバ装置1側から書き換え可能としていることで、端末利用者に意識させることなく、端末装置3に対して配信されるべき情報を特定するURLや、端末装置3が実行するべき業務アプリケーションが切り替えられるようになる。
さらに以上説明した本実施の形態によると、従来のウェブアプリケーション開発とは異なり、サーバ装置1での開発環境をオープン化しても、サーバ装置1と端末装置3との通信までもがオープンになってしまうことがなく、セキュリティの向上にも資することができるようになる。
1 サーバ装置、2 センタ装置、3 端末装置、21,31 制御部、22 通信管理部、23 通信制御部、24 通信部、25 HTTPクライアント部、26 情報変換部、32 記憶部、33 表示部、34 操作部、35 通信部。

Claims (3)

  1. 予め定められたURLへのアクセスを受けて、要求されたデータ処理を実行するサーバ装置と、前記サーバ装置に対してデータ処理を要求する端末装置と、前記サーバ装置と端末装置とに接続されるセンタ装置と、を含み、
    前記センタ装置は、
    前記データ処理を要求する端末装置を識別する端末識別子と、グループ識別子と、要求を識別する要求識別情報と、前記端末装置から取得する手段と、
    データの入力を受け、当該入力されたデータをセンタ装置へ送信するデータ入力プログラムを、配信対象として前記端末装置に送信する配信対象送信手段と、
    前記データ処理を要求する端末装置から処理の対象となるデータと、要求を識別する要求識別情報とを受け入れて、前記端末装置の端末識別子が記憶している拒否リストに含まれていなければ、前記取得した端末装置のグループ識別子に関連付けて記憶している前記サーバ装置のURLに対してアクセスする手段であって、アクセス時に前記サーバ装置から取得されるセッションを特定する情報を、前記端末装置の端末識別子に関連付けて記憶しており、前記端末装置の端末識別子に関連付けられたセッションを特定する情報が記憶されていれば、前記サーバ装置のURLへアクセスして、処理の対象となるデータを、HTTPプロトコルにて送信する際に、当該セッションを特定する情報を送信する手段と、
    を含み、
    前記配信対象送信手段は、前記端末装置に送信した配信対象を記憶し、前記要求識別情報を受け入れたときに、当該受け入れた要求識別情報が前回受け入れた要求に係る要求識別情報と同じであれば、前回の要求が再びあったとして、前記記憶している配信対象を前記端末装置に送信し、
    前記端末装置は、前記センタ装置から送信されたデータ入力プログラムに従って動作し、処理の対象となるデータの入力を受け入れて、当該受け入れたデータと、前記サーバ装置の前記URLを特定するグループ識別子と、要求を識別する要求識別情報とを、前記センタ装置へ送信するデータ処理システム。
  2. 予め定められたURLへのアクセスを受けて、要求されたデータ処理を実行するサーバ装置と、前記サーバ装置に対してデータ処理を要求する端末装置とに接続されるセンタ装置であって、
    前記データ処理を要求する端末装置を識別する端末識別子と、グループ識別子と、要求を識別する要求識別情報と、前記端末装置から取得する手段と、
    データの入力を受け、当該入力されたデータをセンタ装置へ送信するデータ入力プログラムを、配信対象として前記端末装置に送信する配信対象送信手段と、
    前記データ処理を要求する端末装置から処理の対象となるデータと、要求を識別する要求識別情報とを受け入れて、前記端末装置の端末識別子が記憶している拒否リストに含まれていなければ、前記取得した端末装置のグループ識別子に関連付けて記憶している前記サーバ装置のURLに対してアクセスする手段であって、アクセス時に前記サーバ装置から取得されるセッションを特定する情報を、前記端末装置の端末識別子に関連付けて記憶しており、前記端末装置の端末識別子に関連付けられたセッションを特定する情報が記憶されていれば、前記サーバ装置のURLへアクセスして、処理の対象となるデータを、HTTPプロトコルにて送信する際に、当該セッションを特定する情報を送信する手段と、を含み、
    前記配信対象送信手段は、前記端末装置に送信した配信対象を記憶し、前記要求識別情報を受け入れたときに、当該受け入れた要求識別情報が前回受け入れた要求に係る要求識別情報と同じであれば、前回の要求が再びあったとして、前記記憶している配信対象を前記端末装置に送信するセンタ装置。
  3. 予め定められたURLへのアクセスを受けて、要求されたデータ処理を実行するサーバ装置と、前記サーバ装置に対してデータ処理を要求する端末装置とに接続されるセンタ装置で実行されるプログラムであって、前記センタ装置を、
    前記データ処理を要求する端末装置を識別する端末識別子と、グループ識別子と、要求を識別する要求識別情報と、前記端末装置から取得する手段と、
    データの入力を受け、当該入力されたデータをセンタ装置へ送信するデータ入力プログラムを、配信対象として前記端末装置に送信する配信対象送信手段と、
    前記データ処理を要求する端末装置から処理の対象となるデータと、要求を識別する要求識別情報とを受け入れて、前記端末装置の端末識別子が記憶している拒否リストに含まれていなければ、前記取得した端末装置のグループ識別子に関連付けて記憶している前記サーバ装置のURLに対してアクセスする手段であって、アクセス時に前記サーバ装置から取得されるセッションを特定する情報を、前記端末装置の端末識別子に関連付けて記憶しており、前記端末装置の端末識別子に関連付けられたセッションを特定する情報が記憶されていれば、前記URLへアクセスして、処理の対象となるデータを、HTTPプロトコルにて送信する際に、当該セッションを特定する情報を送信する手段と、として機能させ、
    前記配信対象送信手段として機能させる際には、センタ装置に、前記端末装置に送信した配信対象を記憶させ、前記要求識別情報を受け入れたときに、当該受け入れた要求識別情報が前回受け入れた要求に係る要求識別情報と同じであれば、前回の要求が再びあったとして、前記記憶している配信対象を前記端末装置に送信させるプログラム。
JP2016526387A 2013-07-15 2013-07-15 データ処理システム、センタ装置、及びプログラム Active JP6538675B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/079388 WO2015006903A1 (zh) 2013-07-15 2013-07-15 数据处理系统、中心装置以及程序

Publications (2)

Publication Number Publication Date
JP2016526746A JP2016526746A (ja) 2016-09-05
JP6538675B2 true JP6538675B2 (ja) 2019-07-03

Family

ID=52345675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016526387A Active JP6538675B2 (ja) 2013-07-15 2013-07-15 データ処理システム、センタ装置、及びプログラム

Country Status (5)

Country Link
US (1) US10412147B2 (ja)
EP (1) EP3024191B1 (ja)
JP (1) JP6538675B2 (ja)
CN (1) CN105519069B (ja)
WO (1) WO2015006903A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3175307B1 (de) * 2014-09-25 2019-09-04 Siemens Aktiengesellschaft Bereitstellen von prozesswerten in einer prozessanlage
JP2017185153A (ja) * 2016-04-08 2017-10-12 キヤノン株式会社 放射線撮影システム、放射線撮影装置、放射線撮影方法およびプログラム
JP2021037370A (ja) * 2020-12-04 2021-03-11 キヤノン株式会社 放射線撮影システム、放射線撮影方法およびプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732112B1 (en) 1996-08-02 2004-05-04 Seiko Epson Corporation Network system
US20030020456A1 (en) * 2001-07-06 2003-01-30 Ayo Grant William Hardened process controller
JP2003308403A (ja) * 2002-04-12 2003-10-31 Ricoh Co Ltd 部品受注装置、プログラム及び記憶媒体
GB2388002B (en) * 2002-04-26 2004-05-12 Oracle Int Corp Graphical modelling system
JP4707302B2 (ja) * 2002-12-26 2011-06-22 株式会社シノジャパン ソフトウエア実行システム
JP2006174055A (ja) * 2004-12-15 2006-06-29 Canon Software Inc 情報存在証明処理装置および情報利用端末装置および情報存在証明システムおよび情報存在証明方法およびプログラムおよび記録媒体
JP4949631B2 (ja) * 2005-01-21 2012-06-13 株式会社シノジャパン センタ装置
EP1970835A1 (en) 2007-03-15 2008-09-17 Lucent Technologies Inc. Method and apparatus for secure web browsing
NO327014B1 (no) * 2007-07-10 2009-04-06 Hag As Anordning ved vippebeslag for stol
JP5159261B2 (ja) * 2007-11-12 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション セッションを管理する技術
CN101251860B (zh) * 2008-03-10 2011-05-04 北京航空航天大学 一种Web信息发布管理系统与方法
CN101583072B (zh) * 2008-05-15 2011-09-21 北京凯思昊鹏软件工程技术有限公司 一种用于实现Mobile Internet的中间件产品及其方法
JP5397071B2 (ja) 2009-07-31 2014-01-22 富士通株式会社 中継装置、中継方法、および中継プログラム
US9253288B2 (en) * 2010-07-01 2016-02-02 Ishai Binenstock Location-aware mobile connectivity and information exchange system
EP2533161A1 (en) * 2010-11-29 2012-12-12 Hughes Network Systems, LLC Computer networking system and method with javascript injection for web page response time determination
CN102916958A (zh) * 2012-10-15 2013-02-06 福建榕基软件股份有限公司 一种实现移动终端浏览器访问加密方法及系统

Also Published As

Publication number Publication date
US20160173561A1 (en) 2016-06-16
WO2015006903A1 (zh) 2015-01-22
CN105519069A (zh) 2016-04-20
US10412147B2 (en) 2019-09-10
EP3024191A1 (en) 2016-05-25
EP3024191A4 (en) 2017-01-11
EP3024191B1 (en) 2018-02-14
CN105519069B (zh) 2019-04-05
JP2016526746A (ja) 2016-09-05

Similar Documents

Publication Publication Date Title
US11206451B2 (en) Information interception processing method, terminal, and computer storage medium
US10115141B1 (en) Secure proxy service
CN102523218B (zh) 一种网络安全防护方法、设备和系统
JP5514890B1 (ja) 連続的な不正アクセスを防止する方法
CN104519043B (zh) 用于向客户端设备提供响应的安全设备、系统和方法
US10721311B1 (en) System and method for coupling two separate applications to an application session within a serverless infrastructure
CN102932391A (zh) P2sp系统中处理数据的方法、装置和系统
CN108200040A (zh) 移动客户端免密登录的方法、系统、浏览器及移动终端
CN111343048A (zh) 压力测试方法及装置、计算机装置及存储介质
CN105119928A (zh) 安卓智能终端的数据传输方法、装置及系统
JP6538675B2 (ja) データ処理システム、センタ装置、及びプログラム
CN114978637A (zh) 一种报文处理方法及装置
US20240089249A1 (en) Method and system for verification of identify of a user
JP2015090993A (ja) 暗号制御装置、暗号制御方法、及びプログラム
JP6444344B2 (ja) 認証サーバ、仲介サーバおよび広告配信サーバ
JP6184316B2 (ja) ログイン中継サーバ装置、ログイン中継方法、及びプログラム
KR20150119668A (ko) 메일 메시지를 이용한 파일 공유 방법 및 시스템
JP2006261937A (ja) 通信プロファイル自動配布設定システムおよび方法ならびに管理装置、プログラム
JP5244781B2 (ja) Webサーバ及び方法
WO2016135886A1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP2005208880A (ja) コンテンツ提供システム、コンテンツサーバ、ディスプレイ端末、および、コンテンツ提供方法
JP5519301B2 (ja) 通信システム、中継装置及び中継装置における通信方法
JP6688782B2 (ja) ネットワーク通信方法及びネットワーク通信システム
JP2010245800A (ja) 無線通信システム、無線機器、サーバ
JP2018163589A (ja) 通信システム、サーバ装置、及びゲートウェイサーバ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180628

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190606

R150 Certificate of patent or registration of utility model

Ref document number: 6538675

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250