WO2009139437A1 - クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法 - Google Patents

クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法 Download PDF

Info

Publication number
WO2009139437A1
WO2009139437A1 PCT/JP2009/058982 JP2009058982W WO2009139437A1 WO 2009139437 A1 WO2009139437 A1 WO 2009139437A1 JP 2009058982 W JP2009058982 W JP 2009058982W WO 2009139437 A1 WO2009139437 A1 WO 2009139437A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
program
server program
request
client
Prior art date
Application number
PCT/JP2009/058982
Other languages
English (en)
French (fr)
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 日本電気株式会社
Priority to US12/991,389 priority Critical patent/US20110066681A1/en
Priority to JP2010512013A priority patent/JPWO2009139437A1/ja
Publication of WO2009139437A1 publication Critical patent/WO2009139437A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Definitions

  • SaaS Software as Service
  • ASP Application Service Provider
  • a mobile terminal needs to use a radio bearer for communication, and is greatly different from a PC in that the radio wave environment is dynamic.
  • PCs use radio, but most use them at fixed positions or seats, and the radio wave environment is static or quasi-static.
  • communication becomes unstable due to high-speed movement or noise, or temporarily lost due to movement to a radio-insensitive area such as the basement or outside the antenna cover area. There is a case.
  • a client device control method is a client device control method comprising a client program connected to a server computer that executes a server program via a network, and that communicates with the server program.
  • a server program deployment step of acquiring the server program from a computer and deploying the server program to the client device; and whether the request can be processed by the deployed server program when the client program sends a request to the server program And when it is determined that the request cannot be processed, the request is transmitted to the server program executed on the server computer.
  • the client device program according to the present invention is connected to a server computer that executes a server program via a network, and the client device including the client program that communicates with the server program is transferred from the server computer to the server program.
  • Server program deployment means for acquiring and deploying to the client device, and when the client program sends a request to the server program, it is determined whether the request can be processed by the deployed server program and cannot be processed When it is determined that the request is made, it functions as local proxy means for transmitting the request to the server program executed on the server computer.
  • Server program deployment instruction means for instructing to deploy to a device
  • the client device receives the server program from the application directory server via the proxy server Server program deployment means for acquiring and deploying to the client device, and when the client program sends a request to the server program, it is determined whether the request can be processed by the deployed server program and cannot be processed
  • a local proxy means for transmitting the request to the server program executed on the server device.
  • FIG. 1 is a block diagram showing the configuration of a system in this embodiment.
  • the server program synchronization means 415 is means for synchronizing the server program 411 with the server program stored in the server program storage means 406.
  • the server program synchronization unit 415 receives changes made to the server program stored in the server program storage unit 406 from the server program synchronization unit 408 and reflects them in the server program 411. Also, changes made to the server program 411 are transmitted to the server program synchronization means 408 using the communication means 410.
  • FIG. 2 is a flowchart showing the processing procedure of each apparatus in this embodiment.
  • the local proxy 405 instructs the server program deployment unit 407 to acquire the server program 411 (step S108).
  • the server program deployment unit 407 connects to the application server 402 using the communication unit 409 according to an instruction to acquire the server program 411 and requests the server program provision unit 414 to provide the server program 411.
  • the connection at this time is a connection different from the connection in step S107, and any protocol capable of transferring in units of files such as FTP (File Transfer Protocol) or RCP (Remoto CoPy) can be used without being limited to HTTP.
  • the local proxy 405 connects to the application server 402 using the communication unit 409, transmits the HTTP request received earlier to the server program 411, and processes the HTTP of the processing result. Receive a response.
  • the system of this embodiment is a system in which the mobile terminal 401 and the application server 402 communicate with each other via the network 403.
  • the portable terminal 401 includes a client program 404, a local proxy 405a, a server program storage unit 406, a server program synchronization unit 408a, a server program deployment unit 407a, a server program remote control unit 416, and a communication unit 409.
  • the server program deployment unit 407a is a unit that acquires the program data 412a and the resource data 413a constituting the server program in units of functions and stores them in the server program storage unit 406.
  • the server program deployment unit 407a also refers to the dependency relationship between the plurality of program data groups 417 and the resource data group 418 described in the profile data 419, and which function can be used if which data is installed. Is set in the local proxy 405a.
  • FIG. 4 is a flowchart showing the processing procedure of the apparatus in this embodiment.
  • the server program deployment unit 407a interprets the description of the profile data 419 and reflects it in the local proxy 405a (step S216).
  • the local proxy 405a requests the function 1 request from the client program 404 to be stored in the server program storage unit 406. Set to process with.
  • the installation of the server program 411a is completed.
  • the server program is executed by an external directory server that is not an application server, and deployment of the server program to the mobile terminal is started by an external proxy server.
  • the server program storage means 429 is a means for storing server programs including the server program 411.
  • the server program stored in the server program storage unit 429 is registered in advance by the application server 402.
  • the communication unit 426 is a communication unit used when the proxy server 421 communicates with other servers and terminals.
  • the server program synchronization means 428 creates an update package of the server program from the data difference.
  • control operation in the present embodiment described above can also be executed using hardware, software, or a combined configuration of both.

Abstract

ソフトウェアのインストールを行う手間をかけずに、Webアプリケーションを自動的にオフラインで実行できるようにする。 携帯端末はクライアントプログラムとサーバプログラム実行環境とローカルプロキシサーバとを有し、アプリケーションサーバはサーバプログラムを有する。携帯端末のローカルプロキシサーバは、クライアントプログラムからのHTTPリクエストに応じてアプリケーションサーバからサーバプログラムを取得してサーバプログラム実行環境にインストールし、インストールが完了したらアプリケーションサーバ側のサーバプログラムと同期を行う。ローカルプロキシサーバは、クライアントプログラムからのHTTPリクエストを携帯端末上のサーバプログラムとアプリケーションサーバ上のサーバプログラムに振り分ける。

Description

クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
 本発明は、クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法に関し、特に、ネットワークアプリーケーションシステムに関する。
 ネットワークの広帯域化とコンピュータの高性能化・低廉化により、インターネットを経由して様々なデータを送受信することが一般的になってきている。特に、Webブラウザ上でネットワークアプリケーションを利用できるSaaS(Software as a Service)やASP(Application Service Provider)といった技術は、ソフトウェアのインストールが不要である点や、ブラウザさえあれば複数の端末から同一のアプリケーションを利用できるという点から注目を集めている。
 一方で、携帯電話をはじめとする携帯端末も高性能化が進んでおり、機能的にもPCとの違いはほとんどなくなってきている。特にWebブラウザにおいては、PCで動作するものと同等の機能を有するブラウザが携帯端末上でも動作しており、PCと同じWebアプリケーションを実行することが可能である。
 しかしながら、携帯端末においては通信のために無線ベアラを利用する必要があり、電波環境が動的であるという点がPCとは大きく異なる。PCでも無線を利用するケースはあるが、固定位置や座席での利用がほとんどであり、電波環境は静的又は準静的である。これに対して動的な電波環境では、高速移動やノイズにより通信が不安定になったり、地下やアンテナのカバーエリア外のような電波不感地帯に移動したために一時的に通信が不可能になるケースがある。
 また、携帯端末においては電力の問題も無視できない。一般的にWebアプリケーションは高い頻度で通信を行うため、通信のために多量の電力を必要とする。このため、電池容量の限られている携帯端末では長時間利用することは適していない。
 すなわち、携帯端末からPCと同様にWebアプリケーションを利用しようとしても、通信の不安定性や電力の制限から、PCと同等の利便性は得られないという問題がある。
 これに対し、アプリケーションサーバで動作しているサーバプログラムをそのまま携帯端末に移植し、データを書き換えない処理だけは携帯端末内のサーバプログラムで行うという技術が提案されている(特許文献1)。
特開2001-051839号公報
 しかしながら、特許文献1の技術は、サーバに保存されているデータ参照し、更新のみを行うような業務向けの単純なWebアプリケーションのみをターゲットとしており、例えばSNS(Social Networking Service)のような複数のユーザデータやDB(Database)を参照・加工するような複雑なWebアプリケーションでは利用できなかった。
 また、特許文献1の技術は、携帯端末において電話回線が常に使えるという暗黙の仮定を置いており、実際には通信不可能となる電波不感地帯や高速移動中における利用を考えていなかった。
 本発明は上記の問題を鑑み、通信手段が一切利用できない環境においても、複雑なデータ処理を行うようなWebアプリケーションを実行できる技術を提供することを目的とする。
 上記目的を達成するために本発明は、以下の特徴を有することとする。
 本発明に係るクライアント装置は、サーバプログラムを実行するサーバコンピュータにネットワークを介して接続されるクライアント装置であって、前記サーバプログラムと通信を行うクライアントプログラムと、前記サーバコンピュータから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバコンピュータ上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、を有する。
 また、本発明に係るクライアント装置の制御方法は、サーバプログラムを実行するサーバコンピュータにネットワークを介して接続され、前記サーバプログラムと通信を行うクライアントプログラムを備えるクライアント装置の制御方法であって、前記サーバコンピュータから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備工程と、前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバコンピュータ上で実行される前記サーバプログラムに送信する工程と、を含む。
 また、本発明に係るクライアント装置のプログラムは、サーバプログラムを実行するサーバコンピュータにネットワークを介して接続され、前記サーバプログラムと通信を行うクライアントプログラムを備えるクライアント装置を、前記サーバコンピュータから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバコンピュータ上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、として機能させる。
 また、本発明に係るサーバ装置は、クライアントプログラムを実行するクライアント装置にネットワークを介して接続されるサーバ装置であって、前記クライアントプログラムと通信を行うサーバプログラムと、前記サーバプログラムのサブセットを前記クライアント装置に送信するサーバプログラム提供手段と、前記サーバプログラムに加えられた変更を前記クライアント装置へ送信するサーバプログラム同期手段と、を有し、前記サーバプログラムは、前記クライアントプログラムが前記サーバプログラムにリクエストを送信し、当該リクエストが前記サーバプログラムに送信された場合に、処理を行う。
 また、本発明に係るサーバ装置の制御方法は、クライアントプログラムを実行するクライアント装置にネットワークを介して接続され、前記クライアントプログラムと通信を行うサーバプログラムを備えるサーバ装置の制御方法であって、前記サーバプログラムのサブセットを前記クライアント装置に送信するサーバプログラム提供工程と、前記サーバプログラムに加えられた変更を前記クライアント装置へ送信するサーバプログラム同期工程と、前記サーバプログラムが、前記クライアントプログラムが前記サーバプログラムにリクエストを送信し、当該リクエストが前記サーバプログラムに送信された場合に、処理を行う工程と、を含む。
 また、本発明に係る第1の通信システムは、クライアント装置とサーバ装置がネットワークを介して接続された通信システムであって、前記クライアント装置は、前記サーバ装置が実行するサーバプログラムと通信を行うクライアントプログラムと、前記サーバ装置から前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバ装置上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、を有する。
 また、本発明に係る第2の通信システムは、クライアント装置とサーバ装置とアプリケーションディレクトリサーバとプロキシサーバとがネットワークを介して接続された通信システムであって、前記サーバ装置は、前記クライアント装置が実行するクライアントプログラムと通信を行うサーバプログラムを実行し、前記アプリケーションディレクトリサーバは、前記サーバプログラムを前記クライアント装置に配備するために有し、前記プロキシサーバは、前記アプリケーションディレクトリサーバに前記サーバプログラムを前記クライアント装置に配備するよう指示するサーバプログラム配備指示手段を有し、前記クライアント装置は、前記プロキシサーバを介して前記アプリケーションディレクトリサーバから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバ装置上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、を有する。
 また、本発明に係る通信システムの制御方法は、クライアント装置とサーバ装置がネットワークを介して接続され、前記クライアント装置が前記サーバ装置が実行するサーバプログラムと通信を行うクライアントプログラムを備える通信システムの制御方法であって、前記サーバ装置から前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備工程と、前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバ装置上で実行される前記サーバプログラムに送信する工程と、を含む。
 本発明によれば、通信手段が一切利用できない環境においても、複雑なデータ処理を行うようなWebアプリケーションを実行できる技術を提供することが可能となる。
本発明の第1の実施形態の通信システムの構成を示すブロック図である。 本発明の第1の実施形態の通信システムの動作を示すフローチャートである。 本発明の第2の実施形態の通信システムの構成を示すブロック図である。 本発明の第2の実施形態の通信システムの動作を示すフローチャートである。 本発明の第2の実施形態のプロファイルデータの内容を示す表である。 本発明の第3の実施形態の通信システムの構成を示すブロック図である。 本発明の第3の実施形態の通信システムの動作を示すフローチャートである。
 本発明を実施するための最良の形態について詳細に説明する。
 (第1の実施形態)
 まず、本発明の第1の実施形態の構成について説明する。図1は本実施形態におけるシステムの構成を示すブロック図である。
 図1において、携帯端末401は携帯電話やPDA(Personal Data Assistance)のような携帯端末であり、有機ELや液晶パネルによって構成された表示装置と、キーボードやタッチパネルなどの入力装置を備えている。
 アプリケーションサーバ402はネットワークアプリケーションを提供するアプリケーションサーバである。
 ネットワーク403はインターネットや社内LAN(Local Area Network)などのネットワークであり、携帯端末401とアプリケーションサーバ402はこのネットワークを介して互いに通信を行う。
 携帯端末401はさらにクライアントプログラム404、ローカルプロキシ405、サーバプログラム保存手段406、サーバプログラム同期手段408、サーバプログラム配備手段407、通信手段409を有する。
 クライアントプログラム404はWebアプリケーションのクライアントプログラムであり、サーバプログラムと通信を行って処理を行う。クライアントプログラム404は例えばWebブラウザプログラムであり、HTML(HyperText Markup Language)とJavaScript(登録商標)、Flash(登録商標)などによって記述された命令コードに従い、ユーザの入力に応じて表示を変更する処理を行ったり、サーバプログラムと通信を行いデータを取得したりする。
 ローカルプロキシ405はHTTP(HyperText Transfer Protocol)プロキシであり、クライアントプログラム404の行う通信を仲介して適切な場所に送信する。ローカルプロキシ405はクライアントプログラム404がサーバプログラムにHTTPリクエストを送信しようとした際に、該リクエストを最初に受け取る。ローカルプロキシ405は受け取ったリクエストをサーバプログラム保存手段406に保存されているサーバプログラムで処理できるかどうかを判定し、処理できると判定すればサーバプログラム保存手段406に保存されているサーバプログラムを起動して処理を行わせ、処理できないと判定すればサーバプログラム411に送信して処理を行わせる。
 ローカルプロキシ405によるHTTPリクエストが処理できるか否かの判定は、例えば、次のように行う。第1は、サーバプログラム保存手段406に保存されているサーバプログラムに投げるHTTPリクエストに処理できるアプリケーション一覧表を付加している場合、サーバプログラムがその一覧表の中にあるか否かで判定する。また、第2は、ローカルプロキシ405が常にサーバプログラムに処理を投げて、サーバプログラムが処理できない旨のレスポンスを返した場合、処理できないと判定する。
 サーバプログラム配備手段407は携帯端末401内で実行されるサーバプログラムを取得してインストールするサーバプログラム配備手段である。サーバプログラム配備手段407は通信手段409を利用してサーバプログラム提供手段414と通信し、アプリケーションサーバ402が保持しているサーバプログラムを受け取る。サーバプログラム配備手段407は受け取ったサーバプログラムをサーバプログラム保存手段406に保存する。
 サーバプログラム保存手段406はサーバプログラム配備手段407によって取得されたサーバプログラムを保存する手段である。
 サーバプログラム同期手段408はサーバプログラム保存手段406に保存されたサーバプログラムを、アプリケーションサーバ側に存在するサーバプログラムと同期する手段である。サーバプログラム同期手段408は通信手段409を利用してサーバプログラム同期手段415と通信を行い、サーバプログラム保存手段406に保存されたサーバプログラムに加えられた変更をサーバプログラム411に伝達する。また、サーバプログラム411に加えられた変更をサーバプログラム同期手段415から受け取り、サーバプログラム保存手段406に保存されたサーバプログラムに反映させる。
 通信手段409はネットワーク403を介してアプリケーションサーバ402と通信を行う手段である。このとき、通信に用いる物理手段としては例えば無線LAN、携帯電話網、PHS(Personal Handy-phone Systems)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、WiMAX(登録商標)等が想定される。
 アプリケーションサーバ402はさらにサーバプログラム411、サーバプログラム同期手段415、サーバプログラム提供手段414、通信手段410を有する。
 サーバプログラム411はWebアプリケーションのサーバプログラムであり、クライアントプログラム404からのリクエストを処理するプログラムである。サーバプログラム411はさらに実行手続きであるプログラムデータ412と、プログラムデータ412が実行時に参照するデータであるリソースデータ413に分けられる。プログラムデータ412は例えばC言語やJava(登録商標)で構築されたバイナリファイルか、RubyやPerlで記述されたスクリプトファイルであり、リソースデータ413は例えば画像ファイルやデータベースに格納されている情報である。
 サーバプログラム提供手段414はサーバプログラム411を携帯端末401に送信する手段である。サーバプログラム411は前述のようにプログラムデータ412とリソースデータ413から成るが、一般的にはプログラムデータ412に比べてリソースデータ413は非常に大きいデータであるため、容量の限られているサーバプログラム保存手段406にはそのまま格納することはできない。サーバプログラム提供手段414はプログラムデータ412全体と、事前に定められたリソースデータ413の一部のみをサーバプログラム配備手段407に送信することでサーバプログラム411のサブセットを携帯端末401に配備する。
 サーバプログラム同期手段415はサーバプログラム411を、サーバプログラム保存手段406に保存されているサーバプログラムと同期する手段である。サーバプログラム同期手段415は、サーバプログラム保存手段406に保存されたサーバプログラムに加えられた変更をサーバプログラム同期手段408から受け取り、サーバプログラム411に反映させる。また、サーバプログラム411に加えられた変更を通信手段410を利用してサーバプログラム同期手段408に伝達する。
 通信手段410は通信手段409に対応する通信手段であり、ネットワーク403を介して携帯端末401と通信を行う手段である。
 次に、本実施形態における各装置の動作について説明する。図2は本実施形態における各装置の処理手順を示したフローチャートである。
 図2において、最初にユーザが入力手段を用いるなどして、クライアントプログラム404にWebアプリケーションの利用を指示すると、クライアントプログラム404は指示を受け付ける。クライアントプログラム404は指示されたWebアプリケーションを提供するサーバであるアプリケーションサーバ402を特定し、アプリケーションサーバ402に対するHTTPリクエストをローカルプロキシ405に送信する(ステップS101)。
 ローカルプロキシ405は受信したHTTPリクエストの送信先であるアプリケーションサーバ402を見て、サーバプログラム411がすでにサーバプログラム保存手段406に保存されているかどうかを判定する(ステップS102)。
 すでにサーバプログラム411がサーバプログラム保存手段406に保存されている場合、保存されているサーバプログラム411のインストール処理が完了しており、動作可能かどうかを判定する(ステップS103)。
 サーバプログラム411が動作可能な状態であれば、ローカルプロキシ405は該プログラムを起動して、先に受信したHTTPリクエストを起動したプログラムに渡して処理を行わせる(ステップS104)。処理した結果のHTTPレスポンスを受け取り、クライアントプログラム404にそのまま送信して終了する(ステップS105)。
 サーバプログラム411がインストール処理中などのために動作可能な状態でなければ、ローカルプロキシ405は通信手段409を用いてアプリケーションサーバ402に接続し、先に受信したHTTPリクエストをサーバプログラム411に転送する(ステップS106)。ローカルプロキシ405はサーバプログラム411が処理した結果をHTTPレスポンスとして受信し、クライアントプログラム404にそのまま転送してリクエスト処理を終了する(ステップS107)。このとき同時に、インストール処理中にリクエストがアプリケーションサーバ402で処理されたことを記録しておく。
 サーバプログラム411がサーバプログラム保存手段406に保存されていなければ、ローカルプロキシ405はサーバプログラム配備手段407にサーバプログラム411を取得するように指示する(ステップS108)。サーバプログラム配備手段407はサーバプログラム411を取得する指示に従って、通信手段409を利用してアプリケーションサーバ402に接続し、サーバプログラム提供手段414に対して、サーバプログラム411を提供するように要求する。このときの接続はステップS107の接続とは別の接続であり、HTTPに限らずFTP(File Transfer Protocol)やRCP(Remoto CoPy)のようなファイル単位の転送が可能な任意のプロトコルを利用できる。また、ローカルプロキシ405はサーバプログラム配備手段407への指示と並行して、通信手段409を用いてアプリケーションサーバ402に接続し、先に受信したHTTPリクエストをサーバプログラム411に送信し、処理結果のHTTPレスポンスを受け取る。
 なお、ここではサーバプログラム411がサーバプログラム保存手段406に保存されていなければ即座にサーバプログラム411を取得する場合について説明しているが、サーバプログラム411を取得する端緒となるイベントについてはこれに限らない。例えば、サーバ402へのリクエスト発行回数が一定以上に達した場合に取得したり、一定時間内のリクエスト発行頻度が一定を超えた場合に取得したりというケースも考えられる。更に、リクエストが発行されたタイミングのみに限らず、通信回線の混雑具合が一定以下になったタイミングや、携帯端末401の処理負荷が一定以下になったタイミングで取得するというケースも有用である。
 サーバプログラム提供手段414はサーバプログラム配備手段407からの要求に対し、プログラムデータ412全体と事前に設定されたリソースデータ413の一部をパッケージ化して送信する(ステップS109)。
 サーバプログラム配備手段407はサーバプログラム提供手段414からパッケージを受信する(ステップS110)。サーバプログラムのような大きいデータの受信には時間がかかるため、この処理は途中で通信が切断する場合がある。サーバプログラム配備手段407は通信が切断した場合でも、再び通信可能になった際にサーバプログラム411の取得を再開する機能を有し、不意の通信断に備える。
 サーバプログラム配備手段407は受信が完了したパッケージを展開し、サーバプログラム保存手段406に保存する(ステップS111)。サーバプログラム配備手段407はまた、サーバ402に対するリクエストはこのパッケージを用いて処理するようにローカルプロキシ405に通知する。更に、サーバプログラム配備手段407は、サーバプログラム411のインストール中にリクエストがアプリケーションサーバ402で処理された記録があるかどうかを判定する(ステップS112)。
 サーバプログラム411のインストール中にリクエストがアプリケーションサーバ402で処理されていなければ、サーバプログラム411のインストールを完了とする。
 サーバプログラム411のインストール中にリクエストがアプリケーションサーバ402で処理されたのであれば、インストールされたサーバプログラム411の状態がアプリケーションサーバ402で動作しているサーバプログラム411と異なっているため、サーバプログラム配備手段407はサーバプログラム同期手段408に同期処理を指示する(ステップS113)。サーバプログラム同期手段408は通信手段409を用いてアプリケーションサーバ402と接続し、サーバプログラム同期手段415から更新情報を取得する。サーバプログラム同期手段408は取得した更新情報をサーバプログラム保存手段406に保存されているサーバプログラム411に反映させる。同期処理を行うことにより、携帯端末401にインストールされたプログラムの状態とサーバ402で実行されているプログラムの状態を並列化し、リクエストが携帯端末401とサーバ402のどちらで処理されてもユーザに均質なサービスを提供することができる。同期処理が完了したら、サーバプログラム411のインストールを完了とする。
 以上に説明した本実施形態によれば、ユーザに意識させずにサーバプログラム411をインストールすることが可能となる。サーバプログラム411のインストール中はアプリケーションサーバ402に接続して通常通りにWebアプリケーションを利用し、サーバプログラム411のインストール完了後はサーバプログラム保存手段406に格納されたサーバプログラム411を利用してWebアプリケーションを利用するため、サーバプログラム411のインストール処理のためにWebアプリケーションが利用不可となることはない。また、サーバプログラム411のインストールの後、必要に応じて自動的に同期処理を行うため、サーバプログラム411が実行される場所がアプリケーションサーバ402から携帯端末401に切り替わったことをユーザは意識する必要がない。
 なお、上記の例ではサーバ402に対するリクエストを、ダウンロードしたプログラムで全て処理する場合について述べたが、特定のリクエストのみをダウンロードしたプログラムで処理しても良い。この場合は、ステップS109において、どのリクエストをどちらで処理するかについての表をサーバ402が用意し、パッケージに含めて送信すれば良い。ステップS111においてサーバプログラム配備手段407は、このパッケージを展開した後に、表の内容をローカルプロキシ405に通知する。
 一方で携帯端末401のセキュリティの観点から、サーバプログラム411をインストールする際にユーザの確認を取るべきケースもある。携帯端末401のセキュリティポリシーによっては、全てのWebアプリケーションを自動的にインストールするのではなく、前述のステップ(ステップS106)においてユーザの確認を促すダイアログを表示したり、自動インストールを許可するアプリケーションサーバ402の一覧をユーザが事前に設定しておいて、ステップ(ステップS106)においてローカルプロキシ405がアプリケーションサーバ402からのサーバプログラム411のインストールが許可されているかを判定するという方法を採っても良い。
 (第2の実施形態)
 例えばスケジューラWebアプリケーションが「特定日のスケジュール参照」機能と「スケジュール書き込み」機能を持つように、ひとつのWebアプリケーションは複数の機能を持っていることが一般的である。前述の実施形態のように、サーバプログラムを1つのパッケージとしてまとめてしまうと、パッケージのインストールが完了するまで全ての機能が利用できないという不便が生じる。
 以下では、サーバプログラムを機能単位でパッケージ化し、それぞれの機能単位でインストール処理を行うケースを説明する。まず、本実施形態の構成について説明する。図3は本実施形態におけるシステムの構成を示すブロック図である。図1と同じ動作をする機能ブロックは同じ番号で記し、必要でない限り説明の繰り返しを避ける。
 本実施形態のシステムは、携帯端末401、アプリケーションサーバ402がネットワーク403を介して互いに通信を行うシステムである。
 携帯端末401はクライアントプログラム404、ローカルプロキシ405a、サーバプログラム保存手段406、サーバプログラム同期手段408a、サーバプログラム配備手段407a、サーバプログラム遠隔制御手段416、通信手段409を有する。
 ローカルプロキシ405aは通信プロキシであり、クライアントプログラム404の行うHTTP通信を仲介して適切な場所に送信する。ローカルプロキシ405aはクライアントプログラム404から受け取ったリクエストを、設定された判断基準に従って、サーバプログラム保存手段406に保存されているサーバプログラムで処理できるかどうかを判定する。処理できるかどうかの判断基準はサーバプログラム配備手段407aによって設定される。該リクエストをサーバプログラム保存手段406に保存されているサーバプログラムで処理できると判定すれば、サーバプログラム保存手段406に保存されているサーバプログラムを起動して処理を行わせ、処理できないと判定すればサーバプログラム411aに送信して処理を行わせる。
 サーバプログラム配備手段407aはサーバプログラムを構成するプログラムデータ412aとリソースデータ413aを機能単位で取得し、サーバプログラム保存手段406に保存する手段である。サーバプログラム配備手段407aはまた、プロファイルデータ419に記述されている複数のプログラムデータ群417とリソースデータ群418との間の依存関係を参照し、どのデータがインストールされていればどの機能が利用可能かの判断基準をローカルプロキシ405aに設定する。
 サーバプログラム同期手段408aは、サーバプログラム保存手段406に保存されているサーバプログラムをサーバプログラム411aと機能単位で同期する手段である。
 サーバプログラム遠隔制御手段416は、サーバプログラム制御手段420と通信を行い、サーバプログラム保存手段406に保存されていないサーバプログラムの機能を利用する手段である。サーバプログラム遠隔制御手段416は、サーバプログラム保存手段406に保存されているサーバプログラムの一機能が、サーバプログラム保存手段406に保存されていないプログラムデータやリソースデータを利用する際に、プログラムデータ412aの遠隔実行をサーバプログラム制御手段420に指示する。サーバプログラム遠隔制御手段416が遠隔制御する機能には、例えばデータベースにクエリを発行する処理のように大容量のデータにアクセスする機能や、秘密鍵を用いたデータの暗号化のようにセキュリティの観点から携帯端末で行うべきでない機能などが想定される。
 アプリケーションサーバ402はさらにサーバプログラム411a、サーバプログラム同期手段415a、サーバプログラム提供手段414a、プロファイルデータ419、サーバプログラム制御手段420、通信手段410を有する。
 サーバプログラム411aはWebアプリケーションのサーバプログラムであり、クライアントプログラム404からのリクエストを処理するプログラムである。サーバプログラム411aはさらに機能ごとの実行手続きであるプログラムデータ412aの集合と、プログラムデータ412aが参照するデータであるリソースデータ413aの集合に分けられる。また、サーバプログラム411aには、どのプログラムデータ412aがどのリソースデータ413aを利用するかを記述したデータであるプロファイルデータ419も含まれる。
 サーバプログラム提供手段414aはプログラムデータ412aおよびリソースデータ413aを機能単位でサーバプログラム配備手段407aに提供する手段である。
 サーバプログラム同期手段415aはサーバプログラム411aを、サーバプログラム保存手段406に保存されているサーバプログラムと機能単位で同期する手段である。
 サーバプログラム制御手段420は、サーバプログラム遠隔制御手段416からの要求に従ってサーバプログラム411aに処理の指示を行う制御手段である。サーバプログラム411aは、機能単位ごとにプログラムの実行やリソースの送信が可能である。そのため、サーバプログラム制御手段420は、サーバプログラム411aの全機能の処理を指示することに加えて、機能単位ごとにプログラムの実行やリソースの送信などの処理の指示もする。
 次に、本実施形態における各装置の動作について説明する。図4は本実施形態における装置の処理手順を示したフローチャートである。
 最初にユーザが入力手段を用いるなどして、クライアントプログラム404にWebアプリケーションの利用を指示すると、クライアントプログラム404は指示を受け付ける。クライアントプログラム404は指示されたWebアプリケーションを提供するサーバであるアプリケーションサーバ402およびWebアプリケーションのどの機能を利用するかを特定し、アプリケーションサーバ402に対して利用する機能を指定するHTTPリクエストをローカルプロキシ405aに送信する(ステップS201)。
 ローカルプロキシ405aは受信したHTTPリクエストの送信先情報と利用する機能とを見て、サーバプログラム411aの特定の機能がサーバプログラム保存手段406に保存されているかどうかを判定する(ステップS202)。ローカルプロキシ405aがWebアプリケーションと機能を特定する方法は、アプリケーションごとに異なる。例えば、HTTPリクエストに記載されるURL(Uniform Resource Locator)に含まれるホスト名から利用するWebアプリケーションを特定し、ディレクトリ名とファイル名および呼び出しパラメータから機能を特定する方法などがある。
 クライアントプログラム404が要求する機能が保存されていた場合、ローカルプロキシ405aは該機能が利用可能であるかどうか判定する(ステップS203)。ローカルプロキシ405aはサーバプログラム配備手段407aによって設定された判断基準に従い、サーバプログラム保存手段406に保存されているプログラムとリソースを参照してこの判定を行う。
 クライアントプログラム404が要求する機能が実行可能であった場合、ローカルプロキシ405aは該機能に対応するプログラムを起動して、先に受信したHTTPリクエストを起動したプログラムに渡して処理を行わせる(ステップS204)。起動したプログラムの処理の結果を受け取り、クライアントプログラム404に渡して処理を終了する。
 ここで、前述のプログラムの処理中にサーバプログラム保存手段406に保存されていないプログラムデータやリソースデータが必要になった場合(ステップS205)、ローカルプロキシ405aはサーバプログラム遠隔制御手段416に遠隔制御を指示する。
 サーバプログラム遠隔制御手段416はローカルプロキシ405aからの指示に従い、通信手段409を利用してアプリケーションサーバ402に接続し、サーバプログラム制御手段420に特定のプログラムの実行やリソースの送信を指示する(ステップS206)。
 サーバプログラム制御手段420はサーバプログラム遠隔制御手段416からの指示に従い、サーバプログラム411aの特定のプログラムを実行したり特定のリソースを取得し、結果をサーバプログラム遠隔制御手段416に送信する(ステップS207)。サーバプログラム遠隔制御手段416はサーバプログラム制御手段420から結果を受け取り、処理中であったプログラムに結果を渡し、制御を戻す。制御が戻ったプログラムは処理を続行し、処理結果をレスポンスとしてローカルプロキシ405aに渡す。ローカルプロキシ405aは受け取ったレスポンスをクライアントプログラム404にそのまま渡し、処理を終了する。
 クライアントプログラム404が要求する機能がサーバプログラム保存手段406に保存されているが、インストール処理や同期処理中のため実行可能でなければ、ローカルプロキシ405aは通信手段409を用いてアプリケーションサーバ402に接続し、先に受信したHTTPリクエストをサーバプログラム411aに転送する(ステップS208)。ローカルプロキシ405aはサーバプログラム411aが処理した結果をHTTPレスポンスとして受信し(ステップS209)、クライアントプログラム404にそのまま転送してリクエスト処理を終了する。このとき、クライアントプログラム404が要求する機能がアプリケーションサーバ402で処理されたことを記録しておく。
 クライアントプログラム404が要求する機能がサーバプログラム保存手段406に保存されていなければ、ローカルプロキシ405aはサーバプログラム配備手段407aにサーバプログラム411aの該当機能であるプログラムデータ412aおよびリソースデータ413aを取得するように指示する(ステップS210)。サーバプログラム配備手段407aはサーバプログラム提供手段414aと通信してプログラムデータ412aを要求する(ステップS211)。
 サーバプログラム提供手段414aはプロファイルデータ419を参照してプログラムデータ412aおよびプログラムデータ412aが必要とするリソースデータであるリソースデータ413a、さらにプロファイルデータ419をパッケージ化してサーバプログラム配備手段407aに送信する(ステップS211)(ステップS212)。プロファイルデータ419に記述されている情報の例を図5に示す。この例では、サーバプログラムは機能1~3およびファイルA、データベースXから構成されている。機能1はファイルAを利用するため、サーバプログラム配備手段407aが機能1をサーバプログラム提供手段414aに要求すると、サーバプログラム提供手段414aは機能1とファイルA、およびプロファイルデータ自体をパッケージ化してサーバプログラム配備手段407aに送信する。
 サーバプログラム配備手段407aは受け取ったパッケージを展開してサーバプログラム保存手段406に保存する(ステップS213)。このとき、機能のインストール中にリクエストがアプリケーションサーバ402で処理された記録があるかどうかを判定する。
 機能のインストール中にリクエストがアプリケーションサーバ402で処理されていなければ、サーバプログラム配備手段407aはプロファイルデータ419の記述を解釈してローカルプロキシ405aに反映させる(ステップS216)。ふたたび図5を例に取ると、ローカルプロキシ405aは機能1とファイルAがサーバプログラム保存手段406に存在すれば、クライアントプログラム404からの機能1の要求はサーバプログラム保存手段406に保存されているプログラムで処理するように設定する。設定が完了したら、サーバプログラム411aのインストールを完了とする。
 機能のインストール中にリクエストがアプリケーションサーバ402で処理された場合、サーバプログラム配備手段407aはサーバプログラム同期手段408aに同期処理を指示する(ステップS215)。同期処理が完了したら、プロファイルデータ419の記述をローカルプロキシ405aに反映させて(ステップS216)、インストール処理を終了する。
 本実施形態のようにサーバプログラムを機能単位に分割することにより、次の2点の効果が得られる。まず、機能ごとのパッケージのサイズが小さくなることにより、インストールにかかる時間が短縮される。次に、巨大なDBを利用する機能やセキュリティ上の理由からサーバから出したくない情報を利用する機能などを分離することが可能になり、サーバプログラム全てをパッケージ化する場合より多くのアプリケーションに適用が可能になる。
 (第3の実施形態)
 上述の実施形態では携帯端末とアプリケーションサーバの二者間でのみ通信が行われていたが、本発明の効果を得るための構成は、このような単純な構成に限らない。
 以下では、サーバプログラムがアプリケーションサーバではない外部のディレクトリサーバによって行われ、また携帯端末へのサーバプログラムの配備が外部のプロキシサーバによって開始されるケースについて説明する。
 まず、本実施形態に係るシステムの構成について説明する。図6は本実施の形態におけるシステムの構成を示すブロック図である。図1、図3と同じ機能モジュールには同じ番号を割り振っている。
 本実施形態に係るシステムは、携帯端末401、アプリケーションサーバ402に加えて、プロキシサーバ421、アプリケーションディレクトリサーバ422がネットワーク403に接続して相互に通信を行うシステムである。
 携帯端末401はクライアントプログラム404、ローカルプロキシ405b、サーバプログラム保存手段406、サーバプログラム配備手段407b、通信手段409を有する。
 ローカルプロキシ405bはクライアントプログラム404からのHTTPリクエストに対して、サーバプログラム保存手段406にサーバプログラムが保存されているかを判断し、保存されていれば該プログラムを起動してリクエストを処理させ、保存されていなければプロキシサーバ421にリクエストを転送するHTTPプロキシである。
 サーバプログラム配備手段407bはサーバプログラム配備指示手段423からの指示に従ってサーバプログラム保存手段406にサーバプログラムを保存する手段である。
 アプリケーションサーバ402はサーバプログラム411、サーバプログラム同期手段415、通信手段410を有する。
 プロキシサーバ421はリモートプロキシ424、サーバプログラム配備指示手段423、サーバプログラム同期手段428、通信手段425を有する。
 リモートプロキシ424はローカルプロキシ405bから送信されたHTTPリクエストから接続先のWebアプリケーションを判別して、サーバプログラムを携帯端末401に配備するかの判定と、HTTPリクエストをアプリケーションサーバ402に転送する処理を行うHTTPプロキシである。サーバプログラムを携帯端末401に配備するかどうかの判定は、アプリケーションディレクトリサーバ422が該当のWebアプリケーションに対するサーバプログラムを保持しているか問い合わせることで行う。該当のWebアプリケーションに対するサーバプログラムが見つかれば、サーバプログラムを携帯端末401に配備するようサーバプログラム配備指示手段423に指示を行う。
 サーバプログラム配備指示手段423はアプリケーションディレクトリサーバ422Tから取得したサーバプログラムをサーバプログラム配備手段407bに送信して、サーバプログラム保存手段406に保存することを指示する手段である。また、プログラムデータやリソースデータに変更があった場合にも、更新されたデータをサーバプログラム配備手段407bに送信することで、サーバプログラム保存手段406に保存されているデータを最新に保つ処理も行う。
 通信手段425は通信手段409や通信手段410と同様に、プロキシサーバ421が他のサーバや端末と通信を行う際に利用される通信手段である。
 アプリケーションディレクトリサーバ422はサーバプログラム提供手段427、サーバプログラム保存手段429、通信手段426を有する。
 サーバプログラム提供手段427は、アプリケーションサーバ402で動作しているサーバプログラム411のようなサーバプログラムがサーバプログラム保存手段429に保存されているかどうかを判定し、該当のプログラムをプロキシサーバ421に提供する手段である。
 サーバプログラム保存手段429はサーバプログラム411をはじめとするサーバプログラムを保存する手段である。サーバプログラム保存手段429に保存されているサーバプログラムは、事前にアプリケーションサーバ402によって登録されたものである。
 通信手段426は通信手段409や通信手段410と同様に、プロキシサーバ421が他のサーバや端末と通信を行う際に利用される通信手段である。
 次に、本実施形態の各装置の動作について説明するが、先の実施形態と重複する動作については詳細な説明を省略する。図7は本実施形態における各装置の処理手順を示すフローチャートである。
 <インストール処理>
 クライアントプログラム404からのリクエストの発行に対して、サーバプログラムを自動的にインストールする流れについて説明する。
 ローカルプロキシ405bはクライアントプログラム404からのHTTPリクエストを受け取り、サーバプログラム保存手段406に該当のサーバプログラムが保存されているか判断する(ステップS301)(ステップS302)。該当のサーバプログラムが保存されていれば、該当のプログラムを起動してリクエストの処理を行い、クライアントプログラム404にレスポンスを返す(ステップS303)(ステップS304)。
 該当のサーバプログラムが保存されていなければ、ローカルプロキシ405bは通信手段409を利用してプロキシサーバ421に接続し、リモートプロキシ424にHTTPリクエストを送信する(ステップS305)。
 リモートプロキシ424は受け取ったHTTPリクエストのヘッダから接続先のWebアプリケーションを取得し、サーバプログラムが取得可能かどうか、通信手段425を用いてアプリケーションディレクトリサーバ422に接続し、サーバプログラム提供手段427に問い合わせる(ステップS306)。また、並行して受け取ったHTTPリクエストをアプリケーションサーバ402に送信し、通常のHTTPプロキシの処理を行う。
 サーバプログラム提供手段427はサーバプログラム保存手段429内に該当のサーバプログラムが保存されているか判定し(ステップS307)、保存されていなければリモートプロキシ424にサーバプログラムが取得不可能であるレスポンスを返す(ステップS308)。リモートプロキシ424はサーバプログラムが取得不可能であれば、何もしない。
 サーバプログラム保存手段429内に該当のサーバプログラムが保存されていれば、サーバプログラム提供手段427は該当のサーバプログラムをパッケージ化し、リモートプロキシ424に送信する(ステップS309)。
 リモートプロキシ424はサーバプログラムのパッケージを受信すると、サーバプログラム配備指示手段423にパッケージを携帯端末401に配備させるよう指示する(ステップS310)。サーバプログラム配備指示手段423は携帯端末401に接続し、サーバプログラム配備手段407bにサーバプログラムを配備する要求をパッケージとともに送信する。
 サーバプログラム配備手段407bはパッケージを展開し、サーバプログラム保存手段406に保存する(ステップS311)。
 <同期処理>
 アプリケーションサーバ402側のデータに変更があった際に、携帯端末401にデータの変更を通知する流れについて説明する。
 別のユーザからのリクエストや、プログラムのアップデートなどによりサーバプログラム411を構成するプログラムデータ412およびリソースデータ413に変更が加えられる。
 サーバプログラム同期手段415はサーバプログラム411を監視して、プログラムデータ412とリソースデータ413の変化を察知すると、通信手段410を用いてプロキシサーバ421に接続し、サーバプログラム同期手段428にデータの変更が起きたことをデータの差分とともに通知する。
 サーバプログラム同期手段428はデータの差分からサーバプログラムの更新パッケージを作成する。
 サーバプログラム同期手段428は作成した更新パッケージを携帯端末401に配備させるよう指示する。サーバプログラム配備指示手段423は携帯端末401に接続し、サーバプログラム配備手段407bにサーバプログラムを更新する要求を更新パッケージとともに送信する。
 サーバプログラム配備手段407bは更新パッケージを展開し、サーバプログラム保存手段406に保存されている古いサーバプログラムを更新する。
 本実施形態のように構成すると、携帯端末401において、サーバプログラムの配備のために必要な通信処理は、単に、プロキシサーバ421に接続してHTTPリクエストを送信する(ステップS305)程度になる。本実施形態によれば、サーバプログラムの配備のために必要な通信処理をプロキシサーバ421が代理で行うことができ、クライアント装置の構成を単純にすることができる。
 以上、本発明の好適な実施の形態について説明したが、本発明はこれに限定されるものではなく、要旨を逸脱しない範囲内で種々の変形実施が可能である。上述した本実施形態における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
 なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
 例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納(記録)しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー(登録商標)ディスク、CD-ROM(Compact Disc Read Only Memory)、MO(Magneto optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどが挙げられる。
 なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトから、コンピュータに無線転送することになる。また、ネットワークを介して、コンピュータに有線で転送することになる。
 なお、この出願は、2008年5月14日に出願した、日本特許出願番号2008-127578号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 401  携帯端末
 402  アプリケーションサーバ
 403  ネットワーク
 404  クライアントプログラム
 405  ローカルプロキシ
 406  サーバプログラム保存手段
 407  サーバプログラム配備手段
 408  サーバプログラム同期手段
 409、410  通信手段
 411  サーバプログラム
 412  プログラムデータ
 413  リソースデータ
 414  サーバプログラム提供手段
 415  サーバプログラム同期手段
 421  プロキシサーバ
 422  アプリケーションディレクトリサーバ

Claims (11)

  1.  サーバプログラムを実行するサーバコンピュータにネットワークを介して接続されるクライアント装置であって、
     前記サーバプログラムと通信を行うクライアントプログラムと、
     前記サーバコンピュータから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、
     前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバコンピュータ上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、
     を有することを特徴とする、クライアント装置。
  2.  更に、配備されたサーバプログラムと前記サーバコンピュータ上で実行される前記サーバプログラムとの同期をとるサーバプログラム同期手段を有することを特徴とする、請求項1記載のクライアント装置。
  3.  前記サーバプログラムは、プログラムデータとリソースデータに分化されており、
     前記サーバプログラム配備手段は、前記サーバプログラムの取得をする際、前記プログラムデータの全体と前記リソースデータの一部を取得することを特徴とする、請求項1又は2記載のクライアント装置。
  4.  前記プログラムデータと前記リソースデータは、機能単位に分化されており、
     前記サーバプログラム配備手段は、前記サーバプログラムの取得をする際、前記プログラムデータと前記リソースデータを機能単位で取得することを特徴とする、請求項3記載のクライアント装置。
  5.  サーバプログラムを実行するサーバコンピュータにネットワークを介して接続され、前記サーバプログラムと通信を行うクライアントプログラムを備えるクライアント装置の制御方法であって、
      前記サーバコンピュータから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備工程と、
     前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバコンピュータ上で実行される前記サーバプログラムに送信する工程と、
     を含むことを特徴とする、クライアント装置の制御方法。
  6.  サーバプログラムを実行するサーバコンピュータにネットワークを介して接続され、前記サーバプログラムと通信を行うクライアントプログラムを備えるクライアント装置を、
     前記サーバコンピュータから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、
     前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバコンピュータ上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、
     として機能させることを特徴とする、クライアント装置のプログラム。
  7.  クライアントプログラムを実行するクライアント装置にネットワークを介して接続されるサーバ装置であって、
     前記クライアントプログラムと通信を行うサーバプログラムと、
     前記サーバプログラムのサブセットを前記クライアント装置に送信するサーバプログラム提供手段と、
     前記サーバプログラムに加えられた変更を前記クライアント装置へ送信するサーバプログラム同期手段と、
     を有し、
     前記サーバプログラムは、前記クライアントプログラムが前記サーバプログラムにリクエストを送信し、当該リクエストが前記サーバプログラムに送信された場合に、処理を行うことを特徴とする、サーバ装置。
  8.  クライアントプログラムを実行するクライアント装置にネットワークを介して接続され、前記クライアントプログラムと通信を行うサーバプログラムを備えるサーバ装置の制御方法であって、
     前記サーバプログラムのサブセットを前記クライアント装置に送信するサーバプログラム提供工程と、
     前記サーバプログラムに加えられた変更を前記クライアント装置へ送信するサーバプログラム同期工程と、
     前記サーバプログラムが、前記クライアントプログラムが前記サーバプログラムにリクエストを送信し、当該リクエストが前記サーバプログラムに送信された場合に、処理を行う工程と、
     を含むことを特徴とする、サーバ装置の制御方法。
  9.  クライアント装置とサーバ装置がネットワークを介して接続された通信システムであって、
     前記クライアント装置は、
     前記サーバ装置が実行するサーバプログラムと通信を行うクライアントプログラムと、
     前記サーバ装置から前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、
     前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバ装置上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、
     を有することを特徴とする、通信システム。
  10.  クライアント装置とサーバ装置とアプリケーションディレクトリサーバとプロキシサーバとがネットワークを介して接続された通信システムであって、
     前記サーバ装置は、前記クライアント装置が実行するクライアントプログラムと通信を行うサーバプログラムを実行し、
     前記アプリケーションディレクトリサーバは、前記サーバプログラムを前記クライアント装置に配備するために有し、
      前記プロキシサーバは、
     前記アプリケーションディレクトリサーバに前記サーバプログラムを前記クライアント装置に配備するよう指示するサーバプログラム配備指示手段を有し、
     前記クライアント装置は、
     前記プロキシサーバを介して前記アプリケーションディレクトリサーバから前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備手段と、
     前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバ装置上で実行される前記サーバプログラムに送信するローカルプロキシ手段と、
     を有することを特徴とする、通信システム。
  11.  クライアント装置とサーバ装置がネットワークを介して接続され、前記クライアント装置が前記サーバ装置が実行するサーバプログラムと通信を行うクライアントプログラムを備える通信システムの制御方法であって、
     前記サーバ装置から前記サーバプログラムを取得して前記クライアント装置に配備するサーバプログラム配備工程と、
     前記クライアントプログラムがサーバプログラムにリクエストを送信する際に、当該リクエストが前記配備されたサーバプログラムで処理できるか否かを判定し、処理できないと判定される場合に、当該リクエストを前記サーバ装置上で実行される前記サーバプログラムに送信する工程と、
     を含むことを特徴とする、通信システムの制御方法。
PCT/JP2009/058982 2008-05-14 2009-05-14 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法 WO2009139437A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/991,389 US20110066681A1 (en) 2008-05-14 2009-05-14 Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof
JP2010512013A JPWO2009139437A1 (ja) 2008-05-14 2009-05-14 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-127578 2008-05-14
JP2008127578 2008-05-14

Publications (1)

Publication Number Publication Date
WO2009139437A1 true WO2009139437A1 (ja) 2009-11-19

Family

ID=41318801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/058982 WO2009139437A1 (ja) 2008-05-14 2009-05-14 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法

Country Status (3)

Country Link
US (1) US20110066681A1 (ja)
JP (1) JPWO2009139437A1 (ja)
WO (1) WO2009139437A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012054026A1 (en) 2010-10-20 2012-04-26 Hewlett-Packard Development Company, L.P. Store client side data
WO2012030653A3 (en) * 2010-08-29 2012-05-31 Vascode Technologies Ltd. A system and methods for multi-tasking in a clientless mobile phone
JP5297555B1 (ja) * 2012-12-04 2013-09-25 株式会社 ディー・エヌ・エー ネットワークシステム
JP2013207493A (ja) * 2012-03-28 2013-10-07 Kddi Corp 無線lan設定方法およびプログラムならびにその記録媒体
US9152411B2 (en) 2010-05-12 2015-10-06 Microsoft Technology Licensing, Llc Edge computing platform for delivery of rich internet applications
US10558726B2 (en) 2016-03-29 2020-02-11 Fujitsu Limited Method and apparatus for executing application

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9754000B2 (en) * 2012-12-21 2017-09-05 Sap Se Integration scenario for master data with software-as-a-service system
JP5606599B1 (ja) * 2013-07-29 2014-10-15 デジタルア−ツ株式会社 情報処理装置、プログラム及び情報処理方法
US9197612B2 (en) 2013-08-08 2015-11-24 Symbol Technologies, Llc Apparatus and method for deploying encrypted mobile off-line web applications
US10032027B2 (en) * 2014-07-29 2018-07-24 Digital Arts Inc. Information processing apparatus and program for executing an electronic data in an execution environment
CN105491001B (zh) * 2015-05-14 2017-02-22 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN105471833B (zh) 2015-05-14 2019-04-16 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
US10044836B2 (en) * 2016-12-19 2018-08-07 Palantir Technologies Inc. Conducting investigations under limited connectivity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092432A (ja) * 2004-09-27 2006-04-06 Sony Corp 情報処理装置および方法、並びにプログラム
JP2006171918A (ja) * 2004-12-13 2006-06-29 Internatl Business Mach Corp <Ibm> クライアントへのデータ送信および更新データの実行制御方法
JP2007323115A (ja) * 2006-05-30 2007-12-13 Internatl Business Mach Corp <Ibm> ローカル・プロキシにより通信情報を共有する方法
JP2008065611A (ja) * 2006-09-07 2008-03-21 Olympus Corp ソフトウェア更新方式及びソフトウェア更新プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051839A (ja) * 1999-08-12 2001-02-23 Nippon Telegr & Teleph Corp <Ntt> クライアント・サーバシステム及びその制御方法並びにクライアント端末
WO2001063399A2 (de) * 2000-02-24 2001-08-30 Siemens Aktiengesellschaft Verfahren und anordnung zur synchronisation eines auf einem ersten rechner ablaufenden programms mit einem auf einem server ablaufenden programm, computerlesbares speichermedium und computerprogramm-element
US20060020883A1 (en) * 2004-05-28 2006-01-26 Microsoft Corporation Web page personalization
JPWO2006051967A1 (ja) * 2004-11-12 2008-05-29 株式会社ジャストシステム データ処理装置、データ処理システム、データ処理中継装置およびデータ処理方法
JP2007226508A (ja) * 2006-02-23 2007-09-06 Seiko Epson Corp ネットワークに接続可能な端末においてWebサーバから受信したデータベースエンジンを動作させる方法および端末

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092432A (ja) * 2004-09-27 2006-04-06 Sony Corp 情報処理装置および方法、並びにプログラム
JP2006171918A (ja) * 2004-12-13 2006-06-29 Internatl Business Mach Corp <Ibm> クライアントへのデータ送信および更新データの実行制御方法
JP2007323115A (ja) * 2006-05-30 2007-12-13 Internatl Business Mach Corp <Ibm> ローカル・プロキシにより通信情報を共有する方法
JP2008065611A (ja) * 2006-09-07 2008-03-21 Olympus Corp ソフトウェア更新方式及びソフトウェア更新プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152411B2 (en) 2010-05-12 2015-10-06 Microsoft Technology Licensing, Llc Edge computing platform for delivery of rich internet applications
WO2012030653A3 (en) * 2010-08-29 2012-05-31 Vascode Technologies Ltd. A system and methods for multi-tasking in a clientless mobile phone
CN103080920A (zh) * 2010-08-29 2013-05-01 沃斯科德科技有限公司 用于无客户端移动电话中的多任务的系统和方法
US8472928B2 (en) 2010-08-29 2013-06-25 Vascode Technologies Ltd. System and methods for multi-tasking in a clientless mobile phone
US8954048B2 (en) 2010-08-29 2015-02-10 Vascode Technologies Ltd. System and methods for multi-tasking in a clientless mobile phone
WO2012054026A1 (en) 2010-10-20 2012-04-26 Hewlett-Packard Development Company, L.P. Store client side data
JP2014505278A (ja) * 2010-10-20 2014-02-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. クライアントサイドデータの格納
JP2013207493A (ja) * 2012-03-28 2013-10-07 Kddi Corp 無線lan設定方法およびプログラムならびにその記録媒体
JP5297555B1 (ja) * 2012-12-04 2013-09-25 株式会社 ディー・エヌ・エー ネットワークシステム
US10558726B2 (en) 2016-03-29 2020-02-11 Fujitsu Limited Method and apparatus for executing application

Also Published As

Publication number Publication date
JPWO2009139437A1 (ja) 2011-09-22
US20110066681A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
WO2009139437A1 (ja) クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
EP2664180B1 (en) Methods and system for providing content to a mobile communication device
JP5237298B2 (ja) クライアント駆動サーバ側インストールのための装置及び方法
US7139569B2 (en) Service searching system
JP4698756B2 (ja) ウェブベースアプリケーションのオフライン実行
US20100042729A1 (en) System for automated device-to-device transfer system
CN105765526A (zh) 通过网络从远程磁盘镜像进行引导
WO2009003385A1 (fr) Procédés, appareils et systèmes pour mettre à jour un équipement
EP1608136B1 (en) Mobile communication terminal and application control method for downloading a program
WO2012151993A1 (zh) 业务推送方法和装置
JP5585708B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム記録媒体
US20080163227A1 (en) Server and client, and update supporting and performing methods thereof
JP2005531061A (ja) モバイルアプリケーションのための実行環境
CN101980503A (zh) 一种widget应用管理方法、装置和系统
WO2006051967A1 (ja) データ処理装置、データ処理システム、データ処理中継装置およびデータ処理方法
JP4180953B2 (ja) 通信装置及びプログラム
JP2010097543A (ja) サービス支援プログラムおよびサービス支援方法
JP4823674B2 (ja) リモートインストールシステム、リモートインストール方法、サーバクローニングシステム、並びにサーバクローニング方法
JP4373480B2 (ja) 通信装置及びプログラム
KR101215184B1 (ko) 클라우드 기반의 악성 웹 및 바이러스 스캐닝 시스템 및 방법
EP1875372B1 (en) System and method of application persistence
JP2002149465A (ja) 情報共有システム
KR100597586B1 (ko) 세션 관리 기능을 이용한 데이터 동기화 방법
US20070045400A1 (en) Distriubuted registry for personalization
JP5481845B2 (ja) 情報処理システム、サービス提供方法、装置及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09746643

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12991389

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010512013

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09746643

Country of ref document: EP

Kind code of ref document: A1