JP2003058376A - 配信システム、配信サーバとその配信方法、配信プログラム - Google Patents

配信システム、配信サーバとその配信方法、配信プログラム

Info

Publication number
JP2003058376A
JP2003058376A JP2001247208A JP2001247208A JP2003058376A JP 2003058376 A JP2003058376 A JP 2003058376A JP 2001247208 A JP2001247208 A JP 2001247208A JP 2001247208 A JP2001247208 A JP 2001247208A JP 2003058376 A JP2003058376 A JP 2003058376A
Authority
JP
Japan
Prior art keywords
application
user terminal
program code
user
code
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
JP2001247208A
Other languages
English (en)
Other versions
JP4205323B2 (ja
Inventor
Naoto Maeda
直人 前田
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2001247208A priority Critical patent/JP4205323B2/ja
Priority to US10/217,541 priority patent/US7237235B2/en
Publication of JP2003058376A publication Critical patent/JP2003058376A/ja
Application granted granted Critical
Publication of JP4205323B2 publication Critical patent/JP4205323B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2895Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

(57)【要約】 【課題】 通信ネットワークを介して利用者端末に配信
するアプリケーションの、プログラムコード量を削減す
る。 【解決手段】 通信ネットワーク100を介して、配信
サーバ10から利用者端末20へアプリケーションを配
信する配信システムにおいて、配信サーバ10は、利用
者端末20に対してアプリケーションを、当該利用者端
末20における当該アプリケーションの実行状況を示す
実行データに基づいて、当該アプリケーションのプログ
ラムコードを最適化して配信し、利用者端末20は、配
信サーバ10からアプリケーションのプログラムコード
と実行データを取得し、取得したプログラムコードを、
実行データに示される当該アプリケーションの実行状況
に基づいて実行させる手段と、実行中のアプリケーショ
ンの実行データを取得して、配信サーバに送信する手段
を備えることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信ネットワーク
を介した配信に関し、特に、利用者からの要求に応じて
利用者端末へアプリケーションを配信する配信システ
ム、配信サーバとその配信方法、配信プログラムに関す
る。
【0002】
【従来の技術】従来のアプリケーション配信システムの
一例が、2000年12月、サン・マイクロシステムズ
発行、ジャバ・ネットワーク・ラウンチング・プロトコ
ル・アンド・エイピイアイ・スペシフィケーション(ジ
ェイ・エス・アール-56)(Sun Microsystems発行、Ja
va(TM) Networking Launching Protocol & API Specifi
cation(JSR-56))に記載されている。この種のアプリケ
ーション配信システムは、複数のアプリケーションをサ
ーバで集中的に管理し、利用者からの要求に応じて利用
者端末へアプリケーションを配信するシステムである。
【0003】図11は、従来のアプリケーション配信シ
ステムの構成例を示すブロック図である。全体の構成
は、アプリケーションを配信する機能を備える配信サー
バ40と、利用者端末50−1〜50−nと、配信サー
バ40と各利用者端末50−1〜50−nとをネットワ
ークを通して接続するWebサーバ等の情報転送装置60
からなる。
【0004】配信サーバ40は、利用者の認証を行なう
利用者認証部41と、配信するアプリケーションの(最
適化する前の)プログラムコードを管理するプログラム
コード管理部42と、アプリケーションの設定ファイル
やデータファイルを各利用者と対応付けて管理する利用
者データ管理部43を備える。
【0005】各利用者端末50−1〜50−nは、同様
の構成を備え、アプリケーションを配信サーバ40から
取得し、実行する機能を持つアプリケーション管理部5
1を備える。
【0006】このような構成を有する従来のアプリケー
ション配信システムは、次のように動作する。図12は
配信サーバ40の処理を示すフローチャート図である。
この図12を参照して、利用者端末50−1からアプリ
ケーション取得要求を受け付けた場合の処理を説明す
る。
【0007】まず、配信サーバ40の利用者認証部41
は、利用者端末50−1に含まれるアプリケーション管
理部51から、アプリケーション取得要求を示すメッセ
ージを受け付ける(ステップ1201)。このメッセー
ジは、例えば、要求するアプリケーションの名前と、要
求元である利用者の身元を証明するユーザ名とパスワー
ド等の認証情報から構成される。
【0008】利用者認証部41は、先のメッセージに含
まれる認証情報を用いて、利用者の認証を行なう(ステ
ップ1202)。認証が失敗した場合(ステップ120
2がNO)は、エラーを返す(ステップ1206)。認
証が成功した場合(ステップ1202がYES)は、利
用者認証部41は、先のメッセージにより指定されたア
プリケーションのプログラムコードを、プログラムコー
ド管理部42から取得する(ステップ1203)。
【0009】次に、利用者認証部41は、利用者データ
管理部43から、認証した利用者が所有し、かつ、先の
メッセージに含まれるアプリケーションに対応する設定
ファイルやデータファイルなどの利用者データを取得す
る(ステップ1204)。
【0010】最後に、利用者認証部41は、ステップ1
203とステップ1204より得られたプログラムコー
ドと利用者データを一つのアプリケーションとして利用
者端末50−1に配信する。
【0011】
【発明が解決しようとする課題】しかし、従来の技術で
は、アプリケーションを構成するプログラムコードを、
そのまま利用者端末へ転送する方式であり、このため、
プログラムコードに含まれる利用者端末上で利用される
ことのないコードも同様に転送されることになり、その
分の通信トラフィックが無駄に浪費されるという問題点
がある。
【0012】本発明の第1の目的は、上記従来技術の欠
点を解決し、利用者端末上で利用される可能性のない冗
長な部分を取り除いてアプリケーションを配信すること
により、アプリケーション配信時に発生する通信量の削
減と、利用者端末で実行されるアプリケーションが消費
するメモリ量の削減を実現する配信システム、配信サー
バとその配信方法、配信プログラムを提供することにあ
る。
【0013】本発明の第2の目的は、上記従来技術の欠
点を解決し、アプリケーションの利用者端末における実
行状況を示す実行データに基づいて、転送するアプリケ
ーションのプログラムコードから、利用者端末上で利用
される可能性がない冗長な部分を自動的に取り除いて配
信する配信システム、配信サーバとその配信方法、配信
プログラムを提供することにある。
【0014】
【課題を解決するための手段】上記目的を達成するため
本発明の配信システムは、通信ネットワークを介して、
配信サーバから利用者端末へアプリケーションを配信す
る配信システムにおいて、前記配信サーバは、前記利用
者端末における前記アプリケーションの実行状況を示す
実行データに基づいて、前記アプリケーションのプログ
ラムコードを最適化することにより、前記利用者端末に
対して前記アプリケーションを配信することを特徴とす
る。
【0015】請求項2の本発明の配信システムは、前記
利用者端末は、前記配信サーバから前記アプリケーショ
ンのプログラムコードと実行データを取得し、取得した
前記プログラムコードを、前記実行データに示される当
該アプリケーションの実行状況に基づいて実行させる実
行データ処理部と、実行中の前記アプリケーションの前
記実行データを取得して、前記配信サーバに送信するア
プリケーション管理部とを備えることを特徴とする。
【0016】請求項3の本発明の配信システムは、前記
配信サーバは、前記アプリケーションの前記利用者端末
への配信時には、当該アプリケーションのプログラムコ
ードと、当該利用者端末における当該アプリケーション
の実行データと、当該利用者端末において当該アプリケ
ーションが用いる設定ファイル及びデータファイルであ
る利用者データとを、まとめて当該利用者端末に送信
し、前記利用者端末の前記実行データ処理部は、前記配
信サーバから配信された前記アプリケーションのプログ
ラムコードを、当該アプリケーションの前記実行データ
及び前記利用者データに基づいて実行し、前記利用者端
末の前記アプリケーション管理部は、実行中の前記アプ
リケーションの前記実行データ及び前記利用者データを
取得して、前記配信サーバに送信することを特徴とす
る。
【0017】請求項4の本発明の配信システムは、前記
実行データが、前記アプリケーションの実行中におけ
る、プログラムカウンタ、ヒープ、スタックの情報を含
むことを特徴とする。
【0018】請求項5の本発明の配信システムは、前記
実行データが、前記アプリケーションの実行時にメモリ
上に生成される、各オブジェクトのインスタンス変数の
値の情報を含むことを特徴とする。
【0019】請求項6の本発明の配信システムは、前記
配信サーバは、各前記利用者端末の利用者を認証する利
用者認証部と、前記アプリケーションの最適化前のプロ
グラムコードを管理するプログラムコード管理部と、各
前記利用者端末における前記アプリケーションの実行デ
ータを管理する実行データ管理部と、各前記利用者端末
における前記アプリケーションの利用者データを管理す
る利用者データ管理部と、前記実行データに基づいて前
記アプリケーションの前記最適化前のプログラムコード
を最適化し、最適化されたプログラムコードを生成する
コード最適化部を備えることを特徴とする。
【0020】請求項7の本発明の配信システムは、前記
配信サーバの前記コード最適化部は、前記アプリケーシ
ョンのプログラムコードから、当該アプリケーションの
配信先の利用端末における前記実行データに基づいて、
配信先の利用端末において実行されることのない部分を
特定して削除することにより、実行される可能性のある
コードのみを含んだ当該アプリケーションのプログラム
コードを新規に生成するコード抽出手段と、前記コード
抽出手段が生成した、前記アプリケーションの新規のプ
ログラムコードを圧縮することにより、当該アプリケー
ションの圧縮された新規のプログラムコードを生成する
コード圧縮手段を備え、前記コード圧縮手段が生成し
た、前記アプリケーションの新規のプログラムコード
を、当該アプリケーションの最適化されたプログラムコ
ードとして、配信先の利用者端末に送信することを特徴
とする。
【0021】請求項8の本発明の配信システムは、前記
配信サーバは、前記コード最適化部が生成した最適化さ
れたプログラムコードを一時保存するキャッシュ部を備
えることを特徴とする。
【0022】請求項9の本発明の配信システムは、前記
利用者端末は、当該利用者端末の情報である利用者端末
情報を取得する情報公開部を備え、前記配信サーバは、
前記情報公開部が取得した、前記利用者端末の利用者端
末情報に基づいて、当該利用者端末に対し配信するアプ
リケーションのプログラムコードを選別する情報解析部
を備えることを特徴とする。
【0023】請求項10の本発明の配信システムは、前
記利用者端末情報が、当該利用者端末に格納されている
クラスライブラリの情報を含み、前記配信サーバの前記
情報解析部は、前記利用者端末情報において示される、
配信先の利用者端末に格納されているクラスライブラリ
を、当該利用者端末に配信する前記アプリケーションの
プログラムコードから削除することを特徴とする。
【0024】請求項11の本発明の配信システムは、前
記配信サーバと前記通信ネットワークとを接続し、前記
配信サーバと各前記利用者端末との通信を中継する情報
転送装置を備えることを特徴とする。
【0025】請求項12の本発明の配信システムは、前
記通信ネットワークをインターネットとし、前記情報転
送装置は、ウェブサーバの機能を備え、前記配信サーバ
との間でサーブレットを用いて通信することを特徴とす
る。
【0026】請求項13の本発明の配信サーバは、通信
ネットワークを介して、利用者端末へアプリケーション
を配信する配信サーバにおいて、前記利用者端末に対し
て前記アプリケーションを、当該利用者端末における当
該アプリケーションの実行状況を示す実行データに基づ
いて、当該アプリケーションのプログラムコードを最適
化して配信することを特徴とする。
【0027】請求項14の本発明の配信サーバは、前記
アプリケーションの前記利用者端末への配信時に、当該
アプリケーションのプログラムコードと、当該利用者端
末における当該アプリケーションの実行データと、当該
利用者端末において当該アプリケーションが用いる設定
ファイル及びデータファイルである利用者データとを、
まとめて当該利用者端末に送信する手段と、前記利用者
端末から、前記通信ネットワークを介して、前記アプリ
ケーションの前記実行データ及び前記利用者データを取
得して登録する手段を備えることを特徴とする。
【0028】請求項15の本発明の配信サーバは、各前
記利用者端末の利用者を認証する利用者認証部と、前記
アプリケーションの最適化前のプログラムコードを管理
するプログラムコード管理部と、各前記利用者端末にお
ける前記アプリケーションの実行データを管理する実行
データ管理部と、各前記利用者端末における前記アプリ
ケーションの利用者データを管理する利用者データ管理
部と、前記実行データに基づいて前記アプリケーション
の前記最適化前のプログラムコードを最適化し、最適化
されたプログラムコードを生成するコード最適化部を備
えることを特徴とする。
【0029】請求項16の本発明の配信サーバは、前記
コード最適化部は、前記アプリケーションのプログラム
コードから、当該アプリケーションの配信先の前記利用
端末における前記実行データに基づいて、配信先の前記
利用端末において実行されることのない部分を特定して
削除することにより、実行される可能性のあるコードの
みを含んだ当該アプリケーションのプログラムコードを
新規に生成するコード抽出手段を備えることを特徴とす
る。
【0030】請求項17の本発明の配信サーバは、前記
コード最適化部は、前記コード圧縮手段が生成した、前
記アプリケーションの新規のプログラムコードを圧縮す
ることにより、当該アプリケーションの圧縮された新規
のプログラムコードを生成するコード圧縮手段を備える
ことを特徴とする。
【0031】請求項18の本発明の配信サーバは、前記
コード最適化部は、前記アプリケーションのプログラム
コードから、当該アプリケーションの配信先の利用端末
における前記実行データに基づいて、配信先の利用端末
において実行されることのない部分を特定して削除する
ことにより、実行される可能性のあるコードのみを含ん
だ当該アプリケーションのプログラムコードを新規に生
成するコード抽出手段と、前記コード抽出手段が生成し
た、前記アプリケーションの新規のプログラムコードを
圧縮することにより、当該アプリケーションの圧縮され
た新規のプログラムコードを生成するコード圧縮手段を
備え、前記コード圧縮手段が生成した、前記アプリケー
ションの新規のプログラムコードを、当該アプリケーシ
ョンの最適化されたプログラムコードとして、配信先の
利用者端末に送信することを特徴とする。
【0032】請求項19の本発明の配信サーバは、前記
コード最適化部が生成した最適化されたプログラムコー
ドを一時保存するキャッシュ部を備えることを特徴とす
る。
【0033】請求項20の本発明の配信サーバは、前記
利用者端末から、当該利用者端末の情報である利用者端
末情報を取得し、前記利用者端末情報に基づいて、当該
利用者端末に対し配信するアプリケーションのプログラ
ムコードを選別する情報解析部を備えることを特徴とす
る。
【0034】請求項21の本発明の配信サーバは、前記
利用者端末情報が、当該利用者端末に格納されているク
ラスライブラリの情報を含み、前記情報解析部は、前記
利用者端末情報において示される、配信先の利用者端末
に格納されているクラスライブラリを、当該利用者端末
に配信する前記アプリケーションのプログラムコードか
ら削除することを特徴とする。
【0035】請求項22の本発明の端末装置は、通信ネ
ットワークを介して、配信サーバからのアプリケーショ
ンの配信を受け付けて実行する端末装置において、実行
中の前記アプリケーションの実行状況を示す実行データ
を取得して、前記配信サーバに送信するアプリケーショ
ン管理部と、前記配信サーバから、前記アプリケーショ
ンのプログラムコードと、当該アプリケーションの前記
実行データを取得し、取得した前記プログラムコード
を、前記実行データに示される当該アプリケーションの
実行状況に基づいて実行させる実行データ処理部を備え
ることを特徴とする。
【0036】請求項23の本発明の端末装置は、前記配
信サーバからの前記アプリケーションの配信時には、当
該アプリケーションのプログラムコードと、当該端末装
置における当該アプリケーションの実行データと、当該
端末装置において当該アプリケーションが用いる設定フ
ァイル及びデータファイルである利用者データとを、ま
とめて受信し、前記アプリケーション管理部は、前記配
信サーバから配信された前記アプリケーションのプログ
ラムコードを、当該アプリケーションの前記実行データ
及び前記利用者データに基づいて実行させ、前記実行デ
ータ処理部は、実行中の前記アプリケーションの前記実
行データ及び前記利用者データを取得して、前記配信サ
ーバに送信することを特徴とする。
【0037】請求項24の本発明の端末装置は、当該端
末装置の情報である利用者端末情報を取得する情報公開
部を備え、前記情報公開部が取得した当該端末装置の前
記利用者端末情報を、前記配信サーバに送信することを
特徴とする。
【0038】請求項25の本発明の配信方法は、通信ネ
ットワークを介して、利用者端末へアプリケーションを
配信する配信方法において、前記利用者端末に対して前
記アプリケーションを、当該利用者端末における当該ア
プリケーションの実行状況を示す実行データに基づい
て、当該アプリケーションのプログラムコードを最適化
して配信することを特徴とする。
【0039】請求項26の本発明の配信方法は、前記ア
プリケーションの前記利用者端末への配信時に、当該ア
プリケーションのプログラムコードと、当該利用者端末
における当該アプリケーションの実行データと、当該利
用者端末において当該アプリケーションが用いる設定フ
ァイル及びデータファイルである利用者データとを、ま
とめて当該利用者端末に送信するステップと、前記利用
者端末から、前記通信ネットワークを介して、前記アプ
リケーションの前記実行データ及び前記利用者データを
取得して登録するステップを備えることを特徴とする。
【0040】請求項27の本発明の配信方法は、各前記
利用者端末の利用者を認証する利用者認証ステップと、
前記アプリケーションの最適化前のプログラムコードを
管理するプログラムコード管理ステップと、各前記利用
者端末における前記アプリケーションの実行データを管
理する実行データ管理ステップと、各前記利用者端末に
おける前記アプリケーションの利用者データを管理する
利用者データ管理ステップと、前記実行データに基づい
て前記アプリケーションの前記最適化前のプログラムコ
ードを最適化し、最適化されたプログラムコードを生成
するコード最適化ステップを備えることを特徴とする。
【0041】請求項28の本発明の配信方法は、前記コ
ード最適化ステップにおいて、前記アプリケーションの
プログラムコードから、当該アプリケーションの配信先
の利用端末における前記実行データに基づいて、配信先
の利用端末において実行されることのない部分を特定し
て削除することにより、実行される可能性のあるコード
のみを含んだ当該アプリケーションのプログラムコード
を新規に生成するコード抽出ステップと、前記コード抽
出ステップが生成した、前記アプリケーションの新規の
プログラムコードを圧縮することにより、当該アプリケ
ーションの圧縮された新規のプログラムコードを生成す
るコード圧縮ステップを備え、前記コード圧縮ステップ
において生成した、前記アプリケーションの新規のプロ
グラムコードを、当該アプリケーションの最適化された
プログラムコードとして、配信先の利用者端末に送信す
ることを特徴とする。
【0042】請求項29の本発明の配信方法は、前記コ
ード最適化ステップにおいて生成した最適化されたプロ
グラムコードを一時保存するキャッシュステップを備え
ることを特徴とする。
【0043】請求項30の本発明の配信方法は、前記利
用者端末から、当該利用者端末の情報である利用者端末
情報を取得し、前記利用者端末情報に基づいて、当該利
用者端末に対し配信するアプリケーションのプログラム
コードを選別する情報解析ステップを備えることを特徴
とする。
【0044】請求項31の本発明の配信方法は、前記利
用者端末情報が、当該利用者端末に格納されているクラ
スライブラリの情報を含み、前記情報解析ステップにお
いて、前記利用者端末情報において示される、配信先の
利用者端末に格納されているクラスライブラリを、当該
利用者端末に配信する前記アプリケーションのプログラ
ムコードから削除することを特徴とする。
【0045】請求項32の本発明の配信プログラムは、
コンピュータを制御することにより、通信ネットワーク
を介して利用者端末へアプリケーションを配信する配信
プログラムにおいて、前記利用者端末に対して前記アプ
リケーションを、当該利用者端末における当該アプリケ
ーションの実行状況を示す実行データに基づいて、当該
アプリケーションのプログラムコードを最適化して配信
することを特徴とする。
【0046】請求項33の本発明の配信プログラムは、
前記アプリケーションの前記利用者端末への配信時に、
当該アプリケーションのプログラムコードと、当該利用
者端末における当該アプリケーションの実行データと、
当該利用者端末において当該アプリケーションが用いる
設定ファイル及びデータファイルである利用者データと
を、まとめて当該利用者端末に送信する処理と、前記利
用者端末から、前記通信ネットワークを介して、前記ア
プリケーションの前記実行データ及び前記利用者データ
を取得して登録する処理を実行させることを特徴とす
る。
【0047】請求項34の本発明の配信プログラムは、
各前記利用者端末の利用者を認証する利用者認証処理
と、前記アプリケーションの最適化前のプログラムコー
ドを管理するプログラムコード管理処理と、各前記利用
者端末における前記アプリケーションの実行データを管
理する実行データ管理処理と、各前記利用者端末におけ
る前記アプリケーションの利用者データを管理する利用
者データ管理処理と、前記実行データに基づいて前記ア
プリケーションの前記最適化前のプログラムコードを最
適化し、最適化されたプログラムコードを生成するコー
ド最適化処理を実行させることを特徴とする。
【0048】請求項35の本発明の配信プログラムは、
前記コード最適化処理において、前記アプリケーション
のプログラムコードから、当該アプリケーションの配信
先の利用端末における前記実行データに基づいて、配信
先の利用端末において実行されることのない部分を特定
して削除することにより、実行される可能性のあるコー
ドのみを含んだ当該アプリケーションのプログラムコー
ドを新規に生成するコード抽出処理と、前記コード抽出
処理が生成した、前記アプリケーションの新規のプログ
ラムコードを圧縮することにより、当該アプリケーショ
ンの圧縮された新規のプログラムコードを生成するコー
ド圧縮処理と、前記コード圧縮処理において生成した、
前記アプリケーションの新規のプログラムコードを、当
該アプリケーションの最適化されたプログラムコードと
して、配信先の利用者端末に送信する処理を実行させる
ことを特徴とする。
【0049】請求項36の本発明の配信プログラムは、
前記コード最適化処理において生成した最適化されたプ
ログラムコードを一時保存するキャッシュ処理を実行さ
せることを特徴とする。
【0050】請求項37の本発明の配信プログラムは、
前記利用者端末から、当該利用者端末の情報である利用
者端末情報を取得し、前記利用者端末情報に基づいて、
当該利用者端末に対し配信するアプリケーションのプロ
グラムコードを選別する情報解析処理を実行させること
を特徴とする。
【0051】請求項38の本発明の配信プログラムは、
前記利用者端末情報が、当該利用者端末に格納されてい
るクラスライブラリの情報を含み、前記情報解析処理に
おいて、前記利用者端末情報において示される、配信先
の利用者端末に格納されているクラスライブラリを、当
該利用者端末に配信する前記アプリケーションのプログ
ラムコードから削除する処理を実行させることを特徴と
する。
【0052】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0053】図1は、本発明の第1の実施の形態による
配信システムの構成を示すブロック図である。図1を参
照すると本実施の形態の配信システムは、コード最適化
を行ないアプリケーションを配信する機能を備える配信
サーバ10と、各利用者が用いる端末装置である利用者
端末20−1〜20−nとが、通信ネットワーク100
を介して接続している。
【0054】また、配信サーバ10は、通信ネットワー
ク100との接続のために情報転送装置30を用いてい
る。情報転送装置30は、ウェブサーバ等の機能を備え
ることにより、利用者端末20−1〜20−nからの通
信ネットワーク100を介した接続を受け付ける。ま
た、通信ネットワーク100の種類は、特に限定する必
要は無く、例えば、インターネットやLAN等のネット
ワークを用いることができる。又、利用者端末の台数n
も特に限定する必要は無く、任意の台数としてよい。
【0055】各利用者端末20−1〜20−nは、それ
ぞれ同様の構成であり、配信サーバ10からアプリケー
ションを取得するアプリケーション管理部21と、アプ
リケーションの処理を実行させる実行データ処理部22
を備える。実行データ処理部22は、配信サーバ10か
ら取得したプログラムコードと、そのアプリケーション
の当該利用者端末における実行状況を示す実行データと
に基づいて、取得したプログラムの処理を再開させるの
である。
【0056】アプリケーション管理部21は、情報転送
装置30を介して、配信サーバ10から、要求するアプ
リケーションを取得する。ここで本実施の形態の配信サ
ーバ10が配信するアプリケーションは、例えば、最適
化されたプログラムコードと、利用者データと、実行デ
ータ等により構成される。
【0057】アプリケーション管理部21は、配信サー
バ10から取得した最適化されたプログラムコードと実
行データを実行データ処理部22に渡し、そのアプリケ
ーションの計算を再開させる。また、アプリケーション
管理部21は、実行データ処理部22から最新の実行デ
ータを取得して、利用者データと実行データを配信サー
バ10の利用者認証部11へ転送し、配信サーバ10内
に利用者データと実行データを保存させる。
【0058】ここで、実行データは、アプリケーション
の当該利用者端末における実行状況を示すデータとし
て、様々な情報を基に構成することができる。例えば、
アプリケーションの実行中(の定められた時点)におけ
る、プログラムカウンタ、ヒープ、スタックの情報を用
いて構成することや、アプリケーションの実行時にメモ
リ上に生成される全ての(又は、指定された一部の)オ
ブジェクトのインスタンス変数の値を用いて構成するこ
と等ができる。
【0059】利用者データは、例えば、アプリケーショ
ンの設定ファイルや、文書データや画像データのような
データファイル等である。利用者データは、この例の様
に、アプリケーションがハードディスク等の不揮発性の
記憶媒体に書き込むデータである。利用者データは、一
般に、アプリケーションの利用者毎に存在し、利用者が
所有する。
【0060】実行データ処理部22は、アプリケーショ
ン管理部21から、最適化されたプログラムコードと実
行データを取得すると、その最適化されたプログラムコ
ードと実行データを用いて、アプリケーションの計算を
再開させる。アプリケーションは、必要に応じてアプリ
ケーション管理部21から、利用者データを取得して処
理を実行する。また、実行データ処理部22は、実行中
のアプリケーションの実行データをそのアプリケーショ
ンから取得して、取得した実行データをアプリケーショ
ン管理部21に渡す。
【0061】配信サーバ10は、プログラム制御される
CPU等で実現され、利用者の認証を行なう利用者認証
部11と、配信するアプリケーションを管理するプログ
ラムコード管理部12と、アプリケーションの設定ファ
イルやデータファイルを管理する利用者データ管理部1
3と、コードの最適化を行なうコード最適化部14と、
アプリケーション・プログラムの計算の実行状況を示す
情報を保存した実行データを管理する実行データ管理部
15を備えている。
【0062】利用者認証部11は、利用者を認証する機
能を備える。利用者認証部11は、情報転送装置30を
経由してアプリケーション管理部21からアプリケーシ
ョン転送要求を受け付け、コード最適化部14から最適
化されたプログラムコードを取得し、実行データ管理部
15から実行データを取得し、利用者データ管理部13
から利用者データを取得し、最適化されたプログラムコ
ードと実行データと利用者データを一つのアプリケーシ
ョンとしてアプリケーション管理部21に転送する。
【0063】プログラムコード管理部12は、プログラ
ムコードを、例えばアプリケーションの名前などと対応
付けて管理する。コード最適化部14が、プログラムの
名前を指定して、プログラムコード管理部12にプログ
ラムコードを要求すると、プログラムコード管理部12
は指定されたプログラムコードを返す。
【0064】利用者データ管理部13は、プログラムコ
ード管理部12が管理しているプログラムが利用する利
用者データを、利用者の名前とアプリケーションの名前
の対などと対応づけて管理する。利用者認証部11が各
利用者端末20−i(i=1,…,n)の利用者を認証
し、認証した利用者の名前と各利用者端末20−i(i
=1,…,n)から要求されたアプリケーションの名前を
用いて、利用者データ管理部13に利用者データを要求
すると、利用者データ管理部13は指定された利用者デ
ータを返す。
【0065】実行データ管理部15は、利用者端末20
−1〜20−n上で作動していたアプリケーション・プ
ログラムの計算の実行状況を示す情報を保存する実行デ
ータを管理する。実行データは、例えば、利用者の名前
とアプリケーションの名前の対などと対応づけて管理さ
れる。
【0066】実行データ管理部15は、コード最適化部
14、又は利用者認証部11から、利用者の名前と利用
者端末20−i(i=1,…,n)から要求されたアプリ
ケーションの名前を用いて要求を受けると、指定された
実行データを返す。尚、実行データは、利用者端末20
−i(i=1,…,n)上で動作するアプリケーションの
処理終了時に、実行データ処理部22によって作成さ
れ、作成された実行データは同じ利用者端末20−iの
アプリケーション管理部21に渡され、アプリケーショ
ン管理部21は、実行データを、利用者認証部11経由
で、実行データ管理部15に転送し、最終的に、実行デ
ータ管理部15によって保存される。
【0067】コード最適化部14は、プログラムコード
と実行データから、最適化されたプログラムコードを生
成する機能を備える。コード最適化部14は、利用者認
証部11から、認証した利用者の名前と利用者端末20
−i(i=1...n)から要求されたアプリケーション
の名前を受け取る。次に、コード最適化部14は、プロ
グラムコード管理部12から要求されたアプリケーショ
ンの名前を用いてプログラムコードを取得し、実行デー
タ管理部15から、認証した利用者の名前と要求された
アプリケーションの名前を用いて、実行データを取得す
る。次に、コード最適化部14は、実行データを用いて
プログラムコードの最適化を行ない、最適化されたプロ
グラムコードを利用者認証部11に返す。
【0068】コード最適化部14について、更に詳細に
構成を説明する。図2は、本実施の形態による配信サー
バ10の構成の一例を示すブロック図であり、図2に示
されるように本実施の形態のコード最適化部14は、コ
ード圧縮部141と、コード抽出部142を備えてい
る。
【0069】コード抽出部142は、実行データを用い
てプログラムコードから不必要な部分を取り除く機能を
備える。利用者認証部11は、認証した利用者の名前と
要求されたアプリケーションの名前を用いて、コード抽
出部142に最適化コードの生成を要求する。コード抽
出部142は、プログラムコード管理部12から要求さ
れたアプリケーションの名前を用いてプログラムコード
を取得し、実行データ管理部15から、認証した利用者
の名前と要求されたアプリケーションの名前を用いて、
実行データを取得する。コード抽出部142は、プログ
ラムコードを解析し、実行データを利用して、前記実行
データとプログラムコードを用いてアプリケーションの
計算を再開した場合に実行されることが無い部分を特定
し、実行される可能性のあるコードのみを含んだプログ
ラムコードを新しく生成する。生成されたコードはコー
ド圧縮部141に渡される。
【0070】コード抽出部142は、実行データからプ
ログラムコードを再開した場合に実行されることが無い
部分を特定するために、例えば、実行データに示される
特定のプログラムカウンタから、静的解析を行ない、関
数呼び出しの木を作成し、実行データから制御文の条件
が真か偽かがわかる場合、関数呼び出しの木から呼び出
されない部分木を切取り、最終的に得られた木から、利
用されないフィールドや、関数、オブジェクト指向言語
であれば、クラス等を判別する方法を利用することがで
きる。
【0071】コード圧縮部141は、プログラムコード
を圧縮する機能を備える。コード圧縮部141は、コー
ド抽出部142からコード抽出処理のされたプログラム
コードを受け取ると、受け取ったプログラムコードから
圧縮したプログラムコードを新しく生成し、生成したプ
ログラムコードを利用者認証部11に渡す。
【0072】コード圧縮部141は、コードを圧縮する
ために、例えば、オブジェクト指向言語の場合、クラス
やメソッドの名前を短くしたり、プログラムの元の意図
を保持しつつ、クラス階層の変形や、クラスの融合等に
よりクラスの数を減らす、等の方法を利用することがで
きる。
【0073】通信ネットワーク100をインターネット
とし、情報転送装置30がウェブサーバの機能を備える
場合においては、各利用者端末のアプリケーション管理
部21と情報転送装置30の間の通信は、例えば199
9年6月、アール・エフ・シー2616、ハイパーテキ
スト・トランスファー・プロトコル--エイチ・ティ・テ
ィ・ピィ/1.1(RFC2616, Hypertext Transfer Prot
ocol--HTTP/1.1)記載の、エイチ・ティ・ ティ・ピィ
(HTTP)を用いることで容易に実現できる。更にこの場
合における、情報転送装置30と配信サーバ10の間の
通信は、例えばWebサーバと、1999年12月、サン
・マイクロシステムズ発行、ジャバ・サーブレット・ス
ペシフィケーション、v2.2(Sun Microsystems発行、Ja
va Servlet Specification, v2.2)に記載のサーブレッ
ト(Servlet)を利用することで容易に実現できる。
【0074】次に、図3〜6のフローチャートと、図7
のデータ構造を参照して第1の実施の形態の全体の動作
について詳細に説明する。
【0075】図3は、配信サーバ10が、利用者端末2
0−i(i=1...n)からアプリケーション取得要求
を受け付け、最適化されたプログラムコードを含むアプ
リケーションを返すまでの処理の流れを示すフローチャ
ートである。
【0076】図4は、図3のステップ303における最
適化されたプログラムコードの取得処理をより詳細に表
したフローチャートであり、コード最適化部14がプロ
グラムコードの最適化を行なう処理の流れを示す。
【0077】図5は、利用者端末20−1〜20−n
が、配信サーバ10からアプリケーションを取得して、
アプリケーションを実行し、利用者データと実行データ
を配信サーバ10に転送するまでの処理の流れを示すフ
ローチャートである。
【0078】図6は、配信サーバ10が、利用者端末2
0−iから利用者データと実行データの保存要求を受け
付け、データを格納する処理の流れを示すフローチャー
トである。
【0079】図7は、配信サーバ10から利用者端末2
0−1〜20−nに転送されるアプリケーション80の
データ構成の一例を示す図であり、アプリケーション8
0はプログラムコード81と、実行データ82と、利用
者データ83を含む。以後、アプリケーション80に
は、これらの情報を含むこととして説明する。
【0080】まず、アプリケーション管理部21は、利
用者端末20−iを利用するユーザからの要求がある
と、アプリケーション取得要求を配信サーバ10に送信
する(図5、ステップ501)。アプリケーション管理
部21は、利用者端末20−iを利用するユーザが設定
するなどして、情報転送装置30が解釈する配信サーバ
10の場所の情報を保持しているものとする。配信サー
バ10の場所は、具体的には、例えば、ユニフォーム・
リソース・ロケータ(Uniform Resource Locator; UR
L)を利用する。アプリケーション取得要求としてアプ
リケーション管理部21から配信サーバ10に送信する
情報は、必ず、取得対象のアプリケーションの名前と、
利用者端末20−iを利用しているユーザの身元を明ら
かにする認証情報を含む。認証情報は、例えば、ユーザ
名とパスワードを利用する。
【0081】配信サーバ10内の利用者認証部11は、
アプリケーション管理部21からのアプリケーション取
得要求を受け付ける(図3、ステップ301)。利用者
認証部11は、アプリケーション取得要求に含まれる利
用者端末20−iの利用者の認証情報と、アプリケーシ
ョン管理部21が内部に保持する認証データベースを用
いて、利用者端末20−iの利用者を認証する(図3、
ステップ302)。認証に失敗した場合(図3、ステッ
プ302がNO)、アプリケーション管理部21は、利
用者端末20−iのアプリケーション管理部21にエラ
ーを返す(図3、ステップ307)。認証に成功した場
合(図3、ステップ302がYES)、利用者認証部1
1は、コード最適化部14から要求されたアプリケーシ
ョンの最適化されたプログラムコードを取得する(図
3、ステップ303)。
【0082】図3のステップ303の処理を詳しく説明
すると、次のようになる。コード最適化部14内のコー
ト抽出部142は、利用者認証部11から、コード最適
化要求を受け付ける(図4、ステップ401)。コード
最適化要求は、アプリケーションの名前と、図3のステ
ップ302の認証によって得られたユーザの情報を含
む。前記ユーザの情報とは、例えばユーザの名前や、ユ
ーザに対して一意に割り当てられた識別子等を利用す
る。利用者データ管理部13と実行データ管理部15
は、ユーザの情報、及びアプリケーションの名前と対応
付けてデータ管理を行なう。本実施例では、ユーザの情
報としてユーザの名前を利用する。次に、コート抽出部
142は、コード最適化要求に含まれる、アプリケーシ
ョンの名前を用いて、プログラムコード管理部12か
ら、プログラムコードを取得する(図4、ステップ40
2)。次に、コート抽出部142は、コード最適化要求
に含まれるアプリケーションの名前とユーザの名前を用
いて、実行データ管理部15から実行データを取得する
(図4、ステップ403)。コート抽出部142は、実
行データとプログラムコードを用いてアプリケーション
の計算を再開した場合に実行されることが無い部分を特
定し、実行される可能性のあるコードのみを含んだプロ
グラムコードを新しく生成する(図4、ステップ40
4)。コート抽出部142が新しく生成したプログラム
コードは、コード圧縮部141に送られ、コード圧縮部
141は送られてきたプログラムコードから、例えば、
クラスの融合などを用いて、圧縮された新しいプログラ
ムコードを生成する(図4、ステップ405)。最後
に、コード圧縮部141は、抽出、及び、圧縮された、
最適化されたプログラムコードを利用者認証部11に返
す(図4、ステップ406)。
【0083】利用者認証部11は、前述の処理により、
最適化されたプログラムコードを取得すると、次に、要
求されたアプリケーションの名前と認証したユーザの名
前を用いて、利用者データ管理部13から、利用者デー
タを取得する(図3、ステップ304)。同様に、利用
者認証部11は、要求されたアプリケーションの名前と
認証したユーザの名前を用いて、実行データ管理部15
から実行データを取得する(図3、ステップ305)。
利用者認証部11は、これまでの処理により得られた、
最適化されたプログラムコードと、実行データと、利用
者データより、アプリケーション80(図7)を構成
し、アプリケーションの要求元である利用者端末20−
iのアプリケーション管理部21に前述アプリケーショ
ン80を転送する(図3、ステップ306)。
【0084】利用者端末20−iのアプリケーション管
理部21は、認証の失敗等でアプリケーション取得に失
敗した場合(図5、ステップ502がNO)、例えば、
ユーザに失敗の旨を通知し、処理を終える(図5、ステ
ップ506)。アプリケーション管理部21は、アプリ
ケーションの取得に成功した場合(図5、ステップ50
2がYES)、アプリケーション80のプログラムコー
ドと実行データを、実行データ処理部22に渡し、実行
データ処理部22は、プログラムコードと実行データか
らアプリケーションの計算を再開させる(図5、ステッ
プ503)。
【0085】図5のステップ503とステップ504の
間、利用者はアプリケーションを利用している。
【0086】利用者端末20−iのユーザが明示的に保
存を要求するか、又は実行データ処理部22が自動的に
判断して、実行データ処理部22は実行中のアプリケー
ションの実行データを取得する(図5、ステップ50
4)。
【0087】実行データ処理部22は取得した実行デー
タをアプリケーション管理部21に渡すと、アプリケー
ション管理部21は配信サーバ10に利用者データと実
行データの保存要求を送信する(図5、ステップ50
5)。保存要求は、利用者データと、実行データと、ア
プリケーションの名前と、利用者端末20−iを利用し
ているユーザの身元を明らかにする認証情報を含む。
【0088】配信サーバ10内の利用者認証部11は、
利用者データと実行データの保存要求を受け付け(図
6、ステップ601)、要求元である利用者端末20−
iのユーザの認証を行なう(図6、ステップ602)。
認証に失敗した場合(図6、ステップ602がNO)、
利用者認証部11は利用者端末20−iのアプリケーシ
ョン管理部21にエラーを返す(図6、ステップ60
4)。認証に成功した場合(図6、ステップ602がY
ES)、利用者認証部11は、保存要求に含まれるアプ
リケーションの名前と利用者データと、認証により得ら
れたユーザの名前を用いて、利用者データ管理部13に
利用者データを格納し、保存要求に含まれるアプリケー
ションの名前と実行データと、認証により得られたユー
ザの名前を用いて、実行データ管理部15に実行データ
を格納する(図6、ステップ603)。
【0089】以上説明したように、本実施の形態の配信
システムによれば、アプリケーション配信時に、各利用
者端末におけるそのアプリケーション・プログラムの計
算の実行状況を示す実行データに基づいて、プログラム
コードから配信先の利用者端末で利用される可能性がな
い冗長な部分を取り除くコード最適化を行ない、その最
適化されたプログラムコードを利用者端末に配信するこ
とができる。
【0090】これにより、配信するアプリケーションの
プログラムコード量が削減できるため、アプリケーショ
ン配信時に発生する通信量の削減、及び利用者端末で実
行されるアプリケーションが消費するメモリ量の削減を
実現できる。
【0091】次に、本発明の第2の実施の形態について
詳細に説明する。図8は、本発明に係るコード最適化を
行なった上でアプリケーションを配信する配信システム
の、第2の実施の形態の構成例を示すブロック図であ
る。本実施の形態は、配信サーバ10の代わりに、配信
サーバ10aを備えている点、利用者端末20−1〜2
0−nの代わりに利用者端末20−1a〜20−naを
備えている点が、図1に示した第1の実施の形態と相違
している。
【0092】利用者端末20−1aは、情報公開部23
が追加されている点、アプリケーション管理部21の代
わりにアプリケーション管理部21aを備えている点
が、第1の実施の形態の利用者端末20−1と相違して
いる。尚、他の利用者端末20−2a〜20−naも、
利用者端末20−1aと同様の構成を備える。
【0093】情報公開部23は、アプリケーション管理
部21aからの要求に応じて、当該利用者端末の情報で
ある利用者端末情報を取得して提供する。
【0094】ここで、利用者端末情報とは、ハードウェ
ア資源に関連する情報や、ソフトウェア資源に関連する
情報等から構成される。ハードウェア資源に関連する情
報とは、例えば、利用者端末20−1aの機器の名前
や、画面の大きさ、利用可能な揮発性メモリの大きさ、
利用可能な不揮発性の記憶領域の大きさ等であり、ソフ
トウェア資源に関連する情報とは、利用者端末20−1
aの不揮発性の記憶領域に格納されたアプリケーション
やクラスライブラリの名前等である。
【0095】本実施の形態のアプリケーション管理部2
1aが、第1の実施の形態のアプリケーション管理部2
1と相違する点は、まず第1に、配信サーバ10aのサ
ーバ利用者認証部11aに、アプリケーションを要求す
る前に(図5、ステップ501に相当)、情報公開部2
3により利用者端末情報を取得する点があり、第2に、
アプリケーション取得要求として、アプリケーション管
理部21aから配信サーバ10aに転送する情報に、取
得対象のアプリケーションの名前と、利用者端末を利用
しているユーザの身元を明らかにする認証情報の他に、
更に前記利用者端末情報を含める点がある。
【0096】本実施の形態の配信サーバ10aは、情報
解析部16が追加されている点と、コード最適化部14
の代わりにコード最適化部14aを備える点と、利用者
認証部11の代わりに利用者認証部11aを備える点
が、第1の実施の形態の配信サーバ10と相違してい
る。
【0097】本実施の形態の利用者認証部11aは、利
用者端末情報を含んだアプリケーション取得要求をアプ
リケーション管理部21aから受け取り、情報解析部1
6にコード取得要求を出し、コード最適化部14aから
最適化されたコードを取得する点が、第1の実施の形態
の利用者認証部11と相違している。
【0098】情報解析部16は、情報公開部23が生成
した利用者端末情報を解釈し、コードの選別を行なう機
能を備える。ここでは、利用者端末情報の具体例とし
て、利用者端末にキャッシュされているクラスライブラ
リの名前を利用する。情報解析部16は、利用者端末情
報からキャッシュされているクラスライブラリの名前を
判別し、プログラムコード管理部12からプログラムコ
ードを取得すると、キャッシュされているクラスライブ
ラリに相当するコードを削除し、新しいプログラムコー
ドを生成する。生成した新しいプログラムコードは、コ
ード最適化部14aに渡される。
【0099】図9は、本実施の形態のコード最適化部1
4aの構成例を示すブロック図である。本実施の形態の
コード最適化部14aは、第1の実施の形態のコード抽
出部142の代わりにコード抽出部142aを備える点
が、第1の実施の形態のコード最適化部14と相違して
いる。
【0100】本実施の形態のコード抽出部142aは、
情報解析部16からプログラムコードを取得する点が、
第1の実施の形態のコード抽出部142と相違してい
る。
【0101】次に、本実施の形態の動作について説明す
る。尚ここでは、情報解析部16とコード最適化部14
aの動作を中心に説明することとし、最適化されたコー
ドを取得後の配信サーバ10の処理は、第1の実施の形
態と同様であるため省略する。
【0102】アプリケーション管理部21aは、情報公
開部23から利用者端末情報を取得後、利用者認証部1
1aにアプリケーション取得要求を送る(図5、ステッ
プ501に相当)。アプリケーション取得要求は、取得
対象のアプリケーションの名前と、利用者端末を利用し
ているユーザの身元を明らかにする認証情報と、先に取
得した利用者端末情報を含む。
【0103】アプリケーション取得要求を受け取った利
用者認証部11aは、情報解析部16に対して、要求さ
れたアプリケーションの名前と、認証された利用者の名
前と、利用者端末情報を渡し、プログラムコードの生成
を要求する。
【0104】情報解析部16は、利用者認証部11aか
ら、要求されたアプリケーションの名前と、認証された
利用者の名前と、利用者端末情報を受け取ると、まず、
アプリケーションの名前を用いて、プログラムコード管
理部12からプログラムコードを取得する。次に、情報
解析部16は、利用者端末情報を解析し、利用者端末に
キャッシュされているクラスライブラリを判別する。次
に、情報解析部16は、取得したプログラムコードか
ら、キャッシュされているクラスライブラリに相当する
コードを取り除いた、新しいプログラムコードを生成
し、コード抽出部142aに生成したプログラムコード
と、アプリケーションの名前と、認証された利用者の名
前を渡す。
【0105】コード抽出部142aは、アプリケーショ
ンの名前と、認証された利用者の名前を用いて、実行デ
ータ管理部15から実行データを取得し、実行データを
用いたコード抽出を行なって、新しいプログラムコード
を生成する。生成したプログラムコードはコード圧縮部
141に渡される。コード圧縮部141は渡されたプロ
グラムコードを圧縮して、新しく圧縮されたプログラム
コードを生成し、利用者認証部11aに渡す。
【0106】以上説明したように、本実施の形態によれ
ば、実行データからの情報だけでなく、利用者端末情報
に基づいてプログラムコードを削減することができる。
【0107】本実施の形態では、各利用者端末情報をそ
の利用者端末の情報公開部23が保持し、毎回アプリケ
ーション要求の度に利用者端末情報を、利用者端末から
配信サーバ10aへ転送しているが、また別の実施の形
態として、事前に利用者端末情報を配信サーバ10a側
の情報解析部16が保持する方式も同様に実施すること
ができる。この場合は、利用者端末情報を、アプリケー
ション要求の度に、利用者端末から配信サーバ10aに
転送する必要はない。
【0108】次に、本発明の第3の実施の形態について
詳細に説明する。図10は、本発明に係るコード最適化
を行なった上でアプリケーションを配信する配信システ
ムの、第3の実施の形態の構成例を示すブロック図であ
る。本実施の形態は、配信サーバ10の代わりに配信サ
ーバ10bを備える点が、図1に示した第1の実施の形
態と相違している。
【0109】本実施の形態の配信サーバ10bは、キャ
ッシュ部17が追加されている点と、利用者認証部11
の代わりに利用者認証部11bを備える点が、第1の実
施の形態の配信サーバ10と相違している。
【0110】本実施の形態の利用者認証部11bは、キ
ャッシュ部17に最適化されたプログラムコードを要求
する点が、第1の実施の形態の利用者認証部11と相違
している。
【0111】キャッシュ部17は、利用者認証部11b
の要求に応じてコード最適化部14が生成した最適化さ
れたプログラムコードを、一時的に格納し、管理する機
能を備える。一時的に格納した最適化されたプログラム
コードをキャッシュしたプログラムコードと呼ぶ。利用
者認証部11bから、最適化されたプログラムコードを
要求された時、キャッシュしたプログラムコードが利用
可能であれば、キャッシュしたプログラムコードを返
し、そうでない場合は、コード最適化部14から最適化
されたプログラムコードを取得し、取得したプログラム
コードをキャッシュとして保存すると共に、利用者認証
部11bに最適化されたプログラムコードを返す。
【0112】次に、本実施の形態の動作について説明す
る。尚、ここでは、キャッシュ部17の動作を中心に説
明する。最適化されたコードを取得後の配信サーバ10
の処理は、第1の実施の形態と同様であるため省略す
る。
【0113】アプリケーション管理部21からアプリケ
ーション取得要求を受けると、利用者認証部11bは、
認証を行なった後、キャッシュ部17に、前記取得要求
に含まれるアプリケーションの名前と、認証により得ら
れた利用者の名前を用いて、キャッシュ部17に最適化
されたプログラムコードを要求する。
【0114】キャッシュ部17は、現在、管理している
キャッシュしたプログラムコードの中から、利用可能な
プログラムコードを探し出し、見つかれば、そのプログ
ラムコードをアプリケーション管理部21に返す。見つ
からなければ、コード最適化部14から最適化されたプ
ログラムコードを取得し、取得したプログラムコードを
キャッシュとして保存すると共に、利用者認証部11b
に最適化されたプログラムコードを返す。キャッシュし
たコードが利用可能かどうかの判定は、例えば、キャッ
シュ部17が最適化されたコードを格納する時に、その
時のアプリケーションの名前と、利用者の名前と、実行
データのハッシュ値の三種類の情報と関連付けて管理し
ておき、利用者認証部11bから要求が来ると、要求さ
れたアプリケーション名と利用者の名前を用いて実行デ
ータ管理部15から実行データを取得し、要求されたア
プリケーション名と、利用者の名前と、実行データから
ハッシュ値を算出し、この三点の情報と対応するキャッ
シュされたプログラムコードが存在するかどうかを調べ
ることにより利用可能かどうかを判定する方法を利用す
る。
【0115】以上説明したように、本実施の形態によれ
ば、配信サーバ10bの最適化されたプログラムコード
の生成処理を、キャッシュ部を用いて効率的に処理する
ことができる。
【0116】また、別の実施の形態として、利用者デー
タを実行データの一部と見なし、利用者データを実行デ
ータに含めて、これを一つの実行データとして管理し利
用することもできる。
【0117】また、上記各実施の形態の配信システム
は、互いに組み合わせて実施することができる。
【0118】なお、上記各実施の形態の配信システム
は、配信サーバ10、10a、10bにおける利用者認
証部11、11a、11b、プログラムコード管理部1
2、利用者データ管理部13、コード最適化部14、1
4a、コード圧縮部141、コード抽出部142、14
2a、実行データ管理部15、情報解析部16、キャッ
シュ部17の機能や、利用者端末20−1〜20−n、
20−1a〜20−naにおけるアプリケーション管理
部21、21a、実行データ処理部22、情報公開部2
3の機能や、その他の機能をハードウェア的に実現する
ことは勿論として、各機能を備えるコンピュータプログ
ラムである配信プログラムを、コンピュータ処理装置の
メモリにロードされることで実現することができる。こ
のコンピュータプログラムは、磁気ディスク、半導体メ
モリその他の記録媒体90、90a、90b、91、9
1a、91bに格納される。そして、その記録媒体から
コンピュータ処理装置にロードされ、コンピュータ処理
装置の動作を制御することにより、上述した各機能を実
現する。
【0119】以上好ましい実施の形態及び実施例をあげ
て本発明を説明したが、本発明は必ずしも上記実施の形
態及び実施例に限定されるものではなく、その技術的思
想の範囲内において様々に変形して実施することができ
る。
【0120】
【発明の効果】以上説明したように本発明の配信システ
ム、配信サーバとその配信方法、配信プログラムによれ
ば、以下のような効果が達成される。
【0121】第1に、本発明によれば、アプリケーショ
ン配信時に、各利用者端末におけるそのアプリケーショ
ン・プログラムの計算の実行状況を示す実行データに基
づいて、プログラムコードから配信先の利用者端末で利
用される可能性がない冗長な部分を取り除くコード最適
化を行ない、その最適化されたプログラムコードを利用
者端末に配信することができる。
【0122】これにより、配信するアプリケーションの
プログラムコード量が削減できるため、アプリケーショ
ン配信時に発生する通信量の削減、及び利用者端末で実
行されるアプリケーションが消費するメモリ量の削減を
実現できる。
【0123】また、本発明の第2の実施の形態によれ
ば、利用者端末のハードディスクに格納されているクラ
スライブラリ等の、利用者端末の様々な情報に基づいて
効率的なプログラムコードの最適化ができる。
【0124】更に、本発明の第3の実施の形態によれ
ば、配信サーバにキャッシュ部を備えることにより、効
率的に最適化されたプログラムコードの配信ができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態による配信システ
ムの構成を示すブロック図である。
【図2】 本発明の第1の実施の形態による配信サーバ
の構成を示すブロック図である。
【図3】 本発明の第1の実施の形態による配信サーバ
の処理を説明するためのフローチャートである。
【図4】 本発明の第1の実施の形態のコード最適化部
の処理を説明するためのフローチャートである。
【図5】 本発明の第1の実施の形態による利用者端末
の処理を説明するためのフローチャートである。
【図6】 本発明の第1の実施の形態による配信サーバ
の、利用者データと実行データの受信処理を説明するた
めのフローチャートである。
【図7】 本発明の第1の実施の形態のアプリケーショ
ンのデータ構成の一例を示す図である。
【図8】 本発明の第2の実施の形態による配信システ
ムの構成を示すブロック図である。
【図9】 本発明の第2の実施の形態による配信サーバ
の構成を示すブロック図である。
【図10】 本発明の第3の実施の形態による配信シス
テムの構成を示すブロック図である。
【図11】 従来のアプリケーション配信システムの構
成の一例を示すブロック図である。
【図12】 従来のサーバの処理の流れの一例を示すフ
ローチャートである。
【符号の説明】
10、10a、10b 配信サーバ 11、11a、11b 利用者認証部 12 プログラムコード管理部 13 利用者データ管理部 14、14a コード最適化部 141 コード圧縮部 142、142a コード抽出部 15 実行データ管理部 16 情報解析部 17 キャッシュ部 20−1〜20−n、20−1a〜20−na 利用者
端末 21、21a アプリケーション管理部 22 実行データ処理部 23 情報公開部 30 情報転送装置 40 配信サーバ 41 利用者認証部 42 プログラムコード管理部 43 利用者データ管理部 50−1〜50−n 利用者端末 51 アプリケーション管理部 60 情報転送装置 80 アプリケーション 81 プログラムコード 82 実行データ 83 利用者データ 90、90a、90b、91、91a、91b 記録媒
体 100 通信ネットワーク

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 通信ネットワークを介して、配信サーバ
    から利用者端末へアプリケーションを配信する配信シス
    テムにおいて、 前記配信サーバは、 前記利用者端末における前記アプリケーションの実行状
    況を示す実行データに基づいて、前記アプリケーション
    のプログラムコードを最適化することにより、前記利用
    者端末に対して前記アプリケーションを配信することを
    特徴とする配信システム。
  2. 【請求項2】 前記利用者端末は、 前記配信サーバから前記アプリケーションのプログラム
    コードと実行データを取得し、取得した前記プログラム
    コードを、前記実行データに示される当該アプリケーシ
    ョンの実行状況に基づいて実行させる実行データ処理部
    と、 実行中の前記アプリケーションの前記実行データを取得
    して、前記配信サーバに送信するアプリケーション管理
    部とを備えることを特徴とする請求項1に記載の配信シ
    ステム。
  3. 【請求項3】 前記配信サーバは、 前記アプリケーションの前記利用者端末への配信時に
    は、当該アプリケーションのプログラムコードと、当該
    利用者端末における当該アプリケーションの実行データ
    と、当該利用者端末において当該アプリケーションが用
    いる設定ファイル及びデータファイルである利用者デー
    タとを、まとめて当該利用者端末に送信し、 前記利用者端末の前記実行データ処理部は、 前記配信サーバから配信された前記アプリケーションの
    プログラムコードを、当該アプリケーションの前記実行
    データ及び前記利用者データに基づいて実行し、 前記利用者端末の前記アプリケーション管理部は、 実行中の前記アプリケーションの前記実行データ及び前
    記利用者データを取得して、前記配信サーバに送信する
    ことを特徴とする請求項2に記載の配信システム。
  4. 【請求項4】 前記実行データが、前記アプリケーショ
    ンの実行中における、プログラムカウンタ、ヒープ、ス
    タックの情報を含むことを特徴とする請求項1から請求
    項3のいずれか1つに記載の配信システム。
  5. 【請求項5】 前記実行データが、前記アプリケーショ
    ンの実行時にメモリ上に生成される、各オブジェクトの
    インスタンス変数の値の情報を含むことを特徴とする請
    求項1から請求項4のいずれか1つに記載の配信システ
    ム。
  6. 【請求項6】 前記配信サーバは、 各前記利用者端末の利用者を認証する利用者認証部と、 前記アプリケーションの最適化前のプログラムコードを
    管理するプログラムコード管理部と、 各前記利用者端末における前記アプリケーションの実行
    データを管理する実行データ管理部と、 各前記利用者端末における前記アプリケーションの利用
    者データを管理する利用者データ管理部と、 前記実行データに基づいて前記アプリケーションの前記
    最適化前のプログラムコードを最適化し、最適化された
    プログラムコードを生成するコード最適化部を備えるこ
    とを特徴とする請求項1から請求項5のいずれか1つに
    記載の配信システム。
  7. 【請求項7】 前記配信サーバの前記コード最適化部
    は、 前記アプリケーションのプログラムコードから、当該ア
    プリケーションの配信先の利用端末における前記実行デ
    ータに基づいて、配信先の利用端末において実行される
    ことのない部分を特定して削除することにより、実行さ
    れる可能性のあるコードのみを含んだ当該アプリケーシ
    ョンのプログラムコードを新規に生成するコード抽出手
    段と、 前記コード抽出手段が生成した、前記アプリケーション
    の新規のプログラムコードを圧縮することにより、当該
    アプリケーションの圧縮された新規のプログラムコード
    を生成するコード圧縮手段を備え、 前記コード圧縮手段が生成した、前記アプリケーション
    の新規のプログラムコードを、当該アプリケーションの
    最適化されたプログラムコードとして、配信先の利用者
    端末に送信することを特徴とする請求項6に記載の配信
    システム。
  8. 【請求項8】 前記配信サーバは、 前記コード最適化部が生成した最適化されたプログラム
    コードを一時保存するキャッシュ部を備えることを特徴
    とする請求項6又は請求項7に記載の配信システム。
  9. 【請求項9】 前記利用者端末は、 当該利用者端末の情報である利用者端末情報を取得する
    情報公開部を備え、 前記配信サーバは、 前記情報公開部が取得した、前記利用者端末の利用者端
    末情報に基づいて、当該利用者端末に対し配信するアプ
    リケーションのプログラムコードを選別する情報解析部
    を備えることを特徴とする請求項1から請求項8のいず
    れか1つに記載の配信システム。
  10. 【請求項10】 前記利用者端末情報が、当該利用者端
    末に格納されているクラスライブラリの情報を含み、 前記配信サーバの前記情報解析部は、 前記利用者端末情報において示される、配信先の利用者
    端末に格納されているクラスライブラリを、当該利用者
    端末に配信する前記アプリケーションのプログラムコー
    ドから削除することを特徴とする請求項9に記載の配信
    システム。
  11. 【請求項11】 前記配信サーバと前記通信ネットワー
    クとを接続し、前記配信サーバと各前記利用者端末との
    通信を中継する情報転送装置を備えることを特徴とする
    請求項1から請求項10のいずれか1つに記載の配信シ
    ステム。
  12. 【請求項12】 前記通信ネットワークをインターネッ
    トとし、 前記情報転送装置は、 ウェブサーバの機能を備え、前記配信サーバとの間でサ
    ーブレットを用いて通信することを特徴とする請求項1
    1に記載の配信システム。
  13. 【請求項13】 通信ネットワークを介して、利用者端
    末へアプリケーションを配信する配信サーバにおいて、 前記利用者端末に対して前記アプリケーションを、当該
    利用者端末における当該アプリケーションの実行状況を
    示す実行データに基づいて、当該アプリケーションのプ
    ログラムコードを最適化して配信することを特徴とする
    配信サーバ。
  14. 【請求項14】 前記アプリケーションの前記利用者端
    末への配信時に、当該アプリケーションのプログラムコ
    ードと、当該利用者端末における当該アプリケーション
    の実行データと、当該利用者端末において当該アプリケ
    ーションが用いる設定ファイル及びデータファイルであ
    る利用者データとを、まとめて当該利用者端末に送信す
    る手段と、 前記利用者端末から、前記通信ネットワークを介して、
    前記アプリケーションの前記実行データ及び前記利用者
    データを取得して登録する手段を備えることを特徴とす
    る請求項13に記載の配信サーバ。
  15. 【請求項15】 各前記利用者端末の利用者を認証する
    利用者認証部と、 前記アプリケーションの最適化前のプログラムコードを
    管理するプログラムコード管理部と、 各前記利用者端末における前記アプリケーションの実行
    データを管理する実行データ管理部と、 各前記利用者端末における前記アプリケーションの利用
    者データを管理する利用者データ管理部と、 前記実行データに基づいて前記アプリケーションの前記
    最適化前のプログラムコードを最適化し、最適化された
    プログラムコードを生成するコード最適化部を備えるこ
    とを特徴とする請求項13又は請求項14に記載の配信
    サーバ。
  16. 【請求項16】 前記コード最適化部は、 前記アプリケーションのプログラムコードから、当該ア
    プリケーションの配信先の前記利用端末における前記実
    行データに基づいて、配信先の前記利用端末において実
    行されることのない部分を特定して削除することによ
    り、実行される可能性のあるコードのみを含んだ当該ア
    プリケーションのプログラムコードを新規に生成するコ
    ード抽出手段を備えることを特徴とする請求項15に記
    載の配信サーバ。
  17. 【請求項17】 前記コード最適化部は、 前記コード圧縮手段が生成した、前記アプリケーション
    の新規のプログラムコードを圧縮することにより、当該
    アプリケーションの圧縮された新規のプログラムコード
    を生成するコード圧縮手段を備えることを特徴とする請
    求項16に記載の配信サーバ。
  18. 【請求項18】 前記コード最適化部は、 前記アプリケーションのプログラムコードから、当該ア
    プリケーションの配信先の利用端末における前記実行デ
    ータに基づいて、配信先の利用端末において実行される
    ことのない部分を特定して削除することにより、実行さ
    れる可能性のあるコードのみを含んだ当該アプリケーシ
    ョンのプログラムコードを新規に生成するコード抽出手
    段と、 前記コード抽出手段が生成した、前記アプリケーション
    の新規のプログラムコードを圧縮することにより、当該
    アプリケーションの圧縮された新規のプログラムコード
    を生成するコード圧縮手段を備え、 前記コード圧縮手段が生成した、前記アプリケーション
    の新規のプログラムコードを、当該アプリケーションの
    最適化されたプログラムコードとして、配信先の利用者
    端末に送信することを特徴とする請求項15に記載の配
    信サーバ。
  19. 【請求項19】 前記コード最適化部が生成した最適化
    されたプログラムコードを一時保存するキャッシュ部を
    備えることを特徴とする請求項15から請求項18のい
    ずれか1つに記載の配信サーバ。
  20. 【請求項20】 前記利用者端末から、当該利用者端末
    の情報である利用者端末情報を取得し、前記利用者端末
    情報に基づいて、当該利用者端末に対し配信するアプリ
    ケーションのプログラムコードを選別する情報解析部を
    備えることを特徴とする請求項13から請求項19のい
    ずれか1つに記載の配信サーバ。
  21. 【請求項21】 前記利用者端末情報が、当該利用者端
    末に格納されているクラスライブラリの情報を含み、 前記情報解析部は、 前記利用者端末情報において示される、配信先の利用者
    端末に格納されているクラスライブラリを、当該利用者
    端末に配信する前記アプリケーションのプログラムコー
    ドから削除することを特徴とする請求項20に記載の配
    信サーバ。
  22. 【請求項22】 通信ネットワークを介して、配信サー
    バからのアプリケーションの配信を受け付けて実行する
    端末装置において、 実行中の前記アプリケーションの実行状況を示す実行デ
    ータを取得して、前記配信サーバに送信するアプリケー
    ション管理部と、 前記配信サーバから、前記アプリケーションのプログラ
    ムコードと、当該アプリケーションの前記実行データを
    取得し、取得した前記プログラムコードを、前記実行デ
    ータに示される当該アプリケーションの実行状況に基づ
    いて実行させる実行データ処理部を備えることを特徴と
    する端末装置。
  23. 【請求項23】 前記配信サーバからの前記アプリケー
    ションの配信時には、当該アプリケーションのプログラ
    ムコードと、当該端末装置における当該アプリケーショ
    ンの実行データと、当該端末装置において当該アプリケ
    ーションが用いる設定ファイル及びデータファイルであ
    る利用者データとを、まとめて受信し、 前記アプリケーション管理部は、 前記配信サーバから配信された前記アプリケーションの
    プログラムコードを、当該アプリケーションの前記実行
    データ及び前記利用者データに基づいて実行させ、 前記実行データ処理部は、 実行中の前記アプリケーションの前記実行データ及び前
    記利用者データを取得して、前記配信サーバに送信する
    ことを特徴とする請求項22に記載の端末装置。
  24. 【請求項24】 当該端末装置の情報である利用者端末
    情報を取得する情報公開部を備え、 前記情報公開部が取得した当該端末装置の前記利用者端
    末情報を、前記配信サーバに送信することを特徴とする
    請求項22又は請求項23に記載の端末装置。
  25. 【請求項25】 通信ネットワークを介して、利用者端
    末へアプリケーションを配信する配信方法において、 前記利用者端末に対して前記アプリケーションを、当該
    利用者端末における当該アプリケーションの実行状況を
    示す実行データに基づいて、当該アプリケーションのプ
    ログラムコードを最適化して配信することを特徴とする
    配信方法。
  26. 【請求項26】 前記アプリケーションの前記利用者端
    末への配信時に、当該アプリケーションのプログラムコ
    ードと、当該利用者端末における当該アプリケーション
    の実行データと、当該利用者端末において当該アプリケ
    ーションが用いる設定ファイル及びデータファイルであ
    る利用者データとを、まとめて当該利用者端末に送信す
    るステップと、 前記利用者端末から、前記通信ネットワークを介して、
    前記アプリケーションの前記実行データ及び前記利用者
    データを取得して登録するステップを備えることを特徴
    とする請求項25に記載の配信方法。
  27. 【請求項27】 各前記利用者端末の利用者を認証する
    利用者認証ステップと、 前記アプリケーションの最適化前のプログラムコードを
    管理するプログラムコード管理ステップと、 各前記利用者端末における前記アプリケーションの実行
    データを管理する実行データ管理ステップと、 各前記利用者端末における前記アプリケーションの利用
    者データを管理する利用者データ管理ステップと、 前記実行データに基づいて前記アプリケーションの前記
    最適化前のプログラムコードを最適化し、最適化された
    プログラムコードを生成するコード最適化ステップを備
    えることを特徴とする請求項25又は請求項26に記載
    の配信方法。
  28. 【請求項28】 前記コード最適化ステップにおいて、 前記アプリケーションのプログラムコードから、当該ア
    プリケーションの配信先の利用端末における前記実行デ
    ータに基づいて、配信先の利用端末において実行される
    ことのない部分を特定して削除することにより、実行さ
    れる可能性のあるコードのみを含んだ当該アプリケーシ
    ョンのプログラムコードを新規に生成するコード抽出ス
    テップと、 前記コード抽出ステップが生成した、前記アプリケーシ
    ョンの新規のプログラムコードを圧縮することにより、
    当該アプリケーションの圧縮された新規のプログラムコ
    ードを生成するコード圧縮ステップを備え、 前記コード圧縮ステップにおいて生成した、前記アプリ
    ケーションの新規のプログラムコードを、当該アプリケ
    ーションの最適化されたプログラムコードとして、配信
    先の利用者端末に送信することを特徴とする請求項27
    に記載の配信方法。
  29. 【請求項29】 前記コード最適化ステップにおいて生
    成した最適化されたプログラムコードを一時保存するキ
    ャッシュステップを備えることを特徴とする請求項27
    又は請求項28に記載の配信方法。
  30. 【請求項30】 前記利用者端末から、当該利用者端末
    の情報である利用者端末情報を取得し、前記利用者端末
    情報に基づいて、当該利用者端末に対し配信するアプリ
    ケーションのプログラムコードを選別する情報解析ステ
    ップを備えることを特徴とする請求項25から請求項2
    9のいずれか1つに記載の配信方法。
  31. 【請求項31】 前記利用者端末情報が、当該利用者端
    末に格納されているクラスライブラリの情報を含み、 前記情報解析ステップにおいて、 前記利用者端末情報において示される、配信先の利用者
    端末に格納されているクラスライブラリを、当該利用者
    端末に配信する前記アプリケーションのプログラムコー
    ドから削除することを特徴とする請求項30に記載の配
    信方法。
  32. 【請求項32】 コンピュータを制御することにより、
    通信ネットワークを介して利用者端末へアプリケーショ
    ンを配信する配信プログラムにおいて、 前記利用者端末に対して前記アプリケーションを、当該
    利用者端末における当該アプリケーションの実行状況を
    示す実行データに基づいて、当該アプリケーションのプ
    ログラムコードを最適化して配信することを特徴とする
    配信プログラム。
  33. 【請求項33】 前記アプリケーションの前記利用者端
    末への配信時に、当該アプリケーションのプログラムコ
    ードと、当該利用者端末における当該アプリケーション
    の実行データと、当該利用者端末において当該アプリケ
    ーションが用いる設定ファイル及びデータファイルであ
    る利用者データとを、まとめて当該利用者端末に送信す
    る処理と、 前記利用者端末から、前記通信ネットワークを介して、
    前記アプリケーションの前記実行データ及び前記利用者
    データを取得して登録する処理を実行させることを特徴
    とする請求項32に記載の配信プログラム。
  34. 【請求項34】 各前記利用者端末の利用者を認証する
    利用者認証処理と、 前記アプリケーションの最適化前のプログラムコードを
    管理するプログラムコード管理処理と、 各前記利用者端末における前記アプリケーションの実行
    データを管理する実行データ管理処理と、 各前記利用者端末における前記アプリケーションの利用
    者データを管理する利用者データ管理処理と、 前記実行データに基づいて前記アプリケーションの前記
    最適化前のプログラムコードを最適化し、最適化された
    プログラムコードを生成するコード最適化処理を実行さ
    せることを特徴とする請求項32又は請求項33に記載
    の配信プログラム。
  35. 【請求項35】 前記コード最適化処理において、 前記アプリケーションのプログラムコードから、当該ア
    プリケーションの配信先の利用端末における前記実行デ
    ータに基づいて、配信先の利用端末において実行される
    ことのない部分を特定して削除することにより、実行さ
    れる可能性のあるコードのみを含んだ当該アプリケーシ
    ョンのプログラムコードを新規に生成するコード抽出処
    理と、 前記コード抽出処理が生成した、前記アプリケーション
    の新規のプログラムコードを圧縮することにより、当該
    アプリケーションの圧縮された新規のプログラムコード
    を生成するコード圧縮処理と、 前記コード圧縮処理において生成した、前記アプリケー
    ションの新規のプログラムコードを、当該アプリケーシ
    ョンの最適化されたプログラムコードとして、配信先の
    利用者端末に送信する処理を実行させることを特徴とす
    る請求項34に記載の配信プログラム。
  36. 【請求項36】 前記コード最適化処理において生成し
    た最適化されたプログラムコードを一時保存するキャッ
    シュ処理を実行させることを特徴とする請求項34又は
    請求項35に記載の配信プログラム。
  37. 【請求項37】 前記利用者端末から、当該利用者端末
    の情報である利用者端末情報を取得し、前記利用者端末
    情報に基づいて、当該利用者端末に対し配信するアプリ
    ケーションのプログラムコードを選別する情報解析処理
    を実行させることを特徴とする請求項32から請求項3
    6のいずれか1つに記載の配信プログラム。
  38. 【請求項38】 前記利用者端末情報が、当該利用者端
    末に格納されているクラスライブラリの情報を含み、 前記情報解析処理において、 前記利用者端末情報において示される、配信先の利用者
    端末に格納されているクラスライブラリを、当該利用者
    端末に配信する前記アプリケーションのプログラムコー
    ドから削除する処理を実行させることを特徴とする請求
    項37に記載の配信プログラム。
JP2001247208A 2001-08-16 2001-08-16 配信システム、配信サーバとその配信方法、配信プログラム Expired - Fee Related JP4205323B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001247208A JP4205323B2 (ja) 2001-08-16 2001-08-16 配信システム、配信サーバとその配信方法、配信プログラム
US10/217,541 US7237235B2 (en) 2001-08-16 2002-08-14 Application distribution system, and distribution server and distribution method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001247208A JP4205323B2 (ja) 2001-08-16 2001-08-16 配信システム、配信サーバとその配信方法、配信プログラム

Publications (2)

Publication Number Publication Date
JP2003058376A true JP2003058376A (ja) 2003-02-28
JP4205323B2 JP4205323B2 (ja) 2009-01-07

Family

ID=19076593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001247208A Expired - Fee Related JP4205323B2 (ja) 2001-08-16 2001-08-16 配信システム、配信サーバとその配信方法、配信プログラム

Country Status (2)

Country Link
US (1) US7237235B2 (ja)
JP (1) JP4205323B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125524A1 (en) * 2003-12-08 2005-06-09 Chandrasekhar Babu K. Cache system in factory server for software dissemination
US8219807B1 (en) * 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US8352935B2 (en) 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US20070261090A1 (en) * 2006-03-24 2007-11-08 Miller Eric B Interactive television application distribution, control, and communication system and methods
DE102006051187A1 (de) * 2006-10-30 2008-05-08 Siemens Ag Verteilte Taskflow-Architektur
US20110087692A1 (en) * 2009-10-13 2011-04-14 Google Inc. Application whitelisting in a cloud-based computing device
KR101650376B1 (ko) * 2010-09-30 2016-09-06 삼성전자주식회사 사용자 단말 장치 및 그 서비스 제공 방법
JP5216128B2 (ja) 2011-09-06 2013-06-19 株式会社ソニー・コンピュータエンタテインメント クラウドコンピューティングシステムおよびアプリケーション提供方法
KR101382078B1 (ko) * 2012-07-31 2014-04-17 강성원 개발자 동작에 기반한 문맥적인 코드 목록 추천 방법 및 이를 이용하는 코드 목록 추천 장치
WO2016064930A1 (en) 2014-10-21 2016-04-28 Proofpoint, Inc. Systems and methods for application security analysis
EP3213243B1 (en) 2014-10-31 2020-09-09 Proofpoint, Inc. Systems and methods for privately performing application security analysis
US10768925B2 (en) * 2015-06-01 2020-09-08 Microsoft Technology Licensing, Llc Performing partial analysis of a source code base
US9984002B2 (en) 2015-10-26 2018-05-29 Salesforce.Com, Inc. Visibility parameters for an in-memory cache
US10013501B2 (en) 2015-10-26 2018-07-03 Salesforce.Com, Inc. In-memory cache for web application data
US9990400B2 (en) * 2015-10-26 2018-06-05 Salesforce.Com, Inc. Builder program code for in-memory cache
US10552130B1 (en) * 2017-06-09 2020-02-04 Azul Systems, Inc. Code optimization conversations for connected managed runtime environments
US10515013B2 (en) 2017-11-15 2019-12-24 Salesforce.Com, Inc. Techniques for handling requests for data at a cache
US10642745B2 (en) 2018-01-04 2020-05-05 Salesforce.Com, Inc. Key invalidation in cache systems
US10742712B2 (en) * 2018-10-30 2020-08-11 Citrix Systems, Inc. Web adaptation and hooking for virtual private integration systems and methods

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463581B1 (en) * 1996-10-03 2002-10-08 International Business Machines Corporation Method for determining reachable methods in object-oriented applications that use class libraries
US6393569B1 (en) * 1996-12-18 2002-05-21 Alexander S. Orenshteyn Secured system for accessing application services from a remote station
US6212564B1 (en) * 1998-07-01 2001-04-03 International Business Machines Corporation Distributed application launcher for optimizing desktops based on client characteristics information
US6263491B1 (en) * 1998-10-02 2001-07-17 Microsoft Corporation Heavyweight and lightweight instrumentation
US6230312B1 (en) * 1998-10-02 2001-05-08 Microsoft Corporation Automatic detection of per-unit location constraints
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6324578B1 (en) * 1998-12-14 2001-11-27 International Business Machines Corporation Methods, systems and computer program products for management of configurable application programs on a network
JP2001092671A (ja) * 1999-09-24 2001-04-06 Hitachi Ltd プログラム実行最適化方法、プログラム管理装置およびプログラム実行装置
US6711619B1 (en) * 1999-12-15 2004-03-23 Hewlett-Packard Development Company, L.P. Method, system, and apparatus for distributing and using computer-based applications over a network
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
US20020069263A1 (en) * 2000-10-13 2002-06-06 Mark Sears Wireless java technology
US20020087593A1 (en) * 2001-01-02 2002-07-04 Rank Paul J. Method for dynamic function loading in spreadsheets on small devices

Also Published As

Publication number Publication date
JP4205323B2 (ja) 2009-01-07
US20030037107A1 (en) 2003-02-20
US7237235B2 (en) 2007-06-26

Similar Documents

Publication Publication Date Title
JP2003058376A (ja) 配信システム、配信サーバとその配信方法、配信プログラム
CN108965381B (zh) 基于Nginx的负载均衡实现方法、装置、计算机设备和介质
CN106899680B (zh) 多区块链的分片处理方法和装置
US10061613B1 (en) Idempotent task execution in on-demand network code execution systems
CN112118565A (zh) 多租户服务灰度发布方法、装置、计算机设备和存储介质
US8463867B2 (en) Distributed storage network
JP5000456B2 (ja) 資源管理システム、資源管理装置およびその方法
US7937704B2 (en) Distributed computer
CN112104617B (zh) 微服务的权限管理方法、装置、设备及存储介质
US20070265976A1 (en) License distribution in a packet data network
CN111666745A (zh) 一种文件下载方法、装置、服务器及介质
WO2021051881A1 (zh) Vpp 集群管理方法及装置、计算机设备及存储介质
US7716678B2 (en) Processing messages in a message queueing system
CN113177179B (zh) 数据请求连接管理方法、装置、设备及存储介质
CN116974948B (zh) 业务系统测试方法、系统、设备和介质
CN115694699A (zh) 时延参数采集方法、装置、电子设备及存储介质
CN106936643B (zh) 一种设备联动方法以及终端设备
JP3178380B2 (ja) コネクション管理方法及びコンピュータ読み取り可能な記録媒体
CN111913732A (zh) 一种服务更新方法、装置及管理服务器、存储介质
CN107704557B (zh) 操作互斥数据的处理方法、装置、计算机设备和存储介质
CN111245949A (zh) 文件归档传输方法、装置及设备
CN116089020B (zh) 虚拟机运行方法、扩容方法、扩容系统
CN115250269B (zh) 一种文件分配方法及装置、存储介质及电子设备
CN112532670B (zh) 一种数据处理方法及其装置
JPH0512226A (ja) 複合電子計算機システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051122

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060131

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060224

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070117

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081016

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees