JPH11232115A - ソフトウェア・モジュール転送方法、データ処理ネットワークおよびシステム - Google Patents

ソフトウェア・モジュール転送方法、データ処理ネットワークおよびシステム

Info

Publication number
JPH11232115A
JPH11232115A JP10296431A JP29643198A JPH11232115A JP H11232115 A JPH11232115 A JP H11232115A JP 10296431 A JP10296431 A JP 10296431A JP 29643198 A JP29643198 A JP 29643198A JP H11232115 A JPH11232115 A JP H11232115A
Authority
JP
Japan
Prior art keywords
software module
data processing
target system
software
module
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
JP10296431A
Other languages
English (en)
Inventor
Andrew Liam Massey
アンドリュー・リーム・マッセイ
Sohail Syyed
ソハイル・シード
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11232115A publication Critical patent/JPH11232115A/ja
Pending legal-status Critical Current

Links

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
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 データ処理ネットワーク中でソフトウェア・
モジュール(例えばjavaアプレットなど動的にロー
ドできるコード)をクライアント・データ処理システム
上で実行するためにホスト・データ処理システムからプ
リエンプティブに転送する方法およびシステムを提供す
ること。 【解決手段】 ソフトウェア・モジュールは、それぞれ
クライアント・システムのところで異なるサービス(例
えば電子メール、テキスト・エディタなど)を提供する
異なる多数のタイプである。ホスト・システムは、クラ
イアントに転送される第1のソフトウェア・モジュール
のタイプを決定し、この決定に基づいて、次にクライア
ントのところで必要とされるであろうソフトウェア・モ
ジュールのタイプに関して予測を行う。次いで、予測し
たソフトウェア・モジュールが、クライアントから同じ
ものを要求される前にクライアント・システムに転送さ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理ネット
ワーク中でソフトウェアをホスト・システムからターゲ
ット・システムにプリエンプティブに転送する方法に関
する。
【0002】
【従来の技術】代表的なネットワーキング環境中では、
複数のクライアント・データ処理システムが1つまたは
複数のサーバ・システムに接続される。第1の一般的な
構成では、各クライアント・システムは、クライアント
中のハード・ファイル上に格納されるオペレーティング
・システムおよび任意選択で他のソフトウェアを含む。
サーバ・システムに関連する記憶装置上に保持される他
のアプリケーション・ソフトウェア、例えばワード・プ
ロセッシング、データベース・ソフトウェアは、クライ
アント・システムによって必要なときにアクセスされ
る。
【0003】代替ネットワーク構成では、クライアント
・システムは、ほとんどまたはまったく大容量記憶能力
を有せず、この場合、オペレーティング・システムおよ
びユーザが必要とする他のソフトウェアは、クライアン
ト・システムによって必要なときにサーバからダウンロ
ードされ、揮発性メモリ中に記憶される。
【0004】現存のネットワークでは、ソフトウェアお
よび他のデータは、一般に、クライアント・システムの
要求によりサーバから転送される。これは、クライアン
ト・ユーザ側の特定のアクションか、またはクライアン
ト上での処理の実行中に自動的に行われる。サーバ・シ
ステムが使用中のとき、ソフトウェアに対する要求は、
待ち行列中でそれらの順番を待っており、それにより大
きい遅延が生じることがある。さらに、待ち行列がまっ
たくなく、かつソフトウェアに対する要求がサーバのと
ころで受信された直後に処理された場合でも、それにも
かかわらず、要求されたソフトウェアを製造し、要求さ
れたソフトウェアを接続リンクを介してクライアントに
伝達する際に必要な時間の損失と共に要求側クライアン
トが要求をサーバに送信する必要によって生じる時間の
損失がある。ネットワーク・トラフィックが多いとき、
生じる全遅延は大きくなり、クライアント・システムの
ユーザの活動に悪影響を及ぼすことがある。
【0005】米国特許出願第5029104号には、ホ
スト・システムが接続されたワークステーションのとこ
ろでいくつかのタイプのデータ・オブジェクトの必要を
予測する技法が記載されている。ホストは、ホストのと
ころで受信されるデータ・オブジェクト(例えば、ワー
クステーション・ユーザにとって重要な電子メール)に
応答して、ワークステーションが各オブジェクトを使用
する可能性を決定するヒューリスティック論理回路を含
む。ワークステーションのところで使用される可能性の
あるデータ・オブジェクトは、ワークステーションによ
って要求が行われる前にホストによって任意にワークス
テーションに送信される。
【0006】したがってこの従来技術では、ホスト・シ
ステムは、データ・オブジェクトがワークステーション
・ユーザにとって有用または重要であるという決定に基
づいてデータ・オブジェクトをワークステーションにプ
リエンプティブに送信する。この決定は、ホスト・シス
テムにおけるデータ・オブジェクトの受信に基づいてお
り、ワークステーションにおけるユーザの活動を考慮し
ない。
【0007】
【発明が解決しようとする課題】本発明の第1の態様に
よれば、データ処理ネットワーク中でソフトウェア・モ
ジュールをターゲット・データ処理システム上で実行す
るためにホスト・データ処理システムからプリエンプテ
ィブに転送する方法であって、それぞれターゲット・シ
ステムのところで異なるサービスを提供する複数のタイ
プのソフトウェア・モジュールがあり、ホスト・システ
ムのところで、ターゲット・システムに転送される第1
のソフトウェア・モジュールのタイプを決定するステッ
プと、第1のモジュールのタイプの決定に基づいて、タ
ーゲット・システムのところで次に必要とされるであろ
う第2のソフトウェア・モジュールのタイプを予測する
ステップと、第2のタイプのモジュールをターゲット・
システムに自動的に転送するステップとを含む方法が提
供される。
【0008】本発明の第2の態様によれば、複数のクラ
イアント・データ処理システムと通信する手段と、それ
ぞれターゲット・システムのところで異なるサービスを
提供する複数のタイプのソフトウェア・モジュールを複
数のクライアント・システムにその上で実行するために
転送する手段と、ターゲット・システムに送信されたソ
フトウェア・モジュールのタイプを監視する手段と、第
1のタイプのソフトウェア・モジュールがターゲット・
システムと通信していたという決定に応答して、第2の
タイプのソフトウェア・モジュールが次にターゲット・
システムのところで必要とされるであろうと予測し、か
つ転送手段に第2のタイプのソフトウェア・モジュール
をターゲット・システムにプリエンプティブに転送させ
る手段とを含むサーバ・データ処理システムが提供され
る。
【0009】
【課題を解決するための手段】したがって本発明によれ
ば、クライアント・システムに転送されたソフトウェア
・モジュールのタイプに基づいて、次にクライアントが
必要とするであろうソフトウェア・モジュールのタイプ
に関して予測を行う方法およびシステムが提供される。
好ましい構成では、予測は、各クライアントに関連する
ソフトウェア・モジュール使用の履歴に基づいており、
この履歴は、一定の時間期間にわたってサーバによって
コンパイルされる。
【0010】本発明の好ましい実施形態では、ネットワ
ーク上のトラフィックのレベルを監視し、測定したトラ
フィックがあるしきい値よりも小さいときだけ予測した
モジュールを自動的に転送する。
【0011】1つの好ましい構成では、ソフトウェア・
モジュールは、クライアント・システム上でjava使
用可能ブラウザまたはjava仮想マシンを介して実行
するために動的にロードできる(例えば、Javaアプ
レット)。
【0012】本発明の他の態様によれば、コンピュータ
使用可能媒体中に組み込まれ、データ処理ネットワーク
中でソフトウェア・モジュールをターゲット・データ処
理システム上で実行するためにホスト・データ処理シス
テムからプリエンプティブに転送するコンピュータ読取
り可能プログラム・コード手段を有するコンピュータ使
用可能媒体を含むコンピュータ・プログラム製品であっ
て、それぞれターゲット・システムのところで異なるサ
ービスを提供する複数のタイプのソフトウェア・モジュ
ールがあり、コンピュータ読取り可能プログラム・コー
ド手段が、ホスト・システムのところで、ターゲット・
システムに転送される第1のソフトウェア・モジュール
のタイプを決定するコンピュータ読取り可能プログラム
・コード手段と、第1のモジュールのタイプの決定に基
づいて、次にターゲット・システムのところで必要とさ
れるであろう第2のソフトウェア・モジュールのタイプ
を予測するコンピュータ読取り可能プログラム・コード
手段と、第2のタイプのモジュールをターゲット・シス
テムに自動的に転送するコンピュータ読取り可能プログ
ラム・コード手段とを含むコンピュータ・プログラム製
品が提供される。
【0013】次に、本発明の好ましい実施形態につい
て、添付の図面を参照しながら例としてのみ説明する。
【0014】
【発明の実施の形態】まず第一に図1を参照すると、本
発明の好ましい実施形態が実施されるローカル・エリア
・ネットワーク(LAN)10が概略的な形で示されて
いる。図1のネットワークは、イーサネットLANとし
て構成されるものとして示されているが、代わりにトー
クン・リングまたは他の適切なトポロジに従って構成す
ることもできる。以下で説明するように、本発明はま
た、インターネット・ネットワークまたはイントラネッ
ト・ネットワークのコンテキストにおいても使用でき
る。図1において、ネットワークは、複数のクライアン
ト・コンピュータ・システム30、32、34、36と
通信するためにリンク26によって接続されたサーバ・
コンピュータ・システム20(この実施形態では、IB
M PC 730コンピュータ・システム)を含む。ク
ライアント・コンピュータ・システムは、インテルX8
6ファミリーのマイクロプロセッサをベースにしたパー
ソナル・コンピュータまたは他の形のコンピュータ・シ
ステムである。以下で説明するように、クライアントは
あるいはJava仮想マシンまたはJava使用可能ブ
ラウザを含む「ネットワーク・コンピュータ」(例えば
IBMネットワーク・ステーション)である。各クライ
アント・システムは、リンク26を介してサーバ・コン
ピュータとの通信を実施するLANアダプタ・カードま
たはネットワーク・インタフェース・カード(NIC)
38、40、42、44を含む。
【0015】サーバとクライアントとの間の通信を含む
ネットワーク上の資源の制御は、ネットワーク・オペレ
ーティング・システム(NOS)、例えば、サーバ・コ
ンピュータ・システムの主プロセッサ上で実行する「サ
ーバ」構成要素と、各クライアント・コンピュータ・シ
ステムの主プロセッサ上で実行する対応する「リクエス
タ」構成要素とを有するNovell社のNetwar
eを使用して実施される。他の適切なネットワーク・オ
ペレーティング・システムには、どちらもIBM社のO
S/2 LANサーバおよびOS/2 WARPサーバ
がある。この実施形態では、Internetwork
Packet Exchange(IPX)通信プロ
トコルがNetwareオペレーティング・システムに
関連して使用される。他の実施形態では、TCP/IP
が好ましいプロトコルである。
【0016】図2は、通信リンク26を介してサーバ・
コンピュータ・システム20をクライアント・システム
30に接続する方法を示す簡略化されたブロック図であ
る。クライアント・システムは、システム・バスによっ
てシステム・メモリ(RAM)134およびPOSTコ
ードを含むシステムBIOSがその中に格納された不揮
発性メモリ(ROM)135に接続された主CPU13
3の形をした制御論理回路の制御下で動作するキーボー
ド131およびディスプレイ132を含む。クライアン
ト・システムはさらに、この実施形態ではイーサネット
・カードであるが、代替実施形態ではトークン・リング
・アダプタ・カードであるネットワーク・アダプタ・カ
ード137を含む。このアダプタ・カードは、クライア
ントとサーバとの間で通信を実施する際に使用されるコ
ードがその中に記憶されたROMの形をした不揮発性メ
モリを含む。
【0017】この実施形態のクライアント・システム
は、例えば、磁気ディスク・ドライブ(ハード・ファイ
ル)の形をした大容量記憶装置を備えていないことに留
意されたい。さらに、クライアント・ユーザがソフトウ
ェアまたはデータをクライアント・システム中に導入す
るのを防ぎたい場合、クライアント・システムは、ディ
スケット・ドライブ、CD−ROMドライブ、または同
様のドライブを備えていないことが有利である。
【0018】図2のサーバ・コンピュータ・システム
は、主CPU123、システムRAM124、システム
ROM125、および一般にRAID(独立したディス
クの冗長アレイ)の形で構成された複数の磁気ディスク
・ドライブの形をした大容量記憶装置126を含むシス
テム装置122に接続されたキーボード121を含む。
サーバ・システムは、任意選択で、ディスプレイ127
(ネットワーク管理者がサーバ・システムと直接対話す
る必要がある場合)およびディスケット・ドライブ(図
示せず)やCD−ROMドライブ129など他の記憶装
置を含む。リンク26を介する通信は、アダプタ・カー
ドの形をとる入出力論理回路128によって実施され
る。
【0019】サーバRAIDのディスク・ドライブ上に
は、オペレーティング・システム・ソフトウェアを含む
異なる様々なソフトウェア、およびクライアント・シス
テムにダウンロードし、またクライアント・システムが
使用するための異なる様々なタイプのソフトウェア・モ
ジュールが格納される。これらのソフトウェア・モジュ
ールは、クライアント・システムのところで異なるサー
ビスを提供するように設計された比較的小さいコードで
ある。例えば、電子メール、テキスト編集、カレンダ、
スプレッドシート、および他のサービスをクライアント
・ユーザに提供するように設計されたモジュール・タイ
プがある。モジュールは、ユーザ(人間またはプロセ
ス)の特定の要求によるか、または本発明によるプリエ
ンプティブな形でクライアント・システムに転送され
る。
【0020】ソフトウェア・モジュールは、クライアン
ト・システム上に動的にロードできることが有利であ
る。この場合、モジュールは、クライアントに転送され
たとき、自動的にロードし、例えばウィンドウ内でクラ
イアント・ユーザに表示される。モジュールはさらに、
一度動作し、その後廃棄されるように設計することもで
きる。あるいは、モジュールは、後でクライアントが使
用するためにキャッシュに格納することもできる。適切
なソフトウェア・モジュールの一例は、Javaアプレ
ットである(JavaはSun Microsyste
ms社の登録商標である)。この場合、クライアント・
システムは、Windows NTなど適切なオペレー
ティング・システム上で動作するJava使用可能ブラ
ウザ(例えばNetscape Communicat
ions社から販売されているNetscape Na
vigator)またはJava仮想マシン(JVM)
を含む。
【0021】図3を参照すると、本発明の好ましい実施
形態の機能を提供するサーバ・システム上で実行するソ
フトウェア・コンポーネント200(この実施形態では
Netwareモジュール)のグループの相互関係が示
されている。LAN解析ソフトウェア210(例えば、
Novell社から販売されているLANAnalyz
er)は、LAN上のトラフィックのレベルに関する情
報をコントローラ205に提供するために従来の形でネ
ットワーク上のトラフィックを監視する。多数の適切な
LAN解析ソフトウェアが販売されている(例えば、N
ovell社から販売されているLANAnalyze
r)。
【0022】データ収集ソフトウェア220は、様々な
クライアント・システム上の様々なソフトウェア・モジ
ュールの使用の履歴を作成するバックグラウンド・タス
クとして実行するように設計される。この履歴は、特定
のクライアントが要求したモジュールのモデル、モジュ
ールが要求された時刻、ならびに異なるモジュール・タ
イプが使用される代表的なシーケンスを得るためにデー
タ収集タスクによって数日間または数週間にわたってコ
ンパイルされる。
【0023】例えば、クライアントXは、既存の予定さ
れた会議の時刻を検査するためにかつ/またはさらに会
議情報を追加するために常に営業日の始めにカレンダ・
ソフトウェア・モジュールを要求する。この特定のユー
ザは、次いで前の営業日に関する金融情報または他の情
報を更新するためにスプレッドシート・モジュールを常
に要求する。別のクライアントYは、最初に電子メール
・モジュールを要求し、その後カレンダ・モジュールを
要求する。使用履歴は、LANが位置する組織内の個々
のユーザの役割に応じてクライアント間で異なる可能性
があることを理解されたい。
【0024】この履歴情報は、データ収集ソフトウェア
によってコンパイルされ、本発明では、いずれかのクラ
イアント・システムの将来の要件に関して予測を行うた
めに使用される。したがって、クライアントXがカレン
ダ・モジュールを要求したとき、これはデータ収集タス
クによって監視される。制御ソフトウェアは、データ収
集ソフトウェアからの情報に基づいて、クライアント・
システムXが次に使用する可能性のあるソフトウェア・
モジュールのタイプを予測する予測アルゴリズム225
を含む。この場合、履歴は、クライアントXが必ずカレ
ンダ・モジュールの後でスプレッドシート・モジュール
を要求することを示す。この場合、制御ソフトウェア
は、プッシュ・タスク230にクライアントXのユーザ
からの要求の前にスプレッドシート・モジュールをクラ
イアントXにプッシュさせる。好ましい構成では、次に
予測されるモジュールの転送は、LANトラフィックが
事前に定義されたかまたは事前に計算されたしきい値よ
りも小さいという(LAN解析タスクからのトラフィッ
ク情報に基づく)決定によって決まる。この構成によれ
ば、ネットワーク上の負荷のバランスを改善することが
できる。
【0025】代替構成では、様々なクライアントによる
モジュールの使用の履歴を作成するデータ収集ソフトウ
ェアはない。代わりに、予測は、ソフトウェア・モジュ
ールのタイプ間の関連のリストに基づく。例えば、クラ
イアントは、最初にテキスト・エディタを要求した場
合、次に要求されるモジュールが電子メール通信モジュ
ールであろうと予測することが妥当であろう。電子メー
ル通信モジュールは、次いでクライアントがそのモジュ
ールを要求する前にクライアントにプリエンプティブに
転送される。モジュールの関連は、適切な形、例えばテ
ーブルの形でサーバ・システム中に格納される。
【0026】予測モードにかかわらず、予測されたソフ
トウェア・モジュールは、クライアントによる予測され
た使用の直前に転送されることが理想的であるが、この
場合、モジュールは、例えばサービスを表示するウィン
ドウがクライアントの画面上にポップアップするように
クライアントによって動的にロードされる。この理想的
な構成を実現する能力は、データ収集ソフトウェアの精
巧化、任意の時刻におけるネットワーク上の使用可能な
帯域幅、ならびにクライアント・ユーザの予測可能度に
依存する。動的にロードできるモジュールは、使用後に
廃棄される(この場合モジュールはサーバによって再送
信されなければならない)か、あるいは後続の呼出しを
予測してキャッシュに格納される。
【0027】モジュールは、動的にロードできる必要は
なく、むしろユーザによる後続の呼出しのためにクライ
アントのところのキャッシュ・メモリに転送される。任
意の適切な構成を使用して、クライアント中のソフトウ
ェア・モジュールのキャッシングを制御することができ
る。例えば、使用可能なキャッシュがいっぱいのとき、
ソフトウェア・モジュールがFIFO方式でパージされ
るか、あるいは各モジュールがそれに優先度(例えば、
テキスト・エディタがスプレッドシートよりも重要であ
る)を関連付けており、モジュール優先度に従ってキャ
ッシュ中のスペースを解放することができる。
【0028】次に図4を参照すると、本発明の好ましい
方法に関連するステップの流れ図が示されている。この
方法は、図示のように300のところから始まる。サー
バ・システムは、ステップ302で、第1のソフトウェ
ア・モジュール・タイプを接続されたクライアント・シ
ステムの1つに送信する。これは、クライアントの要求
によるか、あるいはサーバによってプリエンプティブな
形で実施される。制御ソフトウェアは、ステップ304
で、データ収集ソフトウェアによってコンパイルされた
履歴情報に基づいて、多分同じクライアントによって要
求されるであろうソフトウェア・モジュールのタイプに
関して予測を行う。ステップ306で、制御ソフトウェ
アは、LANトラフィックがあるしきい値よりも小さい
かどうかに関する決定を行い、そうであれば、ステップ
308で、プッシュ・ソフトウェアに予測したモジュー
ルを問題のクライアントにプッシュさせる。このプロセ
スはステップ310で終了する。
【0029】既に示したように、特定のクライアントに
関連する使用履歴は、そのクライアントのユーザに固有
である。予測アルゴリズムの成功は、クライアント・シ
ステムが同じユーザによって使用されることに依存す
る。これは、一般にワークステーション・グループを含
むオープン・オフィス環境中でもそうである。そのよう
なオフィス内の個人には、一般に、その上で作業すべき
特定のシステムが割り当てられる。したがって、ユーザ
Aが、例えば毎週月曜日にワークステーションWS10
を使用する場合、データ収集ソフトウェアは、ソフトウ
ェア・モジュール使用のパターンが月曜日から月曜日ま
で比較的一定していることを記す。したがって、サーバ
・システムは、月曜日の朝にユーザAが到着する前に予
測して適切なソフトウェア・モジュールをワークステー
ションWS1に供給する。同様に、サーバは、その日の
残りの時間中にワークステーションWS1からの要求の
前に予測して他のソフトウェア・モジュールを供給す
る。
【0030】何らかの理由でユーザBが月曜日の朝にワ
ークステーションWS10を使用することを選択し、か
つ通常WS10によって要求されないソフトウェア・モ
ジュールに対する要求を行った場合、これはデータ収集
ソフトウェアによって記される。これに基づいて、ソフ
トウェア・モジュールの通常の「月曜日」シーケンスを
予測して供給する代わりに、制御ソフトウェアは、予測
を行うのを中止するか、あるいは上述の形で純粋にソフ
トウェア・モジュール・タイプの関連に基づいてソフト
ウェア使用を予測する。
【0031】本発明はまた、インターネットまたはイン
トラネットのコンテキストにおいても使用できる。図5
は、インターネットまたはイントラネット410を介し
てそのうちの3つがシステム412、414、416と
して示されている複数のクライアント・システムに接続
されたホスト・システム400を含むそのような構成の
概略図である。ホスト・システムは、図1のホストと同
じ構成を有する。クライアント・システムは、Java
使用可能ブラウザ420、またはホスト・システムから
受け取ったJavaアプレット・ソフトウェア・モジュ
ールを実行するJava仮想マシンを含む。各クライア
ントは、任意選択でソフトウェア・モジュールを一時的
に記憶するキャッシュ422を含む。ホスト・システム
は、クライアント・システムの個々のIPアドレスを参
照して、モジュール使用の履歴をコンパイルし、維持す
ることができる。
【0032】以上、好ましい実施形態について、大容量
記憶装置を有しないクライアント・システムに関して説
明してきたが、本発明は、ソフトウェアおよび/または
データの局所的に記憶するハード・ファイルなど何らか
の不揮発性記憶装置または同様の記憶装置を有するクラ
イアント・システムにも適用できることが理解できよ
う。
【0033】さらに、好ましい実施形態では、単一のサ
ーバ・システムが監視機能および予測機能を実施し、ま
た予測したモジュールをクライアントに転送する。代替
構成では、監視ステップおよび予測ステップは1つのサ
ーバのところで引き受けられ、ソフトウェア・モジュー
ルの記憶および転送は第2のサーバのところで引き受け
られる。
【0034】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0035】(1)データ処理ネットワーク中でソフト
ウェア・モジュールをターゲット・データ処理システム
上で実行するためにホスト・データ処理システムからプ
リエンプティブに転送する方法であって、それぞれ前記
ターゲット・システムのところで異なるサービスを提供
する複数のタイプのソフトウェア・モジュールがあり、
前記ホスト・システムのところで、ターゲット・システ
ムに転送される第1のソフトウェア・モジュールのタイ
プを決定するステップと、前記第1のモジュールのタイ
プの決定に基づいて、次に前記ターゲット・システムの
ところで必要とされるであろう第2のソフトウェア・モ
ジュールのタイプを予測するステップと、前記第2のタ
イプのモジュールを前記ターゲット・システムに自動的
に転送するステップとを含む方法。 (2)前記サーバのところで、各ターゲット・システム
におけるソフトウェア・モジュール使用の履歴をコンパ
イルする他のステップを含み、前記予測ステップが各タ
ーゲット・システムの前記コンパイルされた履歴に基づ
く上記(1)に記載の方法。 (3)前記ネットワーク上のトラフィックのレベルを監
視し、かつ前記トラフィックがあるしきい値よりも小さ
いときだけ前記第2のソフトウェア・モジュールを自動
的に転送する他のステップを含む上記(1)または
(2)に記載の方法。 (4)前記第1のソフトウェア・モジュールが前記ター
ゲット・システムからの要求に応答して、前記ホスト・
システムから転送される上記(1)ないし(3)のいず
れか一項に記載の方法。 (5)前記ソフトウェア・モジュールが動的にロードで
きるソフトウェア・モジュールである上記(1)ないし
(4)のいずれか一項に記載の方法。 (6)前記動的にロードできるソフトウェア・モジュー
ルが、前記ターゲット・システム上でjava使用可能
ブラウザまたはjava仮想マシンを介して実行するた
めのJavaアプレットである上記(5)に記載の方
法。 (7)前記ネットワークがローカル・エリア・ネットワ
ークである上記(1)ないし(6)のいずれか一項に記
載の方法。 (8)前記ネットワークがインターネットまたはイント
ラネットである上記(1)ないし(6)のいずれか一項
に記載の方法。 (9)前記第1のソフトウェア・モジュールが前記ター
ゲット・システムのところでテキスト編集サービスを提
供する上記(1)ないし(8)のいずれか一項に記載の
方法。 (10)前記第2のソフトウェア・モジュールが前記タ
ーゲット・システムのところで電子メール通信サービス
を提供する上記(9)に記載の方法。 (11)複数のターゲット・データ処理システムと通信
するために接続されたサーバ・データ処理システムを含
むデータ処理ネットワークであって、前記サーバ・デー
タ処理システムのところにあるか、またはそれに関連
し、それぞれターゲット・システムのところで異なるサ
ービスを提供する複数のタイプのソフトウェア・モジュ
ールを前記複数のターゲット・システムにその上で実行
するために転送する手段と、前記ターゲット・システム
に送信された前記ソフトウェア・モジュールの識別を監
視する手段と、第1のタイプのソフトウェア・モジュー
ルがターゲット・システムと通信していたという決定に
応答して、第2のタイプのソフトウェア・モジュールが
次に前記ターゲット・システムのところで必要とされる
であろうと予測し、かつ前記転送手段に前記第2のタイ
プのソフトウェア・モジュールを前記ターゲット・シス
テムにプリエンプティブに転送させる手段と、前記ター
ゲット・システムのところで、前記ホスト・システムか
らの前記ソフトウェア・モジュールを受信する手段とを
含むデータ処理ネットワーク。 (12)各前記ターゲット・システムにおけるソフトウ
ェア・モジュール使用の履歴をコンパイルするデータ収
集手段をさらに含み、前記予測手段が前記予測を各ター
ゲット・システムの前記履歴を基にする上記(11)に
記載のデータ処理ネットワーク。 (13)前記ネットワーク上のトラフィックのレベルを
監視し、かつ前記トラフィックがあるしきい値よりも小
さいときだけ前記第2のソフトウェア・モジュールを自
動的に転送する手段をさらに含む上記(11)または
(12)に記載のデータ処理ネットワーク。 (14)各ソフトウェア・モジュールのタイプが動的に
ロードできるソフトウェア・モジュールである上記(1
1)ないし(13)のいずれかに記載のデータ処理ネッ
トワーク。 (15)前記動的にロードできるソフトウェア・モジュ
ールがJavaアプレットであり、各ターゲット・シス
テムがjava使用可能ブラウザまたはjava仮想マ
シンを含む上記(14)に記載のデータ処理ネットワー
ク。 (16)複数のクライアント・データ処理システムと通
信する手段と、それぞれ前記ターゲット・システムのと
ころで異なるサービスを提供する複数のタイプのソフト
ウェア・モジュールを前記複数のクライアント・システ
ムにその上で実行するために転送する手段と、前記ター
ゲット・システムに送信された前記ソフトウェア・モジ
ュールの識別を監視する手段と、第1のタイプのソフト
ウェア・モジュールがターゲット・システムと通信して
いたという決定に応答して、第2のタイプのソフトウェ
ア・モジュールが次に前記ターゲット・システムのとこ
ろで必要とされるであろうと予測し、かつ前記転送手段
に前記第2のタイプのソフトウェア・モジュールを前記
ターゲット・システムにプリエンプティブに転送させる
手段とを含むサーバ・データ処理システム。
【図面の簡単な説明】
【図1】複数のクライアント・データ処理システムに接
続されたホスト・システムを含むデータ処理ネットワー
クの概略図である。
【図2】図1のクライアント・システムおよびホスト・
システムの主要な構成要素の概略図である。
【図3】本発明の好ましい実施形態において使用される
ホスト・システムの要素間の対話を示す概略図である。
【図4】本発明の好ましい一実施形態のステップを示す
流れ図である。
【図5】本発明がそれと共に使用される代替ネットワー
ク構成の概略図である。
【符号の説明】
10 ローカル・エリア・ネットワーク(LAN) 20 サーバ・コンピュータ・システム 26 通信リンク 30 クライアント・コンピュータ・システム 32 クライアント・コンピュータ・システム 34 クライアント・コンピュータ・システム 36 クライアント・コンピュータ・システム 38 ネットワーク・インタフェース・カード 40 ネットワーク・インタフェース・カード 42 ネットワーク・インタフェース・カード 44 ネットワーク・インタフェース・カード 121 キーボード 122 システム装置 123 主CPU 124 システムRAM 125 システムROM 126 大容量記憶装置 127 ディスプレイ 128 入出力論理回路 129 CD−ROMドライブ 131 キーボード 132 ディスプレイ 133 主CPU 134 システム・メモリ(RAM) 135 不揮発性メモリ(ROM) 137 ネットワーク・アダプタ・カード 200 ソフトウェア・コンポーネント 205 コントローラ 210 LAN解析ソフトウェア 220 データ収集ソフトウェア 225 予測アルゴリズム 230 プッシュ・タスク 400 ホスト・システム 410 インターネットまたはイントラネット 412 クライアント・システム 414 クライアント・システム 416 クライアント・システム 420 Java使用可能ブラウザ 422 キャッシュ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ソハイル・シード イギリス ジー41 5イー・エー ストラ ッチクライド グラスゴー ポロックシー ルド アルバート・ドライブ 319

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】データ処理ネットワーク中でソフトウェア
    ・モジュールをターゲット・データ処理システム上で実
    行するためにホスト・データ処理システムからプリエン
    プティブに転送する方法であって、それぞれ前記ターゲ
    ット・システムのところで異なるサービスを提供する複
    数のタイプのソフトウェア・モジュールがあり、 前記ホスト・システムのところで、ターゲット・システ
    ムに転送される第1のソフトウェア・モジュールのタイ
    プを決定するステップと、 前記第1のモジュールのタイプの決定に基づいて、次に
    前記ターゲット・システムのところで必要とされるであ
    ろう第2のソフトウェア・モジュールのタイプを予測す
    るステップと、 前記第2のタイプのモジュールを前記ターゲット・シス
    テムに自動的に転送するステップとを含む方法。
  2. 【請求項2】前記サーバのところで、各ターゲット・シ
    ステムにおけるソフトウェア・モジュール使用の履歴を
    コンパイルする他のステップを含み、前記予測ステップ
    が各ターゲット・システムの前記コンパイルされた履歴
    に基づく請求項1に記載の方法。
  3. 【請求項3】前記ネットワーク上のトラフィックのレベ
    ルを監視し、かつ前記トラフィックがあるしきい値より
    も小さいときだけ前記第2のソフトウェア・モジュール
    を自動的に転送する他のステップを含む請求項1または
    請求項2に記載の方法。
  4. 【請求項4】前記第1のソフトウェア・モジュールが前
    記ターゲット・システムからの要求に応答して、前記ホ
    スト・システムから転送される請求項1ないし3のいず
    れか一項に記載の方法。
  5. 【請求項5】前記ソフトウェア・モジュールが動的にロ
    ードできるソフトウェア・モジュールである請求項1な
    いし4のいずれか一項に記載の方法。
  6. 【請求項6】前記動的にロードできるソフトウェア・モ
    ジュールが、前記ターゲット・システム上でjava使
    用可能ブラウザまたはjava仮想マシンを介して実行
    するためのJavaアプレットである請求項5に記載の
    方法。
  7. 【請求項7】前記ネットワークがローカル・エリア・ネ
    ットワークである請求項1ないし6のいずれか一項に記
    載の方法。
  8. 【請求項8】前記ネットワークがインターネットまたは
    イントラネットである請求項1ないし6のいずれか一項
    に記載の方法。
  9. 【請求項9】前記第1のソフトウェア・モジュールが前
    記ターゲット・システムのところでテキスト編集サービ
    スを提供する請求項1ないし8のいずれか一項に記載の
    方法。
  10. 【請求項10】前記第2のソフトウェア・モジュールが
    前記ターゲット・システムのところで電子メール通信サ
    ービスを提供する請求項9に記載の方法。
  11. 【請求項11】複数のターゲット・データ処理システム
    と通信するために接続されたサーバ・データ処理システ
    ムを含むデータ処理ネットワークであって、 前記サーバ・データ処理システムのところにあるか、ま
    たはそれに関連し、それぞれターゲット・システムのと
    ころで異なるサービスを提供する複数のタイプのソフト
    ウェア・モジュールを前記複数のターゲット・システム
    にその上で実行するために転送する手段と、 前記ターゲット・システムに送信された前記ソフトウェ
    ア・モジュールの識別を監視する手段と、 第1のタイプのソフトウェア・モジュールがターゲット
    ・システムと通信していたという決定に応答して、第2
    のタイプのソフトウェア・モジュールが次に前記ターゲ
    ット・システムのところで必要とされるであろうと予測
    し、かつ前記転送手段に前記第2のタイプのソフトウェ
    ア・モジュールを前記ターゲット・システムにプリエン
    プティブに転送させる手段と、 前記ターゲット・システムのところで、前記ホスト・シ
    ステムからの前記ソフトウェア・モジュールを受信する
    手段とを含むデータ処理ネットワーク。
  12. 【請求項12】各前記ターゲット・システムにおけるソ
    フトウェア・モジュール使用の履歴をコンパイルするデ
    ータ収集手段をさらに含み、前記予測手段が前記予測を
    各ターゲット・システムの前記履歴を基にする請求項1
    1に記載のデータ処理ネットワーク。
  13. 【請求項13】前記ネットワーク上のトラフィックのレ
    ベルを監視し、かつ前記トラフィックがあるしきい値よ
    りも小さいときだけ前記第2のソフトウェア・モジュー
    ルを自動的に転送する手段をさらに含む請求項11また
    は請求項12に記載のデータ処理ネットワーク。
  14. 【請求項14】各ソフトウェア・モジュールのタイプが
    動的にロードできるソフトウェア・モジュールである請
    求項11ないし請求項13のいずれかに記載のデータ処
    理ネットワーク。
  15. 【請求項15】前記動的にロードできるソフトウェア・
    モジュールがJavaアプレットであり、各ターゲット
    ・システムがjava使用可能ブラウザまたはjava
    仮想マシンを含む請求項14に記載のデータ処理ネット
    ワーク。
  16. 【請求項16】複数のクライアント・データ処理システ
    ムと通信する手段と、 それぞれ前記ターゲット・システムのところで異なるサ
    ービスを提供する複数のタイプのソフトウェア・モジュ
    ールを前記複数のクライアント・システムにその上で実
    行するために転送する手段と、 前記ターゲット・システムに送信された前記ソフトウェ
    ア・モジュールの識別を監視する手段と、 第1のタイプのソフトウェア・モジュールがターゲット
    ・システムと通信していたという決定に応答して、第2
    のタイプのソフトウェア・モジュールが次に前記ターゲ
    ット・システムのところで必要とされるであろうと予測
    し、かつ前記転送手段に前記第2のタイプのソフトウェ
    ア・モジュールを前記ターゲット・システムにプリエン
    プティブに転送させる手段とを含むサーバ・データ処理
    システム。
JP10296431A 1997-11-19 1998-10-19 ソフトウェア・モジュール転送方法、データ処理ネットワークおよびシステム Pending JPH11232115A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9724364A GB2331814B (en) 1997-11-19 1997-11-19 Pre-emptive download of software in data processing network
GB9724364.6 1997-11-19

Publications (1)

Publication Number Publication Date
JPH11232115A true JPH11232115A (ja) 1999-08-27

Family

ID=10822260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10296431A Pending JPH11232115A (ja) 1997-11-19 1998-10-19 ソフトウェア・モジュール転送方法、データ処理ネットワークおよびシステム

Country Status (2)

Country Link
JP (1) JPH11232115A (ja)
GB (1) GB2331814B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077798A1 (fr) * 2001-03-27 2002-10-03 Sony Corporation Systeme et dispositif de traitement de donnees, dispositif et procede de traitement d'informations, et support de stockage
JP2002328876A (ja) * 2001-03-22 2002-11-15 Internatl Business Mach Corp <Ibm> 電子メールを処理する方法、システム、コンピュータ・プログラム
WO2003107186A1 (ja) * 2002-06-18 2003-12-24 松下電器産業株式会社 プログラム実行処理端末装置、プログラム実行処理方法及びプログラム
JP2004240965A (ja) * 2003-02-07 2004-08-26 Samsung Electronics Co Ltd Java(登録商標)プログラムでのクラスローディング過程を短縮するシステム及び方法
WO2010073530A1 (ja) * 2008-12-26 2010-07-01 日本電気株式会社 ダウンロードシステム、情報処理端末、管理装置、それに用いる方法およびプログラム
JP2012088901A (ja) * 2010-10-19 2012-05-10 Fujitsu Ltd ソフトウェア管理装置、ソフトウェア管理方法およびソフトウェア管理プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442558B1 (en) 1998-12-03 2002-08-27 International Business Machines Corporation Mechanisms for division, storage, reconstruction, generation, and delivery of java class files
TW546936B (en) * 2000-10-27 2003-08-11 Synq Technology Inc Data encrypting/decrypting system in client/server structure and the method thereof
US7580972B2 (en) * 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
EP1612664A1 (de) * 2004-07-02 2006-01-04 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Beschleunigen von Applikationszugriffszeiten
US8029367B2 (en) * 2007-01-15 2011-10-04 Microsoft Corporation Automatic delivery of game content to a game console
ITMI20090252A1 (it) * 2009-02-24 2010-08-25 David Semeria Sistema e metodo per la generazione di applicazioni attraverso una rete informatica.

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758087A (en) * 1996-06-14 1998-05-26 International Business Machines Corporation Apparatus and method for predicted response generation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328876A (ja) * 2001-03-22 2002-11-15 Internatl Business Mach Corp <Ibm> 電子メールを処理する方法、システム、コンピュータ・プログラム
WO2002077798A1 (fr) * 2001-03-27 2002-10-03 Sony Corporation Systeme et dispositif de traitement de donnees, dispositif et procede de traitement d'informations, et support de stockage
WO2003107186A1 (ja) * 2002-06-18 2003-12-24 松下電器産業株式会社 プログラム実行処理端末装置、プログラム実行処理方法及びプログラム
CN1310148C (zh) * 2002-06-18 2007-04-11 松下电器产业株式会社 程序执行处理终端装置和程序执行处理方法
US7506323B2 (en) 2002-06-18 2009-03-17 Panasonic Corporation Program execution processing terminal device, program execution processing method, and program
JP2004240965A (ja) * 2003-02-07 2004-08-26 Samsung Electronics Co Ltd Java(登録商標)プログラムでのクラスローディング過程を短縮するシステム及び方法
WO2010073530A1 (ja) * 2008-12-26 2010-07-01 日本電気株式会社 ダウンロードシステム、情報処理端末、管理装置、それに用いる方法およびプログラム
US8892682B2 (en) 2008-12-26 2014-11-18 Nec Corporation Download system, information processing terminal, management device, and method and program used therefor
JP2012088901A (ja) * 2010-10-19 2012-05-10 Fujitsu Ltd ソフトウェア管理装置、ソフトウェア管理方法およびソフトウェア管理プログラム

Also Published As

Publication number Publication date
GB2331814A (en) 1999-06-02
GB2331814B (en) 2002-11-13
GB9724364D0 (en) 1998-01-14

Similar Documents

Publication Publication Date Title
US7080378B1 (en) Workload balancing using dynamically allocated virtual servers
US7388839B2 (en) Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
US7895231B2 (en) Queuing model for a plurality of servers
US5440719A (en) Method simulating data traffic on network in accordance with a client/sewer paradigm
US6377991B1 (en) Method, computer program product, and system for migrating URLs within a dynamically changing distributed cache of URLs
JP4452185B2 (ja) 管理ポリシーに基づいた要求トラフィックのリソース認識管理
US8645556B1 (en) Method and system for reducing memory used for idle connections
US6311216B1 (en) Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS
JP3818655B2 (ja) タスク・スケジューリングの方法、システム、およびプログラム製品
US8522241B1 (en) Systems and methods for auto-balancing of throughput in a real-time event-driven system
US5987502A (en) Workload management in an asynchronous client/server computer system
US7793297B2 (en) Intelligent resource provisioning based on on-demand weight calculation
US20080301406A1 (en) System and method for allocating communications to processors in a multiprocessor system
Dandamudi Sensitivity evaluation of dynamic load sharing in distributed systems
US20060277278A1 (en) Distributing workload among DNS servers
CN100367217C (zh) 支持大量间歇使用的应用集群的方法和系统
US11311722B2 (en) Cross-platform workload processing
US20040158637A1 (en) Gated-pull load balancer
JPH11232115A (ja) ソフトウェア・モジュール転送方法、データ処理ネットワークおよびシステム
WO2003025745A2 (en) System and method for performing power management on a distributed system
CA2471594A1 (en) Method and apparatus for web farm traffic control
EP4068725B1 (en) Topology-based load balancing for task allocation
Breitgand et al. On cost-aware monitoring for self-adaptive load sharing
US20030126244A1 (en) Apparatus for scheduled service of network requests and a method therefor
US9626226B2 (en) Cross-platform workload processing