JP2004227240A - バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法 - Google Patents

バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法 Download PDF

Info

Publication number
JP2004227240A
JP2004227240A JP2003013609A JP2003013609A JP2004227240A JP 2004227240 A JP2004227240 A JP 2004227240A JP 2003013609 A JP2003013609 A JP 2003013609A JP 2003013609 A JP2003013609 A JP 2003013609A JP 2004227240 A JP2004227240 A JP 2004227240A
Authority
JP
Japan
Prior art keywords
bundle
common
unit
class
function
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
JP2003013609A
Other languages
English (en)
Other versions
JP4363044B2 (ja
Inventor
透 ▲高▼橋
Toru Takahashi
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003013609A priority Critical patent/JP4363044B2/ja
Publication of JP2004227240A publication Critical patent/JP2004227240A/ja
Application granted granted Critical
Publication of JP4363044B2 publication Critical patent/JP4363044B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】デバイスの機能、種別その他の内容に応じたサービスを提供するバンドル再構成システムを提供する。
【解決手段】ホームゲートウェイ200は、バンドル管理サーバ100から制御バンドルを取得し、取得した制御バンドルをRAM54に格納して実行する。また、RAM54のメモリ使用率が所定値以上となったときは、制御バンドルaに含まれるクラス、コンポーネントおよびパッケージと、制御バンドルbに含まれるクラス、コンポーネントおよびパッケージとを対比してそれらに共通するクラス、コンポーネントおよびパッケージをそれぞれ共通クラス、共通コンポーネントおよび共通パッケージとして特定し、共通クラス、共通コンポーネントおよび共通パッケージが重複しないように、制御バンドルaおよび制御バンドルbを1つの制御バンドル400として再構成する。
【選択図】 図15

Description

【0001】
【発明の属する技術分野】
本発明は、ホームゲートウェイ、PC、STB(Set Top Box)、ネットワークカード、携帯電話、PDA(Personal Digital Assistant)、腕時計その他プログラム実行可能なデバイスに適用して所定のサービスを提供するバンドルを再構成するシステムおよびプログラム、並びに方法に係り、特に、動的にバンドルが組み込まれるホームゲートウェイにおいてメモリの利用効率を向上するのに好適なバンドル再構成システムおよびバンドル再構成プログラム、並びにバンドル再構成方法に関する。
【0002】
【従来の技術】
近い将来、各家庭においては、ホームゲートウェイをインターネットに接続するとともに、複数のネットワークデバイスをホームゲートウェイに接続し、ホームゲートウェイを介して各ネットワークデバイスがインターネット上のサービスを利用するというような形態が予想される。
【0003】
ホームゲートウェイには、多種多様なネットワークデバイスが接続される。例えば、ネットワーク対応のスキャナやプリンタがそれである。その他にも、OA製品、家電製品その他の電子機器がネットワークデバイスとして接続可能となる。ホームゲートウェイがネットワークデバイスを適切に制御するためには、ネットワークデバイスの制御プログラムをホームゲートウェイに組み込む必要があるが、想定されるすべての種類のネットワークデバイスに対応した制御プログラムを組み込むのは現実的ではない。そこで、現実的には、ネットワークデバイスのメーカ等がネットワークデバイスを販売すると同時にその制御プログラムである制御バンドルを所定のサーバにダウンロード可能に掲載する。そして、ユーザが購入したネットワークデバイスを接続すると、ホームゲートウェイでは、対応の制御バンドルが所定のサーバからダウンロードして実行する。ダウンロードは自動的またはユーザの手動操作により行う。
【0004】
しかしながら、ホームゲートウェイに接続されるネットワークデバイスの数が増えてくると、それに伴って多数の制御バンドルを組み込まなければならないが、制御バンドルをメモリ上で実行させる関係上、ホームゲートウェイのメモリ容量が十分でない場合は、組み込める数に一定の限界がある。
そこで、制限されたメモリ容量の下で、より多くの制御バンドルを組み込めるよう工夫することが要求される。従来、メモリの利用効率を高める技術およびその関連技術としては、例えば、特許文献1に開示されているオブジェクト指向言語の実行処理方式(第1の従来例という。)、特許文献2に開示されているソフトウェア構築システム(第2の従来例という。)および特許文献3に開示されているデータ処理装置(第3の従来例という。)がある。
【0005】
第1の従来例では、クラス情報格納装置は、クラス名とクラス属性とメソッド情報およびメソッド定義とを含むクラス情報を、クラスIDによって検索可能に保持する。オブジェクトは、メッセージの受信時に、クラスIDおよびメソッド選択情報を指定した問い合わせを出し、これに応答してメソッド検索部は、クラス情報格納装置から、そのクラスIDおよびメソッド選択情報に適合するメソッドを検索し、オブジェクトはこの検索されたメソッドを実行する。クラス情報抽出部は、クラス定義ソースプログラムのコンパイル時にクラス情報を抽出してクラス情報格納装置に格納する。排他制御部は、クラス情報格納装置に対するメソッド検索部、クラス情報抽出部のアクセスの排他制御を行う。
【0006】
第2の従来例は、特定のコンポーネントの機能を呼び出す処理コードをすべて、それを管理する管理コンポーネントに集中させる。動的拡張を行う際には、特定のコンポーネントとともに管理コンポーネントを交換することで、コンポーネント協調のための情報も自動的に更新される。そのほかのコンポーネントについては、再利用することが可能になる。
【0007】
第3の従来例は、項目データと項目データの種類を識別する項目識別子とその項目識別子の少なくとも一つに関連付けられた項目データを実行する添付プログラムとを入力部で読み込んで前記項目データを処理するデータ処理装置であって、項目識別子の内容に応じて、プログラム格納部に格納されている処理モジュール毎の内部プログラムか前記添付プログラムのいずれかを選択するプログラム選択部を備える。
【0008】
【特許文献1】
特開平10−21077号公報
【特許文献2】
特開平11−161483号公報
【特許文献3】
特開平11−312081号公報
【0009】
【発明が解決しようとする課題】
しかしながら、第1ないし第3の従来例にあってはいずれも、プログラムの構造または取扱に関する工夫であるため、プログラムのデータ容量を低減するための具体的な構成について直接的な記載がなく、メモリの利用効率を向上するには不十分である。
【0010】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、動的にバンドルが組み込まれるホームゲートウェイにおいてメモリの利用効率を向上するのに好適なバンドル再構成システムおよびバンドル再構成プログラム、並びにバンドル再構成方法を提供することを目的としている。
【0011】
【課題を解決するための手段】
〔発明1〕
上記目的を達成するために、発明1のバンドル再構成システムは、
1または異なる複数の機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
少なくとも2つの前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、および前記共通機能部を有する1つのバンドルとして再構成するようになっていることを特徴とする。
【0012】
このような構成であれば、少なくとも2つのバンドルが記憶手段に格納されていると、第1のバンドルに含まれる機能部と、第2のバンドルに含まれる機能部とが対比されて共通機能部として特定される。そして、第1のバンドルおよび第2のバンドルが、第1のバンドルに含まれる機能部のうち共通機能部以外のもの、第2のバンドルに含まれる機能部のうち共通機能部以外のもの、および共通機能部を有する1つのバンドルとして再構成される。例えば、第1のバンドルが機能部A,Bを有し、第2のバンドルが機能部B,Cを有する場合は、共通機能部が機能部Bとなるので、第1のバンドルおよび第2のバンドルが、機能部A,B,Cを有する1つのバンドルとして再構成される。
【0013】
ここで、本発明に係るバンドル再構成システムは、動的にバンドルが組み込まれるホームゲートウェイに適用するに限らず、デスクトップ型若しくはノート型のPC、携帯電話やPDA等の携帯端末、その他の情報処理装置に適用することもできる。特に、ホームゲートウェイや携帯端末のようにメモリ容量が十分でない端末に適用するのが有益である。以下、発明2、3および5のバンドル再構成システムにおいて同じである。
【0014】
また、バンドルは、再構成するにあたって記憶手段に格納されていればよく、外部からバンドルを取得して記憶手段に格納するようになっていてもよいし、FD等の記憶媒体からバンドルを読み込んで記憶手段に格納するようになっていてもよい。以下、発明2のバンドル再構成システムにおいて同じである。
〔発明2〕
さらに、発明2のバンドル再構成システムは、
少なくとも3つの機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部および前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部および前記共通機能部を少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とする。
【0015】
このような構成であれば、バンドルが記憶手段に格納されていると、記憶手段のバンドルに含まれる複数の機能部のなかから、第1の機能部と第2の機能部とが共通に利用する機能部が共通機能部として特定され、記憶手段のバンドルが、第1の機能部および共通機能部を少なくとも有する第1のバンドル、並びに第2の機能部および共通機能部を少なくとも有する第2のバンドルとして再構成される。例えば、機能部A,B,Cを有するバンドルが存在する場合に、機能部Aと機能部Cとが機能部Bを共通で利用するときは、共通機能部が機能部Bとなるので、そのバンドルが、機能部A,Bを有する第1のバンドルおよび機能部B,Cを有する第2のバンドルとして再構成される。このようにバンドルの分離を行い、分離したバンドルのうち機能的に不要なものを削除することによりバンドルの整理を行えば、不要な機能部を効果的に排除することができる。
〔発明3〕
さらに、発明3のバンドル再構成システムは、
1または異なる複数の機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
前記バンドルを取得するバンドル取得手段と、前記バンドル取得手段で取得したバンドルを記憶手段に格納するバンドル格納手段と、前記記憶手段のバンドルを実行させるバンドル実行手段と、前記記憶手段のバンドルのうち少なくとも2つのものを結合して1つのバンドルとして再構成するバンドル再構成手段とを備え、
前記バンドル再構成手段は、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、および前記共通機能部を有する1つのバンドルとして再構成するようになっていることを特徴とする。
【0016】
このような構成であれば、バンドル取得手段により、バンドルが取得され、バンドル格納手段により、取得されたバンドルが記憶手段に格納され、バンドル実行手段により、記憶手段のバンドルが実行される。これにより、機能部が機能してサービスが提供される。また、バンドル再構成手段により、第1のバンドルに含まれる機能部と、第2のバンドルに含まれる機能部とが対比されて共通機能部として特定される。そして、第1のバンドルおよび第2のバンドルが、第1のバンドルに含まれる機能部のうち共通機能部以外のもの、第2のバンドルに含まれる機能部のうち共通機能部以外のもの、および共通機能部を有する1つのバンドルとして再構成される。例えば、第1のバンドルが機能部A,Bを有し、第2のバンドルが機能部B,Cを有する場合は、共通機能部が機能部Bとなるので、第1のバンドルおよび第2のバンドルが、機能部A,B,Cを有する1つのバンドルとして再構成される。
〔発明4〕
さらに、発明4のバンドル再構成システムは、発明3のバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記1つのバンドルに含まれる複数の機能部のなかから前記共通機能部を特定し、前記1つのバンドルを、前記第1のバンドルおよび前記第2のバンドルとして再構成するようになっていることを特徴とする。
【0017】
このような構成であれば、バンドル再構成手段により、再構成された1つのバンドル(再構成バンドル)に含まれる複数の機能部のなかから共通機能部が特定され、再構成バンドルが、第1のバンドルおよび第2のバンドルとして再構成される。例えば、機能部A,B,Cを有する再構成バンドルが存在する場合に、機能部Aと機能部Cとが機能部Bを共通で利用するときは、共通機能部が機能部Bとなるので、その再構成バンドルが、機能部A,Bを有する第1のバンドルおよび機能部B,Cを有する第2のバンドルとして再構成される。このように再構成バンドルの分離を行い、分離したバンドルのうち機能的に不要なものを削除することによりバンドルの整理を行えば、不要な機能部を効果的に排除することができる。
〔発明5〕
さらに、発明5のバンドル再構成システムは、
少なくとも3つの機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
前記バンドルを取得するバンドル取得手段と、前記バンドル取得手段で取得したバンドルを記憶手段に格納するバンドル格納手段と、前記記憶手段のバンドルを実行させるバンドル実行手段と、前記記憶手段のバンドルを分離して少なくとも2つのバンドルとして再構成するバンドル再構成手段とを備え、
前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部および前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部および前記共通機能部を少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とする。
【0018】
このような構成であれば、バンドル取得手段により、バンドルが取得され、バンドル格納手段により、取得されたバンドルが記憶手段に格納され、バンドル実行手段により、記憶手段のバンドルが実行される。これにより、機能部が機能してサービスが提供される。また、バンドル再構成手段により、記憶手段のバンドルに含まれる複数の機能部のなかから、第1の機能部と第2の機能部とが共通に利用する機能部が共通機能部として特定され、記憶手段のバンドルが、第1の機能部および共通機能部を少なくとも有する第1のバンドル、並びに第2の機能部および共通機能部を少なくとも有する第2のバンドルとして再構成される。例えば、機能部A,B,Cを有するバンドルが存在する場合に、機能部Aと機能部Cとが機能部Bを共通で利用するときは、共通機能部が機能部Bとなるので、そのバンドルが、機能部A,Bを有する第1のバンドルおよび機能部B,Cを有する第2のバンドルとして再構成される。このようにバンドルの分離を行い、分離したバンドルのうち機能的に不要なものを削除することによりバンドルの整理を行えば、不要な機能部を効果的に排除することができる。
〔発明6〕
さらに、発明6のバンドル再構成システムは、発明5のバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記第1のバンドルに含まれる機能部と、前記第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を前記共通機能部として特定し、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、および前記共通機能部を有する1つのバンドルとして再構成するようになっていることを特徴とする。
【0019】
このような構成であれば、バンドル再構成手段により、第1のバンドルに含まれる機能部と、第2のバンドルに含まれる機能部とが対比されて機能が共通する機能部が共通機能部として特定され、第1のバンドルおよび第2のバンドルが、第1のバンドルに含まれる機能部のうち共通機能部以外のもの、第2のバンドルに含まれる機能部のうち共通機能部以外のもの、および共通機能部を有する1つのバンドルとして再構成される。例えば、第1のバンドルが機能部A,Bを有し、第2のバンドルが機能部B,Cを有する場合は、共通機能部が機能部Bとなるので、第1のバンドルおよび第2のバンドルが、機能部A,B,Cを有する1つのバンドルとして再構成される。
〔発明7〕
さらに、発明7のバンドル再構成システムは、発明4および6のいずれかのバンドル再構成システムにおいて、
デバイスを通信可能に接続するゲートウェイ端末と、前記ゲートウェイ端末からの取得要求に応じて前記バンドルを提供するバンドル提供端末とを通信可能に接続し、
前記バンドル提供端末は、前記バンドルを生成するバンドル生成手段と、前記バンドル生成手段で生成したバンドルを前記取得要求に応じて前記ゲートウェイ端末に送信するバンドル送信手段とを有し、
前記ゲートウェイ端末は、前記バンドル取得手段、前記バンドル格納手段、前記バンドル実行手段および前記バンドル再構成手段を有し、
前記バンドル取得手段は、前記バンドル提供端末に前記取得要求を送信し、前記バンドル提供端末から前記バンドルを取得するようになっていることを特徴とする。
【0020】
このような構成であれば、ゲートウェイ端末では、バンドル取得手段により、バンドル提供端末に取得要求が送信される。
バンドル提供端末では、バンドル生成手段により、バンドルが生成され、取得要求を受信すると、バンドル送信手段により、受信した取得要求に応じて、生成されたバンドルがゲートウェイ端末に送信される。
【0021】
ゲートウェイ端末では、バンドル取得手段によりバンドルを受信(取得)すると、バンドル格納手段により、受信したバンドルが記憶手段に格納され、バンドル実行手段により、記憶手段のバンドルが実行される。また、バンドル再構成手段により、記憶手段のバンドルが再構成される。
ここで、バンドル提供端末は、ゲートウェイ端末との通信路の一端に接続する通信設備であって少なくともサーバ機能を有するものであればよく、クライアント機能およびサーバ機能の両方を兼ね揃えるものとして構成することもできる。このことは、ゲートウェイ端末についても同様である。
〔発明8〕
さらに、発明8のバンドル再構成システムは、発明7のバンドル再構成システムにおいて、
前記バンドルは、前記機能部としてのクラスを複数含むコンポーネントと、当該バンドルに含まれる複数のクラスの論理的結合を規定したパッケージとを有してなり、
前記バンドル再構成手段は、前記第1のバンドルに含まれるクラス、コンポーネントおよびパッケージと、前記第2のバンドルに含まれるクラス、コンポーネントおよびパッケージとを対比してそれらに共通するクラス、コンポーネントおよびパッケージをそれぞれ共通クラス、共通コンポーネントおよび共通パッケージとして特定し、前記共通クラス、前記共通コンポーネントおよび前記共通パッケージが重複しないように、前記第1のバンドルおよび前記第2のバンドルを1つのバンドルとして再構成するようになっていることを特徴とする。
【0022】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、第1のバンドルに含まれるクラス、コンポーネントおよびパッケージと、第2のバンドルに含まれるクラス、コンポーネントおよびパッケージとが対比されてそれらに共通するクラス、コンポーネントおよびパッケージがそれぞれ共通クラス、共通コンポーネントおよび共通パッケージとして特定される。そして、共通クラス、共通コンポーネントおよび共通パッケージが重複しないように、第1のバンドルおよび第2のバンドルが1つのバンドルとして再構成される。
〔発明9〕
さらに、発明9のバンドル再構成システムは、発明8のバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれるクラスのうち前記共通クラス以外のもの、前記第2のバンドルに含まれるクラスのうち前記共通クラス以外のもの、および前記共通クラスを有する1つのバンドルとして再構成するようになっていることを特徴とする。
【0023】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、第1のバンドルおよび第2のバンドルが、第1のバンドルに含まれるクラスのうち共通クラス以外のもの、第2のバンドルに含まれるクラスのうち共通クラス以外のもの、および共通クラスを有する1つのバンドルとして再構成される。
〔発明10〕
さらに、発明10のバンドル再構成システムは、発明8および9のいずれかのバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれるコンポーネントのうち前記共通コンポーネント以外のもの、前記第2のバンドルに含まれるコンポーネントのうち前記共通コンポーネント以外のもの、および前記共通コンポーネントを有する1つのバンドルとして再構成するようになっていることを特徴とする。
【0024】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、第1のバンドルおよび第2のバンドルが、第1のバンドルに含まれるコンポーネントのうち共通コンポーネント以外のもの、第2のバンドルに含まれるコンポーネントのうち共通コンポーネント以外のもの、および共通コンポーネントを有する1つのバンドルとして再構成される。
〔発明11〕
さらに、発明11のバンドル再構成システムは、発明8ないし10のいずれかのバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれるパッケージのうち前記共通パッケージ以外のもの、前記第2のバンドルに含まれるパッケージのうち前記共通パッケージ以外のもの、および前記共通パッケージを有する1つのバンドルとして再構成するようになっていることを特徴とする。
【0025】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、第1のバンドルおよび第2のバンドルが、第1のバンドルに含まれるパッケージのうち共通パッケージ以外のもの、第2のバンドルに含まれるパッケージのうち共通パッケージ以外のもの、および共通パッケージを有する1つのバンドルとして再構成される。
〔発明12〕
さらに、発明12のバンドル再構成システムは、発明8ないし11のいずれかのバンドル再構成システムにおいて、
前記クラスは、複数のクラスメソッドを含み、
前記バンドル再構成手段は、前記第1のバンドルの共通クラスに含まれるクラスメソッドと、前記第2のバンドルの共通クラスに含まれるクラスメソッドとが完全一致していないときは、前記第1のバンドルの共通クラスに含まれるクラスメソッドと、前記第2のバンドルの共通クラスに含まれるクラスメソッドとを対比してそれら共通クラスに共通して含まれるクラスメソッドを共通クラスメソッドとして特定し、前記第1のバンドルの共通クラスに含まれるクラスメソッドのうち前記共通クラスメソッド以外のもの、前記第2のバンドルの共通クラスに含まれるクラスメソッドのうち前記共通クラスメソッド以外のもの、および前記共通クラスメソッドを含むクラスを前記共通クラスとして構成するようになっていることを特徴とする。
【0026】
このような構成であれば、ゲートウェイ端末では、第1のバンドルの共通クラスに含まれるクラスメソッドと、第2のバンドルの共通クラスに含まれるクラスメソッドとが完全一致していないと、バンドル再構成手段により、第1のバンドルの共通クラスに含まれるクラスメソッドと、第2のバンドルの共通クラスに含まれるクラスメソッドとが対比されて共通クラスメソッドが特定される。そして、第1のバンドルの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、第2のバンドルの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、および共通クラスメソッドを含むクラスが共通クラスとして構成される。例えば、第1のバンドルの共通クラスがクラスメソッドA,B,Cを含み、第2のバンドルの共通クラスがクラスメソッドB,C,Dを含む場合は、共通クラスメソッドがクラスメソッドB,Cとなるので、共通クラスが、クラスメソッドA,B,C,Dを含むクラスとして構成される。
〔発明13〕
さらに、発明13のバンドル再構成システムは、発明8ないし12のいずれかのバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記第1のバンドルに含まれるクラス、コンポーネントおよびパッケージのうち前記共通クラス、前記共通コンポーネントおよび前記共通パッケージ以外のものであって不要なものがそれぞれ不要クラス、不要コンポーネントおよび不要パッケージとして指定されたときは、前記第1のバンドルおよび前記第2のバンドルを、前記不要クラス、前記不要コンポーネントおよび前記不要パッケージを有しない1つのバンドルとして再構成するようになっていることを特徴とする。
【0027】
このような構成であれば、ゲートウェイ端末では、第1のバンドルに含まれるクラス、コンポーネントおよびパッケージのうち共通クラス、共通コンポーネントおよび共通パッケージ以外のものであって不要なものがそれぞれ不要クラス、不要コンポーネントおよび不要パッケージとして指定されると、バンドル再構成手段により、第1のバンドルおよび第2のバンドルが、不要クラス、不要コンポーネントおよび不要パッケージを有しない1つのバンドルとして再構成される。
〔発明14〕
さらに、発明14のバンドル再構成システムは、発明13のバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記第2のバンドルに含まれるクラス、コンポーネントおよびパッケージのうち前記共通クラス、前記共通コンポーネントおよび前記共通パッケージ以外のものであって不要なものがそれぞれ前記不要クラス、前記不要コンポーネントおよび前記不要パッケージとして指定されたときは、前記第1のバンドルおよび前記第2のバンドルを、前記不要クラス、前記不要コンポーネントおよび前記不要パッケージを有しない1つのバンドルとして再構成するようになっていることを特徴とする。
【0028】
このような構成であれば、ゲートウェイ端末では、第1のバンドルまたは第2のバンドルに含まれるクラス、コンポーネントおよびパッケージのうち共通クラス、共通コンポーネントおよび共通パッケージ以外のものであって不要なものがそれぞれ不要クラス、不要コンポーネントおよび不要パッケージとして指定されると、バンドル再構成手段により、第1のバンドルおよび第2のバンドルが、不要クラス、不要コンポーネントおよび不要パッケージを有しない1つのバンドルとして再構成される。
〔発明15〕
さらに、発明15のバンドル再構成システムは、発明7のバンドル再構成システムにおいて、
前記バンドルは、前記機能部としてのクラスを少なくとも3つ含むコンポーネントを有してなり、
前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数のクラスのなかから、当該複数のクラスのうち第1のクラスと、当該複数のクラスのうち第2のクラスとが共通に利用するクラスを共通クラスとして特定し、前記記憶手段のバンドルを、前記第1のクラスおよび前記共通クラスを少なくとも有する第1のバンドル、並びに前記第2のクラスおよび前記共通クラスを少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とする。
【0029】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、記憶手段のバンドルに含まれる複数のクラスのなかから、複数のクラスのうち第1のクラスと、複数のクラスのうち第2のクラスとが共通に利用するクラスが共通クラスとして特定される。そして、記憶手段のバンドルが、第1のクラスおよび共通クラスを少なくとも有する第1のバンドル、並びに第2のクラスおよび共通クラスを少なくとも有する第2のバンドルとして再構成される。
〔発明16〕
さらに、発明16のバンドル再構成システムは、発明7のバンドル再構成システムにおいて、
前記バンドルは、前記機能部としてのクラスを複数含むコンポーネントを少なくとも3つ有してなり、
前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数のコンポーネントのなかから、当該複数のコンポーネントのうち第1のコンポーネントと、当該複数のコンポーネントのうち第2のコンポーネントとが共通に利用するコンポーネントを共通コンポーネントとして特定し、前記記憶手段のバンドルを、前記第1のコンポーネントおよび前記共通コンポーネントを少なくとも有する第1のバンドル、並びに前記第2のコンポーネントおよび前記共通コンポーネントを少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とする。
【0030】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、記憶手段のバンドルに含まれる複数のコンポーネントのなかから、複数のコンポーネントのうち第1のコンポーネントと、複数のコンポーネントのうち第2のコンポーネントとが共通に利用するコンポーネントが共通コンポーネントとして特定される。そして、記憶手段のバンドルが、第1のコンポーネントおよび共通コンポーネントを少なくとも有する第1のバンドル、並びに第2のコンポーネントおよび共通コンポーネントを少なくとも有する第2のバンドルとして再構成される。
〔発明17〕
さらに、発明17のバンドル再構成システムは、発明7のバンドル再構成システムにおいて、
前記バンドルは、前記機能部としてのクラスを複数有し、かつ、当該バンドルに含まれる複数のクラスの論理的結合を規定したパッケージを少なくとも3つ有してなり、
前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数のパッケージのなかから、当該複数のパッケージのうち第1のパッケージと、当該複数のパッケージのうち第2のパッケージとが共通に利用するパッケージを共通パッケージとして特定し、前記記憶手段のバンドルを、前記第1のパッケージおよび前記共通パッケージを少なくとも有する第1のバンドル、並びに前記第2のパッケージおよび前記共通パッケージを少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とする。
【0031】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、記憶手段のバンドルに含まれる複数のパッケージのなかから、複数のパッケージのうち第1のパッケージと、複数のパッケージのうち第2のパッケージとが共通に利用するパッケージが共通パッケージとして特定される。そして、記憶手段のバンドルが、第1のパッケージおよび共通パッケージを少なくとも有する第1のバンドル、並びに第2のパッケージおよび共通パッケージを少なくとも有する第2のバンドルとして再構成される。
〔発明18〕
さらに、発明18のバンドル再構成システムは、発明7ないし17のいずれかのバンドル再構成システムにおいて、
前記バンドル再構成手段は、前記記憶手段のメモリ使用率が所定値以上となった状態が所定期間継続したときは、前記バンドルを再構成するようになっていることを特徴とする。
【0032】
このような構成であれば、ゲートウェイ端末では、記憶手段のメモリ使用率が所定値以上となった状態が所定期間継続すると、バンドル再構成手段により、バンドルが再構成される。すなわち、記憶手段のメモリ使用率が所定値未満である場合、および記憶手段のメモリ使用率が所定値以上であってもその状態が所定期間継続しない場合は、バンドルに不要な部分が存在しても再構成は行われない。
〔発明19〕
さらに、発明19のバンドル再構成システムは、発明8ないし18のいずれかのバンドル再構成システムにおいて、
前記バンドルは、さらに、前記コンポーネントに含まれるクラスを識別可能に登録したコンポーネント情報を有してなり、
前記バンドル再構成手段は、前記バンドルに含まれるコンポーネント情報に基づいて前記バンドルを再構成するようになっていることを特徴とする。
【0033】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段により、バンドルに含まれるコンポーネント情報に基づいてバンドルが再構成される。
〔発明20〕
さらに、発明20のバンドル再構成システムは、発明7ないし18のいずれかのバンドル再構成システムにおいて、
さらに、前記バンドルの再構成を代行するバンドル再構成代行端末を通信可能に接続し、
前記バンドル再構成代行端末は、前記バンドルを受信するバンドル受信手段と、前記バンドル受信手段で受信したバンドルを前記バンドル再構成手段と同一の手法により再構成する第2バンドル再構成手段と、前記第2バンドル再構成手段で再構成したバンドルを前記ゲートウェイ端末に送信するバンドル送信手段とを有し、
前記ゲートウェイ端末は、前記バンドル再構成手段による再構成が困難であると判定したときは、再構成の対象となるバンドルを前記バンドル再構成代行端末に送信するようになっていることを特徴とする。
【0034】
このような構成であれば、ゲートウェイ端末では、バンドル再構成手段による再構成が困難であると判定されると、再構成の対象となるバンドルがバンドル再構成代行端末に送信される。
バンドル再構成代行端末では、バンドル受信手段によりバンドルを受信すると、第2バンドル再構成手段により、受信したバンドルがバンドル再構成手段と同一の手法により再構成される。そして、バンドル送信手段により、再構成されたバンドルがゲートウェイ端末に送信される。
【0035】
ゲートウェイ端末では、バンドルを受信すると、バンドル格納手段により、受信したバンドルが記憶手段に格納され、バンドル実行手段により、記憶手段のバンドルが実行される。
ここで、バンドル再構成手段による再構成が困難である場合としては、例えば、ゲートウェイ端末での処理負荷が大きい場合、またはゲートウェイ端末のメモリ容量が不足している場合が含まれる。
〔発明21〕
一方、上記目的を達成するために、発明21のバンドル再構成プログラムは、
1または異なる複数の機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するプログラムであって、
少なくとも2つの前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、および前記共通機能部を有する1つのバンドルとして再構成する処理をコンピュータに実行させるためのプログラムであることを特徴とする。
【0036】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、発明1のバンドル再構成システムと同等の作用が得られる。
〔発明22〕
さらに、発明22のバンドル再構成プログラムは、
少なくとも3つの機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するプログラムであって、
前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部および前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部および前記共通機能部を少なくとも有する第2のバンドルとして再構成する処理をコンピュータに実行させるためのプログラムであることを特徴とする。
【0037】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、発明2のバンドル再構成システムと同等の作用が得られる。
〔発明23〕
一方、上記目的を達成するために、発明23のバンドル再構成方法は、
1または異なる複数の機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成する方法であって、
少なくとも2つの前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドルおよび前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、および前記共通機能部を有する1つのバンドルとして再構成することを特徴とする。
〔発明24〕
さらに、発明24のバンドル再構成方法は、
少なくとも3つの機能部を有しかつその実行により前記機能部を機能させてサービスを提供するバンドルを再構成する方法であって、
前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部および前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部および前記共通機能部を少なくとも有する第2のバンドルとして再構成することを特徴とする。
【0038】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。図1ないし図24は、本発明に係るバンドル再構成システムおよびバンドル再構成プログラム、並びにバンドル再構成方法の実施の形態を示す図である。
本実施の形態は、本発明に係るバンドル再構成システムおよびバンドル再構成プログラム、並びにバンドル再構成方法を、図1に示すように、ホームゲートウェイ200において、バンドル管理サーバ100から複数のバンドルを取得し、取得したバンドルをそのメモリ使用率に応じて再構成する場合について適用したものである。
〔1.本実施の形態の構成〕
〔1−1.システム構成の概要〕
まず、本発明を適用するネットワークシステムの構成を図1を参照しながら説明する。図1は、本発明を適用するネットワークシステムの構成を示すブロック図である。
【0039】
インターネット199には、図1に示すように、バンドルを管理するバンドル管理サーバ100と、複数のデバイス210〜220を通信可能に接続するホームゲートウェイ200とが接続されている。なお、発明の理解を容易にするため、ホームゲートウェイ200を1台しか図示していないが、実際には、複数のホームゲートウェイ200がインターネット199に接続されている。
【0040】
ホームゲートウェイ200には、プリンタからなるデバイス210と、プロジェクタからなるデバイス212と、サウンドシステムからなるデバイス214と、PCからなるデバイス216と、電子レンジからなるデバイス218と、その他のデバイス220とが接続されている。これらデバイス210〜220は、1人のユーザが所有するものであり、ホームゲートウェイ200を介してインターネット199と情報の送受信を行うようになっている。
【0041】
〔1−2−1.バンドル管理サーバの構成〕
次に、バンドル管理サーバ100の構成を図2を参照しながら詳細に説明する。図2は、バンドル管理サーバ100の構成を示すブロック図である。
バンドル管理サーバ100は、図2に示すように、制御プログラムに基づいて演算およびシステム全体を制御するCPU30と、所定領域にあらかじめCPU30の制御プログラム等を格納しているROM32と、ROM32等から読み出したデータやCPU30の演算過程で必要な演算結果を格納するためのRAM34と、外部装置に対してデータの入出力を媒介するI/F38とで構成されており、これらは、データを転送するための信号線であるバス39で相互にかつデータ授受可能に接続されている。
【0042】
I/F38には、外部装置として、ヒューマンインターフェースとしてデータの入力が可能なキーボードやマウス等からなる入力装置40と、データやテーブル等をファイルとして格納する記憶装置42と、画像信号に基づいて画面を表示する表示装置44と、インターネット199に接続するための信号線とが接続されている。
【0043】
CPU30は、マイクロプロセッシングユニットMPU等からなり、ROM32の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図3ないし図5のフローチャートに示すユーザ登録処理、ユーザ管理処理およびバンドル提供処理をそれぞれ時分割で実行するようになっている。
〔1−2−2.バンドル管理サーバの処理1〕
初めに、ユーザ登録処理を図3を参照しながら詳細に説明する。図3は、バンドル管理サーバ100で実行するユーザ登録処理を示すフローチャートである。
【0044】
ユーザ登録処理は、ユーザ登録要求に応じてユーザ情報を登録する処理であって、CPU50において実行されると、図3に示すように、まず、ステップS100に移行するようになっている。
ステップS100では、ユーザ登録要求をホームゲートウェイ200から受信したか否かを判定し、ユーザ登録要求を受信したと判定したとき(Yes)は、ステップS102に移行するが、そうでないと判定したとき(No)は、ユーザ登録要求を受信するまでステップS100で待機する。
【0045】
ステップS102では、例えば、ユーザ名、パスワード、氏名、住所、性別、年齢、職業、所属グループ、提供を許可するサービスおよびホームゲートウェイ200のアドレスを含むユーザ情報を受信し、ステップS104に移行して、受信したユーザ情報を記憶装置42に登録し、一連の処理を終了して元の処理に復帰させる。
【0046】
〔1−2−3.バンドル管理サーバの処理2〕
次に、ユーザ管理処理を図4を参照しながら詳細に説明する。図4は、バンドル管理サーバ100で実行するユーザ管理処理を示すフローチャートである。
ユーザ管理処理は、管理要求に応じてユーザ情報の公開等を行う処理であって、CPU50において実行されると、図4に示すように、まず、ステップS150に移行するようになっている。
【0047】
ステップS150では、ホームゲートウェイ200から管理要求を受信したか否かを判定し、管理要求を受信したと判定したとき(Yes)は、ステップS152に移行するが、そうでないと判定したとき(No)は、管理要求を受信するまでステップS150で待機する。
ステップS152では、要求内容を判定し、ステップS154に移行して、判定結果に基づいて管理要求が適切なものであるか否かを判定し、管理要求が適切なものであると判定したとき(Yes)は、ステップS156に移行する。
【0048】
ステップS156では、ユーザ認証処理を行い、ステップS158に移行して、認証結果に基づいてユーザ認証が得られたか否かを判定し、ユーザ認証が得られたと判定したとき(Yes)は、ステップS160に移行して、管理要求の内容に応じたそれぞれの処理を実行し、一連の処理を終了して元の処理に復帰させる。具体的に、ステップS160では、管理要求がユーザ情報の変更・更新を行うべき要求である場合は、ユーザ情報の変更・更新を行う。また、管理要求がユーザ情報を公開すべき要求である場合は、ユーザ情報を要求元に対して公開し、管理要求がホームゲートウェイ200を公開すべき要求である場合は、ホームゲートウェイ200を要求元に対して公開する。
【0049】
一方、ステップS158で、ユーザ認証が得られないと判定したとき(No)は、ステップS162に移行して、エラー処理を実行し、ステップS150に移行する。
〔1−2−4.バンドル管理サーバの処理3〕
次に、バンドル提供処理を図5を参照しながら詳細に説明する。図5は、バンドル管理サーバ100で実行するバンドル提供処理を示すフローチャートである。
【0050】
バンドル提供処理は、バンドル取得要求に応じてバンドルをホームゲートウェイ200に提供する処理であって、CPU50において実行されると、図5に示すように、まず、ステップS200に移行するようになっている。
ステップS200では、バンドル取得要求をホームゲートウェイ200から受信したか否かを判定し、バンドル取得要求を受信したと判定したとき(Yes)は、ステップS202に移行するが、そうでないと判定したとき(No)は、バンドル取得要求を受信するまでステップS200で待機する。
【0051】
ステップS202では、バンドルを生成する。
バンドルのデータ構造を図6および図7を参照しながら詳細に説明する。図6および図7は、バンドルのデータ構造を示す図である。
バンドルには、図6に示すように、各デバイス210〜220に対応しかつそのデバイスを制御する制御バンドル400と、制御バンドル400を再構成するバンドル再構成バンドル402とがある。なお、バンドル再構成バンドル402の構成については後段で詳述する。
【0052】
バンドル400,402は、図7に示すように、複数のクラスを含むコンポーネント410と、コンポーネント410に含まれるクラスを識別可能に登録したコンポーネント情報412と、バンドル400,402をコントロールするバンドルコントローラ414とを有して構成されている。その他、図示しないが、バンドル400,402に含まれる複数のクラスの論理的結合を規定したパッケージを有している。
【0053】
図8は、コンポーネント情報412のデータ構造を示す図である。
コンポーネント情報412には、図8に示すように、各コンポーネント410ごとにそのコンポーネント410に含まれるクラスのクラス名が登録されている。図8の例では、コンポーネントAには、クラス1,2が含まれていることを、コンポーネントBには、クラス3、クラス4、クラス5および初期化ファイル1が含まれていることをそれぞれ示している。
【0054】
図9は、コンポーネント410のデータ構造を示す図である。
コンポーネント410は、図9に示すように、実行プログラムを含むクラス420と、クラス420に含まれる実行プログラムであるクラスメソッドを識別可能に登録したクラス情報422と、コンポーネント410を制御する実行プログラムを含むコンポーネント制御クラス424とを有して構成されている。
【0055】
図10は、クラス情報422のデータ構造を示す図である。
クラス情報422には、図10に示すように、各クラス420ごとにそのクラス420に含まれるクラスメソッドのメソッド名が登録されている。図10の例では、クラスAには、クラスメソッド1,2が含まれていることを、クラスBには、クラスメソッド3、クラスメソッド4、クラスメソッド5および初期化ファイルが含まれていることをそれぞれ示している。
【0056】
図5に戻り、次いで、ステップS202に移行して、生成したバンドル400,402をホームゲートウェイ200に送信し、ステップS206に移行して、バンドル400,402を正常に適用したことを示すバンドル適用通知をホームゲートウェイ200から受信したか否かを判定し、バンドル適用通知を受信したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【0057】
一方、ステップS206で、バンドル適用通知を受信しないと判定したとき(No)は、バンドル適用通知を受信するまでステップS206で待機する。
〔1−3−1.ホームゲートウェイの構成〕
次に、ホームゲートウェイ200の構成を図11を参照しながら詳細に説明する。図11は、ホームゲートウェイ200の構成を示すブロック図である。
【0058】
ホームゲートウェイ200は、図11に示すように、制御プログラムに基づいて演算およびシステム全体を制御するCPU50と、所定領域にあらかじめCPU50の制御プログラム等を格納しているROM52と、ROM52等から読み出したデータやCPU50の演算過程で必要な演算結果を格納するためのRAM54と、外部装置に対してデータの入出力を媒介するI/F58とで構成されており、これらは、データを転送するための信号線であるバス59で相互にかつデータ授受可能に接続されている。
【0059】
I/F58には、外部装置として、デバイス210〜220と、インターネット199に接続するための信号線とが接続されている。
CPU50は、マイクロプロセッシングユニットMPU等からなり、ROM52の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図12のフローチャートに示すバンドル取得処理を実行するようになっている。
【0060】
〔1−3−2.ホームゲートウェイの処理1〕
初めに、バンドル取得処理を図12を参照しながら詳細に説明する。図12は、ホームゲートウェイ200で実行するバンドル取得処理を示すフローチャートである。
バンドル取得処理は、バンドル400,402をバンドル管理サーバ100から取得する処理であって、CPU50において実行されると、図12に示すように、まず、ステップS300に移行するようになっている。
【0061】
ステップS300では、バンドル400,402を取得すべきことがユーザにより要求されたか否かを判定し、バンドル400,402の取得が要求されたと判定したとき(Yes)は、ステップS302に移行するが、そうでないと判定したとき(No)は、バンドル400,402の取得が要求されるまでステップS300で待機する。
【0062】
ステップS302では、バンドル取得要求をバンドル管理サーバ100に送信し、ステップS304に移行して、バンドル400,402をバンドル管理サーバ100から受信したか否かを判定し、バンドル400,402を受信したと判定したとき(Yes)は、ステップS306に移行する。
ステップS306では、受信したバンドル400,402をRAM54に格納し、ステップS308に移行して、RAM54のバンドル400,402を実行させ、ステップS310に移行して、バンドル適用通知をバンドル管理サーバ100に送信し、一連の処理を終了して元の処理に復帰させる。
【0063】
一方、ステップS304で、バンドル400,402をバンドル管理サーバ100から受信しないと判定したとき(No)は、バンドル400,402を受信するまでステップS304で待機する。
〔1−3−3.バンドル再構成バンドルの構成〕
次に、バンドル再構成バンドル402の構成を説明する。
バンドル再構成バンドル402は、複数の制御バンドル400を1つの制御バンドル400に結合することにより再構成するバンドル結合処理と、結合した制御バンドル400を複数の制御バンドル400に分離することにより再構成するバンドル分離処理とを実行するためのプログラムを含んで構成されている。
【0064】
〔1−3−4.ホームゲートウェイの処理2〕
次に、バンドル結合処理を図13を参照しながら詳細に説明する。図13は、バンドル結合処理を示すフローチャートである。
バンドル結合処理は、CPU50において実行されると、図13に示すように、まず、ステップS400に移行するようになっている。
【0065】
ステップS400では、RAM54のメモリ使用率が所定値(例えば、80%)以上であるか否かを判定し、RAM54のメモリ使用率が所定値以上であると判定したとき(Yes)は、ステップS402に移行する。
ステップS402では、タイマがセットされているか否かを判定し、タイマがセットされていないと判定したとき(No)は、ステップS404に移行して、タイマをセットし、ステップS406に移行して、タイマをセットしてから所定時間(例えば、3時間)が経過したか否かを判定し、所定時間が経過したと判定したとき(Yes)は、ステップS408に移行する。
【0066】
ステップS408では、タイマを停止させ、ステップS410に移行して、RAM54のなかから結合可能な制御バンドル400を検索する。具体的に、ステップS410では、検索対象となる一方の制御バンドル400に含まれるクラス、コンポーネントおよびパッケージと、検索対象となる他方の制御バンドル400に含まれるクラス、コンポーネントおよびパッケージとを対比してそれらに共通するクラス、コンポーネントおよびパッケージが存在するか否かを判定し、存在すると判定したときは、それら制御バンドル400を結合可能な制御バンドル400として索出する。
【0067】
次いで、ステップS412に移行して、検索により該当の制御バンドル400が索出されたか否かを判定し、該当の制御バンドル400が索出されたと判定したとき(Yes)は、ステップS414に移行する。
ステップS414では、索出した一方の制御バンドル400(以下、制御バンドルaという。)に含まれるパッケージと、索出した他方の制御バンドル400(以下、制御バンドルbという。)に含まれるパッケージとを対比してそれらに共通するパッケージを共通パッケージとして特定し、ステップS416に移行して、制御バンドルaに含まれるパッケージのうち共通パッケージ以外のもの、制御バンドルbに含まれるパッケージのうち共通パッケージ以外のもの、および共通パッケージを制御バンドルa,bから抽出し、ステップS418に移行する。
【0068】
ステップS418では、制御バンドルaに含まれるコンポーネントと、制御バンドルbに含まれるコンポーネントとを対比してそれらに共通するコンポーネントを共通コンポーネントとして特定し、ステップS420に移行して、制御バンドルaに含まれるコンポーネントのうち共通コンポーネント以外のもの、制御バンドルbに含まれるコンポーネントのうち共通コンポーネント以外のもの、および共通コンポーネントを制御バンドルa,bから抽出し、ステップS422に移行する。
【0069】
ステップS422では、制御バンドルa,bに含まれるコンポーネント情報412に基づいて、制御バンドルaに含まれるクラスと、制御バンドルbに含まれるクラスとを対比してそれらクラスに共通するクラスを共通クラスとして特定し、ステップS424に移行する。
ステップS424では、制御バンドルa,bに含まれるクラス情報422に基づいて、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが完全一致しているか否かを判定し、クラスメソッドが完全一致していると判定したとき(Yes)は、ステップS426に移行して、制御バンドルaに含まれるクラスのうち共通クラス以外のもの、制御バンドルbに含まれるクラスのうち共通クラス以外のもの、および共通クラスを制御バンドルa,bから抽出し、ステップS428に移行する。
【0070】
ステップS428では、抽出したパッケージ、コンポーネントおよびクラス(クラスメソッドを含む。)の一覧を表示し、ステップS430に移行して、表示したパッケージ、コンポーネントおよびクラスのなかから機能的に不要なパッケージ、コンポーネント、クラスおよびクラスメソッドがユーザにより指定されたか否かを判定し、不要なパッケージ、コンポーネント、クラスおよびクラスメソッドが指定されたと判定したとき(Yes)は、ステップS432に移行して、抽出したパッケージ、コンポーネントおよびクラスのうち指定のされたものを削除し、ステップS434に移行する。
【0071】
ステップS434では、抽出したパッケージ、コンポーネントおよびクラスをもとに、制御バンドルa,bを1つの制御バンドル400として再構成し、ステップS436に移行して、制御バンドルa,bをRAM54上から削除し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS430で、不要なパッケージ、コンポーネント、クラスおよびクラスメソッドが指定されないと判定したとき(No)は、ステップS434に移行する。
【0072】
一方、ステップS424で、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが完全一致していないと判定したとき(No)は、ステップS438に移行して、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとを対比してそれら共通クラスに共通して含まれるクラスメソッドを共通クラスメソッドとして特定し、制御バンドルaの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、制御バンドルbの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、および共通クラスメソッドを含むクラスを新たな共通クラスとして構成し、ステップS428に移行する。
【0073】
一方、ステップS412で、検索により該当の制御バンドル400が索出されないと判定したとき(No)は、一連の処理を終了して元の処理に復帰させる。
一方、ステップS406で、タイマをセットしてから所定時間が経過しないと判定したとき(No)は、ステップS400に移行する。
一方、ステップS402で、タイマがセットされていると判定したとき(Yes)は、ステップS406に移行する。
【0074】
一方、ステップS400で、RAM54のメモリ使用率が所定値未満であると判定したとき(No)は、ステップS440に移行して、タイマがセットされているか否かを判定し、タイマがセットされていると判定したとき(Yes)は、ステップS442に移行して、タイマを停止させ、ステップS400に移行する。
一方、ステップS440で、タイマがセットされていないと判定したとき(No)は、ステップS400に移行する。
【0075】
〔1−3−5.ホームゲートウェイの処理3〕
次に、バンドル分離処理を図14を参照しながら詳細に説明する。図14は、バンドル分離処理を示すフローチャートである。
バンドル分離処理は、CPU50において実行されると、図14に示すように、まず、ステップS500に移行するようになっている。
【0076】
ステップS500では、再構成した制御バンドル400を分離すべきことがユーザにより要求されたか否かを判定し、制御バンドル400の分離が要求されたと判定したとき(Yes)は、ステップS502に移行するが、そうでないと判定したとき(No)は、制御バンドル400の分離が要求されるまでステップS500で待機する。
【0077】
ステップS502では、再構成により結合した制御バンドル400を分離可能な制御バンドル400としてRAM54のなかから検索し、ステップS504に移行して、検索により該当の制御バンドル400が索出されたか否かを判定し、該当の制御バンドル400が索出されたと判定したとき(Yes)は、ステップS506に移行する。
【0078】
ステップS506では、索出された制御バンドル400(以下、制御バンドルcという。)のなかから共通パッケージを特定し、ステップS508に移行して、共通パッケージを含むすべてのパッケージを制御バンドルcから抽出し、ステップS510に移行する。
ステップS510では、制御バンドルcのなかから共通コンポーネントを特定し、ステップS512に移行して、共通コンポーネントを含むすべてのコンポーネントを制御バンドルcから抽出し、ステップS514に移行する。
【0079】
ステップS514では、制御バンドルcに含まれるコンポーネント情報412に基づいて制御バンドルcのなかから共通クラスを特定し、ステップS516に移行して、共通クラスを含むすべてのクラスを制御バンドルcから抽出し、ステップS518に移行する。
ステップS518では、抽出したパッケージ、コンポーネントおよびクラス(クラスメソッドを含む。)の一覧を表示し、ステップS520に移行して、表示したパッケージ、コンポーネントおよびクラスのなかから機能的に不要なパッケージ、コンポーネント、クラスおよびクラスメソッドがユーザにより指定されたか否かを判定し、不要なパッケージ、コンポーネント、クラスおよびクラスメソッドが指定されたと判定したとき(Yes)は、ステップS522に移行して、抽出したパッケージ、コンポーネントおよびクラスのうち指定のされたものを削除し、ステップS524に移行する。
【0080】
ステップS524では、抽出したパッケージ、コンポーネントおよびクラスのなかで、分離後の制御バンドル400を再構成するにあたって必要なパッケージ、コンポーネント、クラスおよびクラスメソッドが不足しているか否かを判定し、必要なパッケージ、コンポーネント、クラスおよびクラスメソッドが不足していると判定したとき(Yes)は、ステップS526に移行して、必要なパッケージ、コンポーネント、クラスおよびクラスメソッドで不足しているものをバンドル管理サーバ100から取得し、ステップS528に移行する。
【0081】
ステップS528では、抽出したパッケージ、コンポーネントおよびクラス、並びに取得したパッケージ、コンポーネントおよびクラスをもとに、制御バンドルcを結合前の複数の制御バンドル400として再構成し、ステップS530に移行して、制御バンドルcをRAM54上から削除し、一連の処理を終了して元の処理に復帰させる。
【0082】
一方、ステップS524で、分離後の制御バンドル400を再構成するにあたって必要なパッケージ、コンポーネント、クラスおよびクラスメソッドが不足していないと判定したとき(No)は、ステップS528に移行する。
一方、ステップS520で、不要なパッケージ、コンポーネント、クラスおよびクラスメソッドが指定されないと判定したとき(No)は、ステップS524に移行する。
【0083】
一方、ステップS504で、検索により該当の制御バンドル400が索出されないと判定したとき(No)は、一連の処理を終了して元の処理に復帰させる。
〔2.本実施の形態の動作〕
次に、上記実施の形態の動作を説明する。
まず、ホームゲートウェイ200において各デバイス210〜220に対応した制御バンドル400を取得する場合を説明する。
【0084】
制御バンドル400を取得するには、ホームゲートウェイ200において、ユーザは、制御バンドル400の取得を要求する。ホームゲートウェイ200では、制御バンドル400の取得が要求されると、ステップS300,S302を経て、バンドル取得要求がバンドル管理サーバ100に送信される。
バンドル管理サーバ100では、バンドル取得要求を受信すると、ステップS200〜S204を経て、バンドル取得要求に係る制御バンドル400が生成され、生成された制御バンドル400がホームゲートウェイ200に送信される。
【0085】
ホームゲートウェイ200では、制御バンドル400を受信すると、ステップS304〜S310を経て、受信した制御バンドル400がRAM54に格納され、RAM54の制御バンドル400が実行される。これにより、対応するデバイス210〜220が適切に制御されることとなる。例えば、プリンタであるデバイス210に対応した制御バンドル400であれば、デバイス210により良好な印刷結果が得られるようになる。
【0086】
また、バンドル再構成バンドル402を取得するには、ホームゲートウェイ200において、ユーザは、バンドル再構成バンドル402の取得を要求する。ホームゲートウェイ200では、バンドル再構成バンドル402の取得が要求されると、ステップS300,S302を経て、バンドル取得要求がバンドル管理サーバ100に送信される。
【0087】
バンドル管理サーバ100では、バンドル取得要求を受信すると、ステップS200〜S204を経て、バンドル再構成バンドル402が生成され、生成されたバンドル再構成バンドル402がホームゲートウェイ200に送信される。
ホームゲートウェイ200では、バンドル再構成バンドル402を受信すると、ステップS304〜S310を経て、受信したバンドル再構成バンドル402がRAM54に格納され、RAM54のバンドル再構成バンドル402が実行される。これにより、バンドル結合処理およびバンドル分離処理がそれぞれ時分割で実行される。
【0088】
次に、複数の制御バンドル400を1つの制御バンドル400に結合する場合を説明する。
ホームゲートウェイ200では、バンドル再構成バンドル402が取得されると、バンドル結合処理が実行される。バンドル結合処理では、RAM54のメモリ使用率が所定値(例えば、80%)以上となり、かつ、その状態が所定期間(例えば、3時間)継続すると、ステップS410を経て、RAM54のなかから結合可能な制御バンドル400が検索される。その結果、該当の制御バンドル400が索出されると、ステップS414,S416を経て、制御バンドルaに含まれるパッケージと、制御バンドルbに含まれるパッケージとが対比されて共通パッケージが特定され、制御バンドルaに含まれるパッケージのうち共通パッケージ以外のもの、制御バンドルbに含まれるパッケージのうち共通パッケージ以外のもの、および共通パッケージが制御バンドルa,bから抽出される。
【0089】
次いで、ステップS418,S420を経て、制御バンドルaに含まれるコンポーネントと、制御バンドルbに含まれるコンポーネントとが対比されて共通コンポーネントが特定され、制御バンドルaに含まれるコンポーネントのうち共通コンポーネント以外のもの、制御バンドルbに含まれるコンポーネントのうち共通コンポーネント以外のもの、および共通コンポーネントが制御バンドルa,bから抽出される。
【0090】
次いで、ステップS422を経て、制御バンドルa,bに含まれるコンポーネント情報412に基づいて、制御バンドルaに含まれるクラスと、制御バンドルbに含まれるクラスとが対比されて共通クラスが特定される。このとき、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが完全一致していると、ステップS424,S426を経て、制御バンドルaに含まれるクラスのうち共通クラス以外のもの、制御バンドルbに含まれるクラスのうち共通クラス以外のもの、および共通クラスが制御バンドルa,bから抽出される。
【0091】
次いで、ステップS428を経て、抽出されたパッケージ、コンポーネントおよびクラス(クラスメソッドを含む。)の一覧が表示される。ここで、ホームゲートウェイ200のユーザが、表示された一覧のなかから機能的に不要なパッケージ、コンポーネント、クラスおよびクラスメソッドを指定すると、ステップS432を経て、抽出されたパッケージ、コンポーネントおよびクラスのうち指定のされたものが削除される。なお、削除されたパッケージ、コンポーネントおよびクラスは、結合後に分離可能となるように、それらの名称等の識別情報を削除項目ファイル等に記述して、結合後の制御バンドル400に内包する。
【0092】
そして、ステップS434,S436を経て、抽出されたパッケージ、コンポーネントおよびクラスをもとに、制御バンドルa,bが1つの制御バンドル400として再構成され、制御バンドルa,bがRAM54上から削除される。
なお、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが完全一致しない場合には、ステップS438を経て、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが対比されて共通クラスメソッドが特定され、制御バンドルaの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、制御バンドルbの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、および共通クラスメソッドを含むクラスが新たな共通クラスとして構成される。
【0093】
制御バンドル400の結合例を図面を参照しながら説明する。
図15は、制御バンドル400を結合する第1のパターンを示す図である。
図15の例では、制御バンドルAは、プリンタであるデバイス210のインク残量を監視するインク残量監視バンドルであり、制御バンドルAにより、デバイス210のインク残量が監視される。また、制御バンドルBは、デバイス210の紙残量を監視する紙残量監視バンドルであり、制御バンドルBにより、デバイス210の紙残量が監視される。また、制御バンドルA,Bには、デバイス210のステータスを監視するプリンタステータス監視コンポーネントが共通に含まれている。
【0094】
したがって、RAM54のメモリ使用率が所定値以上となり、かつ、その状態が所定期間継続すると、制御バンドルA,Bが結合可能な制御バンドルとして索出され、プリンタステータス監視コンポーネントが共通コンポーネントとして特定される。そして、制御バンドルA,Bは、プリンタステータス監視コンポーネントの重複を排除した制御バンドルCとして再構成される。すなわち、制御バンドルCは、制御バンドルAに含まれるコンポーネントのうちプリンタステータス監視コンポーネント以外のもの、制御バンドルBに含まれるコンポーネントのうちプリンタステータス監視コンポーネント以外のもの、およびプリンタステータス監視コンポーネントを有している。この結合により、プリンタステータス監視コンポーネント1つ分のメモリ容量を低減することができる。
【0095】
図16は、制御バンドル400を結合する第2のパターンを示す図である。
図15の例では、制御バンドルA,Bを一つの制御バンドルCとして再構成したが、制御バンドルCが有するクラス、コンポーネントおよびパッケージを提供可能な制御バンドルDを生成する。さらに、制御バンドルDに含まれるクラス、コンポーネントおよびパッケージのうち制御バンドルAを機能させるのに必要なものを参照する制御バンドルA’と、制御バンドルDに含まれるクラス、コンポーネントおよびパッケージのうち制御バンドルBを機能させるのに必要なものを参照する制御バンドルB’とを生成する。この場合、制御バンドルA’,B’には、クラス、コンポーネントおよびパッケージに代えてそれらを参照する参照情報が含まれている。このように、制御バンドルDをライブラリのように構成すれば、制御バンドルDに含まれるクラス、コンポーネントおよびパッケージを利用する他の制御バンドルが適用された場合は、同様にして、制御バンドルDに含まれるクラス、コンポーネントおよびパッケージのうちその制御バンドルを機能させるのに必要なものを参照する制御バンドルとして再構成することができる。したがって、メモリ容量の低減を効果的に行うことができる。
【0096】
図17は、制御バンドル400を結合する第3のパターンを示す図である。
図17の例では、制御バンドルAは、クラス等(クラスメソッド、クラス、コンポーネントまたはパッケージをいう。)450,452,454を有して構成されている。また、制御バンドルBは、クラス等450,456,458を有して構成されている。ここで、同一の符合は、同一内容のクラス等であることを示す。
【0097】
したがって、RAM54のメモリ使用率が所定値以上となり、かつ、その状態が所定期間継続すると、制御バンドルA,Bが結合可能な制御バンドルとして索出され、クラス等450が共通クラス等(共通クラス、共通コンポーネントまたは共通パッケージ等をいう。)として特定される。また、ホームゲートウェイ200のユーザにより、制御バンドルAについてはクラス等452が、制御バンドルBについてはクラス等456がそれぞれ不要なクラス等として指定されると、クラス等452,456が削除され、制御バンドルA,Bは、クラス等450,454,458を有する制御バンドルCとして再構成される。
【0098】
図18は、制御バンドル400を結合する第4のパターンを示す図である。
図18は、制御バンドルAの共通クラスに含まれるクラスメソッドと、制御バンドルBの共通クラスに含まれるクラスメソッドとが完全一致していない場合に制御バンドルA,Bを結合する例を示している。図18の例では、制御バンドルA,Bには共通クラスとしてクラスQが含まれているが、制御バンドルAのクラスQには、クラスメソッドX,Yが、制御バンドルBのクラスQには、クラスメソッドX,Zがそれぞれ含まれており、制御バンドルA,Bのクラスメソッドが完全一致してない。
【0099】
したがって、RAM54のメモリ使用率が所定値以上となり、かつ、その状態が所定期間継続すると、制御バンドルA,Bが結合可能な制御バンドルとして索出され、クラスQが共通クラスとして特定される。このとき、制御バンドルAのクラスQに含まれるクラスメソッドと、制御バンドルBのクラスQに含まれるクラスメソッドとが完全一致していないので、クラスメソッドXが共通クラスとして特定され、クラスメソッドX,Y,Zを有するクラスが新たな共通クラスQとして構成される。そして、制御バンドルA,Bは、新たな共通クラスQを有する制御バンドルCとして再構成される。これにより、制御バンドルCのうち制御バンドルAの機能に係る部分も、制御バンドルCのうち制御バンドルBの機能に係る部分も不具合なく動作することができる。
【0100】
図19は、制御バンドル400を結合する第5のパターンを示す図である。
図19は、図18の例と同様に、制御バンドルAの共通クラスに含まれるクラスメソッドと、制御バンドルBの共通クラスに含まれるクラスメソッドとが完全一致していない場合に制御バンドルA,Bを結合する例を示しており、図18の場合と異なるのは、結合の際に不要なクラスメソッドを削除する点にある。図18の例では、制御バンドルA,Bには共通クラスとしてクラスQが含まれているが、制御バンドルAのクラスQには、クラスメソッドX,Y,αが、制御バンドルBのクラスQには、クラスメソッドX,Z,βがそれぞれ含まれている。
【0101】
したがって、RAM54のメモリ使用率が所定値以上となり、かつ、その状態が所定期間継続すると、制御バンドルA,Bが結合可能な制御バンドルとして索出され、クラスQが共通クラスとして特定される。このとき、制御バンドルAのクラスQに含まれるクラスメソッドと、制御バンドルBのクラスQに含まれるクラスメソッドとが完全一致していないので、クラスメソッドXが共通クラスとして特定され、クラスメソッドX,Y,Zを有するクラスが新たな共通クラスQとして構成される。また、ホームゲートウェイ200のユーザにより、制御バンドルAについてはクラスメソッドYが、制御バンドルBについてはクラスメソッドZがそれぞれ不要なクラスメソッドとして指定されると、クラスメソッドY,Zが削除され、制御バンドルA,Bは、クラスメソッドX,α,βを有する制御バンドルCとして再構成される。これにより、制御バンドルCのうち制御バンドルAの機能に係る部分も、制御バンドルCのうち制御バンドルBの機能に係る部分も不具合なく動作することができるとともに、不要なクラスメソッドX,Yが削除されるので、メモリ容量の低減を効果的に行うことができる。
【0102】
次に、結合した制御バンドル400を複数の制御バンドル400に分離する場合を説明する。
ホームゲートウェイ200では、バンドル再構成バンドル402が取得されると、バンドル分離処理が実行される。バンドル分離処理では、ホームゲートウェイ200のユーザにより制御バンドル400の分離が要求されると、ステップS502を経て、RAM54のなかから分離可能な制御バンドル400が検索される。その結果、該当の制御バンドル400が索出されると、ステップS506,S508を経て、制御バンドルcのなかから共通パッケージが特定され、共通パッケージを含むすべてのパッケージが制御バンドルcから抽出される。
【0103】
次いで、ステップS510,S512を経て、制御バンドルcのなかから共通コンポーネントが特定され、共通コンポーネントを含むすべてのコンポーネントが制御バンドルcから抽出される。
次いで、ステップS514,S516を経て、制御バンドルcに含まれるコンポーネント情報412に基づいて制御バンドルcのなかから共通クラスが特定され、共通クラスを含むすべてのクラスが制御バンドルcから抽出される。
【0104】
次いで、ステップS518を経て、抽出されたパッケージ、コンポーネントおよびクラス(クラスメソッドを含む。)の一覧が表示される。ここで、ホームゲートウェイ200のユーザが、表示された一覧のなかから機能的に不要なパッケージ、コンポーネント、クラスおよびクラスメソッドを指定すると、ステップS522を経て、抽出されたパッケージ、コンポーネントおよびクラスのうち指定のされたものが削除される。
【0105】
そして、ステップS528,S530を経て、抽出されたパッケージ、コンポーネントおよびクラスをもとに、制御バンドルcが結合前の制御バンドルa,bとして再構成され、制御バンドルcがRAM54上から削除される。
なお、制御バンドルa,bを再構成するにあたって必要なパッケージ、コンポーネント、クラスおよびクラスメソッドが不足している場合には、ステップS526,S528を経て、必要なパッケージ、コンポーネント、クラスおよびクラスメソッドで不足しているものがバンドル管理サーバ100から取得され、抽出されたパッケージ、コンポーネントおよびクラス、並びに取得されたパッケージ、コンポーネントおよびクラスをもとに、制御バンドルcが結合前の制御バンドルa,bとして再構成される。
【0106】
制御バンドル400の分離例を図面を参照しながら説明する。
図20は、制御バンドル400を分離する第1のパターンを示す図である。
図20は、図15の例により結合した制御バンドルCを元の制御バンドルA,Bに分離する場合を示している。図20の例では、ユーザにより制御バンドル400の分離が要求されると、制御バンドルCが分離可能な制御バンドルとして索出され、プリンタステータス監視コンポーネントが共通コンポーネントとして特定される。そして、制御バンドルCは、プリンタステータス監視コンポーネントをそれぞれ有する元の制御バンドルA,Bとして再構成される。
【0107】
図21は、制御バンドル400を分離する第2のパターンを示す図である。
図21は、図16の例により結合した制御バンドルD,A’,B’を元の制御バンドルA,Bに分離する場合を示している。図21の例では、ユーザにより制御バンドル400の分離が要求されると、制御バンドルD,A’,B’が分離可能な制御バンドルとして索出され、プリンタステータス監視コンポーネントが共通コンポーネントとして特定される。そして、制御バンドルD,A’,B’は、プリンタステータス監視コンポーネントをそれぞれ有する元の制御バンドルA,Bとして再構成される。
【0108】
図22は、制御バンドル400を分離する第3のパターンを示す図である。
図22は、図17の例により結合した制御バンドルCを元の制御バンドルA,Bに分離する場合を示している。図22の例では、ユーザにより制御バンドル400の分離が要求されると、制御バンドルCが分離可能な制御バンドルとして索出され、クラス等450が共通クラスとして特定される。しかし、制御バンドルCには、制御バンドルA,Bを再構成するにあたってクラス等452,456が不足しているので、クラス等452,456がバンドル管理サーバ100から取得される。そして、制御バンドルCは、クラス等450,452,454を有する元の制御バンドルA、およびクラス等450,456,458を有する元の制御バンドルBとして再構成される。
【0109】
図23は、制御バンドル400を分離する第4のパターンを示す図である。
図23は、図18の例により結合した制御バンドルCを元の制御バンドルA,Bに分離する場合を示している。図23の例では、ユーザにより制御バンドル400の分離が要求されると、制御バンドルCが分離可能な制御バンドルとして索出され、クラスQが共通クラスとして特定される。そして、制御バンドルCは、クラスメソッドX,Yを含むクラスQを有する元の制御バンドルA、およびクラスメソッドX,Yを含むクラスQを有する元の制御バンドルBとして再構成される。
【0110】
図24は、制御バンドル400を分離する第5のパターンを示す図である。
図24は、図19の例により結合した制御バンドルCを元の制御バンドルA,Bに分離する場合を示している。図24の例では、ユーザにより制御バンドル400の分離が要求されると、制御バンドルCが分離可能な制御バンドルとして索出され、クラスQが共通クラスとして特定される。しかし、制御バンドルCには、制御バンドルA,Bを再構成するにあたってクラスメソッドY,Zが不足しているので、クラスメソッドY,Zがバンドル管理サーバ100から取得される。そして、制御バンドルCは、クラスメソッドX,Y,αを有する元の制御バンドルA、およびクラスメソッドX,Z,βを有する元の制御バンドルBとして再構成される。
【0111】
一方、ホームゲートウェイ200のユーザは、バンドル400,402の提供を受けるためには、バンドル管理サーバ100に対してあらかじめユーザ登録を行っておくことが望ましい。
ユーザ登録を行う場合、ホームゲートウェイ200において、ユーザは、例えば、ユーザ名、パスワード、氏名、住所、性別、年齢、職業、所属グループ、提供を許可するサービスおよびホームゲートウェイ200のアドレスを含むユーザ情報を入力する。ユーザ情報が入力されると、入力されたユーザ情報がユーザ登録要求とともにバンドル管理サーバ100に送信する。
【0112】
バンドル管理サーバ100では、ユーザ登録要求を受信すると、ステップS100〜S104を経て、ユーザ情報を受信し、受信したユーザ情報が記憶装置42に登録される。
また、ユーザ情報の変更・更新、またはユーザ情報若しくはホームゲートウェイ200の公開を行うこともできる。
【0113】
これらを行う場合、ホームゲートウェイ200において、ユーザは、バンドル管理サーバ100に管理要求を送信する。
バンドル管理サーバ100では、管理要求を受信すると、ステップS150〜S156を経て、要求内容が判定され、管理要求が適切なものであれば、ユーザ認証処理が行われる。その結果、ユーザ認証が得られると、ステップS158,S160を経て、管理要求の内容に応じたそれぞれの処理が実行される。すなわち、ユーザ情報の変更・更新に係る管理要求であれば、ユーザ情報の変更・更新が行われ、ユーザ情報またはホームゲートウェイ200の公開に係る管理要求であれば、ユーザ情報またはホームゲートウェイ200が要求元に対して公開される。
〔3.本実施の形態の効果〕
〔3−1.効果1〕
このようにして、本実施の形態では、制御バンドルaに含まれるクラス、コンポーネントおよびパッケージと、制御バンドルbに含まれるクラス、コンポーネントおよびパッケージとを対比してそれらに共通するクラス、コンポーネントおよびパッケージをそれぞれ共通クラス、共通コンポーネントおよび共通パッケージとして特定し、共通クラス、共通コンポーネントおよび共通パッケージが重複しないように、制御バンドルaおよび制御バンドルbを1つの制御バンドル400として再構成するようになっている。
【0114】
これにより、共通クラス、共通コンポーネントおよび共通パッケージの重複を排除して制御バンドル400が再構成されるので、従来に比して、ホームゲートウェイ200においてメモリの利用効率を向上することができる。ここで、メモリの利用効率には、RAM54の利用効率だけでなく、ホームゲートウェイ200にHDD等の記憶装置を設けた場合には、制御バンドル400が記憶装置にも格納されるので記憶装置の利用効率も含まれる。以下、同じ。
【0115】
〔3−2.効果2〕
さらに、本実施の形態では、制御バンドルaおよび制御バンドルbを、制御バンドルaに含まれるクラスのうち共通クラス以外のもの、制御バンドルbに含まれるクラスのうち共通クラス以外のもの、および共通クラスを有する1つの制御バンドル400として再構成するようになっている。
【0116】
これにより、共通クラスの重複を積極的に排除して制御バンドル400が再構成されるので、メモリの利用効率をさらに向上することができる。
〔3−3.効果3〕
さらに、本実施の形態では、制御バンドルaおよび制御バンドルbを、制御バンドルaに含まれるコンポーネントのうち共通コンポーネント以外のもの、制御バンドルbに含まれるコンポーネントのうち共通コンポーネント以外のもの、および共通コンポーネントを有する1つの制御バンドル400として再構成するようになっている。
【0117】
これにより、共通コンポーネントの重複を積極的に排除して制御バンドル400が再構成されるので、メモリの利用効率をさらに向上することができる。
〔3−4.効果4〕
さらに、本実施の形態では、制御バンドルaおよび制御バンドルbを、制御バンドルaに含まれるパッケージのうち共通パッケージ以外のもの、制御バンドルbに含まれるパッケージのうち共通パッケージ以外のもの、および共通パッケージを有する1つの制御バンドル400として再構成するようになっている。
【0118】
これにより、共通パッケージの重複を積極的に排除して制御バンドル400が再構成されるので、メモリの利用効率をさらに向上することができる。
〔3−5.効果5〕
さらに、本実施の形態では、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが完全一致していないときは、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとを対比してそれら共通クラスに共通して含まれるクラスメソッドを共通クラスメソッドとして特定し、制御バンドルaの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、制御バンドルbの共通クラスに含まれるクラスメソッドのうち共通クラスメソッド以外のもの、および共通クラスメソッドを含むクラスを共通クラスとして構成するようになっている。
【0119】
これにより、制御バンドルaの共通クラスに含まれるクラスメソッドと、制御バンドルbの共通クラスに含まれるクラスメソッドとが完全一致していない場合に、制御バンドル400を結合して再構成を行った後に不具合が生じる可能性を低減することができる。
〔3−6.効果6〕
さらに、本実施の形態では、制御バンドルaに含まれるクラス、コンポーネントおよびパッケージのうち共通クラス、共通コンポーネントおよび共通パッケージ以外のものであって不要なものがそれぞれ不要クラス、不要コンポーネントおよび不要パッケージとして指定されたときは、制御バンドルaおよび制御バンドルbを、不要クラス、不要コンポーネントおよび不要パッケージを有しない1つの制御バンドル400として再構成するようになっている。
【0120】
これにより、制御バンドル400を結合して再構成するにあたって、制御バンドルaに含まれる不要クラス、不要コンポーネントおよび不要パッケージが排除されるので、メモリの利用効率をさらに向上することができる。
〔3−7.効果7〕
さらに、本実施の形態では、制御バンドルbに含まれるクラス、コンポーネントおよびパッケージのうち共通クラス、共通コンポーネントおよび共通パッケージ以外のものであって不要なものがそれぞれ不要クラス、不要コンポーネントおよび不要パッケージとして指定されたときは、制御バンドルaおよび制御バンドルbを、不要クラス、不要コンポーネントおよび不要パッケージを有しない1つの制御バンドル400として再構成するようになっている。
【0121】
これにより、制御バンドル400を結合して再構成するにあたって、制御バンドルaおよび制御バンドルbに含まれる不要クラス、不要コンポーネントおよび不要パッケージが排除されるので、メモリの利用効率をさらに向上することができる。
〔3−8.効果8〕
さらに、本実施の形態では、RAM54の制御バンドル400に含まれる複数のクラスのなかから、複数のクラスのうち第1のクラスと、複数のクラスのうち第2のクラスとが共通に利用するクラスを共通クラスとして特定し、RAM54の制御バンドル400を、第1のクラスおよび共通クラスを少なくとも有する制御バンドルa、並びに第2のクラスおよび共通クラスを少なくとも有する制御バンドルbとして再構成するようになっている。
【0122】
これにより、制御バンドル400を分離して機能的に不要なものを削除することにより制御バンドル400の整理を行えば、不要なクラスを効果的に排除することができるので、メモリの利用効率をさらに向上することができる。
〔3−9.効果9〕
さらに、本実施の形態では、RAM54の制御バンドル400に含まれる複数のコンポーネントのなかから、複数のコンポーネントのうち第1のコンポーネントと、複数のコンポーネントのうち第2のコンポーネントとが共通に利用するコンポーネントを共通コンポーネントとして特定し、RAM54の制御バンドル400を、第1のコンポーネントおよび共通コンポーネントを少なくとも有する制御バンドルa、並びに第2のコンポーネントおよび共通コンポーネントを少なくとも有する制御バンドルbとして再構成するようになっている。
【0123】
これにより、制御バンドル400を分離して機能的に不要なものを削除することにより制御バンドル400の整理を行えば、不要なコンポーネントを効果的に排除することができるので、メモリの利用効率をさらに向上することができる。
〔3−10.効果10〕
さらに、本実施の形態では、RAM54の制御バンドル400に含まれる複数のパッケージのなかから、複数のパッケージのうち第1のパッケージと、複数のパッケージのうち第2のパッケージとが共通に利用するパッケージを共通パッケージとして特定し、RAM54の制御バンドル400を、第1のパッケージおよび共通パッケージを少なくとも有する制御バンドルa、並びに第2のパッケージおよび共通パッケージを少なくとも有する制御バンドルbとして再構成するようになっている。
【0124】
これにより、制御バンドル400を分離して機能的に不要なものを削除することにより制御バンドル400の整理を行えば、不要なパッケージを効果的に排除することができるので、メモリの利用効率をさらに向上することができる。
〔3−11.効果11〕
さらに、本実施の形態では、RAM54のメモリ使用率が所定値以上となった状態が所定期間継続したときは、制御バンドル400を再構成するようになっている。
【0125】
これにより、RAM54のメモリ使用率が所定値以上となった状態が所定期間継続したときに初めて制御バンドル400の再構成が行われるので、制御バンドル400の再構成が頻繁に行われることにより他の処理に負荷を与える可能性を低減することができる。
〔4.請求範囲との対応関係〕
上記実施の形態において、バンドル管理サーバ100は、発明7のバンドル提供端末に対応し、ホームゲートウェイ200は、発明7のゲートウェイ端末に対応し、RAM54は、発明1ないし3、5、15ないし18、21ないし24の記憶手段に対応し、クラスメソッド、クラス、コンポーネントおよびパッケージは、発明1ないし6、8、15ないし17、21ないし24の機能部に対応している。また、共通クラス、共通コンポーネントおよび共通パッケージは、発明1ないし6、21ないし24の共通機能部に対応し、ステップS202は、発明7のバンドル生成手段に対応し、ステップS204は、発明7のバンドル送信手段に対応している。
【0126】
また、上記実施の形態において、ステップS302,S304は、発明3、5または7のバンドル取得手段に対応し、ステップS306は、発明3、5または7のバンドル格納手段に対応し、ステップS308は、発明3、5または7のバンドル実行手段に対応し、ステップS400〜S442,S500〜S530は、発明3ないし19のバンドル再構成手段に対応している。
〔5.他の実施の形態〕
〔5−1.形態1〕
なお、上記実施の形態においては、制御バンドル400の再構成をホームゲートウェイ200で行うように構成したが、これに限らず、バンドル管理サーバ100その他の端末で行うように構成することもできる。バンドル管理サーバ100で行う場合、バンドル管理サーバ100は、制御バンドル400を受信し、受信した制御バンドル400をバンドル再構成バンドルと同一の手法により再構成し、再構成した制御バンドル400をホームゲートウェイ200に送信する。また、ホームゲートウェイ200は、ホームゲートウェイ200での処理負荷が大きい場合(例えば、CPU占有率が30%以上の場合)、またはホームゲートウェイ200のメモリ容量が不足している場合(例えば、メモリ使用率が90%の場合)など、制御バンドル400の再構成が困難であると判定したときは、再構成の対象となる制御バンドル400をバンドル管理サーバ100に送信する。なお、バンドル管理サーバ100以外の端末(例えば、他のホームゲートウェイ200)で再構成を代行する場合もこれと同じ要領で行うことができる。
【0127】
これにより、制御バンドル400の再構成が困難である場合には、バンドル管理サーバ100が制御バンドル400の再構成を代行してくれるので、制御バンドル400の再構成に伴ってホームゲートウェイ200にかかる負担を低減することができる。
この場合において、バンドル管理サーバ100は、発明20のバンドル再構成代行端末に対応し、ホームゲートウェイ200は、発明20のゲートウェイ端末に対応し、ステップS400〜S442,S500〜S530は、発明20のバンドル再構成手段に対応している。
【0128】
〔5−2.形態2〕
また、上記実施の形態においては、制御バンドル400の再構成をホームゲートウェイ200で行うように構成したが、これに限らず、バンドル管理サーバ100および複数のホームゲートウェイ200を分散結合して、それらの端末で協調的に行うように構成することもできる。
【0129】
〔5−3.形態3〕
また、上記実施の形態においては、バンドル400,402をバンドル取得要求に応じて生成し、生成したバンドル400,402をホームゲートウェイ200に送信するように構成したが、これに限らず、バンドル400,402をあらかじめ生成して記憶装置42に格納しておき、バンドル取得要求を受信したときは、受信したバンドル取得要求に係るバンドル400,402を記憶装置42から読み出し、読み出したバンドル400,402をホームゲートウェイ200に送信するように構成することもできる。
【0130】
〔5−4.形態4〕
また、上記実施の形態においては、制御バンドル400を結合する場合、2つの制御バンドル400を1つの制御バンドル400として再構成するように構成したが、これに限らず、3つ以上の制御バンドル400を1つの制御バンドルとして再構成するように構成することもできる。より広義には、m(mは2以上の整数)個の制御バンドル400をn(nは1以上の整数でかつm>n)として再構成するように構成することができる。
【0131】
〔5−5.形態5〕
また、上記実施の形態においては、制御バンドル400を分離する場合、1つの制御バンドル400を2つの制御バンドル400として再構成するように構成したが、これに限らず、1つの制御バンドル400を3つ以上の制御バンドル400として再構成するように構成することもできる。より広義には、m(mは1以上の整数)個の制御バンドル400をn(nは2以上の整数でかつn>m)として再構成するように構成することができる。
【0132】
〔5−6.形態6〕
また、上記実施の形態においては、再構成した制御バンドル400を分離するように構成したが、これに限らず、1度も再構成されていない制御バンドル400を分離するように構成することもできる。
〔5−7.形態7〕
また、上記実施の形態においては、RAM54のメモリ使用率が所定値以上となった状態が所定期間継続したときは、制御バンドル400を再構成するように構成したが、これに限らず、例えば、CPU占有率が所定値以下となったときは、制御バンドル400を再構成するように構成することもできる。
【0133】
〔5−8.形態8〕
また、上記実施の形態においては、プリンタ、プロジェクタ、サウンドシステム、PCおよび電子レンジをデバイスとして採用したが、これに限らず、ディジタルカメラ、ディジタルビデオカメラ、冷蔵庫、テレビ、ゲーム機および携帯情報端末(PDAを含む。)をデバイスとして採用してもよい。
【0134】
〔5−9.形態9〕
また、上記実施の形態においては、ホームゲートウェイ200にバンドルを適用するように構成したが、これに限らず、例えば、ネットワーク対応のプリンタ、プロジェクタ、スキャナ、ディジタルカメラ、ディジタルビデオカメラ、ネットワークカード、PC、PDA、ネットワークストレージ、オーディオ機器、携帯電話、PHS(登録商標)(Personal Handyphone System)、腕時計、ウォッチ型PDA、STB、POS(Point Of Sale)端末、コピー機、FAX機、電話(IP電話等も含む。)、交換機、NCU(Network Control Unit)、ルータ、ハブ、ブリッジ、その他プログラム実行可能なデバイスにバンドルを適用するように構成することもできる。本発明は、HDDを持たないようなデバイスでも、RAMやフラッシュさえあれば動作が可能である。また、ホームゲートウェイがない環境でも、プリンタ、スキャナ、プロジェクタ、デジカメ、オーディオ、(白物)家電等の各種デバイスに、ホームゲートウェイの役割を果たす機能が搭載されていれば動作可能である。
【0135】
〔5−10.形態10〕
また、上記実施の形態において、図3ないし図5のフローチャートに示す処理を実行するにあたっては、ROM32にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをRAM34に読み込んで実行するようにしてもよい。
【0136】
また、上記実施の形態において、図12ないし図14のフローチャートに示す処理を実行するにあたってはいずれも、ROM52にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをRAM54に読み込んで実行するようにしてもよい。
【0137】
ここで、記憶媒体とは、RAM、ROM等の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒体、CD、CDV、LD、DVD等の光学的読取方式記憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【0138】
〔5−11.形態11〕
また、上記実施の形態においては、本発明に係るバンドル再構成システムおよびバンドル再構成プログラム、並びにバンドル再構成方法を、インターネット199からなるネットワークシステムに適用した場合について説明したが、これに限らず、例えば、インターネット199と同一方式により通信を行ういわゆるイントラネットに適用してもよい。もちろん、インターネット199と同一方式により通信を行うネットワークに限らず、通常のネットワークに適用することもできる。
【0139】
〔5−12.形態12〕
また、上記実施の形態においては、本発明に係るバンドル再構成システムおよびバンドル再構成プログラム、並びにバンドル再構成方法を、図1に示すように、ホームゲートウェイ200において、バンドル管理サーバ100から複数のバンドルを取得し、取得したバンドルをそのメモリ使用率に応じて再構成する場合について適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。
【0140】
【発明の効果】
以上説明したように、本発明に係る請求項1、3または5記載のバンドル再構成システムによれば、共通機能部の重複を排除してバンドルが再構成されるので、従来に比して、動的にバンドルが組み込まれるホームゲートウェイその他の情報処理装置においてメモリの利用効率を向上することができるという効果が得られる。
【0141】
さらに、本発明に係る請求項2、4または6記載のバンドル再構成システムによれば、バンドルを分離して機能的に不要なものを削除することによりバンドルの整理を行えば、不要な機能部を効果的に排除することができるので、従来に比して、動的にバンドルが組み込まれるホームゲートウェイその他の情報処理装置においてメモリの利用効率を向上することができるという効果が得られる。
【0142】
さらに、本発明に係る請求項7ないし20記載のバンドル再構成システムによれば、共通機能部の重複を排除してバンドルが再構成されるとともに、バンドルを分離して機能的に不要なものを削除することによりバンドルの整理を行えば、不要な機能部を効果的に排除することができるので、従来に比して、動的にバンドルが組み込まれるゲートウェイ端末においてメモリの利用効率を向上することができるという効果が得られる。
【0143】
さらに、本発明に係る請求項8ないし14記載のバンドル再構成システムによれば、共通クラス、共通コンポーネントおよび共通パッケージの重複を排除してバンドルが再構成されるので、メモリの利用効率をさらに向上することができるという効果も得られる。
さらに、本発明に係る請求項9記載のバンドル再構成システムによれば、共通クラスの重複を積極的に排除してバンドルが再構成されるので、メモリの利用効率をさらに向上することができるという効果も得られる。
【0144】
さらに、本発明に係る請求項10記載のバンドル再構成システムによれば、共通コンポーネントの重複を積極的に排除してバンドルが再構成されるので、メモリの利用効率をさらに向上することができるという効果も得られる。
さらに、本発明に係る請求項11記載のバンドル再構成システムによれば、共通パッケージの重複を積極的に排除してバンドルが再構成されるので、メモリの利用効率をさらに向上することができるという効果も得られる。
【0145】
さらに、本発明に係る請求項12記載のバンドル再構成システムによれば、第1のバンドルの共通クラスに含まれるクラスメソッドと、第2のバンドルの共通クラスに含まれるクラスメソッドとが完全一致していない場合に、バンドルを結合して再構成を行った後に不具合が生じる可能性を低減することができるという効果も得られる。
【0146】
さらに、本発明に係る請求項13または14記載のバンドル再構成システムによれば、バンドルを結合して再構成するにあたって、第1のバンドルに含まれる不要クラス、不要コンポーネントおよび不要パッケージが排除されるので、メモリの利用効率をさらに向上することができるという効果も得られる。
さらに、本発明に係る請求項14記載のバンドル再構成システムによれば、バンドルを結合して再構成するにあたって、第1のバンドルおよび第2のバンドルに含まれる不要クラス、不要コンポーネントおよび不要パッケージが排除されるので、メモリの利用効率をさらに向上することができるという効果も得られる。
【0147】
さらに、本発明に係る請求項15記載のバンドル再構成システムによれば、バンドルを分離して機能的に不要なものを削除することによりバンドルの整理を行えば、不要なクラスを効果的に排除することができるので、メモリの利用効率をさらに向上することができるという効果も得られる。
さらに、本発明に係る請求項16記載のバンドル再構成システムによれば、バンドルを分離して機能的に不要なものを削除することによりバンドルの整理を行えば、不要なコンポーネントを効果的に排除することができるので、メモリの利用効率をさらに向上することができるという効果も得られる。
【0148】
さらに、本発明に係る請求項17記載のバンドル再構成システムによれば、バンドルを分離して機能的に不要なものを削除することによりバンドルの整理を行えば、不要なパッケージを効果的に排除することができるので、メモリの利用効率をさらに向上することができるという効果も得られる。
さらに、本発明に係る請求項18記載のバンドル再構成システムによれば、記憶手段のメモリ使用率が所定値以上となった状態が所定期間継続したときに初めてバンドルの再構成が行われるので、バンドルの再構成が頻繁に行われることにより他の処理に負荷を与える可能性を低減することができるという効果も得られる。
【0149】
さらに、本発明に係る請求項20記載のバンドル再構成システムによれば、バンドルの再構成が困難である場合には、バンドル再構成代行端末がバンドルの再構成を代行してくれるので、バンドルの再構成に伴ってゲートウェイ端末にかかる負担を低減することができるという効果も得られる。
一方、本発明に係る請求項21記載のバンドル再構成プログラムによれば、請求項1記載のバンドル再構成システムと同等の効果が得られる。
【0150】
さらに、本発明に係る請求項22記載のバンドル再構成プログラムによれば、請求項2記載のバンドル再構成システムと同等の効果が得られる。
一方、本発明に係る請求項23記載のバンドル再構成方法によれば、請求項1記載のバンドル再構成システムと同等の効果が得られる。
さらに、本発明に係る請求項24記載のバンドル再構成方法によれば、請求項2記載のバンドル再構成システムと同等の効果が得られる。
【図面の簡単な説明】
【図1】本発明を適用するネットワークシステムの構成を示すブロック図である。
【図2】バンドル管理サーバ100の構成を示すブロック図である。
【図3】バンドル管理サーバ100で実行するユーザ登録処理を示すフローチャートである。
【図4】バンドル管理サーバ100で実行するユーザ管理処理を示すフローチャートである。
【図5】バンドル管理サーバ100で実行するバンドル提供処理を示すフローチャートである。
【図6】バンドルのデータ構造を示す図である。
【図7】バンドルのデータ構造を示す図である。
【図8】コンポーネント情報412のデータ構造を示す図である。
【図9】コンポーネント410のデータ構造を示す図である。
【図10】クラス情報422のデータ構造を示す図である。
【図11】ホームゲートウェイ200の構成を示すブロック図である。
【図12】ホームゲートウェイ200で実行するバンドル取得処理を示すフローチャートである。
【図13】バンドル結合処理を示すフローチャートである。
【図14】バンドル分離処理を示すフローチャートである。
【図15】制御バンドル400を結合する第1のパターンを示す図である。
【図16】制御バンドル400を結合する第2のパターンを示す図である。
【図17】制御バンドル400を結合する第3のパターンを示す図である。
【図18】制御バンドル400を結合する第4のパターンを示す図である。
【図19】制御バンドル400を結合する第5のパターンを示す図である。
【図20】制御バンドル400を分離する第1のパターンを示す図である。
【図21】制御バンドル400を分離する第2のパターンを示す図である。
【図22】制御バンドル400を分離する第3のパターンを示す図である。
【図23】制御バンドル400を分離する第4のパターンを示す図である。
【図24】制御バンドル400を分離する第5のパターンを示す図である。
【符号の説明】
100…バンドル管理サーバ,200…ホームゲートウェイ,210〜220…デバイス,199…インターネット,30,50…CPU,32,52…ROM,34,54…RAM,38,58…I/F,40…入力装置,42…記憶装置,44…表示装置,400…制御バンドル,402…バンドル再構成バンドル,410…コンポーネント,412…コンポーネント情報,414…バンドルコントローラ,420…クラス,422…クラス情報,424…コンポーネント制御クラス,450〜458…クラス等

Claims (24)

  1. 1又は異なる複数の機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
    少なくとも2つの前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、及び前記共通機能部を有する1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  2. 少なくとも3つの機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
    前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部及び前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部及び前記共通機能部を少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  3. 1又は異なる複数の機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
    前記バンドルを取得するバンドル取得手段と、前記バンドル取得手段で取得したバンドルを記憶手段に格納するバンドル格納手段と、前記記憶手段のバンドルを実行させるバンドル実行手段と、前記記憶手段のバンドルのうち少なくとも2つのものを結合して1つのバンドルとして再構成するバンドル再構成手段とを備え、
    前記バンドル再構成手段は、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、及び前記共通機能部を有する1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  4. 請求項3において、
    前記バンドル再構成手段は、前記1つのバンドルに含まれる複数の機能部のなかから前記共通機能部を特定し、前記1つのバンドルを、前記第1のバンドル及び前記第2のバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  5. 少なくとも3つの機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するシステムであって、
    前記バンドルを取得するバンドル取得手段と、前記バンドル取得手段で取得したバンドルを記憶手段に格納するバンドル格納手段と、前記記憶手段のバンドルを実行させるバンドル実行手段と、前記記憶手段のバンドルを分離して少なくとも2つのバンドルとして再構成するバンドル再構成手段とを備え、
    前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部及び前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部及び前記共通機能部を少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  6. 請求項5において、
    前記バンドル再構成手段は、前記第1のバンドルに含まれる機能部と、前記第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を前記共通機能部として特定し、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、及び前記共通機能部を有する1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  7. 請求項4及び6のいずれかにおいて、
    デバイスを通信可能に接続するゲートウェイ端末と、前記ゲートウェイ端末からの取得要求に応じて前記バンドルを提供するバンドル提供端末とを通信可能に接続し、
    前記バンドル提供端末は、前記バンドルを生成するバンドル生成手段と、前記バンドル生成手段で生成したバンドルを前記取得要求に応じて前記ゲートウェイ端末に送信するバンドル送信手段とを有し、
    前記ゲートウェイ端末は、前記バンドル取得手段、前記バンドル格納手段、前記バンドル実行手段及び前記バンドル再構成手段を有し、
    前記バンドル取得手段は、前記バンドル提供端末に前記取得要求を送信し、前記バンドル提供端末から前記バンドルを取得するようになっていることを特徴とするバンドル再構成システム。
  8. 請求項7において、
    前記バンドルは、前記機能部としてのクラスを複数含むコンポーネントと、当該バンドルに含まれる複数のクラスの論理的結合を規定したパッケージとを有してなり、
    前記バンドル再構成手段は、前記第1のバンドルに含まれるクラス、コンポーネント及びパッケージと、前記第2のバンドルに含まれるクラス、コンポーネント及びパッケージとを対比してそれらに共通するクラス、コンポーネント及びパッケージをそれぞれ共通クラス、共通コンポーネント及び共通パッケージとして特定し、前記共通クラス、前記共通コンポーネント及び前記共通パッケージが重複しないように、前記第1のバンドル及び前記第2のバンドルを1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  9. 請求項8において、
    前記バンドル再構成手段は、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれるクラスのうち前記共通クラス以外のもの、前記第2のバンドルに含まれるクラスのうち前記共通クラス以外のもの、及び前記共通クラスを有する1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  10. 請求項8及び9のいずれかにおいて、
    前記バンドル再構成手段は、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれるコンポーネントのうち前記共通コンポーネント以外のもの、前記第2のバンドルに含まれるコンポーネントのうち前記共通コンポーネント以外のもの、及び前記共通コンポーネントを有する1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  11. 請求項8乃至10のいずれかにおいて、
    前記バンドル再構成手段は、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれるパッケージのうち前記共通パッケージ以外のもの、前記第2のバンドルに含まれるパッケージのうち前記共通パッケージ以外のもの、及び前記共通パッケージを有する1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  12. 請求項8乃至11のいずれかにおいて、
    前記クラスは、複数のクラスメソッドを含み、
    前記バンドル再構成手段は、前記第1のバンドルの共通クラスに含まれるクラスメソッドと、前記第2のバンドルの共通クラスに含まれるクラスメソッドとが完全一致していないときは、前記第1のバンドルの共通クラスに含まれるクラスメソッドと、前記第2のバンドルの共通クラスに含まれるクラスメソッドとを対比してそれら共通クラスに共通して含まれるクラスメソッドを共通クラスメソッドとして特定し、前記第1のバンドルの共通クラスに含まれるクラスメソッドのうち前記共通クラスメソッド以外のもの、前記第2のバンドルの共通クラスに含まれるクラスメソッドのうち前記共通クラスメソッド以外のもの、及び前記共通クラスメソッドを含むクラスを前記共通クラスとして構成するようになっていることを特徴とするバンドル再構成システム。
  13. 請求項8乃至12のいずれかにおいて、
    前記バンドル再構成手段は、前記第1のバンドルに含まれるクラス、コンポーネント及びパッケージのうち前記共通クラス、前記共通コンポーネント及び前記共通パッケージ以外のものであって不要なものがそれぞれ不要クラス、不要コンポーネント及び不要パッケージとして指定されたときは、前記第1のバンドル及び前記第2のバンドルを、前記不要クラス、前記不要コンポーネント及び前記不要パッケージを有しない1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  14. 請求項13において、
    前記バンドル再構成手段は、前記第2のバンドルに含まれるクラス、コンポーネント及びパッケージのうち前記共通クラス、前記共通コンポーネント及び前記共通パッケージ以外のものであって不要なものがそれぞれ前記不要クラス、前記不要コンポーネント及び前記不要パッケージとして指定されたときは、前記第1のバンドル及び前記第2のバンドルを、前記不要クラス、前記不要コンポーネント及び前記不要パッケージを有しない1つのバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  15. 請求項7において、
    前記バンドルは、前記機能部としてのクラスを少なくとも3つ含むコンポーネントを有してなり、
    前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数のクラスのなかから、当該複数のクラスのうち第1のクラスと、当該複数のクラスのうち第2のクラスとが共通に利用するクラスを共通クラスとして特定し、前記記憶手段のバンドルを、前記第1のクラス及び前記共通クラスを少なくとも有する第1のバンドル、並びに前記第2のクラス及び前記共通クラスを少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  16. 請求項7において、
    前記バンドルは、前記機能部としてのクラスを複数含むコンポーネントを少なくとも3つ有してなり、
    前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数のコンポーネントのなかから、当該複数のコンポーネントのうち第1のコンポーネントと、当該複数のコンポーネントのうち第2のコンポーネントとが共通に利用するコンポーネントを共通コンポーネントとして特定し、前記記憶手段のバンドルを、前記第1のコンポーネント及び前記共通コンポーネントを少なくとも有する第1のバンドル、並びに前記第2のコンポーネント及び前記共通コンポーネントを少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  17. 請求項7において、
    前記バンドルは、前記機能部としてのクラスを複数有し、且つ、当該バンドルに含まれる複数のクラスの論理的結合を規定したパッケージを少なくとも3つ有してなり、
    前記バンドル再構成手段は、前記記憶手段のバンドルに含まれる複数のパッケージのなかから、当該複数のパッケージのうち第1のパッケージと、当該複数のパッケージのうち第2のパッケージとが共通に利用するパッケージを共通パッケージとして特定し、前記記憶手段のバンドルを、前記第1のパッケージ及び前記共通パッケージを少なくとも有する第1のバンドル、並びに前記第2のパッケージ及び前記共通パッケージを少なくとも有する第2のバンドルとして再構成するようになっていることを特徴とするバンドル再構成システム。
  18. 請求項7乃至17のいずれかにおいて、
    前記バンドル再構成手段は、前記記憶手段のメモリ使用率が所定値以上となった状態が所定期間継続したときは、前記バンドルを再構成するようになっていることを特徴とするバンドル再構成システム。
  19. 請求項8乃至18のいずれかにおいて、
    前記バンドルは、さらに、前記コンポーネントに含まれるクラスを識別可能に登録したコンポーネント情報を有してなり、
    前記バンドル再構成手段は、前記バンドルに含まれるコンポーネント情報に基づいて前記バンドルを再構成するようになっていることを特徴とするバンドル再構成システム。
  20. 請求項7乃至18のいずれかにおいて、
    さらに、前記バンドルの再構成を代行するバンドル再構成代行端末を通信可能に接続し、
    前記バンドル再構成代行端末は、前記バンドルを受信するバンドル受信手段と、前記バンドル受信手段で受信したバンドルを前記バンドル再構成手段と同一の手法により再構成する第2バンドル再構成手段と、前記第2バンドル再構成手段で再構成したバンドルを前記ゲートウェイ端末に送信するバンドル送信手段とを有し、
    前記ゲートウェイ端末は、前記バンドル再構成手段による再構成が困難であると判定したときは、再構成の対象となるバンドルを前記バンドル再構成代行端末に送信するようになっていることを特徴とするバンドル再構成システム。
  21. 1又は異なる複数の機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するプログラムであって、
    少なくとも2つの前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、及び前記共通機能部を有する1つのバンドルとして再構成する処理をコンピュータに実行させるためのプログラムであることを特徴とするバンドル再構成プログラム。
  22. 少なくとも3つの機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成するプログラムであって、
    前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部及び前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部及び前記共通機能部を少なくとも有する第2のバンドルとして再構成する処理をコンピュータに実行させるためのプログラムであることを特徴とするバンドル再構成プログラム。
  23. 1又は異なる複数の機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成する方法であって、
    少なくとも2つの前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルのうち第1のバンドルに含まれる機能部と、前記記憶手段のバンドルのうち第2のバンドルに含まれる機能部とを対比して機能が共通する機能部を共通機能部として特定し、前記第1のバンドル及び前記第2のバンドルを、前記第1のバンドルに含まれる機能部のうち前記共通機能部以外のもの、前記第2のバンドルに含まれる機能部のうち前記共通機能部以外のもの、及び前記共通機能部を有する1つのバンドルとして再構成することを特徴とするバンドル再構成方法。
  24. 少なくとも3つの機能部を有し且つその実行により前記機能部を機能させてサービスを提供するバンドルを再構成する方法であって、
    前記バンドルが記憶手段に格納されている場合に、前記記憶手段のバンドルに含まれる複数の機能部のなかから、当該複数の機能部のうち第1の機能部と、当該複数の機能部のうち第2の機能部とが共通に利用する機能部を共通機能部として特定し、前記記憶手段のバンドルを、前記第1の機能部及び前記共通機能部を少なくとも有する第1のバンドル、並びに前記第2の機能部及び前記共通機能部を少なくとも有する第2のバンドルとして再構成することを特徴とするバンドル再構成方法。
JP2003013609A 2003-01-22 2003-01-22 バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法 Expired - Fee Related JP4363044B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003013609A JP4363044B2 (ja) 2003-01-22 2003-01-22 バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003013609A JP4363044B2 (ja) 2003-01-22 2003-01-22 バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法

Publications (2)

Publication Number Publication Date
JP2004227240A true JP2004227240A (ja) 2004-08-12
JP4363044B2 JP4363044B2 (ja) 2009-11-11

Family

ID=32901890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003013609A Expired - Fee Related JP4363044B2 (ja) 2003-01-22 2003-01-22 バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法

Country Status (1)

Country Link
JP (1) JP4363044B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009005351T5 (de) 2009-11-09 2012-12-13 Mitsubishi Electric Corporation Softwarebibliothek-Rekonstruktionsvorrichtung, Softwarebibliothek-Rekonstruktionsverfahren und Navigationsvorrichtung, die dieses Softwarebibliothek-Rekonstruktionsverfahren verwendet
CN113722015A (zh) * 2021-09-10 2021-11-30 京东科技控股股份有限公司 组合组件的获取方法、装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009005351T5 (de) 2009-11-09 2012-12-13 Mitsubishi Electric Corporation Softwarebibliothek-Rekonstruktionsvorrichtung, Softwarebibliothek-Rekonstruktionsverfahren und Navigationsvorrichtung, die dieses Softwarebibliothek-Rekonstruktionsverfahren verwendet
CN113722015A (zh) * 2021-09-10 2021-11-30 京东科技控股股份有限公司 组合组件的获取方法、装置及存储介质

Also Published As

Publication number Publication date
JP4363044B2 (ja) 2009-11-11

Similar Documents

Publication Publication Date Title
EP1152582B1 (en) Transparent telecommunications system and apparatus
US7831644B2 (en) Electronic apparatus and content data providing method
CN1745369B (zh) 信息处理装置和信息处理方法
US20030208691A1 (en) Printing using secure pickup
JP2004206682A (ja) デバイス管理システム、デバイス管理端末、ネットワークデバイス、端末用プログラムおよびデバイス用プログラム、並びにデバイス管理方法
CN103368936A (zh) 信息处理装置和信息处理方法
JP4966039B2 (ja) ネットワーク対応機器及び機能提供方法
CN103248654A (zh) 虚拟桌面服务参数的协商方法、装置及系统
KR100717032B1 (ko) UPnP를 따르지 않는 개체를 UPnP 디바이스 또는컨텐트로 표현하는 방법 및 장치
US7193740B2 (en) Print data transfer method, printing system, printer device and print control program
JP2005202851A (ja) 仮想私設組織に対するポリシの実施システム及びその方法
JP4363044B2 (ja) バンドル再構成システム及びバンドル再構成プログラム、並びにバンドル再構成方法
JP2009301538A (ja) サービスフロー処理装置及び方法
CN104978372A (zh) 多媒体信息处理方法、多媒体装置与多媒体网络系统
CN101415029B (zh) 文件分发方法及装置
JP2006244428A (ja) セッション管理方法及びセッション管理装置
US9489219B2 (en) Integration and management apparatus, integration and management system and computer readable information recording medium
CN101640667B (zh) 流程执行方法、流程执行系统及其配置设备和方法
JP2005242981A (ja) サービス提供システム、アプリケーション管理システム、サービス提供装置、サービス提供プログラム、アプリケーション管理プログラムおよび記憶媒体、並びにサービス提供方法およびアプリケーション管理方法
JP2004096420A (ja) サービス中断復元システム、サービス中断復元方法、通信端末、サービス中断復元装置及びサービス中断復元プログラム
GB2429309A (en) Generating processing workflows by translating native APIs to achieve interoperability of content processing operations
CN103248668A (zh) 虚拟桌面服务参数的协商方法、装置及系统
MXPA03007574A (es) Interfase de programacion de aplicacion de desmultiplexor.
JP2010061212A (ja) データ配信方法、データ配信プログラムおよび記憶媒体
CN110278451B (zh) 图片在线转码方法、装置及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090728

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: 20090810

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees