JP2009093601A - Virtual machine - Google Patents

Virtual machine Download PDF

Info

Publication number
JP2009093601A
JP2009093601A JP2007285541A JP2007285541A JP2009093601A JP 2009093601 A JP2009093601 A JP 2009093601A JP 2007285541 A JP2007285541 A JP 2007285541A JP 2007285541 A JP2007285541 A JP 2007285541A JP 2009093601 A JP2009093601 A JP 2009093601A
Authority
JP
Japan
Prior art keywords
unit
software
commercially available
application software
virtual machine
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.)
Pending
Application number
JP2007285541A
Other languages
Japanese (ja)
Inventor
Taisuke Fukuno
泰介 福野
Hidetaka Kimura
秀敬 木村
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.)
JIG JP CO Ltd
Jigjp
Jigjp Co Ltd
Original Assignee
JIG JP CO Ltd
Jigjp
Jigjp Co 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 JIG JP CO Ltd, Jigjp, Jigjp Co Ltd filed Critical JIG JP CO Ltd
Priority to JP2007285541A priority Critical patent/JP2009093601A/en
Publication of JP2009093601A publication Critical patent/JP2009093601A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To operate shared application software on various hardware platforms on which virtual machines VMs differed in specification are operated. <P>SOLUTION: The virtual machine VM forms, by operating on any one of various hardware platforms 100 provided with a commercially available VM operation part 110 on which any one of various commercially available VMs is operated, an adaptive VM operation part 130 including a load part 113 which adds, changes, or deletes shared application software 120, an activation part 135 which simultaneously activates one or more application softwares, an operation control part 137 which controls switching or the like of the plurality of application softwares, and an interface part 139 which is adapted to the commercially available VM 110 and provides a request from one side to the other between each of the load party 133, the activation part 135 and the operation control part 137 and the commercially available VM operation part 110 while converting the request to a form processable by the other. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、バーチャルマシンに関するものである。  The present invention relates to a virtual machine.

携帯電話機やコンピュータ、家電等の異なるハードウェアプラットフォームにおいては、ハードウェアのリソースやオペレーティングシステムなどの基本ソフトウェアが異なっている。このように、異なるハードウェアプラットフォーム上で動作するアプリケーションソフトウェアを提供するためには、それぞれのハードウェアプラットフォームに合わせたアプリケーションソフトウェアを開発する必要があり、開発コストと開発の手間が生じていた。このため、異なるハードウェアプラットフォーム間の仕様差を吸収する目的で搭載されているバーチャルマシンが存在する。
Java(登録商標)バーチャルマシン インターネット〈URL:http://www.java.com/ja/〉 .NET(登録商標)バーチャルマシン インターネット〈URL:http://www.microsoft.com/japan/msdn/netframework/〉
In different hardware platforms such as mobile phones, computers, and home appliances, hardware resources and basic software such as an operating system are different. As described above, in order to provide application software that operates on different hardware platforms, it is necessary to develop application software suitable for each hardware platform, resulting in development costs and effort. For this reason, there are virtual machines installed for the purpose of absorbing specification differences between different hardware platforms.
Java (registered trademark) virtual machine Internet <URL: http: // www. java. com / ja /> . NET (registered trademark) virtual machine Internet <URL: http: // www. Microsoft. com / japan / msdn / netframework />

しかしながら、携帯電話機やパソコンや家電などにおいて動作するバーチャルマシンは複数存在し、これらのバーチャルマシンの仕様は統一されていない。このため、バーチャルマシンが存在するハードウェアプラットフォームであっても、それぞれのバーチャルマシンに合わせたアプリケーションソフトウェアを開発する開発コストと開発の手間が発生し、開発利便性が阻害されていた。
携帯電話や家電などにおいては、利用可能なメモリがパソコンと比較し著しく少なく、搭載しているCPUの速度も遅いことなどから、同時に複数のアプリケーションソフトウェアが起動できないものが存在し、ユーザに不便を強いている。
また、ネットワークを使用するアプリケーションソフトウェアにおいては、ユーザの個人情報がユーザが意図しないままに流出してしまう危険性が存在する。
本発明が解決しようとする課題は、仕様の異なるバーチャルマシンが動作する種々のハードウェアプラットフォーム上において共通のアプリケーションソフトウェアを動作させることである。
However, there are a plurality of virtual machines that operate in mobile phones, personal computers, home appliances, etc., and the specifications of these virtual machines are not unified. For this reason, even in a hardware platform where virtual machines exist, development costs and development efforts for developing application software tailored to each virtual machine are generated, which hinders development convenience.
Some mobile phones, home appliances, etc. have significantly less available memory than PCs, and the speed of the installed CPU is slow. Some applications cannot be started at the same time, causing inconvenience to users. It is strong.
In addition, in application software that uses a network, there is a risk that the personal information of the user will be unintentionally leaked.
The problem to be solved by the present invention is to operate common application software on various hardware platforms on which virtual machines having different specifications operate.

本発明の態様によれば、種々の市販バーチャルマシンのいずれかが動作する市販バーチャルマシン動作部を備える種々のハードウェアプラットフォームのいずれかにおいて動作することにより、以下の各部を形成するバーチャルマシンが提供される。すなわち、種々のハードウェアプラットフォーム、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを追加・変更・削除するソフトウェアロード部と、1又は複数のアプリケーションソフトウェアを同時に起動するソフトウェア起動部と、同時に起動されているアプリケーションソフトウェアを切り替え、または連携させ、かつ、ユーザが意図しない操作を制限するソフトウェア動作制御部と、前記バーチャルマシンに適合され、前記ソフトウェアロード部、前記ソフトウェア起動部、前記ソフトウェア動作制御部のそれぞれと、前記市販バーチャルマシン動作部との間で、一方からの要求を他方によって処理される形態に変換して提供するインタフェース部とである。
本態様によれば、複数の異なるハードウェアプラットフォーム上で動作する仕様の異なる種々の市販バーチャルマシンのいずれかに適合され、前記ソフトウェアロード部、前記ソフトウェア起動部、前記ソフトウェア動作制御部のそれぞれと、前記市販バーチャルマシン動作部との間で、一方からの要求を他方によって処理される形態に変換して提供するインタフェース部が提供されるため、種々の市販バーチャルマシンが動作するハードウェアプラットフォーム上に、共通のアプリケーションソフトウェアを追加・変更・削除し、当該ハードウェアプラットフォーム上で共通のアプリケーションソフトウェアを起動し、共通のアプリケーションソフトウェアの動作を制御すること等が可能となる。
According to an aspect of the present invention, there is provided a virtual machine that forms the following units by operating on any of various hardware platforms including a commercially available virtual machine operating unit on which any of various commercially available virtual machines operates. Is done. That is, the software loading unit that adds / changes / deletes application software common to various hardware platforms and various commercially available virtual machines and the software activation unit that activates one or a plurality of application softwares simultaneously are activated simultaneously. A software operation control unit that switches or links application software and restricts an operation that is not intended by the user, and is adapted to the virtual machine, and each of the software load unit, the software activation unit, and the software operation control unit And an interface unit that converts the request from one side into a form processed by the other side and provides it with the commercial virtual machine operation unit.
According to this aspect, it is adapted to any of various commercially available virtual machines having different specifications that operate on a plurality of different hardware platforms, and each of the software load unit, the software activation unit, and the software operation control unit, Since an interface unit is provided for converting and providing a request from one side to a form processed by the other between the commercial virtual machine operation unit, on a hardware platform on which various commercial virtual machines operate, It becomes possible to add / change / delete common application software, start the common application software on the hardware platform, and control the operation of the common application software.

図1は、異なるハードウェアプラットフォーム上で本実施の形態によるバーチャルマシン(以下、適合バーチャルマシンと称する)を用いてアプリケーションソフトウェアが動作する様子を概念的に示している。
図1において、携帯電話機やパソコンや家電などのハードウェアプラットフォーム1a、1b、1cにはハードウェアプラットフォームの仕様差を吸収するそれぞれ異なるバーチャルマシン(以下、市販バーチャルマシンと称する)2a、2b、2cが搭載されている。本実施形態においては、機能を実現する市販バーチャルマシン2a、2b、2cのそれぞれに適合され、市販バーチャルマシン間の仕様差を吸収する適合バーチャルマシン3a、3b、3cがそれぞれ提供される。これにより、アプリケーションソフトウェア4はいずれのハードウェアプラットフォーム1a、1b、1cにおいても同様に動作することができる。したがってアプリケーションソフトウェア4を容易に開発・提供することが可能となる。
図2は本実施形態に係る携帯電話機5とパソコン6と家電7において同一のアプリケーションソフトウェア8が動作していることを示す図である。同一のアプリケーションソフトウェア8は、携帯電話機5やパソコン6や家電7に搭載されているダウンロード機能などによって、提供される。
図3は本実施形態に係る任意のハードウェアプラットフォーム100を示すブロック図である。ハードウェアプラットフォーム100は、市販VM動作部110と、ソフトウェア保持部120と、適合VM動作部130とを備える。市販VM動作部110は、ハードウェアプラットフォームの仕様差を吸収する種々の市販バーチャルマシンのいずれかが動作する市販バーチャルマシン動作部である。
市販バーチャルマシンとしては、Java(登録商標)バーチャルマシンなどが知られている。ソフトウェア保持部120は、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを1または複数保持する。ソフトウェア保持部120には、不揮発メモリを用いることができる。アプリケーションソフトウェアとしては、スケジュール管理アプリケーションなどが挙げられる。適合VM動作部130は、本発明の態様により、複数の異なるハードウェアプラットフォーム上で動作する仕様の異なる種々の市販バーチャルマシンのいずれかに適合されるバーチャルマシンを動作させる。
適合VM動作部130は、適合VM用メモリ131と、ロード部133と、起動部135と、動作制御部137と、インタフェース部139とを備える。適合VM用メモリ131は、適合バーチャルマシンによって管理されるメモリ領域であって、アプリケーションソフトウェアが使用するデータの保持などに使われる。
ロード部133は、種々のハードウェアプラットフォーム、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを追加・変更・削除するソフトウェアロード部である。ロード部133は、図示しない入出力部を介してユーザから入力される命令や、アプリケーションソフトウェアからの要求等に応じて、アプリケーションソフトウェアをソフトウェア保持部から読み出し、適合VM用メモリ131にロードする。
起動部135は、1又は複数のアプリケーションソフトウェアを同時に起動するソフトウェア起動部である。起動部135は、図示されない入出力部を介してユーザから入力される命令や、アプリケーションソフトウェアからの要求などに応じて、適合VM用メモリ131にロードされたアプリケーションソフトウェアを起動させる。
動作制御部137は、同時に起動されているアプリケーションソフトウェアを切り替え、または連携させ、かつ、ユーザが意図しない操作を制限するソフトウェア動作制御部である。動作制御部137は、適合VM用メモリ131内で動作しているアプリケーションソフトウェアの動作を制御することによって、同時に起動されている1又は複数のアプリケーションソフトウェアを適切に管理する。
上記のロード部133と、起動部135と、動作制御部137とのそれぞれは、各処理において必要に応じて、後述するインタフェース部139を介して市販VM動作部110に要求を送信する。ロード部133と、起動部135と、動作制御部137から市販VM動作部110に送信される要求としては「画面にボタンを描画する」などが挙げられる。
インタフェース部139は、上記の市販VM動作部110と、ロード部133と、起動部135と、動作制御部137とのそれぞれと通信する。インタフェース部139は、市販バーチャルマシンに適合されており、ロード部133、起動部135、動作制御部137のそれぞれから、市販VM動作部110への要求を、市販VM動作部110によって処理される形態に変換して提供し、かつ、市販VM動作部110からの要求をロード部133、起動部135、動作制御部137によって処理される形態に変換して提供する。例えば、アプリケーションソフトウェアにおける「画面上へのボタン描画」の処理においては、インタフェース部139は、動作制御部137からの要求に伴って得られる、描画されるボタンの特性(ボタンサイズ、色等)を示すパラメータを市販VM動作部において実行可能な線分に変換し、線分描画、矩形描画の命令として市販VM動作部に提供する。
図4は本実施形態を示すフローチャートである。ステップ12aにおいて、ロード部133によってアプリケーションソフトウェアが適合VM用メモリ131にロードされる。ステップ12bにおいて、適合VM動作部130が、図示されない入出力部を介してユーザの入力を取得する。ステップ12cにおいて、起動部135によって、ロードされたアプリケーションソフトウェアを実行しようとする。ステップ12dにおいて、動作制御部137が、起動部135による操作がユーザによって意図されるものかどうか判定する。意図されるものであれば(OK)ステップ12fにおいて起動部135がアプリケーションソフトウェアを実行し、意図されるものでなければ(NG)アプリケーションソフトウェアは実行されずステップ12eに処理が遷移する。
FIG. 1 conceptually shows how application software operates on a different hardware platform using a virtual machine according to the present embodiment (hereinafter referred to as a conforming virtual machine).
In FIG. 1, hardware platforms 1a, 1b, and 1c such as mobile phones, personal computers, and home appliances have different virtual machines (hereinafter referred to as commercially available virtual machines) 2a, 2b, and 2c that absorb differences in specifications of the hardware platforms. It is installed. In the present embodiment, adapted virtual machines 3a, 3b, and 3c that are adapted to each of the commercially available virtual machines 2a, 2b, and 2c that realize the function and absorb the specification difference between the commercially available virtual machines are provided. Thereby, the application software 4 can operate similarly on any hardware platform 1a, 1b, 1c. Therefore, the application software 4 can be easily developed and provided.
FIG. 2 is a diagram showing that the same application software 8 is operating in the mobile phone 5, the personal computer 6 and the home appliance 7 according to the present embodiment. The same application software 8 is provided by a download function or the like installed in the mobile phone 5, the personal computer 6, or the home appliance 7.
FIG. 3 is a block diagram illustrating an optional hardware platform 100 according to the present embodiment. The hardware platform 100 includes a commercially available VM operation unit 110, a software holding unit 120, and a compatible VM operation unit 130. The commercially available VM operation unit 110 is a commercially available virtual machine operation unit on which any of various commercially available virtual machines that absorb the specification difference of the hardware platform operates.
A Java (registered trademark) virtual machine is known as a commercially available virtual machine. The software holding unit 120 holds one or a plurality of application software common to various commercially available virtual machines. A non-volatile memory can be used for the software holding unit 120. Application software includes a schedule management application. The conforming VM operation unit 130 operates a virtual machine adapted to any of various commercially available virtual machines having different specifications that operate on a plurality of different hardware platforms according to an aspect of the present invention.
The conforming VM operation unit 130 includes a conforming VM memory 131, a load unit 133, an activation unit 135, an operation control unit 137, and an interface unit 139. The compatible VM memory 131 is a memory area managed by the compatible virtual machine, and is used for holding data used by application software.
The load unit 133 is a software load unit that adds, changes, and deletes application software common to various hardware platforms and various commercially available virtual machines. The load unit 133 reads the application software from the software holding unit and loads it into the compatible VM memory 131 in response to a command input from the user via an input / output unit (not shown), a request from the application software, or the like.
The activation unit 135 is a software activation unit that activates one or a plurality of application software simultaneously. The activation unit 135 activates application software loaded in the compatible VM memory 131 in response to a command input from a user via an input / output unit (not shown), a request from application software, or the like.
The operation control unit 137 is a software operation control unit that switches or links application software activated simultaneously and restricts an operation that is not intended by the user. The operation control unit 137 appropriately manages one or a plurality of application software activated simultaneously by controlling the operation of the application software running in the compatible VM memory 131.
Each of the load unit 133, the activation unit 135, and the operation control unit 137 transmits a request to the commercially available VM operation unit 110 via an interface unit 139 described later as necessary in each process. The request transmitted from the load unit 133, the activation unit 135, and the operation control unit 137 to the commercial VM operation unit 110 includes “draw a button on the screen”.
The interface unit 139 communicates with each of the commercially available VM operation unit 110, the load unit 133, the activation unit 135, and the operation control unit 137. The interface unit 139 is adapted to a commercially available virtual machine, and the request to the commercially available VM operating unit 110 from each of the load unit 133, the activation unit 135, and the operation control unit 137 is processed by the commercially available VM operating unit 110. The request from the commercial VM operation unit 110 is converted into a form processed by the load unit 133, the activation unit 135, and the operation control unit 137. For example, in the process of “button drawing on the screen” in the application software, the interface unit 139 displays the characteristics of the drawn button (button size, color, etc.) obtained in response to a request from the operation control unit 137. The parameter shown is converted into a line segment that can be executed by the commercial VM operation unit, and provided to the commercial VM operation unit as line drawing and rectangular drawing commands.
FIG. 4 is a flowchart showing this embodiment. In step 12 a, the application software is loaded into the compatible VM memory 131 by the load unit 133. In step 12b, the matching VM operation unit 130 acquires a user input via an input / output unit (not shown). In step 12c, the activation unit 135 tries to execute the loaded application software. In step 12d, the operation control unit 137 determines whether the operation by the activation unit 135 is intended by the user. If it is intended (OK), the activation unit 135 executes the application software in step 12f. If not intended (NG), the application software is not executed, and the process proceeds to step 12e.

発明の効果The invention's effect

本発明により、仕様の異なる市販バーチャルマシンが動作する種々のハードウェアプラットフォーム100上に、共通のアプリケーションソフトウェアを追加・変更・削除し、当該ハードウェアプラットフォーム上で共通のアプリケーションソフトウェアを起動し、共通のアプリケーションソフトウェアの動作を制御すること等が可能となる。これにより、より多くの携帯電話機やパソコンや家電などのハードウェアプラットフォームに対して利用者の求めるアプリケーションソフトウェアをより容易に開発・提供することが可能となる。
また、利用者にとって、従来技術では得られなかったアプリケーションソフトウェアを利用することが可能となり、より便利で安全に携帯電話機やコンピュータを利用することができる。
According to the present invention, common application software is added / changed / deleted on various hardware platforms 100 on which commercial virtual machines having different specifications operate, and the common application software is started on the hardware platform. It becomes possible to control the operation of the application software. As a result, it becomes possible to more easily develop and provide application software required by users for hardware platforms such as more mobile phones, personal computers, and home appliances.
In addition, it becomes possible for a user to use application software that could not be obtained by the prior art, and a mobile phone or a computer can be used more conveniently and safely.

図1はバーチャルマシンが動作するソフトウェア構成を概念的に示す図である。  FIG. 1 is a diagram conceptually illustrating a software configuration in which a virtual machine operates. 図2はバーチャルマシンが動作する様子を示す概念図である。  FIG. 2 is a conceptual diagram showing how the virtual machine operates. 図3はバーチャルマシン実行部を示すブロック図である。  FIG. 3 is a block diagram showing the virtual machine execution unit. 図4はアプリケーションソフトウェアの実行処理を示すフローチャートである。  FIG. 4 is a flowchart showing execution processing of application software.

符号の説明Explanation of symbols

1a、1b、1c ハードウェアプラットフォーム
2a、2b、2c 市販バーチャルマシン
3a、3b、3c 適合バーチャルマシン
4 アプリケーションソフトウェア
5 携帯電話機
6 パソコン
7 家電
8 アプリケーションソフトウェア
100 ハードウェアプラットフォーム
110 市販VM動作部
120 ソフトウェア保持部
130 適合VM動作部
131 適合VM用メモリ
133 ロード部
135 起動部
137 動作制御部
139 インタフェース部
1a, 1b, 1c Hardware platform 2a, 2b, 2c Commercial virtual machine 3a, 3b, 3c Compatible virtual machine 4 Application software 5 Mobile phone 6 Personal computer 7 Home appliance 8 Application software 100 Hardware platform 110 Commercial VM operation part 120 Software holding part 130 Applicable VM operation unit 131 Applicable VM memory 133 Load unit 135 Start-up unit 137 Operation control unit 139 Interface unit

Claims (1)

種々の市販バーチャルマシンのいずれかが動作する市販バーチャルマシン動作部を備える種々のハードウェアプラットフォームのいずれかにおいて動作することにより、
種々のハードウェアプラットフォーム、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを追加・変更・削除するソフトウェアロード部と、1又は複数のアプリケーションソフトウェアを同時に起動するソフトウェア起動部と、同時に起動されているアプリケーションソフトウェアを切り替え、または連携させ、かつ、ユーザが意図しない操作を制限するソフトウェア動作制御部と、前記市販バーチャルマシンに適合され、前記ソフトウェアロード部、前記ソフトウェア起動部、前記ソフトウェア動作制御部のそれぞれと、前記市販バーチャルマシン動作部との間で、一方からの要求を他方によって処理される形態に変換して提供するインタフェース部とを形成するバーチャルマシン。
By operating on any of a variety of hardware platforms with a commercially available virtual machine operating unit on which any of a variety of commercially available virtual machines operate,
Software load unit for adding / changing / deleting application software common to various hardware platforms and various commercially available virtual machines, software starting unit for simultaneously starting one or a plurality of application software, and application software being started simultaneously A software operation control unit that switches or cooperates and restricts an operation that is not intended by the user, and is adapted to the commercially available virtual machine, and each of the software load unit, the software activation unit, and the software operation control unit, A virtual machine that forms an interface unit that converts a request from one of the commercial virtual machine operation units into a form processed by the other.
JP2007285541A 2007-10-05 2007-10-05 Virtual machine Pending JP2009093601A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007285541A JP2009093601A (en) 2007-10-05 2007-10-05 Virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007285541A JP2009093601A (en) 2007-10-05 2007-10-05 Virtual machine

Publications (1)

Publication Number Publication Date
JP2009093601A true JP2009093601A (en) 2009-04-30

Family

ID=40665499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007285541A Pending JP2009093601A (en) 2007-10-05 2007-10-05 Virtual machine

Country Status (1)

Country Link
JP (1) JP2009093601A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074067A1 (en) * 2011-08-15 2013-03-21 Empire Technology Development Llc Multimodal computing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074067A1 (en) * 2011-08-15 2013-03-21 Empire Technology Development Llc Multimodal computing device
US8813175B2 (en) * 2011-08-15 2014-08-19 Empire Technology Development Llc Multimodal computing device

Similar Documents

Publication Publication Date Title
JP6044604B2 (en) Terminal device and program
AU2010327452B2 (en) Mobile device and control method thereof
JP5894080B2 (en) Communication channel between web application and process outside browser
JP6348173B2 (en) Limited driver platform runs drivers in sandbox in user mode
JP2010129080A (en) Software executing system and software executing method
KR102121358B1 (en) Data transmission method and device
JP2008204239A (en) Electronic computer and implementation method of user interface by software
KR20180053358A (en) How to run applications on a computing device
JP2018190143A (en) Information processing apparatus
Nakao et al. Toward remote service invocation in android
JP5997848B2 (en) Mobile terminal resource processing method, apparatus, client-side computer, server, mobile terminal, program, and recording medium
JP2003308205A (en) Method for temporarily halting program
JP2016522489A (en) Data processing system security apparatus and security method
KR101223981B1 (en) Virtualization apparatus and server for securly executing applications and method therefor
JP2009093601A (en) Virtual machine
JP5223802B2 (en) Server-based computing system, server device, client device, and program
JP2006276939A (en) Program starting method for virtual machine, and client server system
JP2006302031A (en) Distribution method for application program, and server device used therefor
KR101585931B1 (en) A processing platform and processing method of baroapp based on environment combined hybrid app with native app
Chandrashekar et al. Comparative Analysis of Modern Mobile Operating Systems
JP4072381B2 (en) Graphical user interface construction method and program
JP5066112B2 (en) Information processing device
JP7315750B2 (en) Server system, client device and program
JP2008015658A (en) Application providing system and method
JP5144624B2 (en) Image forming apparatus