(57)【要約】【課題】  ネットワーク上でサービスを共有するための装置及び方法を提供する。【解決手段】  ネットワーク上でサービスを共有するための方法は、第１エンベデッドデバイスが前記第１エンベデッドデバイスとネットワークで連結された少なくとも１以上のエンベデッドデバイスへ少なくとも1以上のサービスを要請するメッセージを伝送する第１段階と、前記第１エンベデッドデバイスが前記メッセージを受信したエンベデッドデバイスから前記サービスを実行するためのコード情報を受信する第２段階と、前記第１エンベデッドデバイスが前記コード情報を実行して前記サービスを実行する第３段階と、前記第３段階でサービス実行が終了されると、前記第１エンベデッドデバイスが前記サービスに関するサービス情報を登録する第４段階とを含むことを特徴とする。【選択図】  図２
2005174319.tif 000002
【特許請求の範囲】
【請求項１】
第１エンベデッドデバイスが前記第１エンベデッドデバイスとネットワークで連結された少なくとも１以上のエンベデッドデバイスへ少なくとも１以上のサービスを要請するメッセージを伝送する第１段階と、
前記第１エンベデッドデバイスが前記メッセージを受信したエンベデッドデバイスから前記サービスを実行するためのコード情報を受信する第２段階と、
前記第１エンベデッドデバイスが前記コード情報を実行して前記サービスを行う第３段階と、
前記第３段階でサービス実行が終了されると、前記第１エンベデッドデバイスが前記サービスに関するサービス情報を登録する第４段階とを含むことを特徴とするネットワーク上でサービスを共有するための方法。
【請求項２】
前記コード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを特徴とする請求項１記載のネットワーク上でサービスを共有するための方法。
【請求項３】
前記サービス情報は、前記コード情報を伝送したエンベデッドデバイスのネットワーク上での識別情報であることを特徴とする請求項１記載のネットワーク上でサービスを共有するための方法。
【請求項４】
前記第２段階は、前記第１エンベデッドデバイスが前記サービスを実行するためのコード情報を重複して受信する場合に前記重複受信されたコードを無視する段階をさらに含むことを特徴とする請求項１記載のネットワーク上でサービスを共有するための方法。
【請求項５】
前記第４段階は、前記受信したコード情報を所定の時間記憶する段階をさらに含むことを特徴とする請求項１記載のネットワーク上でサービスを共有するための方法。
【請求項６】
前記第４段階は、前記受信したコード情報を削除する段階をさらに含むことを特徴とする請求項１記載のネットワーク上でサービスを共有するための方法。
【請求項７】
前記第１エンベデッドデバイスが所定の情報記憶領域から少なくとも１以上のサービスに対するサービス情報を検索する第１段階と、
前記第１段階で検索されたサービス情報により識別される第２エンベデッドデバイスへ前記サービスを要請するメッセージを伝送する第２段階と、
前記第１エンベデッドデバイスが前記第２エンベデッドデバイスから前記サービスを実行するためのコード情報を受信する第３段階と、
前記第１エンベデッドデバイスが前記コード情報を実行して前記サービスを行う第４段階とを含むことを特徴とするネットワーク上でサービスを共有するための方法。
【請求項８】
前記コード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを特徴とする請求項７記載のネットワーク上でサービスを共有するための方法。
【請求項９】
前記サービス情報は、前記コード情報を伝送したエンベデッドデバイスのネットワーク上での識別情報であることを含むことを特徴とする請求項７記載のネットワーク上でサービスを共有するための方法。
【請求項１０】
前記第４段階は、前記サービスを実行した後、前記受信したコード情報を所定の時間記憶する段階をさらに含むことを特徴とする請求項７記載のネットワーク上でサービスを共有するための方法。
【請求項１１】
前記第４段階は、前記サービスを実行した後、前記受信したコード情報を削除する段階をさらに含むことを特徴とする請求項７記載のネットワーク上でサービスを共有するための方法。
【請求項１２】
第１エンベデッドデバイスがネットワークで連結された他のエンベデッドデバイスから少なくとも１以上のサービスを要請するメッセージを受信する第１段階と、
前記サービスの要請を受けた第１エンベデッドデバイスが自分が前記サービスを保有しているか否かを検査する第２段階と、
前記第２段階で前記サービスを保有している場合、前記サービスを要請したエンベデッドデバイスへ前記サービスを実行するためのコード情報を伝送する第３段階とを含むことを特徴とするネットワーク上でサービスを共有するための方法。
【請求項１３】
前記サービスを実行するためのコード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを特徴とする請求項１２記載のネットワーク上でサービスを共有するための方法。
【請求項１４】
前記ネットワークで連結されたエンベデッドデバイスへ所定のサービスを要請するためのメッセージを伝送し、前記サービスを実行するためのコード情報を受信するサービス送受信部と、
前記サービスに対する情報を含んでいるか否かを検索するサービス分析部と、
前記サービス送受信部から受信したコード情報をローディングするか或いは前記ローディングされたコード情報をアンローディングするサービス積載部とを含むことを特徴とするネットワーク上でサービスを共有するための装置。
【請求項１５】
前記サービスを実行するためのコード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを特徴とする請求項１４記載のネットワーク上でサービスを共有するための装置。
【請求項１６】
前記サービスに対する情報は、前記サービスを実行するためのコード情報を有しているエンベデッドデバイスのネットワーク上での識別情報であることを特徴とする請求項１４記載のネットワーク上でサービスを共有するための装置。
【請求項１７】
前記ネットワークで連結されたエンベデッドデバイスから所定のサービスを要請するメッセージを受信し、前記サービスを実行するためのコード情報を有しているか否かを検査し、前記コード情報を有している場合には、前記コード情報を前記エンベデッドデバイスへ伝送することを特徴とするネットワーク上でサービスを共有するための装置 。
【請求項１８】
前記サービスを実行するためのコード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを特徴とする請求項１７記載のネットワーク上のサービスを共有するための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でサービスを共有するための装置及び方法に係り、より詳しくは、各々のネットワークデバイスとの間にサービスを共有してこれを管理する方法を提供するネットワーク上でサービスを共有するための装置及び方法に関する。
【背景技術】
【０００２】
急速なデジタル技術とインターネットの普及にしたがって、これを活用して一般の使用者の日常生活に役に立つようにサービスを提供するデジタルホーム構築が進行されている。デジタルホーム技術は、現在までの超高速インターネット共有、ファイル共有、及び周辺装置共有のために推進されてきた単純なホームネットワーキングの概念を超え、よく具備された外部通信インフラを活用して一層高機能のサービスを提供することを目標としている。
【０００３】
デジタルホームは、ホームネットワーク技術、情報家電技術、ソフトウェアプラットフォーム、ソリューション及びコンテンツなどの多様なＩＴ分野の技術を統合して新しいサービス市場を創出する新パラダイムと言える。
【０００４】
ホームネットワーキングが構築された未来の家庭を示す用語としては、コネクティドホーム（Connected Home）、スマートホーム、また、デジタルホーム等がある。この各々の用語は大抵に共通的な概念で使用しているが、コネクティドホームは、家庭内のデジタル機器の連結を強調し、スマートホームは、家庭内のデジタル機器をローカル乃至遠隔で制御／管理できるホームオートメーションサービスを強調している。それに比して、デジタルホームは、音楽、写真、ビデオなどのデジタルメディアを共有し、インターネット網と連係してデジタルコンテンツサービスを家庭に提供することに重点をおいている。
【０００５】
ここで、前記デジタルホームを構築するためには、ホームネットワーク技術、アクセス網技術、コンテンツ及びソリューション技術が必要である。
【０００６】
ホームネットワーク技術には、電力線通信、電話線通信、有線ラン（LAN）、ＩＥＥＥ１３９４、無線ラン、無線１３９４等の有無線ネットワーク技術と、プラグアンドプレー機能を支援するＨＡＶＩ（Home Audio Video Interoperability）、ＪＩＮＩ（Java （登録商標）Intelligent Network Infra-structure）、ＵＰｎＰ（Universal Plug and Play）等のミドルウエー技術と、外部アクセス網に対して網終結（Network Termination）とモデム機能を提供し、ホームネットワークを連結して網間連動機能を提供する家庭用ゲートウエーであるホームゲートウエー技術及び遠隔で多重のサービスをアクセス網を通じてホームネットワークに接続された情報家電機器に伝達して管理するサービスプラットフォーム技術が含まれる。
【０００７】
この時、代表的なデジタルホームサービスプラットフォームとして、ＯＳＧＩサービスプラットフォームがある。ＯＳＧＩは、Open Service Gateway Initiativeの略語で、１９９９年３月にＥｒｉｃｓｓｏｎ、ＳＵＮ、ＩＢＭなどの１５個会社が集まって成立された非営利標準化団体で、ネットワーク上の多様なサービスをローカルネットワーク或いは装備に伝達し、伝達されたサービスが運用される開放的な規格を作ることを目的とする。
【０００８】
ＯＳＧＩ規格は、サービス伝達と管理のためのフレームワークとＯＳＧＩバンドルに対して定義している。ＯＳＧＩバンドルは、生成されて設置できる一つの単位（Unit）として、インターフェース（Interface）、構成情報（Configuration Information）、実行可能なコード及びデジタル署名がパッケージ化されている。
【０００９】
ＯＳＧＩリリーズ１．０は、ＯＳＧＩ規格の規範になるフレームワークとログサービス、ＨＴＴＰサービス及びデバイスマネジャーから構成される。フレームワークは、応用サービスが一つのＪＡＶＡ(登録商標)仮想マシンを共有できるようにし、バンドルのライフサイクル、ＪＡＶＡ(登録商標)パッケージ、リソース、バンドル間の依存性などを管理し、バンドル間の相互協業のためにサービスレジストリを有している。ログサービスは、フレームワークで発生するイベントを記録して読み出すことができるようにするサービスを提供し、ＨＴＴＰサービスは、サービスプラットフォームをウエブを通じて接近できるようにする。また、デバイスマネジャーは、動的なデバイスドライバダウンローディングモデルを提供する。
【００１０】
２００１年１０月に発表されたリリーズ２では、リリーズ１の機能にパッケージ管理サービス、パーミッション管理サービス、使用者管理サービス等が追加された。
【００１１】
２００３年３月に発表されたリリーズ３では、リリーズ２の機能に開始レベル管理サービス、ＪＩＮＩサービス、ＵＰｎＰサービスなどが追加された。リリーズ３では、ＯＳＧＩがＳＯＨＯ用ゲートウエーだけではなく車両用ゲートウエー支援のために多数のサービスが追加された。
【００１２】
ＯＳＧＩサービスプラットフォームは、多く三つの分野を関心対象とする。
サービス間の連結及び制御、
サービスとＯＳＧＩフレームワーク間の連結及び制御
ＯＳＧＩフレームワークと外部サービス管理システムとの連結及び制御である。
したがって、ＯＳＧＩサービスプラットフォームは、超高速通信網のような外部ネットワークと家庭内の装備を連結するネットワークとの間に位置するようになる。
【００１３】
外部ネットワーク環境ではサービス提供者がサービス提供及び管理を実行し、家庭内のネットワーク環境では数多くの装備と相違であるプロトコルがこれらを円滑に連結して制御する必要がある。結局、ＯＳＧＩサービスプラットフォームは、外部ネットワーク環境と家庭内のネットワーク環境の仲裁者の役割をする。
【００１４】
ＯＳＧＩは、ＪＡＶＡ(登録商標)仮想マシン（JAVA(登録商標) Virtual Machine）基盤下で作動できるように作られた標準である。ＪＡＶＡ(登録商標)仮想マシンは、異質的なエンベデッド運営システム（Embedded OS）とエンベデッド中央制御装置（Embedded CPU）から発生する差異点に対する緩衝役割を実行する。
【００１５】
ＯＳＧＩサービスは、全部バンドル(bundle)と言われる物理的な束に含まれる。複数個のＯＳＧＩサービスが一つのバンドルに含まれることもでき、バンドル配布と管理の基本単位を形成する。
【００１６】
このようなバンドルを管理するものがフレームワーク(framework)である。フレームワークは、サービス登録管理機（Service Registry）を有しているので、サービスに対する登録／照会／実行／削除などを実行する。また、イベントとそれによるイベント検索及び対応処理も行う。ここで、イベントとは、装備で生成された物理的なイベントとは関係なく、サービス／バンドル／フレームワークの三つのイベント産出者を根幹とする論理的なイベントである。
【００１７】
即ち、ＯＳＧＩは、ホームネットワーク環境で多様なデバイス及びサービスを統合して制御及び管理するためのミドルウエーと見られる。現在まで開発されたＯＳＧＩ仕様は、物理的に連結されたホームネットワーク環境内で、ホームゲートウエー又は単一のデバイスに位置した単一ＯＳＧＩサーバーだけが存在する形態を中心として記述されている。したがって、全てのサービスは一括統制され、ＯＳＧＩに登録されたデバイスとサービスだけが利用可能になる。
【００１８】
図１は、従来のＯＳＧＩフレームワークでバンドルの駆動方法を示す例示図である。
【００１９】
ＯＳＧＩフレームワークＡ、Ｂ１００、１５０は、バンドルコンテキスト(bundle context)１１０，１６０を通じてバンドルＡ、Ｂ、Ｃ、Ｄ１２０，１３０，１７０，１８０を登録及び管理する。この時、前記バンドルコンテキスト１１０、１６０は、各々のバンドル個数ほど存在して1：1マッピング構造で構成でき、バンドルを設置してサービスを呼び出す機能を担当し、フレームワークＡ、Ｂ１００，１５０上で発生するイベントまでも処理してバンドルの実行に関係された事項を制御する。
【００２０】
図１に図示されるように、ＯＳＧＩフレームワーク相互間にはバンドルを共有しない。個別的に必要なバンドルは自体フレームワークに設置登録される必要があり、これら情報はバンドルコンテキスト１１０，１６０を通じて自体実行環境内で呼び出されて動作するようになる。同一な機能を実行する同一なバンドルであっても、該当フレームワークに登録されている場合だけ適切なサービスが提供できるようになる。したがって、フレームワークＡ１００でバンドルＢ１３０を実行するためにバンドルＣ１８０が必要である場合、従来の技術ではフレームワークＢ１５０の資源を活用できないでフレームワークＡ１００に重複して設置した。
【特許文献１】特開平2002-247668号公報
【特許文献２】特開平2002-78036号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
前記のような従来の技術は、単一ＯＳＧＩ環境だけを考慮して設計された場合には各々のフレームワーク間に共通的なサービスの共有が不可能であり、各デバイス別に自体ＯＳＧＩに重複して登録設置する必要があった。また、サービスを賃貸するか販売するなどのビジネスモデルにおいては、使用者が同一なサービスを駆動するためにデバイス別に費用を重複して払わなければならない。さらに、現在のデバイスで要請したサービスを駆動するために必要なもう他のサービスが、他のデバイスで実行中であるＯＳＧＩに登録されて管理中である場合、前記他のデバイスに前記サービスを要請するか或いは自分のＯＳＧＩで登録できる方法がない問題点があった。
【００２２】
本発明は、上述したような従来技術の問題点を解決するためになされたもので、その目的は、複数個のＯＳＧＩフレームワークが各々別のデバイスで運用される時、ＯＳＧＩフレームワーク相互間に必要な資源とサービスバンドルを共有して再活用するための方法を提供することにある。
【課題を解決するための手段】
【００２３】
前記目的を達成するための本発明の一実施例によるネットワーク上でサービスを共有するための方法は、第１エンベデッドデバイスが前記第１エンベデッドデバイスとネットワークで連結された少なくとも１以上のエンベデッドデバイスへ少なくとも1以上のサービスを要請するメッセージを伝送する第１段階と、前記第１エンベデッドデバイスが前記メッセージを受信したエンベデッドデバイスから前記サービスを実行するためのコード情報を受信する第２段階と、前記第１エンベデッドデバイスが前記コード情報を実行して前記サービスを実行する第３段階と、前記第３段階でサービス実行が終了されると、前記第１エンベデッドデバイスが前記サービスに関するサービス情報を登録する第４段階とを含む。
【００２４】
この時、好ましくは、前記コード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であり、前記サービス情報は、前記コード情報を伝送したエンベデッドデバイスのネットワーク上での識別情報であることを含む。
【００２５】
また、好ましくは、前記第２段階は、前記第１エンベデッドデバイスが前記サービスを実行するためのコード情報を重複して受信する場合に前記重複受信されたコードを無視する段階をさらに含む。
【００２６】
また、好ましくは、前記第４段階は、前記受信したコード情報を所定の時間記憶する段階をさらに含む。
【００２７】
また、好ましくは、前記第４段階は、前記受信したコード情報を削除する段階をさらに含む。
【００２８】
前記目的を達成するための本発明の実施例によるネットワーク上でサービスを共有するための方法は、第１エンベデッドデバイスが所定の情報記憶領域から少なくとも１以上のサービスに対するサービス情報を検索する第１段階と、前記第１段階で検索されたサービス情報により識別される第２エンベデッドデバイスへ前記サービスを要請するメッセージを伝送する第２段階と、前記第１エンベデッドデバイスが前記第２エンベデッドデバイスから前記サービスを実行するためのコード情報を受信する第３段階と、前記第１エンベデッドデバイスが前記コード情報を実行して前記サービスを行う第４段階とを含む。
【００２９】
この時、好ましくは、前記コード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であり、前記サービス情報は、前記コード情報を伝送したエンベデッドデバイスのネットワーク上での識別情報であることを含む。
【００３０】
また、好ましくは、前記第４段階は、前記サービスを実行した後、前記受信したコード情報を所定の時間記憶する段階をさらに含む。
【００３１】
また、好ましくは、前記第４段階は、前記サービスを実行した後、前記受信したコード情報を削除する段階をさらに含む。
【００３２】
前記目的を達成するための本発明の実施例によるネットワーク上でサービスを共有するための方法は、第１エンベデッドデバイスがネットワークで連結された他のエンベデッドデバイスから少なくとも１以上のサービスを要請するメッセージを受信する第１段階と、前記サービスの要請を受けた第１エンベデッドデバイスが自分が前記サービスを保有しているか否かを検査する第２段階と、前記第２段階で前記サービスを保有している場合、前記サービスを要請したエンベデッドデバイスへ前記サービスを実行するためのコード情報を伝送する第３段階とを含む。
【００３３】
この時、好ましくは、前記サービスを実行するためのコード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを含む。
【００３４】
前記目的を達成するための本発明の実施例によるネットワーク上でサービスを共有するための装置は、ネットワークで連結されたエンベデッドデバイスへ所定のサービスを要請するためのメッセージを伝送し、前記サービスを実行するためのコード情報を受信するサービス送受信部と、前記サービスに対する情報を含んでいるか否かを検索するサービス分析部と、前記サービス送受信部から受信したコード情報をローディングするか或いは前記ローディングされたコード情報をアンローディングするサービス積載部とを含む。
【００３５】
この時、好ましくは、前記サービスを実行するためのコード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であり、前記サービスに対する情報は、前記サービスを実行するためのコード情報を有しているエンベデッドデバイスのネットワーク上での識別情報であることを含む。
【００３６】
前記目的を達成するための本発明の実施例によるネットワーク上でサービスを共有するための装置は、ネットワークで連結されたエンベデッドデバイスから所定のサービスを要請するメッセージを受信し、前記サービスを実行するためのコード情報を有しているか否かを検査し、前記コード情報を有している場合には、前記コード情報を前記エンベデッドデバイスへ伝送するネットワーク上でサービスを共有するための装置を含む。
【００３７】
この時、好ましくは、前記サービスを実行するためのコード情報は、ＪＡＶＡ(登録商標)言語で記述されたコード情報であることを含む。
【発明の効果】
【００３８】
以上のように本発明によると、本発明の実施例によって現在のフレームワークに登録されていないサービスも使用者の介入なしに自動的に実行できるので、続々サービス提供が可能になり、該当サービス実行時だけ登録して使用され、サービス実行後には自動的に除去できるので、システム環境の変化を招来しない。また、ＯＳＧＩフレームワークが動作するデバイス間に相互必要とする同一サービスバンドルの共有が可能であり、既存ＯＳＧＩフレームワークの構造を維持しながら前記フレームワークで提供するバンドルを活用して作動するので、この機能を具現するために別の修正作業が不必要である。
【発明を実施するための最良の形態】
【００３９】
以下、添付の図面を参照して本発明の一実施例によるネットワーク上でサービスを共有するための装置及び方法について説明する。
【００４０】
一方、本発明に対する理解を容易にするためにＯＳＧＩフレームワークを基盤とするシステムを例として説明するが、前記ＯＳＧＩフレームワークと類似な機能をするミドルウエーにも適用可能である。
【００４１】
図２は、本発明の実施例による全体的なモジュール構造を示す例示図である。
【００４２】
図示されるように、ローカルデバイス２００又は遠隔デバイス２５０は、各々ローカルフレームワーク２０５や遠隔フレームワーク２５５と、バンドルコンテキスト２２０，２２２，２７０，２７２と、バンドル２３０，２３２，２８０，２８２と、各々のバンドルに属するサービス２４０，２４２，２４４、２４６，２９０，２９２，２９４と、動的遠隔バンドルローダー２１０、２６０とを含む。この時、各々のモジュールが示す機能は次のようである。
【００４３】
フレームワーク２０５，２５５は、ＯＳＧＩフレームワークを示し、本発明の実施例による説明ではバンドルを要請するデバイスのフレームワークをローカルフレームワーク２０５と称し、バンドルの要請を受信するデバイスのフレームワークを遠隔フレームワーク２５５と称する。
【００４４】
ローカルバンドルコンテキスト２２０，２２２は、現在実行中であるバンドル及びサービスが登録されたローカルフレームワーク２０５で、バンドルの設置と登録、サービス呼び出し等を管理するモジュールである。実行中であるサービスが要請したバンドルの登録有無を確認し、既に現在のローカルフレームワーク２０５に存在する場合はローカルデバイス２００内に存在する該当バンドルの参照位置を伝達する。もし、現在ローカルフレームワーク２０５に登録されていないバンドルである場合、動的遠隔バンドルローダー２１０に該当バンドルが必要であることを要請して応答を待つ。
【００４５】
バンドルコンテキスト２７０，２７２は、遠隔フレームワーク側の動的遠隔バンドルローダー２６０が受信したバンドル要請に対して、遠隔デバイス２５０に登録されたバンドル目録を検査する。それから、要請されたバンドルと一致するバンドルが存在することが確認されると、該当バンドルの参照位置をローカルデバイス２００の動的遠隔バンドルローダー２１０へ伝送する。
【００４６】
バンドル２３０，２３２，２８０，２８２は、少なくとも１以上の関係があるサービスの束としてサービスの集合でも言える。この時、各々のデバイス間のサービス共有はバンドル単位で行われる。
【００４７】
動的遠隔バンドルローダー２１０，２６０は、バンドルコンテキスト２２０，２２２，２７０，２７２とメッセージ交換を通じてバンドル要請及び応答機能を実行するモジュールである。バンドルを要請するローカルデバイス２００側では、バンドルコンテキスト２２０，２２２が要請するバンドル内訳を遠隔デバイス２５０へ伝送し、遠隔デバイス２５０側ではバンドルコンテキスト２７０，２７２が伝達した該当バンドルをローカルデバイス２００へ伝送する。
【００４８】
図３は、本発明の実施例による動的遠隔バンドルローダー（dynamic remote bundle loader）の構成を示す例示図である。
【００４９】
動的遠隔バンドルローダー３００は、バンドル送受信部３１０と、バンドル分析部３２０と、バンドルローダー（bundle loader）３３０と、バンドルアンローダー（bundle unloader）３４０から構成される。この時、前記バンドルローダー３３０とバンドルアンローダー３４０は、単一のモジュールで構成できる。
【００５０】
以下、前記動的遠隔バンドルローダー３００を構成する構成要素の機能について説明すると次のようである。
【００５１】
バンドル送受信部３１０は、動的遠隔バンドルローダー３００のメッセージ伝達とバンドルの要請又は要請されたバンドルの送受信を担当する部分である。バンドルを要請するメッセージは、ホームネットワークで連結された範囲全体でマルチキャスト（multicast）されて伝達される。要請メッセージを受信したもう他のデバイスのフレームワークでは要請されたバンドルの保有有無を検査し、それに対する応答としてＨＴＴＰサービスを通じて該当バンドル自体を前記バンドルを要請したデバイスのバンドル送受信部へ送信するようになる。要請側デバイスでは前記バンドルの伝送を受けフレームワークに設置して登録する。前記バンドル送受信部３１０は、バンドルマルチキャスト伝送モジュール（図示せず）とバンドルマルチキャスト受信モジュール（図示せず）とを具備でき、前記バンドルマルチキャスト伝送モジュールは、バンドルを要請するデバイスの要請メッセージ伝送及びバンドルの要請を受信するデバイスのバンドル伝送を担当し、バンドルマルチキャスト受信モジュールは、要請側からの要請メッセージ受信及び応答側からのバンドルを受信する機能を有する。
【００５２】
バンドル分析部３２０は、要請を受けたバンドルの内訳を把握し、バンドル内訳と一致してバンドルを要請したデバイスのフレームワーク環境で正確に実行できるバンドルを検索するようにバンドルコンテキストに要請する役割をする。要請を受けたバンドルがフレームワークが駆動されている運営システムとシステム資源（system resource）によってバンドルを要請したデバイスで実行できない場合もあるので、要請を受けたバンドルの内訳を把握する過程が必要になることである。また、前記バンドル分析部３２０は、検索されたバンドルの参照位置をバンドル送受信部３１０へ伝達してバンドルが伝送されるようにする。
【００５３】
バンドルローダー３３０は、受信したバンドルをフレームワークに設置して登録するモジュールである。前記フレームワークに登録されると、前記バンドルを要請したサービスが参照して前記登録されたバンドルを実行するようになる。
【００５４】
実行が終了されたバンドルが続いてフレームワークに存在する場合、予想しなかったシステム資源の占有により問題が発生する可能性がある。したがって、任務を完遂したバンドルはさらにフレームワークから除去され、メモリからも完全に削除させることにより前記バンドルを要請する当時の初期状態へ復元させる必要があるが、バンドルアンローダー３４０がそのような機能を実行する。この時、任務を完遂すると即時フレームワークからバンドルを除去することもできるが、システム資源によって一定時間と条件の間にフレームワークに維持することも可能である。
【００５５】
図４は、本発明の実施例による相違である動的遠隔バンドルローダー間の動作を示す例示図である。
【００５６】
動的遠隔バンドルローダーＡ４００は、ネットワークで連結された各々のデバイスの動的遠隔バンドルローダーＢ、Ｃ、Ｄ４１０、４２０、４３０に対してマルチキャスト方式で自分に必要なバンドルを要請する（Ｓ４５０）。それから、前記動的遠隔バンドルローダーＢ、Ｃ、Ｄ４１０、４２０、４３０は、自分が要請されたバンドルを保有しているか否かを検査し、もし、該当バンドルが存在する場合、バンドルを要請した動的遠隔バンドルローダーＡ４００で実行できる適切なバンドルであるか否かを分析する（Ｓ４５２）。これのために動的遠隔バンドルローダーＡ４００は要請メッセージ伝送時に自分のシステムに関する情報を含むようになる。
【００５７】
この時、前記動的遠隔バンドルローダーＡ４００は、前記動的遠隔バンドルローダー Ｂ、Ｃ、Ｄ４１０、４２０、４３０から応答があるまで待機状態になる（Ｓ４５４）。
【００５８】
もし、前記動的遠隔バンドルローダー Ｂ、Ｃ、Ｄ４１０、４２０、４３０の中で要請されたバンドルと一致するバンドルを保有している動的遠隔バンドルローダーは、応答として該当バンドルを前記動的遠隔バンドルローダーＡ４００へ伝送するが（Ｓ４５６、Ｓ４５８、Ｓ４６０）、この時、前記動的遠隔バンドルローダーＡ４００は、一番速く伝送された応答だけを受信してその以後に伝送された応答は無視する。
【００５９】
前記動的遠隔バンドルローダーＡ４００が自分が要請したバンドルを受信すると、受信したバンドルを登録し(Ｓ４６２)、前記登録されたバンドルを利用してサービスを実行した後(Ｓ４６４)、サービス実行が終了すると、前記登録されたバンドルを登録解除する（Ｓ４６６）。
【００６０】
図５は、本発明の実施例による全体的なシステム動作を示す例示図である。
【００６１】
図５では動的遠隔バンドルローダーＡ５２０と動的遠隔バンドルローダーＢ５３０との間に縦に表示された太い点線を基準としてローカルデバイス側と遠隔デバイス側で区分される。この時、前記遠隔デバイス側は、単一のデバイス又は単一のシステムではなく、前記ローカルデバイスとネットワークで連結されて動的連結バンドルローダーを具備している全てのデバイスを示す。前記図５では、説明の便宜のために単一のデバイスの場合に対して例として説明している。
【００６２】
まず、ローカルフレームワーク５００が動作を開始すると（Ｓ５５２）、所定のサービスを実行するようになる（Ｓ５５４）。この時、前記サービスは他のサービスの助けなく自体的に機能を実行するサービス及び他のサービスの助けを受けて複合的に機能を実行するサービスを含む。他のサービスの実行が必要である場合、ローカルフレームワーク５００は、ローカルバンドルコンテキスト５１０へ該当バンドルを要請する（Ｓ５５６）。それから、前記ローカルバンドルコンテキスト５１０は、バンドル目録を検索し（Ｓ５５８）、該当するバンドルが存在する場合には前記ローカルフレームワーク５００に該当するバンドルを登録することにより（Ｓ５６０）、前記サービスを再実行するようになる（Ｓ５８２）。
【００６３】
もし、該当するバンドルが既に登録されていない場合には、前記ローカルフレームワーク５００は、該当サービスを中止させ、該当サービスの特性を分析して必要なバンドルを要請するイベントを発生させる。前記イベントは動的遠隔バンドルローダーＡ５２０へ伝達される。
【００６４】
動的遠隔バンドルローダーＡ５２０のバンドル分析部５６２では、該当するバンドルに対する履歴を検索する（Ｓ５６４）。即ち、以前に他のデバイスから同一なバンドルを受信した場合、前記受信したバンドルに対する情報を別に記憶することによりさらに同一なバンドルを要請する場合に利用するようになる。
【００６５】
もし、前記バンドル分析部５６２がバンドル履歴を検索して要請しようとするバンドルに対する情報が存在しない場合には、バンドル送受信部５６６は、マルチキャスト方式でバンドル要請メッセージを伝送する。
【００６６】
しかし、前記バンドル分析部５６２がバンドル履歴を検索して要請しようとするバンドルに対する情報が存在する場合には、前記バンドル送受信部５６６は、ユニキャスト方式でバンドル要請メッセージを伝送する。それのために前記バンドルに対する情報として前記バンドルを保有しているデバイスのＵＲＬ（Uniform Resource Locator）のようなネットワーク上の位置情報と該当バンドルの簡単な内訳を含む。もし、ネットワーク構成の変化或いは異常によりユニキャストに対する応答がない場合、前記バンドル要請メッセージはマルチキャスト方式で再伝送される。
【００６７】
前記ローカルフレームワーク５００とネットワークで連結された他のフレームワークに位置した動的遠隔バンドルローダーＢ５３０のバンドル送受信部５６８では、前記伝送されたバンドル要請メッセージを受信し、これをバンドル分析部５７０へ伝達する。
【００６８】
前記バンドル分析部５７０は、要請されたバンドルの内訳を把握した後、遠隔バンドルコンテキスト５４０が該当するバンドルを検索するようにし（Ｓ５７２）、前記遠隔バンドルコンテキスト５４０は、登録されたバンドル目録を検索して（Ｓ５７４）、一致するバンドルが発見される場合、該当バンドルの参照位置をバンドル送受信部５６８へ伝達する（Ｓ５７６）。
【００６９】
参照位置の伝達を受けたバンドル送受信部５６８は、伝達を受けた参照位置を利用して該当バンドル自体をバンドルを要請したデバイスへ伝送する。この時、伝送されるバンドルはＪＡＶＡ(登録商標)言語(Java(登録商標) language)で記述されたコードであることが好ましく、前記バンドルを伝送する時にＨＴＴＰサービスが利用できる。バンドルを要請した動的遠隔バンドルローダーＡ５２０のバンドル送受信部５６６は、バンドル要請メッセージに対する最初の応答を受信し、応答側から伝送されたバンドルが自分のフレームワークに正常的に登録されるまで他の応答を無視する。
【００７０】
応答で受信されたバンドルの伝送が完了されると、バンドルを要請した動的遠隔バンドルローダーＡ５２０のバンドルローダー５７８は、ローカルバンドルコンテキスト５１０が前記受信したバンドルをローカルフレームワーク５００に登録するようにする（Ｓ５８０）。もし、要請に対する応答がない場合、一定回数の再試度過程を行う。再試度以後にも応答がない場合、ローカルフレームワーク５００では、該当サービスが実行できないことを前記ローカルフレームワーク５００が動作するデバイスの運営システムに伝達する。再試度回数は別の過程を通じて設定できる。
【００７１】
ローカルフレームワーク５００に要請したバンドルの設置及び登録が完了されると、最初に前記バンドルを要求しながら中止されたサービスが更に呼び出されて実行される。ローカルフレームワーク５００に登録されたバンドルはバンドルを要請したサービスの要求事項に附合する作業を実行する（Ｓ５８２）。一連のサービスが終了すると（Ｓ５８４）、ローカルフレームワーク５００は、サービスが終了されたことを動的遠隔バンドルローダーＡ５２０のバンドルアンローダー５８８へ通報し（Ｓ５８６）、前記バンドルアンローダー５８８は、ローカルバンドルコンテキスト５１０がローカルフレームワーク５００に登録されたバンドルを除去するようにする（Ｓ５９０）。この時、要請されたバンドルは、ローカルフレームワーク５００から除去され、メモリ上でも削除される。これはローカルフレームワーク５００のシステム資源を一定に維持し、システム管理の一貫性を維持するためである。
【００７２】
また、前記バンドルアンローダー５８８は、要請したバンドルに対する内訳及び応答位置情報と共に、該当バンドルを要請したサービス情報を記録する（Ｓ５９２）。以後に同一バンドルに対する要請がある場合、記録されたバンドル情報を利用して要請メッセージをユニキャスト方式で直接伝送するか或いはマルチキャスト方式で検索過程を行うかを決定する。
【００７３】
本発明は、本発明の技数的思想から逸脱することなく、他の種々の形態で実施することができる。前述の実施例は、あくまでも、本発明の技数内容を明らかにするものであって、そのような具体例のみに限定して狭義に解釈されるべきものではなく、本発明の精神と特許請求の範囲内で、いろいろと変更して実施することができるものである。
【図面の簡単な説明】
【００７４】
【図１】従来のＯＳＧＩフレームワークでバンドルの駆動方法を示す例示図である。
【図２】本発明の実施例による全体的なモジュール構造を示す例示図である。
【図３】本発明の実施例による動的遠隔バンドルローダーの構成を示す例示図である。
【図４】本発明の実施例による相違である動的遠隔バンドルローダー間の動作を示す例示図である。
【図５】本発明の実施例による全体的なシステム動作を示す例示図である。
【符号の説明】
【００７５】
２００  ローカルデバイス
２０５、５００  ローカルフレームワーク
２５５  遠隔フレームワーク
２１０、２６０、３００  動的遠隔バンドルローダー
２２０、２２２、５１０  ローカルバンドルコンテキスト
２７０、２７２、５４０  遠隔バンドルコンテキスト
２３０、２３２、２８０、２８２  バンドル
２４０、２４２、２４４、２４６、２９０、２９２、２９４   各々のバンドルに属するサービス
２５０  遠隔デバイス
３１０、５６６、５６８  バンドル送受信部
３２０、５６２、５７０  バンドル分析部
３３０、５７８  バンドルローダー
３４０、５８８  バンドルアンローダー
４００、５２０  動的遠隔バンドルローダーＡ
４１０、５３０  動的遠隔バンドルローダーＢ
４２０  動的遠隔バンドルローダーＣ
４３０  動的遠隔バンドルローダーＤ
【図１】
2005174319.tif 000003
【図２】
2005174319.tif 000004
【図３】
2005174319.tif 000005
【図４】
2005174319.tif 000006
【図５】
2005174319.tif 000007