JP2014006628A - Client device, client control method, and program - Google Patents

Client device, client control method, and program Download PDF

Info

Publication number
JP2014006628A
JP2014006628A JP2012140625A JP2012140625A JP2014006628A JP 2014006628 A JP2014006628 A JP 2014006628A JP 2012140625 A JP2012140625 A JP 2012140625A JP 2012140625 A JP2012140625 A JP 2012140625A JP 2014006628 A JP2014006628 A JP 2014006628A
Authority
JP
Japan
Prior art keywords
direct communication
client
client application
transmission message
data
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.)
Granted
Application number
JP2012140625A
Other languages
Japanese (ja)
Other versions
JP5773443B2 (en
Inventor
Yoshiaki Ogawa
義明 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2012140625A priority Critical patent/JP5773443B2/en
Publication of JP2014006628A publication Critical patent/JP2014006628A/en
Application granted granted Critical
Publication of JP5773443B2 publication Critical patent/JP5773443B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a client device, a data processing method, and a program which allow data to be passed between client applications without going through a server.SOLUTION: A direct communication control unit 12 in a data filter section 10 determines whether there is a direct communication flag, which orders the exchange of data with a client application B_50 that operates on an identical client device 1, within a transmission message that is transmitted from a browser 60 executing a client application A_40. If the flag exists, the direct communication control unit 12 passes the transmission message to the browser 60 as-is without transmitting it to a server.

Description

本発明はクライアント装置、クライアント制御方法、及びプログラムに関する。   The present invention relates to a client device, a client control method, and a program.

近年のインターネット技術の普及に伴い、様々な場面でウェブアプリケーションが利用されている。ウェブサーバは、インターネット接続されたクライアント装置のブラウザソフトウェア(以下、単にブラウザと記載する)から各種入力を受け付け、当該入力に応じたコンテンツを提供する。当該コンテンツとは、例えばHTML形式で記載されたコンテンツに加え、ブラウザが実行可能な各種のスクリプト言語(たとえばJavaScript(登録商標))等が記載されたコンテンツを含む。本明細書では、ブラウザが実行可能な各種のスクリプト言語等が記載されたコンテンツをクライアントアプリケーションとも呼称する。   With the spread of Internet technology in recent years, web applications are used in various situations. The web server accepts various inputs from browser software (hereinafter simply referred to as a browser) of a client device connected to the Internet, and provides content corresponding to the input. The content includes, for example, content described in various script languages (for example, JavaScript (registered trademark)) that can be executed by a browser in addition to content described in an HTML format. In this specification, content in which various script languages that can be executed by the browser are described as a client application.

ウェブアプリケーションの普及が進むにつれて、同一クライアント装置上で複数のクライアントアプリケーション(例えばJavaScript(登録商標)等のスクリプト言語を含むウェブページ)を同時に実行する場合がある。この場合、クライアントアプリケーション間でデータの入出力を行うケースも想定される。   As web applications become more widespread, a plurality of client applications (for example, web pages including script languages such as JavaScript (registered trademark)) may be simultaneously executed on the same client device. In this case, a case where data is input / output between client applications is also assumed.

なお、特許文献1には、ウェブアプリケーションの連携方法に関する一態様が開示されている。   Patent Document 1 discloses an aspect related to a web application linkage method.

特開2011−22856号公報JP 2011-22856 A

本願発明者は、同一クライアント装置上で複数のクライアントアプリケーション(例えばJavaScript(登録商標)等のスクリプト言語を含むウェブページ)を同時に実行する場合における問題を新たに見出した。当該問題を以下に説明する。   The inventor of the present application has newly found a problem in the case where a plurality of client applications (for example, a web page including a script language such as JavaScript (registered trademark)) are simultaneously executed on the same client device. The problem will be described below.

クライアント装置上のあるクライアントアプリケーションをブラウザを介して実行し、同一クライアント装置上の他のクライアントアプリケーションにデータを受け渡す場合、一般的な手法ではブラウザはウェブサーバにアクセスを行う。そして、ウェブサーバからデータを他のクライアントアプリケーション宛てに送信することによりデータの受け渡しを行っていた。すなわち、必ずサーバを介した通信を行う必要があった。   When a client application on a client device is executed via a browser and data is transferred to another client application on the same client device, the browser accesses a web server in a general method. Then, the data is transferred by transmitting the data from the web server to another client application. That is, it is necessary to always perform communication via the server.

このように必ずサーバを介した通信を行う必要があるため、ネットワーク障害や外部要因による通信遅延の影響を受けやすいという問題があった。さらに、ネットワークを介した通信を行うため、セキュリティ上の問題が生じ得る。特に個人情報等のデータを受け渡す場合にセキュリティ上の懸念がある。   As described above, since it is necessary to always perform communication through the server, there is a problem that it is easily affected by a communication failure due to a network failure or an external factor. Furthermore, since communication is performed via a network, a security problem may occur. There is a security concern especially when transferring data such as personal information.

本願は上述した問題に鑑みてなされたものであり、サーバを介することなくクライアントアプリケーション間でデータの受け渡しを行うことができるクライアント装置、データ処理方法、及びプログラムを提供することを主たる目的とする。   The present application has been made in view of the above-described problems, and a main object thereof is to provide a client device, a data processing method, and a program that can exchange data between client applications without using a server.

本発明にかかるクライアント装置の一態様は、
ウェブサーバから供給された第1クライアントアプリケーション及び第2クライアントアプリケーションを同時実行するブラウザを有するクライアント装置であって、
前記第1クライアントアプリケーションの実行時に前記ウェブサーバへの送信メッセージ内に前記第2アプリケーションとのデータやり取りを示すダイレクト通信フラグがあるか否かを判定し、前記ダイレクト通信フラグが設定されている場合には前記送信メッセージを前記ウェブサーバに送信することなく前記第2クライアントアプリケーションを実行する前記ブラウザに引き渡すダイレクト通信制御部、
を有するものである。
One aspect of the client device according to the present invention is:
A client device having a browser for simultaneously executing a first client application and a second client application supplied from a web server,
When the first client application is executed, it is determined whether or not there is a direct communication flag indicating data exchange with the second application in a transmission message to the web server, and the direct communication flag is set Is a direct communication control unit that delivers to the browser that executes the second client application without transmitting the transmission message to the web server,
It is what has.

本発明にかかるクライアント制御方法の一態様は、
ウェブサーバから供給された第1クライアントアプリケーション及び第2クライアントアプリケーションを同時実行するブラウザを有するクライアント装置の制御方法であって、
前記第1クライアントアプリケーションの実行時に前記ウェブサーバへの送信メッセージ内に前記第2アプリケーションとのデータやり取りを示すダイレクト通信フラグがあるか否かを判定し、前記ダイレクト通信フラグが設定されている場合には前記送信メッセージを前記ウェブサーバに送信することなく前記第2クライアントアプリケーションを実行する前記ブラウザに引き渡す、
ものである。
One aspect of the client control method according to the present invention is as follows.
A method of controlling a client device having a browser that simultaneously executes a first client application and a second client application supplied from a web server,
When the first client application is executed, it is determined whether or not there is a direct communication flag indicating data exchange with the second application in a transmission message to the web server, and the direct communication flag is set Passes to the browser executing the second client application without sending the send message to the web server,
Is.

本発明にかかるプログラムの一態様は、
コンピュータに、
ウェブサーバから供給された第1クライアントアプリケーション及び第2クライアントアプリケーションを同時実行させるプログラムであって、
前記第1クライアントアプリケーションの実行時に前記ウェブサーバへの送信メッセージ内に前記第2アプリケーションとのデータやり取りを示すダイレクト通信フラグがあるか否かを判定するステップと、
前記ダイレクト通信フラグが設定されている場合には前記送信メッセージを前記ウェブサーバに送信することなく前記第2クライアントアプリケーションを実行する前記ブラウザに引き渡すステップと、
を実行させる、ものである。
One aspect of the program according to the present invention is as follows:
On the computer,
A program for simultaneously executing a first client application and a second client application supplied from a web server,
Determining whether there is a direct communication flag indicating data exchange with the second application in a transmission message to the web server when the first client application is executed;
When the direct communication flag is set, passing the transmission message to the browser that executes the second client application without transmitting to the web server;
Is to execute.

本願では、サーバを介することなくクライアントアプリケーション間でデータの受け渡しを行うことができるクライアント装置、クライアント制御方法、及びプログラムを提供することができる。   In the present application, it is possible to provide a client device, a client control method, and a program that can exchange data between client applications without going through a server.

実施の形態1にかかるクライアント装置1の構成を示すブロック図である。1 is a block diagram showing a configuration of a client device 1 according to a first embodiment. 実施の形態1にかかるクライアントアプリケーション_A40のコード例を示す図である。It is a figure which shows the code example of client application_A40 concerning Embodiment 1. FIG. 実施の形態1にかかるクライアントアプリケーション_B50のコード例を示す図である。It is a figure which shows the code example of client application_B50 concerning Embodiment 1. FIG. 実施の形態1にかかるブラウザ60から送信される送信メッセージを示す図である。It is a figure which shows the transmission message transmitted from the browser 60 concerning Embodiment 1. FIG. 実施の形態1にかかる変換部13が用いる変換ルールを示す図である。It is a figure which shows the conversion rule which the conversion part 13 concerning Embodiment 1 uses. 実施の形態1にかかるブラウザ60に引き渡される送信メッセージを示す図である。It is a figure which shows the transmission message delivered to the browser 60 concerning Embodiment 1. FIG. 実施の形態1にかかるクライアント装置1の動作を示すフローチャートである。3 is a flowchart illustrating an operation of the client device 1 according to the first exemplary embodiment. 実施の形態1にかかるクライアント装置1の動作を示すフローチャートである。3 is a flowchart illustrating an operation of the client device 1 according to the first exemplary embodiment. 実施の形態1にかかるクライアント装置1の動作概念を示す図である。FIG. 3 is a diagram illustrating an operation concept of the client device 1 according to the first embodiment. 実施の形態1にかかるクライアント装置1の動作概念を示す図である。FIG. 3 is a diagram illustrating an operation concept of the client device 1 according to the first embodiment.

<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。図1は、本実施の形態にかかるクライアント装置1の構成を示すブロック図である。クライアント装置1は、データフィルタ部10と、ネットワークドライバ部20と、カーネル部30と、ブラウザ60を有する。なお、クライアント装置10上ではブラウザ60を介して2つのクライアントアプリケーション(クライアントアプリケーション_A40、クライアントアプリケーション_B50)が実行されている。
<Embodiment 1>
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the client device 1 according to the present embodiment. The client device 1 includes a data filter unit 10, a network driver unit 20, a kernel unit 30, and a browser 60. Note that two client applications (client application_A 40 and client application_B 50) are executed on the client device 10 via the browser 60.

クライアント装置1は、一般的なネットワーク通信機能を持つ端末であればよく、例えばパーソナルコンピュータ、携帯電話、スマートフォン、PDA(Personal Digital Assistant)等であればよい。   The client device 1 may be a terminal having a general network communication function, and may be a personal computer, a mobile phone, a smartphone, a PDA (Personal Digital Assistant), or the like.

ここでクライアントアプリケーション_A40及びクライアントアプリケーションB_50は、ブラウザ60などのクライアントサイドで実行される。例えば、クライアントアプリケーション_A40及びクライアントアプリケーションB_50は、HTML言語で記載された静的なコードと、スクリプト言語(JavaScript(登録商標)等)により記述されたプログラムコードを含む。   Here, the client application_A 40 and the client application B_ 50 are executed on the client side such as the browser 60. For example, each of the client application_A 40 and the client application B_50 includes a static code written in an HTML language and a program code written in a script language (such as JavaScript (registered trademark)).

クライアントアプリケーション_A40のコード例を図2に示す。クライアントアプリケーション_A40は、あるスクリプト言語(A言語とする)のコードを含む。ここで、ウェブサーバから当該コードをダウンロードした際に、他のクライアントアプリケーションとの直接通信を指示する特定のタグ(図2の例では"directCommunication")が含まれている。なお、他のクライアントアプリケーションとの直接通信を以下の説明ではダイレクト通信と呼称する。"directCommunication"は、他のクライアントアプリケーションに受け渡すデータを指示するタグであり、"data−A1"として関数"A−func()"の実行結果を受け渡し、"data−A2"として数値"33"を受け渡すことが規定されている。また、"directCommunication"には、データの受け渡し先となるクライアントアプリケーションの識別子("address=B")が含まれている。   FIG. 2 shows a code example of the client application_A40. The client application_A40 includes a code of a certain script language (A language). Here, when the code is downloaded from the web server, a specific tag (“directCommunication” in the example of FIG. 2) instructing direct communication with another client application is included. In the following description, direct communication with other client applications is referred to as direct communication. “DirectCommunication” is a tag for instructing data to be transferred to another client application, passes the execution result of the function “A-func ()” as “data-A1”, and has a numerical value “33” as “data-A2” It is prescribed to deliver. Further, “directCommunication” includes an identifier (“address = B”) of a client application that is a data transfer destination.

同様にクライアントアプリケーション_B50のコード例を図3に示す。クライアントアプリケーション_B50は、クライアントアプリケーション_A40とは別のスクリプト言語(B言語とする)のコードを含む。当該コードには、データ種別"dataB−1"、"dataB−2"のデータを表示する内容が記載されている。   Similarly, FIG. 3 shows a code example of the client application_B50. The client application_B50 includes code of a script language (B language) different from the client application_A40. In the code, contents for displaying data of data types “dataB-1” and “dataB-2” are described.

なお図1の例では2つのクライアントアプリケーションが動作している例を示したが、必ずしもこれに限られず、クライアント装置1は3以上のクライアントアプリケーションを実行しても良い。また、上述のタグ名("directCommunication")等はあくまで一例であり、他の名称、他のフォーマットで記載されても良いことは勿論である。   Although the example of FIG. 1 shows an example in which two client applications are operating, the present invention is not limited to this, and the client device 1 may execute three or more client applications. In addition, the above-described tag name (“direct Communication”) and the like are merely examples, and of course, other names and other formats may be used.

ブラウザ60は、ダイレクト通信要求のタグを含む場合に、当該要求の情報を含む送信メッセージをネットワーク上のウェブサーバ(詳細にはクライアントアプリケーションA_40の配信元のサーバ)に送信する。当該送信メッセージの一例を図4に示す。当該メッセージは、上述のダイレクト通信に関するフラグ(ダイレクト通信を行うか否か)及びダイレクト通信を行う際の受け渡しデータを含む。図4の例では、ダイレクト通信の実行可否を示すフラグ("flag")、データ送信元のアプリケーション識別子("A"),データ送信先のアプリケーション識別子("B")、送信データ("dataA−1"、"dataA−2")が記載されている。   When the browser 60 includes a direct communication request tag, the browser 60 transmits a transmission message including the information of the request to a web server on the network (specifically, a server that is a distribution source of the client application A_40). An example of the transmission message is shown in FIG. The message includes a flag related to the direct communication (whether or not to perform direct communication) and delivery data when performing direct communication. In the example of FIG. 4, a flag (“flag”) indicating whether or not direct communication can be executed, a data transmission source application identifier (“A”), a data transmission destination application identifier (“B”), transmission data (“dataA−”). 1 "," data A-2 ").

以下の説明では、当該メッセージ(図4)はXML(eXtensible Markup Language)形式のメッセージであるものとして説明するが、送信フォーマットはXML形式に限られることなく、ブラウザ60及びウェブサーバが解釈できる任意の形式(例えば各種のHTTPメソッド(HTTP POSTメソッド、HTTP PUTメソッド等)に埋め込まれる方式)で表現すればよい。   In the following description, the message (FIG. 4) is described as an XML (eXtensible Markup Language) format message. However, the transmission format is not limited to the XML format, and any message that can be interpreted by the browser 60 and the web server. It may be expressed in a format (for example, a method embedded in various HTTP methods (HTTP POST method, HTTP PUT method, etc.)).

ネットワークドライバ部20は、オペレーティングシステム等が提供するネットワークの管理機能を実行する。カーネル部30は、オペレーティングシステムが提供するシステムリソース処理等を実行する。   The network driver unit 20 executes a network management function provided by an operating system or the like. The kernel unit 30 executes system resource processing provided by the operating system.

データフィルタ部10は、アプリケーション(API)制御部11と、ダイレクト通信制御部12と、HTML変換部13と、ドライバインターフェイス制御部14と、を備える。   The data filter unit 10 includes an application (API) control unit 11, a direct communication control unit 12, an HTML conversion unit 13, and a driver interface control unit 14.

ドライバインターフェイス制御部14は、データフィルタ部10内の各処理部とネットワークドライバ部20とのデータやり取りを行う際のインターフェイスとして動作する。   The driver interface control unit 14 operates as an interface for data exchange between each processing unit in the data filter unit 10 and the network driver unit 20.

アプリケーション(API)制御部11は、各種のクライアントアプリケーションのAPI(Application Programming Interface)を解釈し、送信されたHTMLデータやHTTPメッセージを抽出する。   The application (API) control unit 11 interprets APIs (Application Programming Interfaces) of various client applications, and extracts transmitted HTML data and HTTP messages.

ダイレクト通信制御部12は、ブラウザ60からの送信メッセージ(図4)からダイレクト通信を指示するフラグ("directCommunication")があるか否かを検証する。当該フラグがある場合、ダイレクト通信制御部12は、当該フラグに関連付けられた宛先や受け渡すデータを抽出する。図4の例では、ダイレクト通信制御部12は、当該メッセージ内にダイレクト通信を指示するフラグがある(<flag>yes</flag>)と判定する。そしてダイレクト通信制御部12は、"data−A1"及び"data−A2"をクライアントアプリケーション"B"(クライアントアプリケーションB_50の識別子)に受け渡すというデータとして抽出する。   The direct communication control unit 12 verifies whether there is a flag (“direct Communication”) instructing direct communication from the transmission message (FIG. 4) from the browser 60. When the flag is present, the direct communication control unit 12 extracts a destination associated with the flag and data to be transferred. In the example of FIG. 4, the direct communication control unit 12 determines that there is a flag instructing direct communication in the message (<flag> yes </ flag>). Then, the direct communication control unit 12 extracts “data-A1” and “data-A2” as data to be transferred to the client application “B” (identifier of the client application B_50).

変換部13は、ダイレクト通信により受け渡すデータを受け渡し先のクライアントアプリケーションに応じて変換する。変換部13は、予め定められた変換ルールに応じてデータを変換する。以下の説明では、データの送信元のクライアントアプリケーションA_40のコードを図2に示すコードとし、データの送信先のクライアントアプリケーションB_50のコードを図3に示すコードとする。また、変換部13が使用する変換ルールの一例を図5に示す。   The conversion unit 13 converts data to be transferred by direct communication according to the client application of the transfer destination. The conversion unit 13 converts the data according to a predetermined conversion rule. In the following description, the code of the client application A_40 that is the data transmission source is the code shown in FIG. 2, and the code of the client application B_50 that is the data transmission destination is the code shown in FIG. An example of the conversion rule used by the conversion unit 13 is shown in FIG.

図5に示すように、クライアントアプリケーションA_40とクライアントアプリケーションB_50との間のデータの対応関係が規定されている。例えば図5には、"dataA−1"と"dataB−1"が等しいこと、dataA−2" に2を乗算した値と"dataB−2"が等しいこと、等が記載されている。   As shown in FIG. 5, the data correspondence between the client application A_40 and the client application B_50 is defined. For example, FIG. 5 describes that “dataA-1” and “dataB-1” are equal, a value obtained by multiplying “dataA-2” by 2 and “dataB-2” are equal, and the like.

変換部13は、送信メッセージ(図4)内から読み出したデータを変換ルールに応じて送信先に適応するように変換する。変換後のメッセージ例を図6に示す。図示するように、各データがクライアントアプリケーションB_50に応じたメッセージに変換されている。例えば"dataA−1"が"dataB−1"に変換され、"dataA−2"に2を乗算した値が"dataB−2"と記載されている。なお、図6に示すメッセージ形式(XML形式)もあくまで一例であり、ブラウザ60が解釈可能な任意の形式であればよい。   The conversion unit 13 converts the data read from the transmission message (FIG. 4) so as to be adapted to the transmission destination according to the conversion rule. An example of the message after conversion is shown in FIG. As shown in the figure, each data is converted into a message corresponding to the client application B_50. For example, “data A-1” is converted to “data B-1”, and a value obtained by multiplying “data A-2” by 2 is described as “data B-2”. The message format (XML format) shown in FIG. 6 is merely an example, and any format that can be interpreted by the browser 60 may be used.

ブラウザ60は、ダイレクト通信制御部12から変換部13を介して受信した送信メッセージ(図6)を解釈して表示処理を行う。なお、ブラウザ60上で実行されているクライアントアプリケーションが同一視できる場合(例えば同一のスクリプト言語を用いている場合)には変換部13による変換を行わなくてもよい。   The browser 60 interprets the transmission message (FIG. 6) received from the direct communication control unit 12 via the conversion unit 13 and performs display processing. When the client application running on the browser 60 can be identified (for example, when the same script language is used), the conversion by the conversion unit 13 may not be performed.

続いて、図7及び図8のフローチャートを参照して本実施の形態にかかるクライアント装置の動作について説明する。図7は、クライアントアプリケーションA_40(ダイレクト通信送信側)の実行中の動作を示すフローチャートである。   Next, the operation of the client device according to the present embodiment will be described with reference to the flowcharts of FIGS. FIG. 7 is a flowchart showing an operation during execution of the client application A_40 (direct communication transmission side).

ウェブアプリケーションA_40を実行するブラウザ60は、コード内(図2)からダイレクト通信要求を示すタグを抽出する(S11)。ブラウザ60は、ウェブアプリケーションA_40の供給元のサーバに送信するメッセージを生成し(S12)、ダイレクト通信要求を示すタグから読み出した各種のデータを基に送信メッセージを設定する(S13)。なおダイレクト通信を指示するタグが設定されていない場合、ダイレクト通信制御部12は、ダイレクト通信要求用のタグの埋め込みは行わない。ブラウザ60は、設定(S13)の後に当該メッセージを送信する(S14)。   The browser 60 that executes the web application A_40 extracts a tag indicating a direct communication request from the code (FIG. 2) (S11). The browser 60 generates a message to be transmitted to the server that supplies the web application A_40 (S12), and sets a transmission message based on various data read from the tag indicating the direct communication request (S13). Note that when a tag for direct communication is not set, the direct communication control unit 12 does not embed a tag for direct communication request. The browser 60 transmits the message after setting (S13) (S14).

続いて図8を参照してデータフィルタ部10の動作を説明する。データフィルタ部10は、ネットワークドライバ部20にアタッチし、メッセージの受信待ちを行う(S21、S22)。ダイレクト通信制御部12は、送信メッセージ内からダイレクト通信用タグ("directCommunication")を取り出し(S23)、当該タグからダイレクト通信用のフラグ("flag")タグを抽出する(S24)。   Next, the operation of the data filter unit 10 will be described with reference to FIG. The data filter unit 10 attaches to the network driver unit 20 and waits for message reception (S21, S22). The direct communication control unit 12 extracts a direct communication tag ("direct Communication") from the transmission message (S23), and extracts a direct communication flag ("flag") tag from the tag (S24).

読み出したダイレクト通信用のフラグ("flag")の値が"Yes"であった場合、ダイレクト通信制御部12はダイレクト通信要求であると判定する(S25:Yes)。ダイレクト通信要求である場合(S25:Yes)、変換部13は送信メッセージを変換ルール(図5)に基づいて変換し(S26)、変換後のデータをブラウザ60に引き渡す(S27)。   If the value of the read flag for direct communication (“flag”) is “Yes”, the direct communication control unit 12 determines that the request is a direct communication request (S25: Yes). If the request is a direct communication request (S25: Yes), the conversion unit 13 converts the transmission message based on the conversion rule (FIG. 5) (S26), and delivers the converted data to the browser 60 (S27).

ダイレクト通信用のフラグ("flag")タグが設定されていない場合やダイレクト通信用のフラグ("flag")タグに"No"等が設定されている場合、ダイレクト通信制御部12はダイレクト通信要求ではないと判定する(S25:No)。この場合、ダイレクト通信制御部12は、送信メッセージをドライバインターフェイス制御部14を介してネットワークドライバ部20に引き渡す(S28)。ネットワークドライバ部20は、当該送信メッセージをウェブサーバに送信する。   When the direct communication flag ("flag") tag is not set or when "No" or the like is set in the direct communication flag ("flag") tag, the direct communication control unit 12 requests the direct communication. (S25: No). In this case, the direct communication control unit 12 delivers the transmission message to the network driver unit 20 via the driver interface control unit 14 (S28). The network driver unit 20 transmits the transmission message to the web server.

次に、本実施の形態にかかるクライアント装置1の動作概念を図9の概念図を参照して説明する。前述のようにデータフィルタ部10内のダイレクト通信制御部12は、送信メッセージにダイレクト通信を指示するフラグが含まれているか否かを判定する。ダイレクト通信制御を指示するフラグが含まれている場合、データフィルタ部10は、ウェブサーバに送信メッセージを送信することなく、必要な変換処理を行った上で送信メッセージをそのままブラウザ60に引き渡す(図9実線矢印部分)。   Next, the operation concept of the client device 1 according to the present embodiment will be described with reference to the conceptual diagram of FIG. As described above, the direct communication control unit 12 in the data filter unit 10 determines whether or not the transmission message includes a flag instructing direct communication. When the flag for instructing direct communication control is included, the data filter unit 10 performs necessary conversion processing without transmitting the transmission message to the web server, and delivers the transmission message as it is to the browser 60 (FIG. 9 solid arrows).

一方、ダイレクト通信制御を指示するフラグが含まれていない場合、データフィルタ部10は、ネットワークドライバ部20を介して送信メッセージをウェブサーバに送信する(図9破線矢印部分)。   On the other hand, if the flag for direct communication control is not included, the data filter unit 10 transmits a transmission message to the web server via the network driver unit 20 (broken line arrow portion in FIG. 9).

続いて、本実施の形態にかかるクライアント装置1の効果について説明する。上述したようにダイレクト通信制御部12は、ウェブサーバに送信する送信メッセージ内にダイレクト通信用のフラグが設定されているか否かを判定し、フラグが設定されている場合にはウェブサーバに送信メッセージを送信することなく、通信先のクライアントアプリケーションに受け渡す。これにより、ウェブサーバを介さずにクライアントアプリケーション間でデータの受け渡しを行うことが可能となる。   Then, the effect of the client apparatus 1 concerning this Embodiment is demonstrated. As described above, the direct communication control unit 12 determines whether or not a flag for direct communication is set in the transmission message transmitted to the web server, and when the flag is set, the direct message control unit 12 transmits the message to the web server. Is sent to the client application without communicating. This makes it possible to exchange data between client applications without going through the web server.

さらに、同一クライアント装置上で動作するクライアントアプリケーションが直接通信できることにより、ネットワークアクセスに伴う悪影響を受ける可能性を減らすことができる。上述の悪影響とは、ネットワーク障害や外部要因による通信遅延、通信遮断、データの漏えい等のセキュリティ侵害等を含む。   Further, since client applications operating on the same client device can directly communicate with each other, the possibility of being adversely affected by network access can be reduced. The above-mentioned adverse effects include security breaches such as a network failure, communication delay due to external factors, communication interruption, data leakage, and the like.

さらに上述の方式は、ブラウザ60とネットワークドライバ部20との間に設けられるデータフィルタ部10により実現される。これにより、ウェブアプリケーションの動作環境に影響を与えることなく、上述の効果(ウェブサーバを介さずにデータの受け渡し等)を実現することができる。   Further, the above-described method is realized by the data filter unit 10 provided between the browser 60 and the network driver unit 20. As a result, the above-described effects (such as data transfer without using a web server) can be realized without affecting the operating environment of the web application.

上述のクライアント装置1内の各処理部(データフィルタ部10、ネットワークドライバ部20、カーネル部30、ブラウザ60)の各処理は、任意のコンピュータ内で動作するプログラムとして実現してもよい。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   Each process of each processing unit (the data filter unit 10, the network driver unit 20, the kernel unit 30, and the browser 60) in the client device 1 may be realized as a program that operates in an arbitrary computer. The program may be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W and semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)) are included. The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.

最後に、図10を参照して本発明の概要を改めて説明する。データフィルタ部10内のダイレクト通信制御部12は、クライアントアプリケーションA_40を実行するブラウザ60から送信された送信メッセージ内に同一クライアント装置1上で動作するクライアントアプリケーションB_50とのデータやり取りを指示するダイレクト通信用のフラグがあるか否かを判定する。   Finally, the outline of the present invention will be described again with reference to FIG. The direct communication control unit 12 in the data filter unit 10 is for direct communication instructing data exchange with the client application B_50 operating on the same client device 1 in a transmission message transmitted from the browser 60 that executes the client application A_40. It is determined whether there is a flag.

当該フラグがある場合、ダイレクト通信制御部12は、当該送信メッセージをサーバに送信することなく、そのままブラウザ60に引き渡す(図10実線部分)。これにより、ウェブサーバを介した通信回数を削減でき、ネットワークやサーバに起因する各種の問題(通信遅延、セキュリティ上の問題)等を回避することができる。さらに、当該構成は、一般的なウェブサーバとブラウザにより実現されるウェブアプリケーションに親和性が高い(適応が容易である)。   When there is the flag, the direct communication control unit 12 delivers the transmission message to the browser 60 as it is without transmitting it to the server (the solid line portion in FIG. 10). Thereby, the frequency | count of communication via a web server can be reduced and the various problems (communication delay, security problem), etc. resulting from a network or a server can be avoided. Further, this configuration has high affinity (easy adaptation) to a web application realized by a general web server and browser.

1 クライアント装置
10 データフィルタ部
11 アプリケーション(API)制御部
12 ダイレクト通信制御部
13 変換部
14 ドライバインターフェイス制御部
20 ネットワークドライバ部
30 カーネル部
40 クライアントアプリケーションA
50 クライアントアプリケーションB
60 ブラウザ
DESCRIPTION OF SYMBOLS 1 Client apparatus 10 Data filter part 11 Application (API) control part 12 Direct communication control part 13 Conversion part 14 Driver interface control part 20 Network driver part 30 Kernel part 40 Client application A
50 Client application B
60 browser

Claims (9)

ウェブサーバから供給された第1クライアントアプリケーション及び第2クライアントアプリケーションを同時実行するブラウザを有するクライアント装置であって、
前記第1クライアントアプリケーションの実行時に前記ウェブサーバへの送信メッセージ内に前記第2アプリケーションとのデータやり取りを示すダイレクト通信フラグがあるか否かを判定し、前記ダイレクト通信フラグが設定されている場合には前記送信メッセージを前記ウェブサーバに送信することなく前記第2クライアントアプリケーションを実行する前記ブラウザに引き渡すダイレクト通信制御部、を有するクライアント装置。
A client device having a browser for simultaneously executing a first client application and a second client application supplied from a web server,
When the first client application is executed, it is determined whether or not there is a direct communication flag indicating data exchange with the second application in a transmission message to the web server, and the direct communication flag is set A client apparatus comprising: a direct communication control unit that delivers the transmission message to the browser that executes the second client application without transmitting the transmission message to the web server.
前記ダイレクト通信制御部は、前記ダイレクト通信フラグが存在しない場合または無効値が設定されている場合、前記送信メッセージを前記ウェブサーバに送信する、請求項1に記載のクライアント装置。   The client device according to claim 1, wherein the direct communication control unit transmits the transmission message to the web server when the direct communication flag does not exist or an invalid value is set. 前記ダイレクト通信制御部が前記ダイレクト通信フラグを検出した場合、前記送信メッセージに含まれる前記第1アプリケーション用のデータを予め定められた変換テーブルに応じて前記第2クライアントアプリケーションのデータに変換する変換部を更に備える請求項1または請求項2に記載のクライアント装置。   When the direct communication control unit detects the direct communication flag, the conversion unit converts the data for the first application included in the transmission message into the data for the second client application according to a predetermined conversion table. The client device according to claim 1, further comprising: ウェブサーバから供給された第1クライアントアプリケーション及び第2クライアントアプリケーションを同時実行するブラウザを有するクライアント装置の制御方法であって、
前記第1クライアントアプリケーションの実行時に前記ウェブサーバへの送信メッセージ内に前記第2アプリケーションとのデータやり取りを示すダイレクト通信フラグがあるか否かを判定し、前記ダイレクト通信フラグが設定されている場合には前記送信メッセージを前記ウェブサーバに送信することなく前記第2クライアントアプリケーションを実行する前記ブラウザに引き渡す、クライアント制御方法。
A method of controlling a client device having a browser that simultaneously executes a first client application and a second client application supplied from a web server,
When the first client application is executed, it is determined whether or not there is a direct communication flag indicating data exchange with the second application in a transmission message to the web server, and the direct communication flag is set Is a client control method for delivering the transmission message to the browser executing the second client application without transmitting the transmission message to the web server.
前記ダイレクト通信フラグが存在しない場合または無効値が設定されている場合、前記送信メッセージを前記ウェブサーバに送信する、請求項4に記載のクライアント制御方法。   The client control method according to claim 4, wherein when the direct communication flag does not exist or when an invalid value is set, the transmission message is transmitted to the web server. 前記ダイレクト通信フラグを検出した場合、前記送信メッセージに含まれる前記第1アプリケーション用のデータを予め定められた変換テーブルに応じて前記第2クライアントアプリケーションのデータに変換する請求項4または請求項5に記載のクライアント制御方法。   6. The method according to claim 4, wherein when the direct communication flag is detected, the data for the first application included in the transmission message is converted into data for the second client application according to a predetermined conversion table. The client control method described. コンピュータに、
ウェブサーバから供給された第1クライアントアプリケーション及び第2クライアントアプリケーションを同時実行させるプログラムであって、
前記第1クライアントアプリケーションの実行時に前記ウェブサーバへの送信メッセージ内に前記第2アプリケーションとのデータやり取りを示すダイレクト通信フラグがあるか否かを判定するステップと、
前記ダイレクト通信フラグが設定されている場合には前記送信メッセージを前記ウェブサーバに送信することなく前記第2クライアントアプリケーションを実行する前記ブラウザに引き渡すステップと、
を実行させるプログラム。
On the computer,
A program for simultaneously executing a first client application and a second client application supplied from a web server,
Determining whether there is a direct communication flag indicating data exchange with the second application in a transmission message to the web server when the first client application is executed;
When the direct communication flag is set, passing the transmission message to the browser that executes the second client application without transmitting to the web server;
A program that executes
前記ダイレクト通信フラグが存在しない場合または無効値が設定されている場合、前記送信メッセージを前記ウェブサーバに送信するステップを実行する、請求項7に記載のプログラム。 The program according to claim 7, wherein when the direct communication flag does not exist or an invalid value is set, a step of transmitting the transmission message to the web server is executed. 前記ダイレクト通信フラグを検出した場合、前記送信メッセージに含まれる前記第1アプリケーション用のデータを予め定められた変換テーブルに応じて前記第2クライアントアプリケーションのデータに変換するステップを実行する、請求項7または請求項8に記載のプログラム。   8. When the direct communication flag is detected, the step of converting the data for the first application included in the transmission message into data for the second client application according to a predetermined conversion table is executed. Or the program of Claim 8.
JP2012140625A 2012-06-22 2012-06-22 Client device, client control method, and program Expired - Fee Related JP5773443B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012140625A JP5773443B2 (en) 2012-06-22 2012-06-22 Client device, client control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012140625A JP5773443B2 (en) 2012-06-22 2012-06-22 Client device, client control method, and program

Publications (2)

Publication Number Publication Date
JP2014006628A true JP2014006628A (en) 2014-01-16
JP5773443B2 JP5773443B2 (en) 2015-09-02

Family

ID=50104305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012140625A Expired - Fee Related JP5773443B2 (en) 2012-06-22 2012-06-22 Client device, client control method, and program

Country Status (1)

Country Link
JP (1) JP5773443B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110231895A (en) * 2019-04-25 2019-09-13 努比亚技术有限公司 A kind of image notification method, wearable device and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328134A (en) * 1998-05-14 1999-11-30 Hitachi Ltd Method for transmitting and receiving data between computers
JP2001101052A (en) * 1999-09-27 2001-04-13 Internatl Business Mach Corp <Ibm> Collaboration system, collaboration server, document file transferring method, storage medium and program transferring device
JP2002041293A (en) * 2000-07-28 2002-02-08 Hitachi Ltd Program control method and program control system
JP2011022856A (en) * 2009-07-16 2011-02-03 Fujitsu Ltd Method, apparatus and program for coordinating web application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328134A (en) * 1998-05-14 1999-11-30 Hitachi Ltd Method for transmitting and receiving data between computers
JP2001101052A (en) * 1999-09-27 2001-04-13 Internatl Business Mach Corp <Ibm> Collaboration system, collaboration server, document file transferring method, storage medium and program transferring device
JP2002041293A (en) * 2000-07-28 2002-02-08 Hitachi Ltd Program control method and program control system
JP2011022856A (en) * 2009-07-16 2011-02-03 Fujitsu Ltd Method, apparatus and program for coordinating web application

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110231895A (en) * 2019-04-25 2019-09-13 努比亚技术有限公司 A kind of image notification method, wearable device and computer readable storage medium

Also Published As

Publication number Publication date
JP5773443B2 (en) 2015-09-02

Similar Documents

Publication Publication Date Title
US20200322438A1 (en) Third Party Validation of Web Content
US9706371B2 (en) Push notification middleware
JP5022301B2 (en) Proxy server, communication relay program, and communication relay method
US9246844B2 (en) Method for activating and deactivating client-side services from a remote server
US20200151039A1 (en) Information processing method and device
JP2015228251A (en) Mobile device, communication method, and recording medium
US20190173960A1 (en) Method, device and computer program product for protocol selection
JP2013543189A (en) Method and apparatus for controlling a remote device using SMS
CN102495890A (en) Embedded browser application extension system and method
JP2018537777A (en) Internet of things information system
WO2017088369A1 (en) Data cross-domain request method, device and system
TWI713342B (en) Object uploading method and device
US10044788B2 (en) Native client multimedia redirection
JP2011040066A (en) Apparatus and method of data communication between web applications
JP5773443B2 (en) Client device, client control method, and program
JP2018088162A (en) Information processing device, information processing method, and program
WO2015158262A1 (en) Method for sending and generating card/coupon, public account server, and mobile terminal
US11695814B2 (en) Method and apparatus for stream descriptor binding in a streaming environment
KR20110118000A (en) Apparatus for interoperability between web-browser and local-resources in the mobile device and method thereof
US9369467B1 (en) System, method, and computer program for providing generic access to web content on a mobile device
US20150100629A1 (en) Method for providing cloud service, and system and apparatus therefor
CN103347038A (en) Method of WEB server for processing http messages
US20120284342A1 (en) Method and apparatus for connecting devices
CN114745367B (en) Data transmission method, device, electronic equipment and storage medium
CN106341293B (en) A kind of method and device of information system access Enterprise Service Bus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150520

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150625

R150 Certificate of patent or registration of utility model

Ref document number: 5773443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees