Emulation system and emulation method

By introducing a mode emulator in the client browser, rewriting the function of the new version of the browser to the old version standard function, the operation abnormality caused by inconsistent browser versions is solved, and normal operation without server modification is achieved.

JP7619518B1Active Publication Date: 2025-01-22TOYODA GOSEI CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024193307
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2025-01-22
Estimated Expiration
2044-11-01

AI Technical Summary

Technical Problem

In the information exchange between the client and the server, due to inconsistent browser versions, normal operations cannot be guaranteed. The existing technology requires version updates on both the server and the client, which increases cost and management complexity.

Method used

By introducing a pattern emulator into the client's browser, emulating the old version of the browser environment, using the pattern emulator in the HTML file to call partly rewrite the new version of the browser function, so that it complies with the standard functions of the old version and ensure normal operation.

Benefits of technology

The normal operation of the client is ensured without modifying the server program, reducing management complexity and cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007619518000001_ABST
    Figure 0007619518000001_ABST
Patent Text Reader

Abstract

To simply guarantee normal operation at a client terminal without modifying a program on the server side. [Solution] An emulation system executes operations in a web browser of a client terminal based on an HTML file downloaded from a server having an HTML file and corresponding to an old standard function of an older version to a client terminal corresponding to a new standard function of a newer version. In the emulation system, the server has a mode emulator corresponding to the old standard function, and the HTML file includes an emulator calling unit. The client terminal has a rewriting unit that rewrites standard functions used for operations in the web browser from new standard functions to old standard functions based on the mode emulator read by execution of the emulator calling unit, and an execution unit that executes operations in the web browser according to the rewritten old standard functions.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an emulation system and an emulation method. [Background technology]

[0002] When transmitting information between a client terminal such as a PC or mobile terminal and a server, it is common to connect the client terminal and the server via a network and use the same web browser specifications. Meanwhile, web browser specifications are updated in line with the development of the Internet. If the versions of the client terminal and the server are different, there is a risk that normal operation cannot be guaranteed. Therefore, when the web browser specifications are updated, it is ideal to immediately update both the client terminal and the server in order to guarantee normal operation between the client terminal and the server.

[0003] For example, in the system described in Patent Document 1, after the version is updated on the server side, in order to ensure normal operation on the client terminal side, a version update is prompted on the client terminal side, or it is checked whether the version on the client terminal side is a version for which normal operation is guaranteed, and if the versions are different, a new version is downloaded on the client terminal side to ensure that the versions match. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2003-280842 A Summary of the Invention [Problem to be solved by the invention]

[0005] Web browser versions become newer as the web browser or OS (Operating System) is updated, upgraded, discontinued, or renewed. For example, the web browser was recently switched from IE (Internet Explorer) to ME (Microsoft Edge). Currently, IE is supported by ME, but it has been announced that support for IE will end in the future.

[0006] If the server is upgraded before the end of support for the web browser, it will be possible for the web browser to execute operations immediately after downloading the HTML file on a client terminal with a newer version of the standard functions. However, with this configuration, the server will be forced to update the web browser specifications to the upgraded version before the end of support, which will lead to increased costs and high risks due to program development on the server side.

[0007] It is also possible to use an extension function of a web browser such as IE view to have a client terminal download an HTML file from a server and then execute the operation in the web browser. However, with this configuration, when the web browser is updated, it may be necessary to modify the program, and furthermore, it may be necessary to install an extension function on the client terminal, which may make management on the client terminal complicated.

[0008] On the other hand, if the version of the server's standard functions is maintained at an old version until support for the current web browser ends, even if the web browser on the client terminal is updated to a newer version, the HTML files downloaded from the server to the client terminal will still be of the old version, which may hinder normal operation of the client terminal when browsing the web.

[0009] Therefore, the present disclosure has been made in consideration of the above circumstances, and aims to provide an emulation system and an emulation method that can easily ensure normal operation on a client terminal without program modification on the server side. [Means for solving the problem]

[0010] One aspect of the present disclosure is an emulation system that executes operation in a web browser corresponding to a new standard function possessed by a client terminal based on an HTML file downloaded from a server that has an HTML file and is compatible with an old standard function that is an older version to the client terminal that is compatible with a new standard function that is a newer version than the old standard function, wherein the server has a mode emulator corresponding to the old standard function, the HTML file includes an emulator calling unit that calls the mode emulator, and the client terminal has a rewrite unit that rewrites the standard function used for operation in the web browser from the new standard function to the old standard function based on the mode emulator called by execution of the emulator calling unit of the downloaded HTML file, and an execution unit that executes operation in the web browser in accordance with the old standard function rewritten by the rewrite unit.

[0011] Moreover, one aspect of the present disclosure is an emulation method for executing operation in a web browser corresponding to a new standard function possessed by a client terminal based on an HTML file downloaded from a server having an HTML file and corresponding to an old standard function of an older version to the client terminal corresponding to a new standard function of a newer version than the old standard function, wherein the server has a mode emulator corresponding to the old standard function, the HTML file includes an emulator calling unit that calls the mode emulator, and the client terminal includes a rewrite process in which the client terminal rewrites a standard function used for operation in the web browser from the new standard function to the old standard function based on the mode emulator called by execution of the emulator calling unit of the downloaded HTML file, and an execution process in which the client terminal executes operation in the web browser in accordance with the old standard function rewritten in the rewrite process.

[0012] According to these configurations, normal operation at the client terminal can be easily guaranteed without modifying the program on the server side. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a configuration diagram of an emulation system according to an embodiment of the present disclosure. [Diagram 2] 2 is a configuration diagram including information transmission and reception between a server and a client terminal in an emulation system according to an embodiment; [Diagram 3] 11 is a diagram illustrating an operational process procedure after downloading an HTML file in a client terminal according to an embodiment. [Figure 4] 11 illustrates an example of an HTML file transmitted by the server of the embodiment to the client terminal; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Hereinafter, specific embodiments of an emulation system to which an emulation method according to the present disclosure is applied will be described with reference to FIGS.

[0015] The emulation system 1 of this embodiment is a system applied to a computer system in which a server 10 and a client terminal 20 communicate with each other. The emulation system 1 is a system that executes an operation in a web browser that corresponds to a new standard function possessed by the client terminal 20, based on an HTML file downloaded from the server 10 that has an HTML file and corresponds to an old standard function of an older version to the client terminal 20 that corresponds to a new standard function of a newer version than the old standard function.

[0016] Specifically, the emulation system 1 creates a pseudo old version environment on a new version web browser in the client terminal 20 based on an HTML file downloaded from an old version server 10 to a new version client terminal, and executes the operations of the web browser. The operations to be executed may be any that are performed on a web browser, such as the processing of an accounting program.

[0017] As shown in Fig. 1, the server 10 and the client terminal 20 are connected to each other for communication via a network 30. The server 10 and the client terminal 20 exchange information such as files or data via the network 30. The network 30 is an Internet network, an intranet network, or the like. The network 30 may be a wireless network or a wired network. The communication method between the server 10 and the client terminal 20 is a request-response communication method. This communication method may be a socket communication method.

[0018] The server 10 is a computer that transmits and receives information to the client terminal 20 and provides information to the client terminal 20. The server 10 is composed of, for example, a CPU, a storage device, an input / output device, etc. The server 10 is capable of executing a program to create an HTML file in response to a request from the client terminal 20, and is also capable of downloading the HTML file to the client terminal 20 as a response.

[0019] 1, 2, and 3, the server 10 has a database 11, a mode emulator 14, JavaScript 15, and a CSS 16. The database 11 is a device that holds programs and data to be sent to the client terminal 20. When the server 10 receives a request from the client terminal 20, it reads out the necessary program 12 from the database 11 and creates an HTML file 13.

[0020] The HTML file 13 created by the server 10 is used to structure the contents such as text, images, links, etc. displayed on the web browser. As shown in Fig. 4, the HTML file 13 includes HTML tags 17, and is configured to be able to call a mode emulator 14, JavaScript 15, and CSS 16 as necessary.

[0021] JavaScript 15 in the server 10 is a programming language that corresponds to old standard functions of an older version and describes text, images, etc., to be displayed on a web page. In the server 10, the old standard functions of JavaScript 15 are specifically functions based on IE (Internet Explorer; more specifically, IE11). JavaScript 15 is created on the premise of a JavaScript engine (Chakra version) that corresponds to the old standard functions.

[0022] CSS16 in the server 10 is a programming language that supports old standard functions of older versions and plays a role in improving the design of text, images, etc. displayed on web pages (for example, color settings, display position adjustment, character size change, etc.). In the server 10, the old standard functions of CSS16 are specifically functions based on IE. CSS16 was created on the premise of a rendering engine (Trident version) that supports the old standard functions.

[0023] The HTML tags 17 in the HTML file 13 are markers that give specific meaning to the display content of the screen displayed on the web page. The HTML tags 17 consist of a start tag and an end tag. There are various types of HTML tags 17.

[0024] The mode emulator 14 of the server 10 is an IE mode emulator for creating an environment of IE specifications conforming to old standard functions in the client terminal 20. The mode emulator 14 is written in the JavaScript language. The mode emulator 14 is inserted in the common section at the beginning of the HTML file 13.

[0025] Specifically, the mode emulator 14 is written in an element enclosed in a tag following the start tag in the HTML file 13. The element in the HTML file 13 includes one or more JavaScript functions that call up JavaScript 15. <script>タグと、モードエミュレータ14を呼び出すエミュレータ呼出部としての<Script>タグと、が記述されている。エミュレータ呼出部としての<Script>タグは、HTMLファイル13において他の<Script>タグよりも前に挿入されている。このため、モードエミュレータ14は、クライアント端末20におけるHTMLファイル13のダウンロード後、最初に読み込まれて優先的に処理され、以降の既存処理におけるすべてのJavaScriptをIE仕様に書き換える。

[0026] モードエミュレータ14がエミュレーションする標準関数は、1)DOMのプロパティ名で属性にアクセス、2)HTMLに含まれるIMGタグのtitle属性へのalt属性の値の設定、3)Formへのall属性の追加、4)attachEventとdetachEventのサポート、5)innerHTMLの空白トリムの再現、6)table内の自動追加のtbodyを取得しようとした場合のtableタグ自体の返却、7)window.eventのサポート、8)Form内のname属性の要素取得、9)showModalDialogの追加、10)innerTextの改行コード変換の再現、などである。

[0027] クライアント端末20は、サーバ10からの情報提供を受けるコンピュータである。クライアント端末20は、例えば、CPU、記憶装置、入出力装置などにより構成されている。クライアント端末20は、サーバ10に対してプログラムを含むHTMLファイルのダウンロードを要求するリクエストを行い、サーバ10からダウンロードされたプログラムを実行することが可能である。

[0028] クライアント端末20は、webブラウザ21を有している。webブラウザ21は、サーバ10に通信接続するためのソフトウェアであり、具体的には、ME(Microsoft Edge)であって、例えばクロミウムベースのものである。webブラウザ21は、サーバ10が作成するHTMLファイル13におけるバージョンの古い旧標準関数よりもバージョンの新しい新標準関数に対応している。尚、クライアント端末20のOS(Operating System)は、例えばWindows、MacOS、iOS、AndroidOS、Linux(登録商標)などの何れであってもよい。webブラウザ21は、JavaScriptエンジン22と、レンダリングエンジン23と、を有している。

[0029] JavaScriptエンジン22は、JavaScriptのソースコードを実行するためのコンピュータプログラムである。JavaScriptエンジン22は、例えば、GoogleがME(クロミウムベース)やGoogle Chromeのために作成したGoogle V8 JavaScript engineである。JavaScriptエンジン22は、上記の新標準関数に対応してJavaScriptのソースコードを実行する。

[0030] レンダリングエンジン23は、HTML / CSSについての描画を実行するためのコンピュータプログラムである。レンダリングエンジン23は、例えば、GoogleがME(クロミウムベース)やGoogle Chromeのために作成したBlinkである。レンダリングエンジン23は、上記の新標準関数に対応してHTML / CSSについての描画を実行する。

[0031] 次に、エミュレーションシステム1の動作について説明する。クライアント端末20からサーバ10へのリクエストが行われると、サーバ10は、そのリクエストに応答して必要なプログラム12をデータベース11から読み出し、HTMLファイル13を作成する。このHTMLファイル13は、バージョンの古い旧標準関数に対応したIE仕様のJavaScript15を呼び出す<Script>タグを含むと共に、モードエミュレータ14を呼び出すエミュレータ呼出部としての<Script>タグを含む。サーバ10は、HTMLファイル13の作成後、そのHTMLファイル13をクライアント端末20に向けてダウンロードする。

[0032] クライアント端末20は、サーバ10へのリクエスト後にサーバ10からHTMLファイル13がダウンロードされると、webブラウザ21においてHTML動作を実行する。

[0033] 具体的には、クライアント端末20は、webブラウザ21でのHTML動作として、まず、JavaScriptの標準関数をインスタンスする(ステップS1)。かかるJavaScriptの標準関数のインスタンスが行われると、クライアント端末20のメモリ上にwebブラウザ21での動作実行環境が準備され、具体的には、JavaScriptエンジン22に基づく新標準関数が準備される。

[0034] 次のHTML動作として、クライアント端末20は、HTMLファイル13内のエミュレータ呼出部としての<Script>タグを実行してサーバ10からモードエミュレータ14をダウンロードしそのモードエミュレータ14の実行処理を行う(ステップS2)。このモードエミュレータ14が実行されると、クライアント端末20のメモリ上に準備したプログラム実行環境としての標準関数が、JavaScriptエンジン22に基づく新標準関数からモードエミュレータ14に基づく旧標準関数(IE仕様)に書き換えられる。この処理によれば、クライアント端末20に旧標準関数に従ったIE仕様のプログラム実行環境が疑似的に作り出され、以降、既存処理におけるすべてのJavaScriptがIE仕様になる。

[0035] 次のHTML動作として、クライアント端末20は、HTMLファイル13におけるJavaScript15を呼び出す<Script>タグを実行してサーバ10からJavaScript15をダウンロードしそのJavaScript15の実行処理を行う(ステップS3)。この実行処理時、クライアント端末20は、疑似的にIE仕様のJavaScriptを実行することが可能であり、JavaScript15は、IE仕様の旧標準関数に対応しているので、クライアント端末20はJavaScript15を正しく実行することができる。

[0036] 尚、クライアント端末20は、HTML動作としてレンダリングエンジン23に基づく新標準関数の書き換えを行うことなく、HTMLファイル13内のCSS16を呼び出す<Link>タグを実行してサーバ10からCSS16をダウンロードしそのCSS16の実行処理を行う(ステップS4)。

[0037] このように、エミュレーションシステム1においては、クライアント端末20のwebブラウザ21がバージョンの新しい新標準関数に対応したME仕様であり、かつ、サーバ10がバージョンの古い旧標準関数に対応したIE仕様であるときでも、サーバ10がクライアント端末20にダウンロードするHTMLファイル13に、旧標準関数に対応したモードエミュレータ14を呼び出すためのエミュレータ呼出部を挿入することで、クライアント端末20において疑似的にそのモードエミュレータ14に基づく旧標準関数に従った仕様でJavaScript15を実行させることができる。

[0038] この構成においては、クライアント端末20においてJavaScript15に基づく動作を正常に行ううえで、サーバ10に保持するJavaScript15自体を新標準関数に従ったME仕様に変更することは不要である。すなわち、webブラウザ21がME仕様であるクライアント端末20においてJavaScript15に基づいた正常な動作を保証するための処置として、JavaScript15自体の修正は不要であり、その修正にかかる工数を低減することができる。

[0039] 従って、本実施形態によれば、サーバ10の作成するHTMLファイル13に旧標準関数に対応するモードエミュレータを呼び出すためのエミュレータ呼出部を挿入することで、サーバ10側でのJavaScript15の修正を伴うことなく簡易にクライアント端末20での正常な動作を保証することができる。

[0040] 尚、上記の実施形態においては、クライアント端末20が、サーバ10からのダウンロード後のHTMLファイル13のエミュレータ呼出部により呼び出されたモードエミュレータ14に基づいて、webブラウザ21での動作に用いる標準関数を新標準関数から旧標準関数に書き換えることが特許請求の範囲に記載された「書換部」及び「書換工程」に、クライアント端末20が、書き換えられた旧標準関数に従ってwebブラウザ21での動作を実行することが特許請求の範囲に記載された「実行部」及び「実行工程」に、クライアント端末20が、メモリ上にwebブラウザ21での動作実行環境を準備することが特許請求の範囲に記載された「インスタンス部」及び「インスタンス工程」に、それぞれ相当している。

[0041] また、上記の実施形態においては、クライアント端末20のwebブラウザ21がバージョンの新しいME仕様であり、サーバ10の作成するHTMLファイル13がバージョンの古いIE仕様である。しかしながら、本開示はこれに限定されるものではなく、webブラウジングに際しサーバ10とクライアント端末20とでバージョンが互いに異なるシステムに適用すればよい。

[0042] また、上記の実施形態においては、HTML13がサーバ10によりプログラム12に従って動的に生成されたが、HTML13がサーバ10に静的に保存されたものであってもよい。すなわち、プログラム12に依らず生成されたHTML13がサーバ10に静的に保存されていて、クライアント端末20がリクエストによりサーバ10からHTML13をダウンロードするようにしてもよい。

[0043] 尚、本開示は、上述した実施形態や変形形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で種々の変更を施すことが可能である。また、本明細書は、出願当初に各請求項に記載された引用関係で示される技術思想を開示するだけでなく、各請求項に記載された事項を適宜組み合わせた技術思想を開示するものである。

符号の説明

[0044] 1:エミュレーションシステム、10:サーバ、11:データベース、12:プログラム、13:HTMLファイル、14:モードエミュレータ、15:JavaScript、20:クライアント端末、21:webブラウザ、22:JavaScriptエンジン、30:ネットワーク。< / script>

Claims

1. An emulation system for executing an operation in a web browser corresponding to a new standard function of a client terminal based on an HTML file downloaded from a server having an HTML file and corresponding to an old standard function of an older version to the client terminal corresponding to a new standard function of a newer version than the old standard function, the system comprising: the server has a mode emulator corresponding to the old standard function, the HTML file includes an emulator calling section for calling the mode emulator; The client terminal includes: a rewriting unit that rewrites standard functions used in the operation of the web browser from the new standard functions to the old standard functions based on the mode emulator called by execution of the emulator calling unit of the downloaded HTML file; an execution unit that executes an operation in the web browser according to the old standard function rewritten by the rewriting unit; An emulation system comprising:

2. The client terminal has an instance unit that prepares an execution environment for operation in the web browser on a memory, 2. The emulation system according to claim 1, wherein said rewriting unit rewrites the standard functions prepared in said memory from said new standard functions to said old standard functions.

3. the emulator calling section is inserted in the HTML file before an operation instruction section that instructs an operation in the web browser, 3. The emulation system according to claim 1, wherein in said client terminal, the rewriting unit rewrites said standard function with a higher priority than execution of an operation.

4. 1. An emulation method for executing an operation in a web browser compatible with a new standard function of a client terminal based on an HTML file downloaded from a server compatible with an old standard function of an older version to the client terminal compatible with a new standard function of a newer version than the old standard function, comprising: the server has a mode emulator corresponding to the old standard function, the HTML file includes an emulator calling section for calling the mode emulator; a rewriting step in which the client terminal rewrites standard functions used for operation in the web browser from the new standard functions to the old standard functions based on the mode emulator called by execution of the emulator calling section of the downloaded HTML file; an execution step of the client terminal executing an operation on the web browser according to the old standard function rewritten in the rewriting step; An emulation method comprising:

5. The client terminal includes an instance step of preparing an execution environment for an operation in the web browser on a memory, 5. The emulation method according to claim 4, wherein in said rewriting step, said client terminal rewrites the standard functions prepared in said memory from said new standard functions to said old standard functions.

6. the emulator calling section is inserted in the HTML file before an execution instruction section that instructs an operation in the web browser, 6. The emulation method according to claim 4, wherein in said client terminal, rewriting of said standard functions in said rewriting step is performed with priority over execution of operations.

Citation Information

Patent Citations

  • Server-client system

    JP2000148620A

  • Method for updating printer driver

    JP2003280842A

  • Binary conversion at shared object level

    JP2018508083A

  • Binary conversion to native client

    JP2018510433A