JP4222590B2 - サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム - Google Patents
サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム Download PDFInfo
- Publication number
- JP4222590B2 JP4222590B2 JP2001218527A JP2001218527A JP4222590B2 JP 4222590 B2 JP4222590 B2 JP 4222590B2 JP 2001218527 A JP2001218527 A JP 2001218527A JP 2001218527 A JP2001218527 A JP 2001218527A JP 4222590 B2 JP4222590 B2 JP 4222590B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- function
- software
- predetermined
- client system
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ネットワークを介してソフトウェアを配信するサーバ・システム、ネットワークを介してソフトウェアの配信を受けるクライアント・システム及びソフトウェアストリーミング方法に関する。
【0002】
【従来の技術】
昨今、インターネット等のネットワークを介したソフトウェア(コンピュータプログラム)の配信サービスが盛んに行われるようになってきている。その際、配信を受けたソフトウェアを自由に利用可能とする方法の他に、利用期間や利用回数に制限を設ける方法もある(例えば、利用回数制限が1回の場合、各利用時にダウンロードすることになる)。他方、ソフトウェアのダウンロードを伴うサービスとして、ユーザがインターネット上のあるサイトの有するストレージの記憶領域を利用できるようにしたいわゆるアーカイブサービスがある。このサービスでは、ユーザは自身の持つソフトウェアを該サイト側に保存しておき、必要時に自身のコンピュータ側にダウンロードして使用することができる。これらのようなサービスは、その形態によって、ソフトウェアの受け渡しに記録媒体を必要とせず且つ直ちに受け渡しに入れること、クライアント側のマシンに大容量の記憶装置が必要なくなること、大規模なネットワークの管理者にとってクライアントマシンの管理が容易になること、などの種々の利点が得られ、今後ますます普及するものと予想される。
【0003】
このように、サーバ側からユーザ側へソフトウェアをダウンロードする場合、ソフトウェアのファイル全体のダウンロードが完了するのを待ってから、ソフトウェアを起動する必要がある。
【0004】
一方、既存のソフトウェアを改良等する場合に、新規にソフトウェアを作り直すのではなく、当該既存のソフトウェアに機能の追加又は更新を行うことで対応する方法が多くとられている。その際、ユーザは、例えばインターネット経由であるいはディスク状記録媒体から、アップデート用ファイルをコンピュータに読み込み、アップデート対象のソフトウェアが現在起動していないことを確認した上で、該アップデート用ファイルを起動させるとともに、画面上に提示されたインストラクションに従って幾つかの入力操作(例えば対象プログラムの指定など)を行う、といったような手続きが必要である。
【0005】
【発明が解決しようとする課題】
従来、サーバ側からユーザ側へソフトウェアをダウンロードする場合、ソフトウェアのファイル全体のダウンロードが完了するのを待ってから、ソフトウェアを起動する必要があった。また、ソフトウェアをアップデートする場合、該ソフトウェアを停止させてから、アップデートする必要があった。また、アップデートには、ユーザの操作が必要であった。
【0006】
本発明は、上記事情を考慮してなされたもので、コンピュータプログラムの動作中にその機能部を配信しこれに自動的に追加又は更新することができるようにしたサーバ・システム、クライアント・システム及びソフトウェアストリーミング方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、所定のネットワークを介して通信可能なクライアント・システム及びサーバ・システムにおけるソフトウェアストリーミング方法であって、前記サーバ・システムは、ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶し、前記クライアント・システムは、前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信し、前記ストリーミング要求を受信した前記サーバ・システムは、前記第1のファイルを、前記クライアント・システムへ配信し、前記第1のファイルを受信した前記クライアント・システムは、受信した該第1のファイルを所定のプロセスとして起動し、前記サーバ・システムは、前記ストリーミング要求の受信に応答して行った前記第1のファイルの配信に続いて、対応する前記プロファイル情報及び前記第2のファイルからなる組を、1組ずつ連続して前記クライアント・システムへ配信し、前記クライアント・システムでは、前記サーバ・システムから、前記第1のファイルに続いて配信される、対応する前記プロファイル情報及び前記第2のファイルからなる組を、1組ずつ連続して受信するとともに、起動された前記所定のプロセスは、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とする。
また、本発明は、所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムであって、ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための記憶手段と、前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するための受信手段と、前記ストリーミング要求を受信したことを契機として、前記第1のファイル並びに所定組数の対応する前記プロファイル情報及び前記第2のファイルからなる組をストリームとして前記クライアント・システムへ配信するための配信手段とを備え、前記第1のファイルは前記クライアント・システムにて所定のプロセスとして起動させるためのものであり、前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とする。
また、本発明は、所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムであって、ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを起動させる命令を含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための記憶手段と、前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するための受信手段と、前記ストリーミング要求を受信したことを契機として、前記第1のファイル並びに所定組数の対応する前記プロファイル情報及び前記第2のファイルからなる組をストリームとして前記クライアント・システムへ配信するための配信手段とを備え、前記第1のファイルは前記クライアント・システムに存在する前記所定のプログラムを起動させるためのものであり、前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とする。
また、本発明は、所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムであって、ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための記憶手段と、前記ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムが起動された前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するための受信手段と、前記ストリーミング要求を受信したことを契機として、対応する前記プロファイル情報及び前記第2のファイルからなる組をストリームとして前記クライアント・システムへ配信するための配信手段とを備え、前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とする。
また、本発明は、所定のネットワークを介してサーバ・システムからソフトウェアのストリームによる配信を受けるクライアント・システムあって、前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信するための送信手段と、前記サーバ・システムから、前記ストリーミング要求に応答して配信される、ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルを受信するための第1の受信手段と、受信した前記第1のファイルを所定のプロセスとして起動するための起動手段と、前記サーバ・システムから、前記第1のファイルに続いて配信される、追加又は更新すべき機能部を含む第2のファイル及び該機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含むプロファイル情報の組を、1組ずつ連続して受信するための第2の受信手段とを備え、起動された前記所定のプロセスは、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とする。
また、本発明は、所定のネットワークを介してサーバ・システムからソフトウェアのストリームによる配信を受けるクライアント・システムあって、前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信するための送信手段と、ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための自動機能追加更新手段と、前記サーバ・システムから、前記ストリーミング要求に応答して配信される、追加又は更新すべき機能部を含む第2のファイル及び該機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含むプロファイル情報の組を、1組ずつ連続して受信するための第2の受信手段とを備え、前記自動機能追加更新手段は、所定のプログラムをプロセスとして起動してなるものであって、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とする。
【0018】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0019】
本発明によれば、ストリーミングによって機能部の追加又は更新用のファイルを連続的に配信し、コンピュータプログラムの動作中に(コンピュータプログラムを停止することなく)、自動的かつ逐次的に機能部の追加又は更新を行うことができる。
【0020】
また、従来は、ネットワークにおけるストリーミングの利用は、ビデオやオーディオコンテンツなどのデータ配信でしか実現できなかったが、本発明によれば、コンピュータプログラムのストリーミング(例えば、機能部の単位でのストリーミング)が可能になる。
【0021】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0022】
図1に、本発明の一実施形態に係るネットワークシステムの構成例を示す。
【0023】
図1に示されるように、本実施形態のネットワークシステムは、ストリーミング要求に応じて所定のソフトウェア(コンピュータプログラム)をストリーミング配信する機能を有するストリーミング・サーバ・システム(以下、サーバ)1と、サーバ1からソフトウェアのストリーミング配信を受け、そのソフトウェアを実行する機能を有するクライアント・システム(以下、クライアント)2とを含んで構成される。サーバ1と各クライアント2とは、所定のネットワーク3を介して通信可能である。サーバ1は、複数のクライアント2に対して(同時に又は順次に)ストリーミング配信できる。なお、ネットワーク3上にサーバ1が複数存在しても構わない(この場合、各クライアント2は、所望のサーバ1にアクセスする)。
【0024】
なお、ネットワーク3がイントラネット等のLANでもインターネット等のWANでも本発明は適用可能である。また、本発明は、サーバ・クライアント間の通信プロトコルがどのようなものであっても適用可能である。本実施形態では、ネットワーク3として、インターネットを例にとって説明する。なお、この場合に、クライアント2は、LANを介してインターネットに接続されるものであってもよいし、LANを介さずにインターネットに接続されるものであってもよいし、また、有線リンクのみでインターネットに接続されるものであってもよいし、無線リンクを介してインターネットに接続されるものであってもよいし。
【0025】
サーバ1やクライアント2は、計算機とソフトウェアなどによって構成可能である。本実施形態では、一例として、サーバ1は、インターネット上のWWWサーバ(もしくはサイト)を想定し、クライアント2は、表示画面/入力装置(例えば、マウスなどのポインティングデバイスとキーボード等)によるユーザインタフェース手段やWebブラウザ等の機能を搭載した計算機(あるいはプログラム実行機能を搭載した携帯電話端末等)を想定して説明する。なお、WWWサーバとしては、コンテンツ配信サービスあるいはアーカイブサービスなど、ソフトウェアを配信もしくは転送する手続きを含むサービスを提供するサーバ・システム(サービス・サイト)であれば、どのようなものにも本発明は適用可能である。
【0026】
図2に、本実施形態のサーバ1およびクライアント2の構成例を示す。なお、図2では、ソフトウェアのストリーム配信、ストリーム配信されたソフトウェアの実行および実行中における機能の追加や更新のための処理などに関係する部分を中心に示している。
【0027】
図2に示されるように、サーバ1は、送受信処理部11、機能更新ファイル格納部12、プロファイル情報格納部13を備えている。なお、機能更新ファイル格納部12とプロファイル情報格納部13は、同じ物理デバイス上に存在していても、違う物理デバイス上に存在していてもよい。
【0028】
サーバ1では、ストリーミング配信対象のソフトウェアについて、機能更新ファイル格納部12にて、自動機能追加更新部のプログラム(クライアント2上で起動される自動機能追加更新部(自動機能追加更新プロセス)24のプログラム)を含むファイル(以下、自動機能追加更新ファイル)と所定数(1又は複数)の機能更新ファイルとを格納するとともに、プロファイル情報格納部13にて、自動機能追加更新ファイルに対応するプロファイル情報と各々の機能更新ファイルに対応するプロファイル情報とを格納する。なお、複数のソフトウェアを格納する場合には、例えば、ソフトウェアごとにフォルダあるいはディレクトリを分けて、自動機能追加更新ファイル/機能更新ファイル/プロファイル情報を格納するなどの手段を用いてもよい(この点は、クライアント2についても同様である)。
【0029】
ここで、「機能更新ファイル」は、当該ソフトウェアの実行中に所定の機能部の追加又は更新を行うためのものであり、ある1つ以上の機能を実現するためのプログラムコードのまとまりを含むファイルである(具体的には、例えば、コンポーネントウェアやオブジェクトなどを用いることができる)。
また、自動機能追加更新プロセスは、クライアント2上で起動され、プロファイル情報を参照して、機能更新ファイルを自プロセスにロードすることによって、当該ソフトウェアの実行中に所定の機能部の追加又は更新を行うためのものであり、「自動機能追加更新ファイル」は、この自動機能追加更新プロセスを実現するためのプログラムコードのまとまりを含むファイルである。
また、「プロファイル情報」は、自動機能追加更新ファイルに対するものとしては、該自動機能追加更新ファイルに関する情報(例えば、アプリケーション名、当該ファイルの名称やサイズなど)を含むものであり、各々の機能更新ファイルに対するものとしては、当該機能更新ファイルに関する情報(例えば、アプリケーション名、当該ファイルの名称やサイズなど)の他に、当該機能更新ファイルよって追加又は更新される機能部を示す情報(例えば、追加又は変更される機能部の名称の一覧)や該機能部に関連する他の機能部を示す情報(例えば、他の機能部の名称の一覧)などを含むものである。
【0030】
送受信処理部11は、クライアント2からのストリーミング要求を受け付け、ストリーミング要求に応答して、要求元から指定されたソフトウェアのストリーミング配信を行う(なお、予め定められたソフトウェアのみを配信するサーバにおいては当該予め定められたソフトウェアのストリーミング配信を行う)。ストリーミング配信では、順次、自動機能追加更新ファイルとそれに対応するプロファイル情報、そして各々の機能更新ファイルとそれらに対応するプロファイル情報を、(このようなアプリケーション形式から)所定のフォーマットのストリームに変換して、要求元のクライアント2に送信していく。
【0031】
図3に、このコンピュータプログラムのストリームのフォーマットの一例を示す。
【0032】
このストリーム例では、プログラムの核となる自動機能追加更新ファイルを先頭とし、これに個々の機能更新ファイルが後続する構成になっている。また、該ストリームにおいて、自動機能追加更新ファイル及び各機能更新ファイルのそれぞれの前に、それぞれに対応するプロファイル情報を配置する構成になっている。すなわち、図3において、P0が自動機能追加更新ファイルに対応するプロファイル情報、P1,P2,P3…が各機能更新ファイルに対応するプロファイル情報を表している。なお、本発明は、実装上のストリーム形式(フォーマット)がどのようなものであっても適用可能である。例えば、MPEG4などを用いることも可能である。
【0033】
なお、1つのストリームにおいて機能更新ファイルが複数ある場合に、各機能更新ファイルの配信の順序(ストリームにおける配置順)は、予め定めておくようにしてもよい(例えば、各機能更新ファイルを、その配信順に従って格納しておく、あるいは各機能更新ファイルの名称にその配信順を示す数字あるいは文字を含ませる、あるいは各機能更新ファイルとその配信順との関係を示すテーブルを保持しておく、など)。
【0034】
次に、クライアント2は、図2に示されるように、送受信処理部21、機能更新ファイル格納部22、プロファイル情報格納部23を備えている。なお、機能更新ファイル格納部22とプロファイル情報格納部23は、同じ物理デバイス上に存在していても、違う物理デバイス上に存在していてもよい。
【0035】
クライアント2では、サーバ1からストリーミングによって配信されたソフトウェアについて、機能更新ファイル格納部22にて、自動機能追加更新ファイルおよび各機能更新ファイルを格納するとともに、プロファイル情報格納部23にて、自動機能追加更新ファイルおよび各機能更新ファイルに対応するプロファイル情報を格納する。
【0036】
送受信処理部21は、ユーザからの所望のソフトウェアに対する要求(例えば、所望のソフトウェアの配信要求、所望のソフトウェアの起動要求など)に基づいて、サーバ1(側の送受信処理部11)に該ソフトウェアのストリーミング要求を送信する(なお、予め定められたソフトウェアのみを配信するサーバについてはソフトウェアの選択あるいは指定はされない)。また、送受信処理部21は、サーバ1側から送られてきた該ソフトウェアについてのストリームを受信し、順次、このストリームを元のアプリケーション形式に戻して、自動機能追加更新ファイル及び対応するプロファイル情報、そして個々の機能更新ファイル及び対応するプロファイル情報として、機能更新ファイル格納部22及びプロファイル情報格納部23に保存していく。さらに、送受信処理部21は、当該ストリームにおいて最初に受信され格納される自動機能追加更新ファイル(自動機能追加更新部のプログラム)を、自計算機においてプロセスとして(すなわち、自動機能追加更新部24として)起動する。ここで、プロセスは、コンピュータシステムにおける基本実行単位である(例えば、多くの場合、1つのコンピュータプログラムは、1つのプロセスとして、コンピュータシステムのメインメモリ上にロードされて実行される)。
【0037】
起動された自動機能追加更新部24は、所定のタイミングで(例えば、常時連続的に、あるいは一定期間毎に)プロファイル情報格納部23を参照し、新規のプロファイル情報があれば、該プロファイル情報基づいて、該当する機能更新ファイルを自プロセスにロードして機能部を追加又は更新するとともに、関連する他の機能部があれば通知を行うなどすることによって、コンピュータプログラムを停止させることなく、コンピュータプログラムの機能を追加又は更新を行うものである。ここで、コンピュータプログラムの停止とは、プロセスが終了すること(つまりメインメモリ上から消えること)を意味し、したがって、コンピュータプログラムを停止させることなく機能を追加又は更新するとは、プロセスを終了させることなく機能を追加又は更新することを意味する。
【0038】
なお、機能更新ファイルを複数持つストリームの場合であって、かつ、複数の機能更新ファイルの処理順が任意である場合に、クライアント2の自動機能追加更新部24は、ストリームの受信中において、例えば、受信され格納された機能更新ファイルから順番に(未処理の機能更新ファイルが複数格納されてるときはランダムにあるいは受信順に選択して)処理するようにしてもよい。
【0039】
また、1つのストリームにおいて機能更新ファイルが複数ある場合に、クライアント2における各機能更新ファイルの処理順を予め定め、その順番をサーバ1からクライアント2へ指定し、クライアント2の自動機能追加更新部24は、ストリームの受信中において、該サーバ1から指定される順番に従って、各機能更新ファイルを処理するようにしてもよい(例えば、サーバ1が各機能更新ファイルをその処理順に送信し、各機能更新ファイルを受信した順番を保持しておき、その受信順に従って処理する、あるいは各機能更新ファイルの名称にその処理順を示す数字あるいは文字が含れている場合に、その処理順に従って処理する、あるいはサーバ1からクライアント2へ各機能更新ファイルとその処理順との関係を示すテーブルを送信し、このテーブルに従って処理する、など)。
【0040】
ここで、図4に、ソフトウェアとしてワードプロセッサーを例にとった場合におけるストリーム構成の一例を示す(図4ではプロファイル情報を省略している)。図4の例では、自動機能追加更新ファイルに続いて、機能更新ファイル(1)として、文字入力機能部等の基本的な機能部群を含む基本システムを配信し、次に、機能更新ファイル(2)として、文字レイアウト調整機能部を配信し、次に、機能更新ファイル(3)として、図形描画機能部を配信し、次に、機能更新ファイル(4)として、印刷機能部を配信する。
【0041】
また、図5に示すように、自動機能追加更新ファイルに機能更新ファイルを含ませる構成も可能である。
【0042】
なお、自動機能追加更新ファイルをストリームにおける最初の順番ではなく若干後の順番で配信することも可能である(自動機能追加更新ファイルより前に配信される機能更新ファイルは、自動機能追加更新ファイルが配信され、自動機能追加更新プロセスが起動されてから、利用されることになる)。
【0043】
また、図6に、プロファイル情報のフォーマットの一例を示す。
【0044】
この例では、プロファイル情報は、少なくとも、対象とするアプリケーションの名称、当該プロファイル情報が表す機能更新ファイルの名称、追加される機能部の名称、追加される機能部に関連する他の機能部の名称、更新される機能部の名称、更新される機能部に関連する他の機能部の名称、当該プロファイル情報が(サーバの)プロファイル情報格納部に保存された日時、後に続くファイル(自動機能追加更新ファイルまたは機能更新ファイル)のサイズの項目を持ち、それらのうち必要な情報が記述される。
【0045】
図6は、ソフトウェアとしてワードプロセッサーを例にとった場合における機能を追加する機能更新ファイルに対応するプロファイル情報の一例を示している。この例では、アプリケーションの名称として「ワードプロセッサー○○○ver.1」、機能更新ファイルの名称として「機能追加ファイル1」、追加される機能部の名称として「印刷機能部」、追加される機能部に関連する他の機能部の名称として「メニュー機能部」および「ファイル出力部」、保存された日時として「2000/03/09 22:53」、ファイルのサイズとして「300byte」が記述されている。
【0046】
また、図7に、ソフトウェアとしてワードプロセッサーを例にとった場合における自動機能追加更新ファイルに対応するプロファイル情報の一例を示す。
【0047】
また、図8に、ソフトウェアとしてワードプロセッサーを例にとった場合における機能を更新する機能更新ファイルに対応するプロファイル情報の一例を示している。
【0048】
次に、本実施形態の動作について説明する。
【0049】
図9に、本実施形態に係るネットワークシステムの基本的なシーケンスの一例を示す。
【0050】
図10、サーバ1の送受信処理部11の処理手順の一例を示す。
【0051】
図11、クライアント2の送受信処理部21の処理手順の一例を示す。
【0052】
まず、ユーザは、クライアント2に、例えば所望のソフトウェアのストリーミング配信の指示あるいはソフトウェアの起動の指示など、サーバ1へストリーミング要求を送信する契機となる所定の入力を行う(その際、必要に応じて、サーバやソフトウェアを指定する)。例えば、所望のサーバ2から転送され表示された、ソフトウェアのリストを含むWebページ画面上で、所望のソフトウェアを選択する。
【0053】
このようなユーザからの要求を契機として(S21)、クライアント2は、サーバ1にストリーミング要求を送信する(S1)(S22)。このときの様子を図12に示す。
【0054】
サーバ1の送受信処理部11は、クライアント2からストリーミング要求を受けると(S11)、指定のアプリケーションを、所定のフォーマット(図3参照)のストリームに変換し、クライアント2へ配信する手続きを開始する。
【0055】
まず、プロファイル格納部13から、自動機能追加更新ファイルに対応するプロファイル情報(0)を読み込み(S12)、機能更新ファイル格納部12から自動機能追加更新ファイルを読み込み(S13)、それらプロファイル情報(0)と自動機能追加更新ファイルをストリームとして要求元のクライアント2へ送信する(S2)(S14)。
【0056】
一方、クライアント2の送受信処理部21は、受信したストリームのうち、プロファイル情報を受け取った時点を一区切りとして、元のアプリケーション形式に戻し、機能更新ファイル格納部22とプロファイル格納部23に保存していく手続きを開始する。
【0057】
サーバ2からの配信が開始されると、まず、そのストリームにより自動機能追加更新ファイルに対応するプロファイル情報(0)の部分を受信し(S2)(S23)、次いで、該プロファイル情報(0)で指定されたバイト数まで、ストリームを自動機能追加更新ファイルとして受信する(S2)(S24)。そして、受信したプロファイル情報(0)と自動機能追加更新ファイルをそれぞれプロファイル格納部23と機能更新ファイル格納部22に格納する(S25)。
【0058】
そして、クライアント2の送受信処理部21は、ストリームの先頭部分の自動機能追加更新ファイルを保存した時点で(S26)、自動機能追加更新部24をプロセスとして起動する(S3)(S27)。このときの様子を図13に示す。
【0059】
起動された自動機能追加更新部24は、プロファイル情報を参照しながら、順次、機能の追加又は更新を行っていく手続きを開始する。
【0060】
続いて、サーバ1の送受信処理部11は、プロファイル格納部13から、機能更新ファイル(1)に対応するプロファイル情報(1)を読み込み(S12)、機能更新ファイル格納部12から機能更新ファイル(1)を読み込み(S13)、それらプロファイル情報(1)と機能更新ファイル(1)をストリームとして要求元のクライアント2へ送信する(S4)(S14)。
【0061】
クライアント2は、そのストリームにより機能更新ファイル(1)に対応するプロファイル情報(1)の部分を受信し(S2)(S23)、次いで、該プロファイル情報(1)で指定されたバイト数まで、ストリームを機能更新ファイル(1)として受信する(S4)(S24)。そして、受信したプロファイル情報(1)と機能更新ファイル(1)をそれぞれプロファイル格納部23と機能更新ファイル格納部22に格納する(S25)。
【0062】
すると、クライアント2上で動作する自動機能追加更新部24は、プロファイル情報(1)を参照して、機能更新ファイル(1)により機能の追加又は更新のための処理を行う(S5)。このときの様子を図14に示す。
【0063】
以降、ストリームの最後尾に位置すべき機能更新ファイルについての処理が完了するまで、同様にして、機能更新ファイル(2)、機能更新ファイル(3)、…の配信が行われ、機能の追加又は更新が行われていく(S6,S7,S8,S9)。
【0064】
次に、図15に、クライアント2上で起動された自動機能追加更新部24の処理手順の一例を示す。
【0065】
クライアント2上で起動された自動機能追加更新部24は、プロファイル格納部23を参照し(S31)、新しいプロファイル情報(未処理のプロファイル情報)があれば(S32)、プロファイル格納部23から該当するプロファイル情報を1つ取り出す(S33)。
【0066】
次に、自動機能追加更新部(自動機能追加更新プロセス)24は、該プロファイル情報に記述されているファイル名に該当する機能更新ファイルを機能更新ファイル格納部22から取り出し(S34)、該機能更新ファイルに所定の機能部を自プロセス上にロードして、当該機能部を新たに動作可能とする(S35)。なお、前述したように、個々の機能部は例えばコンポーネントウェアなどとして実装されている。
【0067】
次に、自動機能追加更新部24は、自身で保持するロード済み機能部管理テーブル(自プロセスにロードした機能部の情報を保持するテーブル)を参照し、同じ名称の機能部が既にロードされていたならば、機能の更新とみなして、同じ名称の古い機能部をアンロードする(S36)。
【0068】
次に、自動機能追加更新部24は、ロード済み機能部管理テーブルを参照し、自プロセスにロードした該新たな機能部に関連する他の機能部(他の機能部の情報は、プロファイル情報に記述されている)のうちロード済みのものに、該新たな機能部が動作可能となった旨を通知する(S37)。
【0069】
次に、自動機能追加更新部24は、自プロセスにロードした該新たな機能部の情報を、ロード済み機能部管理テーブルに追加する(S38)。
【0070】
以降、ストリームの最後尾に位置すべき機能更新ファイルについての処理が完了するまで、同様の処理が繰り返し行われる。
【0071】
一方、上記のS37で通知を受けた他の機能部は、新たに追加された機能部に関連する機能を有効にする。例えば、メニュー機能部は、印刷機能部が追加された時点で、メニュー上の「印刷」項目がマウスによって選択できるようにするとともに、ユーザにわかるように表示形態を変更する。
【0072】
なお、自動機能追加更新部24は、所定のタイミングでプロファイル情報格納部23をチェックし、新しいプロファイル情報(未処理のプロファイル情報)があれば、機能の追加又は更新を行ったが、その代わりに、送受信処理部21が新しいプロファイル情報を取得した旨を自動機能追加更新部24に通知し、自動機能追加更新部24は、この通知に従って、機能の追加又は更新を行うようにしてもよい。
【0073】
また、自動機能追加更新部(自動機能追加更新プロセス)24は、例えば、ユーザの明示的な終了指示の入力(例えば、通常のアプリケーションを終了させるのと同じ方法による終了指示入力)に従って、終了するようにすればよい。また、ユーザの要求により、アプリケーション自体は終了しないが、新たに受信したプロファイル情報/機能更新ファイルは格納のみ行いそれらを処理しないようすることを可能にしてもよい。
【0074】
また、ストリームの終了の判断については、これを特に行わずに自動機能追加更新部24の動作中は(たとえストリームが一応終了したとしても)プロファイル情報/機能更新ファイルの受信/保存をチェックを続けるようにしてもよいが、ストリームの終了の判断を行い、ストリームが終了したと判断された場合には、以降は、例えば、送受信処理部21からプロファイル情報/機能更新ファイルの受信を通知されたときに新たに到着したプロファイル情報/機能更新ファイルを処理するようにしてもよいし、あるいは、例えば、ユーザあるいは他のプロセスから要求があるまで新たにプロファイル情報/機能更新ファイルを処理しないようにしてもよい。ストリームの終了の判断としては、例えば、ストリームの最後でサーバ1からクライアント2へストリームが終了する旨の情報を転送する方法、ストリームの最初に送信する更新ファイルの数を示す情報を転送する方法、最後にプロファイル情報/機能更新ファイルを受信してから予め定められた期間経過しても新たなプロファイル情報/機能更新ファイルを受信しないときにストリームが終了したと判断する方法など、種々の方法がある。
【0075】
また、送受信処理部21についても、例えば、自動機能追加更新部(自動機能追加更新プロセス)24が終了したときに、あるいはストリームが終了したと判断されたときに、あるいはユーザから要求されたときに、受信を終了するようにしてもよい。
【0076】
なお、上記では、ユーザからの要求を契機としたが、例えば、起動中のあるプロセスが、所定のソフトウェア(コンピュータプログラム)のストリーミング配信の要求あるいは所定のソフトウェアの起動の要求などを出したときに、クライアント2から該当するサーバ1へ所定のソフトウェアのストリーミング要求を送信するようにすることも可能である。もちろん、ユーザからの要求を契機とすることと、起動中のプロセスからの要求を契機とすることとを併せて実施することも可能である。
【0077】
また、上記では、ある複数の機能更新ファイルを持つソフトウェアについてストリーミング要求された場合に、そのソフトウェアについての全ての機能更新ファイルを配信するものとしたが、例えば条件や指定内容などに応じて、一部の機能更新ファイルのみを配信対象とする(あるいは、一部の機能更新ファイルについては配信対象から除外する)ことを可能にしてもよい。例えば、あるソフトウェアについて幾つかのオプションを設定しておき(例えば、あるオプションが指定されたときに、どの機能更新ファイル群を配信するかを決定しておき)、例えばユーザが任意にあるいはクライアントマシンが自計算機の性能あるいは装備を考慮するなどして、該ソフトウェアについてオプションを選択し、クライアント2からサーバ1へ該ソフトウェアのストリーミング要求を送信する際に該オプションを指定し、サーバ1は、要求されたソフトウェアについて指定されたオプションに対応する機能更新ファイルを送信するようにしてもよい。例えば、クライアントからサーバへオプション指定がなかった場合にサーバからクライアントへ配信する機能更新部のセット(ミニマム・セット)を設定しておき、ユーザがある機能部…例えば、描画機能部…を必要とする場合に、ユーザが描画オプションを選択し、クライアントからサーバへ描画オプションを指定し、サーバでは描画オプションが指定された場合にのみ、該当する機能更新部を(適当なストリーム位置で)さらに送信するようにしてもよい(あるいは、逆に、ユーザが描画機能部を必要としない場合に、ユーザが描画オプションを選択し、クライアントからサーバへ描画オプションを指定し、サーバでは描画オプションが指定された場合にのみ、該当する機能更新部を送信しないようにしてもよい)。
【0078】
ところで、上記では、S37において、自動機能追加更新部24がロード済み機能部管理テーブルを参照した際に、自プロセスにロードした該新たな機能部に関連する他の機能部(該新たな機能部が動作可能になった旨を通知すべき通知先となる1又は複数の機能部)のうちロード済みでないものは存在しないことを想定した(例えば、予め定められた順番に機能更新ファイルを実行すれば、通知先の機能部は必ず先行してロード済みになるように、ストリームが構成されているケースなど)。
【0079】
ただし、例えば、予め定められた順番に機能更新ファイルを実行すれば、通知先の機能部は必ず先行してロード済みになるように、ストリームが構成されているようになっていても、通信プロトコルの仕様によって、伝送エラー等のためのある機能更新ファイルの再送が、それよりストリームにおいて後に位置する機能更新ファイルの転送の後になる可能性がある場合、あるいは伝送エラー等がなくても機能更新ファイルのサーバでの送信順とクライアントでの受信順が前後する可能性がある場合などには、ある機能部についての通知先となる他の機能部がロード済みでない状態が発生し得る。また、例えば、通信プロトコルの仕様にかかわらず、ある機能部a(その追加用の機能更新ファイルをAとする)がある機能部b(その追加用の機能更新ファイルをBとする)を通知先とし、逆に、機能部bが機能部aを通知先とするような場合には、どのような順番で機能更新ファイル(A,B)を処理しても、通知先の機能部がロード済みでない状態が発生する。そこで、このような場合に対応するための幾つかの方法が考えられる。
【0080】
例えば、通知先の機能部がロード済みでない場合には、該通知先の機能部の情報を保持しておき、該通知先の機能部がロード済みになったときに、該通知先の機能部に必要な通知を行うようにしてもよい。
【0081】
また、例えば、処理対象となった機能更新ファイルについての通知先の機能部が全てロード済みか否かチェックし、通知先の機能部が全てロード済みではない場合には、該ある機能更新ファイルの処理を1回(あるいは複数回)延期して、他の処理可能な機能更新ファイルを先に処理し、その後に、あらためて、該延期した機能更新ファイルについての通知先の機能部が全てロード済みか否かチェックし…(以下、同様の処理)、という方法もある。あるいは、例えば、ある機能更新ファイルについての通知先の機能部が全てロード済みになるまで、該ある機能更新ファイルの処理を保留し、該通知先の機能部が全てロード済みになったときに、該ある機能更新ファイルを処理するという方法もある。なお、これらの場合には、複数の機能更新ファイルが互いに相手が起動した後でないと起動できないようなデッドロックの状態が発生しないことを必ずしも保証しないで実施するケースでは、そのような状態を検出し(例えば、プロファイル情報を参照して検出し、あるいはサーバからクライアントにデッドロックになる機能更新ファイルの情報を通知し)、これを回避する(例えば、一方を先に起動する)必要がある。
【0082】
他の方法としては、例えば、各機能更新ファイルに対応するプロファイル情報に、該機能更新ファイルで追加又は更新する当該機能部の通知先となる他の機能部の情報と、該機能更新ファイルで追加又は更新する当該機能部を通知先とする他の機能部の情報とを記述しておき、各機能部がロードされた際に、自身の通知先に通知を行うとともに、自身を通知先とする他の機能部が起動されているか否かをロード済み機能部管理テーブルをチェックして、該他の機能部が動作可能になったことを知るようにする方法もある。
【0083】
なお、これまでは、通知の内容として、当該機能部が動作可能になった旨を扱ったが、例えば、同じ名称の機能部でもその機能のグレード等が異なるものが複数ある場合に、いずれのグレード等のものが組み込まれたかなどの他の情報も必要に応じて通知するようにしてもよい。
【0084】
以下では、ワープロ・アプリケーションをストリーミング配信することで、ダウンロード開始当初からワープロ・アプリケーションが起動され、また、その実行中に逐次的に機能が追加又は更新されていく場合を例にとって説明する。
【0085】
なお、この場合のストリームの構成は、例えば、図4のようになっているものとする。
【0086】
まず、(クライアント2の)ユーザは、例えば、所望のサーバから所望のワープロアプリケーションを選択し、ストリーミングを要求する(あるいは、例えば、所望のワープロアプリケーションの起動を指示し、クライアント2は、クライアント2へのストリーミングが必要と判断する)。そして、クライアント2からサーバ1へストリーミング要求を送信し、サーバ1からクライアント2へストリーミング配信を行い、クライアント2はストリームを受信しながら、起動したアプリケーションに機能部を次々と組み込むなどしていく。
【0087】
従来のインターネットにおけるソフトウェアのダウンロードでは、そのファイルの全ての部分がダウンロードされるまで、ワープロ・アプリケーションを使用(起動)することはできない。したがって、アプリケーションが大きなものであれば、ユーザはかなり時間を待たされることになる(また、なんらかの理由で通信が途中で切れてしまった場合には、ダウンロードを初めからやり直さなくてはならない)。
【0088】
しかし、本実施形態のストーミングによるアプリケーションの配信では、図16に示すように、ワープロ・アプリケーションの自動機能追加更新ファイルとワープロとしての最小限の役割を提供する機能更新ファイルがクライアント2に到着し、自動機能追加更新部(自動機能追加更新プロセス)24が起動され、該ワープロとしての最小限の役割を提供する機能更新ファイルが自動機能追加更新プロセス24にロードされた時点から、ワープロ・アプリケーションが最小限の機能で起動されたことになって、ユーザは最小限の機能でワープロ・アプリケーション使用することができるようになる(また、なんらかの理由で通信が途中で切れてしまっても、その途中からダウンロードをやり直せばよいようになる)。ここで、ワープロとしての最小限の役割を提供する機能は、例えば、白いウィンドウが開き、文字の入力が可能になる、などのシンプルな機能である。
【0089】
図17に、ワープロ・アプリケーションが最小限の機能で起動されたときの画面の様子を示す。このときに、メニューバーの項目「レイアウト調整」は、まだ、選択できないようになっている。また、例えば、図18のように、メニューバーの項目「ファイル」を選択したときに表示されるプルダウンメニューにおいて、項目「新規作成」と項目「保存」は選択できるが、項目「印刷」は選択できないようになっている。
【0090】
そして、図19に示すように、ユーザが文字入力をしている間にも、図20に示すように、次々と機能を追加又は更新するファイルがストリーミングによって配信され、それが自動機能追加更新プロセス24にロードされるとともに、それに関連する他の機能への通知が行われ、その都度ワープロとしての機能が向上していく。
【0091】
例えば、適当なタイミングで、文書のレイアウトを調整する機能が追加され、図21に示すように、メニューバーの項目「レイアウト調整」が選択できるように変更される。
【0092】
また、例えば、適当なタイミングで、プリンタに印刷する機能が追加され、図22に示すように、メニューバーの項目「ファイル」を選択したときに表示されるプルダウンメニューにおいて、項目「印刷」が選択できるように変更される。
【0093】
その他、図を書く機能等、種々の機能が順次追加されていく。
【0094】
このように、例えば、ワープロ・アプリケーションが起動された当初は、文字を入力するなどの簡単な機能だけであったのが、ユーザが必要な文書を入力し終えた頃には、印刷する機能が可能となり、ユーザはプリンタに印刷することができるようになる、という使い方ができる。
【0095】
また、図23に示すように、必要に応じて、同じ機能を古いものから新しいものへ入れ替えることも可能になる。この更新の機構は、ソフトウェアのバージョンアップに使用できるが、それだけでなく、例えば、1つのワープロ・アプリケーションのストリームで、ある機能部についてストリームの前の部分で簡易な機能を配信しておき、後の部分で同じ機能部についてより高度な機能に入れ替えるという使い方もできるようになる。
【0096】
以下では、幾つかのバリエーションについて説明する。
【0097】
これまでの説明では、サーバ1からクライアント2へ自動機能追加更新ファイルを送信したが、例えば、図24のシーケンス例に示すように、クライアント2側で1又は複数の特定のソフトウェアに固有の自動機能追加更新プログラムあるいは全ソフトウェアに共通の自動機能追加更新プログラムを保持しておき、サーバ1からクライアント2へ、自動機能追加更新ファイルを配信する代わりに、自動機能追加更新プロセスを起動させるための自動機能追加更新プロセス起動コマンドを送信するようにしてもよい。
【0098】
また、例えば、図25のシーケンス例に示すように、クライアント2側で1又は複数の特定のソフトウェアに固有の自動機能追加更新プログラムあるいは全ソフトウェアに共通の自動機能追加更新プログラムを保持しておき、クライアント2は、ユーザから要求を受けたときなどに該自動機能追加更新プログラムをプロセスとして起動してからサーバ1へストリーミング要求を送信し(あるいは、サーバ1へストリーミング要求を送信した直後に該自動機能追加更新プログラムをプロセスとして起動し)、サーバ1からクライアント2へは、自動機能追加更新ファイルあるいは自動機能追加更新プロセス起動コマンドの送信を行わずに、ストリームの最初から機能更新ファイルを配信するようにしてもよい。
【0099】
ところで、これまでは、主にアプリケーションのストリームが連続して送られてくる場合について説明したが、アプリケーションがバージョンアップするときに、バージョンアップのための機能更新ファイル(群)からなるストリームの配信を行う場合に本発明を適用することも同様に可能である。この場合も、ユーザは使用しているアプリケーションを停止することなく使い続けたままアプリケーションのアップグレードが可能である。
【0100】
例えば、図26のシーケンス例に示すように、自動機能追加更新プロセスによって起動されたソフトウェアの実行中に、さらに、例えばユーザの要求に応じるなどして該ソフトウェアのバージョンアップのためのストリーミング要求をサーバ1へ送信し、サーバ1からクライアント2へ、バージョンアップのための機能更新ファイルを送信し、クライアント2において、該ソフトウェアを該機能更新ファイルでバージョンアップするようにすることも可能である。
【0101】
あるいは、クライアント2がユーザの要求に応じて又は定期的に若しくは何らかの条件が成立したときにあるソフトウェアのバージョンアップのためのストリーミング要求をサーバ1へ送信するような場合に、該ソフトウェアが自動機能追加更新プロセスによって起動されて実行中であっても、同様にして、バージョンアップのための機能更新ファイルをダウンロードして、該ソフトウェアをバージョンアップすることが可能になる(なお、該ソフトウェアが実行中でなければ、例えば、バージョンアップのための機能更新ファイルをダウンロードして、格納しておけばよい)。
【0102】
また、サーバ1が必要時にソフトウェアのバージョンアップのためのストリームをクライアント2へプッシュする場合に、該ソフトウェアが自動機能追加更新プロセスによって起動されて実行中であっても、同様にして、バージョンアップのための機能更新ファイルをダウンロードして、該ソフトウェアをバージョンアップすることが可能になる(なお、該ソフトウェアが実行中でなければ、例えば、バージョンアップのための機能更新ファイルをダウンロードして、格納しておけばよい)。
【0103】
さて、ストリーミング配信によるソフトウェアの利用を行った後においては、配信された自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報をクライアント2上からは削除し、次に同じソフトウェアを利用する際にはあらためてストリーミング配信を受けるようにするような形態で実施することも可能であるが、そのようにするのではなく、配信された自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報をクライアント2内に保存しておき、その後に、ユーザはそのソフトウェアを使用したいときに、そのソフトウェアが保存されていれば、そのソフトウェアの起動を指示し、クライアント2は、ユーザから該ソフトウェアに対する要求を受けた場合には、サーバ1へ要求を出さずに、クライアント2内に存在する自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報を使って、該ソフトウェアを起動できるようにすることも可能である。すなわち、図27に示すように、ストリーミング配信のときと同様に、まず、自動機能追加更新プロセスを起動し、以降、自動機能追加更新プロセスがプロファイル情報を参照しながら機能更新ファイルに所定の機能部を追加又は更新していく。なお、ユーザが自動機能追加更新プロセスを起動する方法については、例えば、自動機能追加更新ファイルを、アプリケーションのアイコンとして表示し、このアイコンをユーザがマウスでダブルクリックなどすることによって、起動するようにする方法をとれば、ユーザは通常のアプリケーションとストリーミングによるアプリケーションとの区別を特に意識せずに起動させることができる。
【0104】
また、初期バージョンの機能更新ファイルおよびバージョンアップするごとに配信される機能更新ファイルを、そのバージョンを示す情報を対応付けて格納しておき、ユーザがバージョンを指定できるようにしてもよい。この場合、指定されたバージョンに対応する機能更新ファイルを使用すればよい。また、ユーザがバージョンを指定しなかった場合には、最新バージョンで起動し、ユーザがバージョンを指定した場合には、指定されたバージョンで起動するような方法も可能である。
【0105】
また、例えば、配信された自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報をクライアント2内に保存しておき、その後に、ユーザはそのソフトウェアを使用したいときに、そのソフトウェアが保存されているか否かを考慮せずに、そのソフトウェアの配信(あるいは起動)を指示し、クライアント2は、ユーザから該ソフトウェアに対する要求を受けた場合には、そのソフトウェアが保存されているか否か調べ、保存されていれば、サーバ1へ要求を出さずに、保存されている自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報を使って、該ソフトウェアを起動できるようにすることも可能である。すなわち、この場合には、サーバ1に対するキャッシュとして機能する(アプリケーションの全機能が短時間で起動することになる)。
【0106】
なお、例えば図28に示すように、イントラネット100内にプロキシサーバ(あるいはキャッシュサーバ等)101が存在するような構成において、本発明は、該プロキシサーバ101にも適用可能である。すなわち、プロキシサーバ101は、サーバ1からのソフトウェアのストリーミング配信が行われた際に、配信された自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報を保存しておき、その後にイントラネット100内のクライアント2からストリーミング要求があった際に、指定されたプログラムについての自動機能追加更新ファイルと1又は複数の機能更新ファイルとそれらに対応するプロファイル情報が自プロキシ内に保存されていれば、自プロキシから要求元のクライアント2へストリーミング配信を行い、自プロキシ内に保存されていなければ、該当するサーバ2へ指定のソフトウェアについてのストリーミング要求を転送するようにしてもよい。
【0107】
また、本発明は、暗号化されたコンピュータプログラムの配信にも適用可能である。この場合には、転送時に、自動機能追加更新ファイル及び各機能更新ファイルを暗号化し、プロファイル情報は暗号化しない方法や、自動機能追加更新ファイル及び各機能更新ファイルに加えて、プロファイル情報の全部又は一部を暗号化する方法などがある。この場合、クライアント2は、自動機能追加更新ファイルや各機能更新ファイルなどを復号した後に、処理すればよい。
【0108】
また、本発明は、通常のコンピュータプログラムだけでなく、移動エージェントのプログラムにも適用可能である。この場合、移動エージェントを本実施形態のようなストリーミングによって移動させれば、移動エージェントの全プログラムの転送が完了する前に、移動エージェントが処理を開始することができる。
【0109】
なお、以上では、ソフトウェアあるいはバージョンアップ用のファイルをネットワークを介して配信する場合について説明したが、本発明は、CD−ROM等のリムーバブル記録媒体からソフトウェアあるいはそのバージョンアップ用のファイルを読み込んで起動する場合にも適用可能である。この場合には、送受信処理部21(あるいは、これと同様の機能を持つ処理部)が、CD−ROM等のリムーバブル記録媒体から、ソフトウェアを構成する自動機能追加更新ファイルと各機能更新ファイルと各プロファイル情報、あるいはバージョンアップのための各機能更新ファイルと各プロファイル情報を、読み込めばよい。
【0110】
なお、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0111】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0112】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0113】
【発明の効果】
本発明によれば、コンピュータプログラムの動作中にその機能部を配信しこれに自動的に追加又は更新することができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るネットワークシステムの構成例を示す図
【図2】同実施形態に係るサーバ・システムの構成例及びクライアント・システムの構成例を示す図
【図3】同実施形態に係るコンピュータプログラムのストリームのフォーマットの一例を示す図
【図4】同実施形態に係るコンピュータプログラムのストリームの一構成例を示す図
【図5】同実施形態に係るコンピュータプログラムのストリームの他の構成例を示す図
【図6】同実施形態に係るプロファイル情報のフォーマットの一例を示す図
【図7】同実施形態に係るプロファイル情報のフォーマットの一例を示す図
【図8】同実施形態に係るプロファイル情報のフォーマットの一例を示す図
【図9】同実施形態に係るネットワークシステムの基本的なシーケンスの一例を示す図
【図10】同実施形態に係るサーバ・システムの送受信処理部の処理手順の一例を示すフローチャート
【図11】同実施形態に係るクライアント・システムの送受信処理部の処理手順の一例を示すフローチャート
【図12】同実施形態の動作及び情報の流れについて説明するための図
【図13】同実施形態の動作及び情報の流れについて説明するための図
【図14】同実施形態の動作及び情報の流れについて説明するための図
【図15】同実施形態に係るクライアント・システム上で起動された自動機能追加更新部(自動機能追加更新プロセス)の処理手順の一例を示すフローチャート
【図16】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)の最初の機能更新ファイルによるコンピュータプログラムの起動について説明するための図
【図17】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)により起動されたコンピュータプログラムの表示画面例を示す図
【図18】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)により起動されたコンピュータプログラムのメニュー画面例を示す図
【図19】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)により起動されたコンピュータプログラムの表示画面例を示す図
【図20】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)の機能更新ファイルによる機能部の追加について説明するための図
【図21】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)により起動されたコンピュータプログラムの表示画面例を示す図
【図22】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)により起動されたコンピュータプログラムのメニュー画面例を示す図
【図23】同実施形態に係る自動機能追加更新部(自動機能追加更新プロセス)の機能更新ファイルによる機能部の更新について説明するための図
【図24】同実施形態に係るネットワークシステムの基本的なシーケンスの他の例を示す図
【図25】同実施形態に係るネットワークシステムの基本的なシーケンスのさらに他の例を示す図
【図26】同実施形態に係るネットワークシステムの基本的なシーケンスの他の例を示す図
【図27】同実施形態に係るネットワークシステムの基本的なシーケンスの他の例を示す図
【図28】同実施形態に係るネットワークシステムの他の構成例を示す図
【符号の説明】
1…サーバ・システム
2…クライアント・システム
3…ネットワーク
11,21…送受信処理部
12,22…機能更新ファイル格納部
13,23…プロファイル情報格納部
24…自動機能追加更新部
Claims (39)
- 所定のネットワークを介して通信可能なクライアント・システム及びサーバ・システムにおけるソフトウェアストリーミング方法であって、
前記サーバ・システムは、ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶し、
前記クライアント・システムは、前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信し、
前記ストリーミング要求を受信した前記サーバ・システムは、前記第1のファイルを、前記クライアント・システムへ配信し、
前記第1のファイルを受信した前記クライアント・システムは、受信した該第1のファイルを所定のプロセスとして起動し、
前記サーバ・システムは、前記ストリーミング要求の受信に応答して行った前記第1のファイルの配信に続いて、対応する前記プロファイル情報及び前記第2のファイルからなる組を、1組ずつ連続して前記クライアント・システムへ配信し、
前記クライアント・システムでは、前記サーバ・システムから、前記第1のファイルに続いて配信される、対応する前記プロファイル情報及び前記第2のファイルからなる組を、1組ずつ連続して受信するとともに、起動された前記所定のプロセスは、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とするソフトウェアストリーミング方法。 - 前記通知を受けた前記他の機能部は、動作可能になった前記機能部に関連する機能を有効にすることを特徴とする請求項1に記載のソフトウェアストリーミング方法。
- 所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムであって、
ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための記憶手段と、
前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するための受信手段と、
前記ストリーミング要求を受信したことを契機として、前記第1のファイル並びに所定組数の対応する前記プロファイル情報及び前記第2のファイルからなる組をストリームとして前記クライアント・システムへ配信するための配信手段とを備え、
前記第1のファイルは前記クライアント・システムにて所定のプロセスとして起動させるためのものであり、
前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とするサーバ・システム。 - 所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムであって、
ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを起動させる命令を含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための記憶手段と、
前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するための受信手段と、
前記ストリーミング要求を受信したことを契機として、前記第1のファイル並びに所定組数の対応する前記プロファイル情報及び前記第2のファイルからなる組をストリームとして前記クライアント・システムへ配信するための配信手段とを備え、
前記第1のファイルは前記クライアント・システムに存在する前記所定のプログラムを所定のプロセスとして起動させるためのものであり、
前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とするサーバ・システム。 - 前記配信手段は、前記ストリーミング要求を受信したことを契機として、前記第1のファイルを配信し、次いで、対応する前記プロファイル情報及び前記第2のファイルからなる組を、プロファイル情報、第2のファイルの順で、1組ずつ連続して前記クライアント・システムへ配信することを特徴とする請求項3または4に記載のサーバ・システム。
- 前記配信手段は、前記第1のファイルを配信するにあたって、それに先行して該第1のファイルに関する情報を配信することを特徴とする請求項3ないし5のいずれか1項に記載のサーバ・システム。
- 所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムであって、
ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための記憶手段と、
前記ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムが所定のプロセスとして起動された前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するための受信手段と、
前記ストリーミング要求を受信したことを契機として、対応する前記プロファイル情報及び前記第2のファイルからなる組をストリームとして前記クライアント・システムへ配信するための配信手段とを備え、
前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロフ ァイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とするサーバ・システム。 - 前記配信手段は、前記ソフトウェアについて最初に配信する前記第2のファイルとして、該ソフトウェアの基本的な機能を実現するための機能部を含む前記第2のファイルを配信することを特徴とする請求項3ないし7のいずれか1項に記載のサーバ・システム。
- 前記配信手段は、前記ソフトウェアの基本的な機能を実現するための機能部を含む前記第2のファイルを配信した以降は、該ソフトウェアに新規に追加すべき機能部又は既に配信した機能部と同一の識別情報及び異なる機能を持つ機能部であって該既に配信した機能部と入れ替えるためのものを含む前記第2のファイルを順次配信することを特徴とする請求項8に記載のサーバ・システム。
- 前記配信手段は、前記クライアント・システムにおいて前記第2のファイルをロードすべき順番と同一の順番で、複数の前記第2のファイルを配信することを特徴とする請求項3ないし9のいずれか1項に記載のサーバ・システム。
- 前記サーバ・システムは、前記クライアント・システムの要求に応じて、該クライアント・システム以外から取得したソフトウェアを該クライアント・システムへ提供するサービスを行うものであることを特徴とする請求項3ないし10のいずれか1項に記載のサーバ・システム。
- 前記サーバ・システムは、前記クライアント・システムから転送されたソフトウェアを保存し、該クライアント・システムからの要求に応じて該ソフトウェアを該クライアント・システムに転送するサービスを行うものであることを特徴とする請求項3ないし10のいずれか1項に記載のサーバ・システム。
- 前記通知を受けた前記他の機能部は、動作可能になった前記機能部に関連する機能を有効にするものであることを特徴とする請求項3ないし12のいずれか1項に記載のサーバ・システム。
- 所定のネットワークを介してサーバ・システムからソフトウェアのストリームによる配信を受けるクライアント・システムあって、
前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信するための送信手段と、
前記サーバ・システムから、前記ストリーミング要求に応答して配信される、ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルを受信するための第1の受信手段と、
受信した前記第1のファイルを所定のプロセスとして起動するための起動手段と、
前記サーバ・システムから、前記第1のファイルに続いて配信される、追加又は更新すべき機能部を含む第2のファイル及び該機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含むプロファイル情報の組を、1組ずつ連続して受信するための第2の受信手段とを備え、
起動された前記所定のプロセスは、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とするクライアント・システム。 - 前記第1の受信手段及び前記第2の受信手段により受信される、前記第1のファイル並びに所定組数の対応する前記プロファイル情報及び前記第2のファイルからなる組は、ストリームとして受信されるものであることを特徴とする請求項14に記載のクライアント・システム。
- 前記第1の受信手段により、前記第1のファイルが受信された後に、前記第2の受信手段により、対応する前記プロファイル情報及び前記第2のファイルからなる組が、プロファイル情報、第2のファイルの順で、1組ずつ連続して受信されることを特徴とする請求項15に記載のクライアント・システム。
- 前記第1のファイルは、該第1のファイルに関する情報が付加されたものであることを特徴とする請求項14ないし16のいずれか1項に記載のクライアント・システム。
- 前記ソフトウェアについて配信された前記第1のファイル並びに所定組数の前記第2のファイル及び対応する前記プロファイル情報からなる組を保存するための保存手段を更に備えたことを特徴とする請求項14ないし17のいずれか1項に記載のクライアント・システム。
- 前記サーバ・システムへのソフトウェアのストリーミング要求の送信の契機となる所定の要求又はソフトウェアの起動の要求が発生し且つ前記保存手段に該当するソフトウェアについての前記第1のファイル並びに所定組数の前記第2のファイル及び対応する前記プロファイル情報からなる組が保存されている場合には、該保存手段に保存されている該第1のファイルを前記所定のプロセスとして起動し、
起動された前記所定のプロセスは、前記保存手段に保存されている前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とする請求項18に記載のクライアント・システム。 - 所定のネットワークを介してサーバ・システムからソフトウェアのストリームによる配信を受けるクライアント・システムあって、
前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信するための送信手段と、
ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための自動機能追加更新手段と、
前記サーバ・システムから、前記ストリーミング要求に応答して配信される、追加又は更新すべき機能部を含む第2のファイル及び該機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含むプロファイル情報の組を、1組ずつ連続して受信するための第2の受信手段とを備え、
前記自動機能追加更新手段は、所定のプログラムをプロセスとして起動してなるものであって、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とするクライアント・システム。 - 前記自動機能追加更新手段は、前記サーバ・システムから前記第2のファイル及び前記プロファイル情報に先行して送信された起動命令を受信したこと、又はユーザから所定の要求が入力されたこと、若しくは自システム上で動作する他のプロセスから所定の要求が出されたことを契機として起動されることを特徴とする請求項20に記載のクライアント・システム。
- 前記第2の受信手段により受信される、所定組数の対応する前記プロファイル情報及び前記第2のファイルからなる組は、ストリームとして受信されるものであることを特徴とする請求項20または21に記載のクライアント・システム。
- 前記ソフトウェアについて配信された所定組数の前記第2のファイル及び対応する前記プロファイル情報からなる組を保存するための手段を更に備えたことを特徴とする請求項20ないし22のいずれか1項に記載のクライアント・システム。
- 前記サーバ・システムへのソフトウェアのストリーミング要求の送信の契機となる所定の要求又はソフトウェアの起動の要求が発生し且つ前記保存手段に該当するソフトウェアについての所定組数の前記第2のファイル及び対応する前記プロファイル情報からなる組が保存されている場合には、前記自動機能追加更新手段を起動し、
起動された前記自動機能追加更新手段は、前記保存手段に保存されている前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とする請求項23に記載のクライアント・システム。 - 前記第2の受信手段により前記ソフトウェアについて最初に受信される前記第2のファイルは、該ソフトウェアの基本的な機能を実現するための機能部を含むものであることを特徴とする請求項14ないし24のいずれか1項に記載のクライアント・システム。
- 前記第2の受信手段により前記ソフトウェアの基本的な機能を実現するための機能部を含む前記第2のファイルが受信された以降に順次受信される前記第2のファイルは、該ソフトウェアに新規に追加すべき機能部又は既に配信した機能部と同一の識別情報及び異なる機能を持つ機能部であって該既に配信した機能部と入れ替えるためのものであることを特徴とする請求項25に記載のクライアント・システム。
- 前記第2のファイルのロードは、前記第2のファイルが受信された順番と同一の順番で行うことを特徴とする請求項14ないし26のいずれか1項に記載のクライアント・システム。
- 前記ソフトウェアについて前記プロセスの起動中に、該ソフトウェアのバージョンアップのためのストリーミング要求を前記サーバ・システムへ送信し、
前記バージョンアップのためのストリーミング要求に応じて前記サーバ・システムから配信された、バージョンアップのための所定組数の前記第2のファイル及び対応する前記プロファイル情報の組を受信し、
起動中の前記プロセスは、さらに、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とする請求項14ないし27のいずれか1項に記載のクライアント・システム。 - 前記ソフトウェアについて前記プロセスの起動中に、前記サーバ・システムからプッシュされた、該ソフトウェアのバージョンアップのための所定組数の前記第2のファイル及び対応する前記プロファイル情報の組を受信し、
起動中の前記プロセスは、さらに、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを請求項14ないし27のいずれか1項に記載のクライアント・システム。 - ソフトウェアのバージョンと、前記第2のファイルとの対応を示す情報を保持しておき、
前記情報に基づいて、ユーザ指定されたバージョンに対応する前記第2のファイルを用いることを特徴とする請求項14ないし27のいずれか1項に記載のクライアント・システム。 - ソフトウェアのオプションと、前記第2のファイルとの対応を示す情報を保持しておき、
オプションがユーザ指定された場合には、前記情報に基づいて、該ユーザ指定されたオプションに対応する前記第2のファイルを用いることを特徴とする請求項14ないし27のいずれか1項に記載のクライアント・システム。 - 前記通知を受けた前記他の機能部は、動作可能になった前記機能部に関連する機能を有効にすることを特徴とする請求項14ないし31のいずれか1項に記載のクライアント・システム。
- 所定のネットワークを介してクライアント・システムへソフトウェアを配信するサーバ・システムにおけるソフトウェアストリーミング方法であって、
ストリームとして配信すべき対象とするソフトウェアについて、該ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するステップと、
前記クライアント・システムから、ソフトウェアのストリーミング要求を受信するステップと、
前記ストリーミング要求を受信したことを契機として、前記第1のファイルを配信し、次いで、対応する前記プロファイル情報及び前記第2のファイルからなる組を、1組ずつ連続して前記クライアント・システムへ配信するステップとを有し、
前記第1のファイルは前記クライアント・システムにて所定のプロセスとして起動させるためのものであり、
前記クライアント・システムにて起動された前記所定のプロセスは、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、対応する当該プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するものであることを特徴とするソフトウェアストリーミング方法。 - 前記通知を受けた前記他の機能部は、動作可能になった前記機能部に関連する機能を有効にするものであることを特徴とする請求項33に記載のソフトウェアストリーミング方法。
- 所定のネットワークを介してサーバ・システムからソフトウェアのストリームによる配信を受けるクライアント・システムにおけるソフトウェアストリーミング方法であって、
前記サーバ・システムへ、ソフトウェアのストリーミング要求を送信し、
前記サーバ・システムから、前記ストリーミング要求に応答して配信される、ソフトウェアの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルを受信するステップと、
受信した前記第1のファイルを所定のプロセスとして起動するステップと、
前記サーバ・システムから、前記第1のファイルに続いて配信される、追加又は更新すべき機能部を含む第2のファイル及び該機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含むプロファイル情報の組を、1組ずつ連続して受信するステップとを有し、
起動された前記所定のプロセスは、受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知することを特徴とするソフトウェアストリーミング方法。 - 前記通知を受けた前記他の機能部は、動作可能になった前記機能部に関連する機能を有効にすることを特徴とする請求項35に記載のソフトウェアストリーミング方法。
- 所定のネットワークを介してクライアント・システムへソフトウェアコンテンツを配信するサーバ・システムとしてコンピュータを機能させるためのプログラムであって、
ストリームとして配信すべき対象とするソフトウェアコンテンツについて、該ソフトウェアコンテンツの所定の機能を実現するための機能部の追加又は更新を行うために前記クライアント・システム上でプロセスとして起動される第1のファイルと、追加又は更新すべき機能部を含む所定数の第2のファイルと、各第2のファイルに対応してそれぞれ設けられ少なくとも当該第2のファイルに含まれる機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含む所定数のプロファイル情報とを記憶するための手段と、
前記クライアント・システムから、ソフトウェアコンテンツのストリーミング要求をコンピュータに受信するための手段と、
前記ストリーミング要求を受信したことを契機として、前記第1のファイルを配信し、次いで、対応する前記プロファイル情報及び前記第2のファイルからなる組を、1組ずつ連続して前記クライアント・システムへ配信するための手段とをコンピュータに実現させるためのものであるとともに、
前記第1のファイルは、前記クライアント・システムにてプロセスとして起動されることによって、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するように動作するものであることを特徴とするプログラム。 - 所定のネットワークを介してサーバ・システムからソフトウェアコンテンツのストリームによる配信を受けるクライアント・システムとしてコンピュータを機能させるためのプログラムであって、
前記サーバ・システムへ、ソフトウェアコンテンツのストリーミング要求を送信するための手段と、
前記サーバ・システムから、前記ストリーミング要求に応答して配信される、ソフトウェアコンテンツの所定の機能を実現するための機能部の追加又は更新を行うための所定のプログラムを含む第1のファイルを受信するための手段と、
受信した前記第1のファイルを所定のプロセスとして起動するための手段と、
前記サーバ・システムから、前記第1のファイルに続いて配信される、追加又は更新すべき機能部を含む第2のファイル及び該機能部の識別情報及び該機能部に関連する他の機能部の識別情報を含むプロファイル情報の組を、1組ずつ連続して受信するための手段とをコンピュータに実現させるためのものであるとともに、
前記第1のファイルは、前記クライアント・システムにてプロセスとして起動されることによって、該クライアント・システムにて受信された前記第2のファイルの各々を所定の順番で自プロセスにロードして当該第2のファイルに含まれる機能部を動作可能にするとともに、当該第2のファイルに対応する前記プロファイル情報を参照して得られた前記他の機能部が1以上存在する場合には、少なくとも当該第2のファイルに含まれる機能部が動作可能になった旨を当該他の機能部に通知するように動作するものであることを特徴とするプログラム。 - 前記第2のファイルに含まれる機能部は、前記他の機能部として前記通知を受けた場合に、動作可能になった前記機能部に関連する機能を有効にするように動作するものであることを特徴とする請求項36または37に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001218527A JP4222590B2 (ja) | 2001-07-18 | 2001-07-18 | サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001218527A JP4222590B2 (ja) | 2001-07-18 | 2001-07-18 | サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006196019A Division JP4343196B2 (ja) | 2006-07-18 | 2006-07-18 | クライアント装置、ソフトウェアストリーミング方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003029996A JP2003029996A (ja) | 2003-01-31 |
JP4222590B2 true JP4222590B2 (ja) | 2009-02-12 |
Family
ID=19052695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001218527A Expired - Fee Related JP4222590B2 (ja) | 2001-07-18 | 2001-07-18 | サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4222590B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004093451A2 (en) | 2003-04-17 | 2004-10-28 | Thomson Licensing | Data requesting and transmitting devices and processes |
EP1785880A4 (en) * | 2004-06-24 | 2007-12-05 | Nec Corp | INFORMATION SERVICE SYSTEM, INFORMATION SERVER, PORTABLE TERMINAL, INFORMATION SERVICE CONTROL PROGRAM, AND PORTABLE TERMINAL CONTROL PROGRAM |
US20060048136A1 (en) * | 2004-08-25 | 2006-03-02 | Vries Jeff D | Interception-based resource detection system |
KR100823733B1 (ko) * | 2005-12-08 | 2008-04-21 | 한국전자통신연구원 | 클러스터 컴퓨터 시스템에서 소프트웨어 스트림의 선택적제공을 통한 작업 관리를 위한 브로커 시스템 및 그 방법 |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
JP4842690B2 (ja) * | 2006-04-14 | 2011-12-21 | 富士通株式会社 | アプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置 |
US20080005472A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Running applications from removable media |
US8261254B2 (en) * | 2008-03-31 | 2012-09-04 | Symantec Corporation | Dynamic insertion and removal of virtual software sub-layers |
US8589904B2 (en) * | 2009-08-10 | 2013-11-19 | Symantec Corporation | Systems and methods for updating a software product |
JP2014016952A (ja) * | 2012-07-11 | 2014-01-30 | Nec Access Technica Ltd | ソフトウェア更新システム、通信装置、ソフトウェア更新方法 |
KR20140012317A (ko) | 2012-07-19 | 2014-02-03 | 삼성전자주식회사 | 프로세스 전송 시스템, 프로세스 전송 서버의 프로세스 전송 방법, 및 클라이언트의 프로세스 처리 방법 |
JP6537366B2 (ja) * | 2015-06-23 | 2019-07-03 | 株式会社オービックビジネスコンサルタント | サーバ装置、端末装置、情報処理方法、およびプログラム |
JP6458669B2 (ja) * | 2015-07-13 | 2019-01-30 | コニカミノルタ株式会社 | 画像形成装置及び動作制御プログラム並びに動作制御方法 |
CN114942797B (zh) * | 2022-05-28 | 2023-07-14 | 平安银行股份有限公司 | 基于边车模式的系统配置方法、装置、设备及存储介质 |
-
2001
- 2001-07-18 JP JP2001218527A patent/JP4222590B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003029996A (ja) | 2003-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4222590B2 (ja) | サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム | |
KR100578515B1 (ko) | 디지털 컨텐츠 배송 시스템, 디지털 컨텐츠 배송 방법 및에지 서버 | |
US8001095B2 (en) | Method of updating a version of an application program | |
JP5367237B2 (ja) | サーバ | |
US20020082858A1 (en) | Managing distribution and local execution of computing resources | |
WO2007081512A1 (en) | Peer distribution point feature for system management server | |
US20130138780A1 (en) | Data communications networks, systems, methods and apparatus | |
JP2002268979A (ja) | ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体 | |
TW200946191A (en) | Game user apparatus | |
JP4719732B2 (ja) | バックアップサーバ、移動機、およびこれらを用いた通信システム、ならびにバックアップ方法 | |
JP4343196B2 (ja) | クライアント装置、ソフトウェアストリーミング方法及びプログラム | |
CN102754410A (zh) | 加速服务器与客户端集合之间的数据文件的分配 | |
JP2009163602A (ja) | 設計システム用配信システム、設計システム配信サーバ、及びクライアントシステム | |
KR20110109610A (ko) | 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 | |
JP2001273147A (ja) | 情報配布方法、情報配布システム、情報配布サーバ、端末機器および記録媒体 | |
JP2004178353A (ja) | 情報端末,コンテンツ取得プログラム | |
JPH10320184A (ja) | ソフトウェアバージョン管理システム | |
KR100923954B1 (ko) | 피투피 기반의 컨텐츠 전송 네트워크 서비스 지원 장치 및방법 | |
JP2004094730A (ja) | マルチメディアデータ配信システム、配信装置及び配信方法 | |
JP2008234553A (ja) | パッチ適用方法およびパッチ受信クライアント | |
JP5178734B2 (ja) | P2pシステムにおけるピア管理サーバー及びピア管理方法 | |
JP2001014228A (ja) | ファイル配信システム、方法及び記録媒体 | |
JP2002244945A (ja) | インターネットの接続設定支援方法及び接続設定支援システム | |
JP2010072869A (ja) | プログラムダウンロードシステム | |
EP1058423B1 (en) | Message delivery system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060516 |
|
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: 20081117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |