本発明に係る好適な実施例について添付の図面を参照して詳しく説明する。添付の図面と共に以下に開示する詳細な説明は、本発明の例示的な実施例を説明するためのものであり、本発明を実施し得る唯一の実施例を表すためのものではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかし、本発明の属する分野における通常の技術者にとってはこのような具体的な細部事項無しにも本発明を実施可能であるということが理解できる。
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造及び装置を省略したり、各構造及び装置の核心機能を中心にしたブロック図の形式で示すことができる。また、本明細書を通じて同一の構成要素には同一の図面符号を付することができる。
本明細書で、M2Mデバイス(M2M device)とは、M2M(Machine−to−Machine)通信のためのデバイスを指す。M2Mデバイスは、固定していたり移動性を有することができ、M2Mサーバーと通信してユーザデータ及び/又は制御情報を送受信することができる。M2Mデバイスは、端末(Terminal Equipment)、MS(Mobile Station)、MT(Mobile Terminal)、UT(User Terminal)、SS(Subscribe Station)、無線装置(wireless device)、PDA(Personal Digital Assistant)、無線モデム(wireless modem)、携帯装置(handheld device)などと呼ぶことができる。本発明において、M2Mサーバーは、M2M通信のためのサーバーを意味し、固定局(fixed station)又は移動局(mobile station)として具現することができる。M2Mサーバーは、M2Mデバイス及び/又は他のM2Mサーバーと通信してデータ及び制御情報を交換することができる。また、M2Mゲートウェイは、M2Mデバイスが接続しているネットワークとM2Mサーバーが接続しているネットワークとが異なる場合、あるネットワークから他のネットワークに入る接続点の役目を担う装置のことを指す。また、M2Mゲートウェイは、M2Mデバイスとして機能することができ、その他にも、例えば、M2Mゲートウェイに接続されたM2Mデバイスを管理したり、一つのメッセージを受信し、接続されたM2Mデバイスにそのままの又は変更されたメッセージを伝達したり(message fanout)、メッセージ集積(message aggregation)を行う機能を有することができる。M2Mデバイスという用語は、M2MゲートウェイとM2Mサーバーを含む概念で使うことができ、このことから、M2MゲートウェイとM2MサーバーはM2Mデバイスと呼ぶことができる。
また、本明細書で、“エンティティ(entity)”という用語は、M2Mデバイス、M2Mゲートウェイ、M2Mサーバーのようなハードウェアを指すこともでき、又は、後述するM2Mアプリケーション層とM2M(共通)サービス層のソフトウェアコンポーネント(software component)を指すこともできる。
以下では本発明がM2Mシステムを中心に説明されるが、本発明は、M2Mシステムに制限されず、例えば、クライアント−サーバー(又は、送信者−応答者(sender−responder))モデルによるシステムにも同一/類似に適用可能である。
図1にはM2Mシステムを例示する。図1は、ETSI(European Telecommunications Standards Institute)技術規格(Technical Specification、TS)に基づくM2Mシステムを例示する。
ETSI TS M2M技術規格に従うM2Mシステムは、様々なM2Mアプリケーション(Application)のための共通M2Mサービスフレームワーク(Service Framework)を定義する。M2Mアプリケーションは、eヘルス(e−Health)、都市自動化(City Automation)、コネクテッドコンシューマー(Connected Consumer)、オートモーティブ(Automotive)のようなM2Mサービスソリューションを具現するソフトウェアコンポーネント(software component)を意味することができる。M2Mシステムではこのような様々なM2Mアプリケーションを具現するために共通に必要な機能が提供される。これらの共通に必要な機能をM2Mサービス又はM2M共通サービスと呼ぶことができる。このようなM2M共通サービスを利用すると、M2Mアプリケーションごとに基本サービスフレームワークを再び構成することなくM2Mアプリケーションを容易に具現することができる。
M2Mサービスは、サービス能力(Service Capability、SC)の集合の形態で提供され、M2Mアプリケーションはオープンインターフェース(open interface)を介してSC(Service Capability)の集合又はSC(Service Capability)にアクセスし、SC(Service Capability)の提供するM2Mサービス又は機能を利用することができる。SCは、M2Mサービスを構成する機能(例えば、デバイスの管理、位置、発見、グループ管理、登録、保安など)を提供することができ、SC層(Service Capabilities Layer)又はSCエンティティ(Service Capability Entity)は、M2Mアプリケーションがサービスフレームワーク上で提供される時に使用し得るM2Mサービスのための機能(function)の集合といえる。
SC(Service Capability)は、xSCで表現することができる。ここで、xは、N/G/Dのいずれか一つで表現することができ、SCがネットワーク(Network)(及び/又はサーバー)、ゲートウェイ(Gateway)、デバイス(Device)のうちいずれに存在するかを示す。例えば、NSCは、ネットワーク及び/又はサーバー上に存在するSCを示し、GSCは、ゲートウェイ上に存在するSCを示す。
M2Mアプリケーションはネットワーク、ゲートウェイ、又はデバイス上に存在することができる。ネットワーク上に存在したりサーバーと直接接続されて存在するM2Mアプリケーションは、M2Mネットワークアプリケーション(M2M Network Application)と称し、NA(Network Application)と略してもよい。例えば、NAは、サーバーに直接接続されて具現されるソフトウェアであり、M2Mゲートウェイ又はM2Mデバイスと通信し、それらを管理する役割を担うことができる。デバイス上に存在するM2Mアプリケーションは、M2Mデバイスアプリケーション(M2M Device Application)と称し、DA(Device Application)と略してもよい。例えば、DAは、M2Mデバイスで駆動されるソフトウェアであり、センサー情報などをNAに伝達することもできる。ゲートウェイ上に存在するM2Mアプリケーションは、M2Mゲートウェイアプリケーション(Gateway Application)と称し、GA(Gateway Application)と略してもよい。例えば、GAは、M2Mゲートウェイを管理する役割を担うこともでき、DAにM2Mサービス又は機能(例えば、SCs(Service Capabilities)又はSC(Service Capability))を提供することもできる。M2Mアプリケーションは、アプリケーションエンティティ(AE)とアプリケーション層を総称することができる。
図1を参照すると、M2Mシステムアーキテクチャーは、ネットワークドメインとデバイス及びゲートウェイドメインとに区別できる。ネットワークドメインは、M2Mシステム管理のための機能(function)とネットワーク管理のための機能(function)を含むことができる。M2Mシステム管理のための機能は、デバイス及びゲートウェイドメインに存在するデバイスを管理するM2MアプリケーションとM2M SCs(Service Capabilities)によって行うことができ、ネットワーク管理のための機能は、コアネットワークとアクセスネットワークによって行うことができる。したがって、図1の例で、コアネットワークとアクセスネットワークは、M2M機能を果たすというよりは、各エンティティの間の接続を提供する。コアネットワーク及びアクセスネットワークを介してネットワークドメインとデバイス及びゲートウェイドメインとにおいてM2M SCs間にM2M通信を行うことができ、各ドメインにおけるM2Mアプリケーションは、各ドメインにおけるM2M SCsを介して信号又は情報を交換することができる。
アクセスネットワーク(Access Network)は、M2Mデバイス及びゲートウェイドメインがコアネットワークと通信できるようにするエンティティである。アクセスネットワークの例には、xDSL(Digital Subscriber Line)、HFC(Hybrid Fiber Coax)、衛星(satellite)、GERAN、UTRAN、eUTRAN、無線(Wireless)LAN、WiMAXなどがある。
コアネットワーク(Core Network)は、IP(Internet Protocol)接続、サービスとネットワーク制御、相互接続、ローミング(roaming)などの機能を提供するエンティティである。コアネットワークは、3GPP(3rd Generation Partnership Project)コアネットワーク、ETSI TISPAN(Telecommunications and Internet converged Services and Protocols for Advanced Networking)コアネットワーク、及び3GPP2コアネットワークなどを含む。
M2M SCは、複数のM2Mネットワークアプリケーションで共有可能なM2M共通サービス機能(Common Service Function、CSF)を提供し、M2Mサービスをオープンインターフェース(open interface)を介して露出することでM2MアプリケーションがM2Mサービスを利用できるようにする。M2M SCL(Service Capability Layer)は、このようなM2M SCエンティティ又はM2M共通サービス機能を含む階層を意味することができる。
M2Mアプリケーションは、サービスロジック(service logic)を動作させ、オープンインターフェースを介してM2M SCsを用いることができるエンティティである。M2Mアプリケーション層は、このようなM2Mアプリケーション及び関連動作ロジック(operational logic)を含む階層を意味することができる。
M2Mデバイスは、M2M SCsを介してM2Mデバイスアプリケーションを動作させるエンティティである。M2MデバイスはネットワークドメインのM2Mサーバーと直接通信することもでき、M2Mゲートウェイを介してネットワークドメインのM2Mサーバーと通信することもできる。M2Mゲートウェイを介して接続される場合には、M2Mゲートウェイはプロキシ(proxy)のように動作する。M2Mデバイスは、M2Mアプリケーション及び/又はM2M SCsを含むことができる。
M2M領域ネットワーク(M2M area network)は、M2MデバイスとM2Mゲートウェイ間の接続(connectivity)を提供する。この場合、M2Mゲートウェイ及びM2Mサーバー間のネットワークとM2Mデバイス及びM2Mゲートウェイ間のネットワークとが異なり得る。例えば、M2M領域ネットワークは、IEEE 802.15.1、ジグビー(Zigbee)、ブルートゥース(Bluetooth(登録商標))、IETF ROLL、ISA100.11aのようなPAN(Personal Area Network)技術と、PLC(Power Line Communication)、M−BUS、無線M−BUS、KNXのようなローカルネットワーク技術によって具現することができる。
M2MゲートウェイはM2M SCsを介してM2Mアプリケーションを管理し、M2Mアプリケーションに対してサービスを提供するエンティティである。M2MゲートウェイはM2Mデバイスとネットワークドメイン間のプロキシの役割を担い、ETSI非互換(non−compliant)M2Mデバイスにもサービスを提供する役割を担うことができる。M2Mゲートウェイは、M2Mデバイスのうち、ゲートウェイ機能を有するエンティティのことを指すことができる。M2Mゲートウェイは、M2Mアプリケーション及び/又はM2M SCsを含むことができる。
図1に示したM2Mシステムアーキテクチャーは例示に過ぎず、各エンティティの名称は変更されてもよい。例えば、M2M SCはM2M共通サービス機能(common service function、CSF)と呼ばれてもよく、SCL(Service Capability Layer)は共通サービス層(Common Service Layer、CSL)又は共通サービスエンティティ(Common Service Entity、CSE)と呼ばれてもよい。また、M2Mアプリケーションはアプリケーションエンティティ(application entity、AE)と呼ばれてもよく、M2Mアプリケーション層は簡略してアプリケーション層と呼ばれてもよい。同様に、各ドメインの名称も変わってもよい。例えば、oneM2Mシステムにおいて、ネットワークドメインは、インフラストラクチャードメイン(infrastructure domain)と呼び、デバイス及びゲートウェイドメインはフィールドドメイン(field domain)と呼ぶこともできる。
図1に例示したように、M2Mシステムは、M2M通信のためにM2Mアプリケーション層とM2M SC層を含む階層構造として理解されてもよい。
図2にはM2Mシステムの階層構造(layered structure)を例示する。
図2を参照すると、M2Mシステムは、アプリケーション層202、共通サービス層204、基底ネットワークサービス層(underlying network services layer)206を含むことができる。前述したように、アプリケーション層202はM2Mアプリケーション層に対応し、共通サービス層204はM2M SCLに対応し得る。基底ネットワークサービス層206は、コアネットワークに存在する装置管理(device management)、位置サービス(location service)、及び装置トリガリング(device triggering)のようなサービスを共通サービス層204に提供する。
図3にはM2Mシステムの機能的アーキテクチャー(functional architecture)を例示する。機能的な側面においてM2Mシステムアーキテクチャーはアプリケーションエンティティ(application entity、AE)302、共通サービスエンティティ(common service entity、CSE)304、基底(underlying)ネットワークサービスエンティティ(network service entity、NSE)306を含むことができる。各エンティティ302,304,306は、共通サービスエンティティ304が支援する基準点(reference point)を介して通信することができる。基準点は、各エンティティ302,304,306間の通信フロー(communication flow)を指定する役割を担う。基準点はMcxと表現することができ、Mcは“M2M communications”を意味する。本明細書で、Mca基準点、Mcc基準点、Mcn基準点はそれぞれMca、Mcc、Mcnと表記することができる。
図3を参照すると、Mca基準点312は、アプリケーションエンティティ(AE)302と共通サービスエンティティ(CSE)304との通信フローを指定する。Mca基準点312は、AE302がCSE304によって提供されるサービスを利用できるようにし、CSE304がAE302と通信できるようにする。Mca基準点312はM2Mアプリケーション層とM2M共通サービス層(又はエンティティ)との間のインターフェースを意味することができる。
Mcc基準点314は、異なる共通サービスエンティティ(CSE)304の間の通信フローを指定する。Mcc基準点314は、CSE304が必要な機能を提供する際、他のCSEのサービスを利用できるようにする。Mcc基準点314を介して提供されるサービスは、CSE304が支援する機能に依存的であってもよい。Mcc基準点314は、M2M共通サービス層同士の間のインターフェースを意味することができる。
Mcn基準点316は、CSE304と基底ネットワークサービスエンティティ(NSE)306との間の通信フローを指定する。Mcn基準点316は、CSE304が要求された機能を提供するように、基底NSE306の提供するサービスを利用できるようにする。Mcn基準点312は、M2M共通サービス層とM2M基底ネットワーク層との間のインターフェースを意味することができる。
また、図3の例で、CSE304は様々な共通サービス機能(common service function、CSF)を提供することができる。例えば、CSE304は、アプリケーション及びサービス層管理(Application and Service Layer Management)機能、通信管理及び伝達処理(Communication Management and Delivery Handling)機能、データ管理及び保存(Data Management and Repository)機能、装置管理(Device Management)機能、グループ管理(Group Management)機能、発見(Discovery)機能、位置(Location)機能、ネットワークサービス露出/サービス実行及びトリガリング(Network Service Exposure/Service Execution and Triggering)機能、登録(Registration)機能、保安(Security)機能、サービス課金及び計算(Service Charging and Accounting)機能、サービスセッション管理機能(Service Session Management)、サブスクリプション/通知(Subscription/Notification)機能のうち少なくとも一つを含むことができる。CSE304は、上記共通サービス機能のインスタンス(instance)を表し、M2Mアプリケーションが使用して共有できる共通サービス機能のサブセットを提供する。共通サービス機能を概略的に説明すると次のとおりである。
− アプリケーション及びサービス層管理(Application and Service Layer Management、ASM):AEとCSEの管理機能を提供する。例えば、ASM機能は、CSEの機能を設定(configure)し、問題点を解決(troubleshoot)し、アップグレード(upgrade)するだけでなく、AEの機能をアップグレードすることができる。
− 通信管理及び伝達処理(Communication Management and Delivery Handling、CMDH):他のCSE、AE、NSEとの通信を提供する。例えば、CMDH機能は、CSE−CSE通信(CSE−to−CSE communication)のための接続(connection)をいつどのように使用するかを決定し、特定要請が遅延伝達されるように制御することができる。
− データ管理及び保存(Data Management and Repository、DMR):M2Mアプリケーションがデータを交換、共有できるようにする。例えば、DMR機能は、大量のデータを収集(collecting)/併合(aggregating)し、データを特定フォーマットに変換(converting)して保存(storing)することができる。
− 装置管理(Device Management、DMG):M2Mゲートウェイ及びM2Mデバイスだけでなく、M2M領域ネットワークに存在するデバイスに対するデバイス機能を管理する。例えば、DMG機能は、アプリケーション設置及び設定、ファームウェア(Firmware)アップデート、ロギング(Logging)、モニタリング(Monitoring)、診断(Diagnostics)、ネットワークトポロジ(Topology)管理などを行うことができる。
− 発見(Discovery,DIS):与えられた範囲及び条件内で要請に応じて情報及びリソース(resource)のような情報を検索(searching)する。
− グループ管理(Group Management、GMG):例えば、リソース(resource)、M2Mデバイス、又はM2Mゲートウェイをまとめてグループを生成できるが、グループ関連要請をハンドリング(handling)する。
− 位置(Location、LOC):M2MアプリケーションがM2Mデバイス又はM2Mゲートウェイの位置情報を取得できるようにする役割を担う。
− ネットワークサービス露出/サービス実行及びトリガリング(Network Service Exposure/ Service Execution and Triggering、NSSE):基底ネットワークの通信を可能にし、基底ネットワークが提供するサービス又は機能を使用できるようにする。
− 登録(Registration、REG):M2Mアプリケーション又は他のCSEの特定CSEへの登録を処理する役割を担う。登録は、特定CSEのM2Mサービス機能を使用するために行われる。
− 保安(Security、SEC):保安キーのような敏感なデータハンドリング、保安関連付け(Association)設立、認証(Authentication)、権限付与(Authorization)、ID(Identity)保護などの役割を担う。
− サービス課金及び計算(Service Charging and Accounting、SCA):AE又はCSEに課金機能を提供する役割を担う。
− サービスセッション管理(Service Session Management、SSM):端対端(end−to−end)通信のためのサービス層のM2Mセッションを管理する役割を担う。
−サブスクリプション/通知(Subscription/Notification、SUB):特定リソース(resource)に対する変更をサブスクリプション(Subscription)し、当該リソース(resource)が変更されるとそれを通知(notification)する役割を担う。
図4は、M2Mシステムの構成を例示する。本明細書で、ノード(node)は、一つ以上のM2Mアプリケーションを含むエンティティ、又は一つのCSEと0個以上のM2Mアプリケーションを含むエンティティを意味する。
アプリケーション専用ノード(Application Dedicated Node、ADN)は、少なくとも一つのアプリケーションエンティティ(AE)を有するが、共通サービスエンティティ(CSE)を有しないノードを意味することができる。ADNは、Mcaを介して一つの中間ノード(Middle Node、MN)又は一つのインフラストラクチャーノード(Infrastructure Node、IN)と通信することができる。ADNは、制限された能力を有するM2Mデバイス(M2M device having a constrained capability)と呼ぶこともできる。制限された能力を有するM2Mデバイスは、共通サービス層(common service layer)又は共通サービスエンティティ(CSE)を含まないM2Mデバイスを意味することができる。制限された能力を有するM2Mデバイスは、簡略に、制限的なM2Mデバイス(constrained M2M device)と呼ぶこともできる。
アプリケーションサービスノード(Application Service Node、ASN)は、少なくとも一つの共通サービスエンティティ(CSE)及び少なくとも一つのM2Mアプリケーションエンティティ(AE)を有するノードを意味することができる。ASNは、Mccを介して一つの中間ノード又は一つのインフラストラクチャーノードと通信することができる。ASNは、M2Mデバイスと呼ぶことができる。
中間ノード(Middle Node、MN)は、一つの共通サービスエンティティ(CSE)と0個以上のM2Mアプリケーションエンティティ(AE)を有するノードを意味することができる。MNは、Mccを介して一つのインフラストラクチャーノード(IN)又は他の中間ノード(MN)と通信することができ、又はMccを介してIN/MN/ASNと通信することができ、又はMcaを介してADNと通信することができる。MNは、M2Mゲートウェイと呼ぶことができる。
インフラストラクチャーノード(Infrastructure Node、IN)は、一つの共通サービスエンティティ(CSE)及び0個以上のアプリケーションエンティティ(AE)を有するノードを意味することができる。INは、Mccを介して少なくとも一つの中間ノード(MN)と通信することができ、及び/又は少なくとも一つのASNと通信することができる。或いはINは、Mcaを介して一つ以上のADNと通信することができる。INは、M2Mサーバーと呼ぶことができる。
図4を参照すると、ケース1は、ADNとINとの間の通信を例示する。ADNは、制限された能力を有するM2Mデバイスであってもよい。この場合、ADNはCSE又は共通サービス層を有しておらず、Mcaを介してINのCSEと通信することができる。また、この場合、ADNは、CSE又は共通サービス層を有しておらず、AE又はアプリケーション層で生成されたデータを他のエンティティに保存/共有することができない。このため、ケース1で、ADNのAE又はアプリケーション層で生成されたデータは、INのCSEに保存して共有することができる。
ケース2は、ADNとMNとの間の通信を例示する。ADNも、制限された能力を有するM2Mデバイスであってもよい。このため、ADNがMNのCSEと通信する以外は、ケース1と略同様に動作することができる。すなわち、ADNはMcaを介してMNのCSEと通信することができる。また、ADNは、CSE又は共通サービス層を有しておらず、AE又はアプリケーション層で生成されたデータを他のエンティティに保存/共有することができない。このため、ADNのAE又はアプリケーション層で生成されたデータは、MNのCSEに保存して共有することができる。
一方、ケース2で、MNはMNを経てINと通信することができる。この場合、MNとMN、そしてMNとINはMccを介して通信することができる。MNがMNを経ずにINと直接通信することもできる。
ケース3は、ASNとMNとの間の通信を例示する。ケース1又はケース2と違い、ASNはCSE又は共通サービス層を有しているため、ASNのAE又はアプリケーション層で生成されたデータを自身のCSE又は共通サービス層に保存することができる。また、ASNのAEは、ASNのCSEを介してMNのCSEと通信することができる。
ケース4は、ASNとINとの間の通信を例示する。ケース3と比較して、ASNのCSEはMNを経ずにINのCSEと直接通信することができる。
INは、インフラストラクチャードメイン又はネットワークドメインに位置し、一つのCSE及び0個以上のAEを含むことができる。INはMccを介して互いに通信することができる。
図5には、M2Mシステムで用いられるリソース(resource)を例示する。
M2Mシステムにおいてアプリケーションエンティティ(AE)、CSE、データなどはリソース(resource)と表現することができる。M2Mシステムにおいて、リソースは、固有のアドレス(例えば、URI(Universal Resource Identifier又はUniform Resource Identifier))を用いて固有にアドレシング可能なエンティティ(uniquely addressable entity)を意味する。M2Mシステムでリソースは特定データ構造と表現され、各リソースは互いに論理的に連結されてもよい。リソースは、CSE又は共通サービス層によって管理されて保存されてもよい。このため、M2Mデバイス、M2Mゲートウェイ、M2MサーバーのCSE又は共通サービス層ではこのようなリソースを有することができる。一方、M2MシステムのAE又はアプリケーション層ではこのようなリソース構造を有することができない。各リソースは子リソースと属性を有する。M2Mリソースでルート(Root)リソースは属性(attribute)と子リソース(child resource)を有することができる。例えば、リソースをツリー構造で表現することができる。例えば、ルートリソースのタイプは、<baseURI>又は<CSEBase>と表示することができる。リソースのタイプは、“<”と“>”で表示することができる。
M2Mシステムでは様々なリソースタイプが定義されるが、M2Mアプリケーションは、リソースタイプが実体化(Instantiation)されたリソースに基づいて通信を行うことができる。例えば、アプリケーションを登録し、センサー値を読み込むなどのM2Mサービスを行うために用いられてもよい。それぞれのリソースは、該当のリソースタイプのインスタンスが生成される際に固有のアドレス情報(例えば、URI)が与えられ、ルートリソースと同様に、属性及び子リソースを有することができる。各リソースは、固有のアドレス情報を用いてアドレシングされてもよい。特定リソースタイプは、該当のリソースが実体化(Instantiation)された時に有し得る子リソースと属性を定義する。特定リソース実体化(Instantiation)の際、リソースは、当該リソースのリソースタイプに定義された属性と子リソースを有することができる。
属性は、リソース自体に関する情報を保存し、子リソースを有することができない。子リソースは、自身の属性と自身の子リソースを有することができ、例えば、子リソースには、遠隔CSEリソース、アプリケーションエンティティリソース、アクセス制御リソース、コンテナリソース、グループリソース、サブスクリプションリソースなどがある。
− 遠隔CSEリソース:当該CSEに登録(連結)された他のCSEの情報を含む。例えば、遠隔CSEリソースのタイプは、<entity>又は<remoteCSE>と表示することができる。
− アプリケーションエンティティリソース:ルートリソースのアプリケーションエンティティリソース(例えば、<baseURI>/<application>又は<CSEBase>/<AE>)又はルートリソースの遠隔CSEリソース(例えば、<baseURI>/<entity>又は<CSEBase>/<remote CSE>)の下位に存在するリソースであり、ルートリソースのアプリケーションエンティティリソース(例えば、<baseURI>/<application>又は<CSEBase>/<AE>)の下位に存在する場合、当該CSEに登録(連結)されたアプリケーションエンティティの情報を保存し、ルートリソースの遠隔CSEリソース(例えば、<baseURI>/<entity>又は<CSEBase>/<remote CSE>)の下位に存在する場合には、特定遠隔CSEに登録されたアプリケーションエンティティの情報を保存する。例えば、アプリケーションエンティティリソースのタイプは、<application>又は<AE>と表示することができる。
− 接近制御リソース:接近権限に関連した情報を保存するリソースである。このリソースに含まれた接近権限情報を用いて権限付与(authorization)を行うことができる。例えば、接近制御リソースのタイプは、<accessRight>又は<accessControlPolicy>と表示することができる。
− コンテナリソース:CSE又はAE別に生成されるデータを保存する。例えば、コンテナリソースのタイプは、<container>と表示することができる。
− グループリソース:複数のリソースを一つにまとめて一緒に処理できるようにする機能を提供する。例えば、グループリソースのタイプは、<group>と表示することができる。
− サブスクリプションリソース:リソースの状態が変更されることを通知(Notification)にて知らせる機能を果たす。例えば、サブスクリプションリソースのタイプは、<subscription>と表示することができる。
図6には特定M2Mアプリケーションのためのリソースタイプを例示する。前述したように、特定M2Mアプリケーションのためのリソースは、M2MゲートウェイのCSE又は共通サービス層のリソースにおいてアプリケーションリソース(Application Resource)に保存することができる。特定M2Mアプリケーションのためのリソースは、全体リソースと類似に、属性(attribute)と子リソース(child resource)を有することができる。図6の例で、子リソースはタイプ(例えば、“<”、“>”で表示)と定義されており、実体化の際に実の名前が与えられて保存される。
図7には一般的なM2Mシステムの通信フローを例示する。一般に、M2Mシステムの動作はデータ交換に基づいて行われる。例えば、特定デバイスが他のデバイスの動作を止めるために該当の命令をデータの形態として他の装置に伝達することができる。デバイス内でデータを保存するためには特定形態のデータ構造が用いられるが、これをリソース(Resource)と呼ぶ。リソースは、固有のアドレス(例えば、URI)を用いてアクセスすることができる。
図7を参照すると、AEとCSEとの連結又はCSE同士の連結において要請及び応答方式(Request and Response Scheme)が用いられる。発信者(originator)は、受信者(receiver)に保存されているリソースを要請するために要請メッセージを送信し、それに対する応答として応答メッセージを受信することができる。同様に、受信者は、発信者からリソースを要請するメッセージを受信し、それに対する応答として応答メッセージを発信者に送信することができる。本明細書では簡略して、要請メッセージを要請と呼び、応答メッセージを応答と呼ぶこともできる。発信者から受信者に送信される要請メッセージは次のような情報を含むことができる。
− op:実行される動作(Operation)の形態
生成(Create)/回収(Retrieve)/更新(Update)/削除(Delete)/通知(Notify)のうち一つであってもよい。本明細書では、動作に該当する情報を命令(command)と呼ぶこともできる。
− to:目的リソースのURI(Uniform Resource Identifier)
− fr:要請(Request)を生成した発信者の識別情報(又はID)
− mi:当該要請に対する追加情報(Meta information)
− cn:伝達されるリソースの内容
― ec:要請をハンドリングするのに用いられるイベントカテゴリー(Event Category)を指示する。イベントカテゴリーは、遠隔ホスティングされた各リソースをアクセスする各要請が受信者(例えば、受信者のCMDH CSF)でどのように処理されるのかに対して影響を与えることができる。例えば、イベントカテゴリーは、発信者要請の重要度を示す情報を示すことができる。要請メッセージのecは、例えば、「immediate」、「bestEffort」、「latest」などの値に設定することができる。ecが「immediate」に設定される場合、このカテゴリーの各要請は重要な要請を意味するので、可能な限り速く伝送され、追加的なCMDH処理が行われない。例えば、基底ネットワークを介した通信が可能である場合、これら各要請は、CMDHバッファーに格納されずに伝送され得る。ecが「bestEffort」に設定される場合、このカテゴリーの各要請は、CSEの裁量で任意の時間の間にCMDHバッファーに格納され得、最善の努力で(on a best effort basis)Mccを介して伝達され得る。ecが「latest」に設定される場合、このカテゴリーの各要請は正常なCMDH処理を経て、各要請が係留中である場合、最大バッファーサイズ内で古い要請が最近の要請に取り替えられる。
当該要請が成功的に行われた場合、応答(Response)メッセージは次のような情報を含むことができる。応答メッセージは、次の情報のうち少なくとも一つを含むことができ、又は結果値(rs)のみを含んでもよい。
− to:要請を生成した発信者の識別情報(又はID)
− fr:要請を受信した受信者の識別情報(又はID)
− mi:要請に対する追加情報(Meta information)
− rs:要請に対する結果(例えば、Okay、Okay and Done、Okay and in progress)
− ai:追加的な情報
− cn:伝達されるリソースの内容
当該要請に失敗した場合、応答メッセージは次のような情報を含むことができる。
− to:要請を生成した発信者のID
− fr:要請を受信した受信者のID
− mi:要請に対する追加情報(Meta information)
− rs:要請に対する結果(例えば、Not Okay)
− ai:追加的な情報
本明細書で、発信者は発信者デバイス(又は、そのCSE又はAE)を表し、受信者は、受信者デバイス(又は、そのCSE又はAE)を表すことができる。また、リソースを有しているデバイス(又は、そのCSE)をホスティングデバイス(又はホスティングCSE)と呼ぶ。
図8はM2Mシステムにおいて異なるエンティティが相互連動する例を示す。
図8には、IN(Infrastructure Node)に登録されたAE(application2)がM2Mデバイス(M2M Device)と連動する例が示されている。例えば、M2Mデバイスは、物理的な装置であるセンサーを含むことができ、INに登録されたAEは、M2Mデバイスのセンサー値を読み込むことができる。
M2Mデバイス上に存在するAE(application1)は、センサーから値を読み取り、読み取った値を、自身が登録しているCSE(dcse)にリソース形態(例えば、<container>リソース)で保存する。そのために、M2Mデバイス上に存在するAE(application1)は、M2Mデバイスに存在するCSEにまず登録しなければならない。図8に例示するように、登録が完了すると、dcse/applications/application1リソースの形態で登録されたM2Mアプリケーション関連情報が保存される。例えば、M2Mデバイスのセンサー値がAE(application1)によってdcse/applications/application1リソースの下位のContainerリソースに保存されると、IN(Infrastructure Node)に登録されているAE(application2)が当該値に接近することができる。また、AE(application2)がM2Mデバイスに接近するためにはIN(Infrastructure Node)のCSE(ncse)に登録しなければならない。これは、AE(application1)がCSE(dcse)に登録する方法と同様に、ncse/applications/application2リソースにAE(application2)に関する情報が保存される。また、AE(application1)は、AE(application2)と直接通信せずに、中間のCSE(ncse)とCSE(dcse)を介して通信することができる。そのために、CSE(ncse)とCSE(dcse)は相互登録されなければならない。CSE(dcse)がCSE(ncse)に登録すると、ncse/cses/dcseリソースの下位にdcse関連情報(例えば、Link)が保存される。これによって、AE(application2)はAE(application1)の情報に接近できる経路を取得し、当該経路を通じてセンサーの値を読むことができる。
図9は、サブスクリプション資源と関連する手順を例示する。
M2Mシステム(例えば、oneM2M)では、資源の変化に伴い、該当資源の変化に関心のあるエンティティ(Entity)が該当変化に対する通知(notification)をサブスクリプション(subscription)することができる。この場合、通知をサブスクリプションするためには、サブスクリプションのための資源が設定されなければならない。サブスクリプションのための資源は、サブスクリプション資源または<subscription>資源と称することができる。サブスクリプション資源が生成/設定された場合、サブスクリプション資源が設定されたデバイス(またはエンティティ)は、サブスクリプション資源に設定された条件を満足する修正/変化がサブスクリプション対象資源(subscribed―to resourceまたはsubscribed resource)で発生する場合、サブスクリプション資源に設定されたアドレスに通知を伝送することができる。サブスクリプション資源が設定されたり及び/またはサブスクリプション対象資源を含むデバイス(またはエンティティ)をホスティングデバイス(またはホスティングエンティティ)と称する。例えば、M2MゲートウェイのCSEにサブスクリプション対象資源が存在し得、この場合、M2Mゲートウェイをホスティングデバイスと称し、M2MゲートウェイのCSEをホスティングCSEと称することができる。
サブスクリプション資源を用いて資源指向的な方式(resource―oriented manner)でサブスクリプション手順を行うことができる。例えば、特定のサブスクリプション対象資源に対してサブスクリプションするためにサブスクリプション資源を生成することができ、サブスクリプション資源を修正することによってサブスクリプションのための条件を変更することができ、サブスクリプションをこれ以上望まない場合はサブスクリプション資源を削除することができる。
サブスクリプション資源(subscription resource)は、サブスクリプション対象資源(subscribed―to resource)に対する情報を含む。サブスクリプション対象資源とサブスクリプション資源との関係は、親―子の関係として表現することができる。例えば、サブスクリプション対象資源を含む<container>資源は、子資源として<subscription>資源を有することができる。親サブスクリプション対象資源が削除されるとき、<subscription>資源は削除され得る。
サブスクリプション(subscription)資源が子資源である場合は、サブスクリプション資源の設定(属性設定)によって親資源の状態変化を指示する通知(notification)がサブスクリプション資源内のアドレス情報(例えば、notificationURIまたはcontact属性)に明示されたエンティティに伝達され得る。発信者がサブスクリプション可能な資源に対するRETRIEVE(またはREAD)権限(permission)を有する場合、発信者はサブスクリプション資源を生成することができる。サブスクリプション資源の発信者は資源サブスクリプション者になる。サブスクリプション対象資源に対する修正がある場合、その修正を特定の属性(例えば、notificationCriteria attribute)と比較し、通知が資源サブスクリプション者に伝送されるか否かを決定する。
サブスクリプション資源(例えば、<subscription>資源)は、多様な属性と子資源を有することができる。例えば、サブスクリプション資源(例えば、<subscription>資源)は、表1の各属性を有することができる。表1において、R/Wは、該当属性の読み取り(read)/書き取り(write)の許容有無(permission)を示し、READ/WRITE(RW)、READ ONLY(RO)、及びWRITE ONLY(WO)のうち一つであり得る。また、表1は、例示に過ぎず、サブスクリプション資源の属性は表1と異なる形に構成することができる。
表1の例において、フィルタリング属性(例えば、notificationCriteria)は、サブスクリプション対象資源の修正/変化に対する各条件のリストであり、各条件は、論理的AND関係にあり得る。例えば、フィルタリング属性(例えば、notificationCriteria)が2個の条件を含む場合、サブスクリプション対象資源の修正/変化が2個の条件を全て満足するときに通知が伝送され得る。サブスクリプション資源にフィルタリング属性を設定することによって通知メッセージの量を調節することができ、設定したフィルタリング属性を満足するときに通知対象エンティティ(notification target entity)に通知が伝送されるようにし、通知メッセージが溢れる問題を防止することができる。表2は、フィルタリング属性に含まれ得る各条件を例示する。
また、サブスクリプション資源(例えば、<subscription>資源)は、子資源としてスケジューリング情報を含むスケジューリング資源(例えば、<schedule>)を有することができる。スケジューリング資源が特定資源の子資源として設定される場合、スケジューリング資源は、その親資源の文脈でスケジューリング情報を示す。スケジューリング資源(例えば、<schedule>)は、該当ノードの到達可能性スケジュール(reachability schedule)情報を定義する。スケジューリング資源がサブスクリプション資源の子資源に実体化される場合、通知スケジューリング資源(例えば、notificationSchedule資源)と称することができる。本明細書において、スケジューリング資源または通知スケジューリング資源(例えば、<schedule>またはnotificationSchedule資源)は、簡略してスケジューリング資源と称することができる。例えば、スケジューリング資源がサブスクリプション資源の子資源である場合、スケジューリング資源に設定されたスケジューリング情報は、サブスクリプション資源の通知のためのスケジューリング情報を示すことができる。本明細書において、スケジューリング情報は、到達可能性スケジュール(reachability schedule)情報と称することができる。
本明細書において、到達可能であること(reachable)は、各ノード間にメッセージが送受信され得る状態を称することができ、到達可能でないこと(unreachableまたはnon―reachable)は、各ノード間にメッセージが送受信され得ない状態を称することができる。また、特定ノードが到達可能な状態にある場合、特定ノードは、到達可能モードにあると称することができる。また、特定ノードが到達可能でない状態にある場合、特定ノードは、到達不可モードにあると称することができる。よって、到達可能性スケジュール情報は、各ノード間にメッセージ送受信が発生し得る時間を指示することができる。また、各ノード間の連結状態は到達可能性と称することができる。
スケジューリング資源(例えば、<schedule>)は、多様な属性を有することができる。例えば、スケジューリング資源は、resource Type、resourceID、parentID、expirationTime、creationTime、lastModifiedTimeなどの属性を含むことができる(表3参照)。表3において、RW/RO/WOは、該当属性の読み取り(read)/書き取り(write)の許容有無(permission)を示し、READ/WRITE(RW)、READ ONLY(RO)、及びWRITE ONLY(WO)のうち一つであり得る。また、表3において、発生回数(multiplicity)は、該当属性が<schedule>資源で発生可能な回数を示す。表3は、例示に過ぎなく、スケジューリング資源の属性は表3と異なる形に構成することができる。
また、例えば、スケジューリング資源は、スケジューリング時間情報のための属性(例えば、scheduleElement)を含むことができる。スケジューリング時間情報のための属性は、秒、分、時、日、月、年などによって定義される時間を表現することができ、時間の反復を表現することができ、ワイルドカード(wildcard、例えば、「*」)として表現することができる。スケジューリング時間情報のための属性は、特定ノードが到達可能モードにある期間を示したり、特定ノードが到達不可モードにある期間を示すことができる。例えば、スケジューリング時間情報のための属性は、特定ノードが到達可能モードにある期間を示す場合、スケジューリング時間情報のための属性に明示された期間の間、該当ノードはメッセージを送受信することができ、他のノードと連結状態にあり得る。他の例として、スケジューリング時間情報のための属性は、特定ノードが到達不可モードにある期間を示す場合、スケジューリング時間情報のための属性に明示された期間の間、該当ノードはメッセージを送受信することができなく、他のノードとの連結がない状態にあり得る。
図9を参照すると、デバイス1 910は、デバイス2 920の特定資源をサブスクリプションするために図9に例示した手順を行うことができる。デバイス1 910は、サブスクリプション対象資源の変化による通知を受ける対象であってもよく、そうでなくてもよい。図9の例において、特定資源は、サブスクリプション対象資源に該当し、デバイス2 920は、サブスクリプション対象資源を含んでいるのでホスティングデバイス(またはエンティティ)に該当し得る。
S902段階において、デバイス1 910は、特定資源をサブスクリプションするためにサブスクリプション資源に対する要請をデバイス2 920に伝送することができる。例えば、サブスクリプション資源に対する要請は、サブスクリプション資源の生成要請、回収要請、削除要請、及び更新要請のうちいずれか一つであり得る。各要請は、図7を参照して説明した要請―応答方式による要請メッセージの形態を有することができる。例えば、S902の要請が生成要請である場合、サブスクリプション資源に対する要請は、C(Create)を有するop情報、サブスクリプション資源の属性情報(例えば、notificationURI、filterCriteria、expirationTimeなど)を含むcn情報、デバイス1 910の識別情報を有するfr情報、及び/またはデバイス2 920の識別情報を有するto情報を含むことができる。他の例として、S902の要請が削除または更新要請である場合、サブスクリプション資源に対する要請は、図7を参照して説明した各情報の全部または一部を含むことができる。
S904段階において、デバイス2 920は、サブスクリプション資源に対する要請を処理可能であるか否かを検査(validate)し、処理可能である場合、該当要請を処理する。例えば、デバイス2 920が生成要請を受信する場合、to情報に指定されたサブスクリプション対象資源がサブスクリプション可能であるか否か、要請発信者(例えば、910)がサブスクリプション対象資源に対してRETRIEVE権限(permission)を有するか否か、サブスクリプション資源のアドレス情報(例えば、notificationURI)が要請発信者(例えば、910)を示さない場合、要請発信者(例えば、910)がサブスクリプション資源のアドレス情報(例えば、notificationURI)に指定されたエンティティまたはデバイスに通知を送るアクセス権限(access rights)を有するか否か、ホスティングデバイスまたはエンティティ(例えば、920)がサブスクリプション資源のアドレス情報(例えば、notificationURI)に指定されたエンティティまたはデバイスに通知を送るアクセス権限(access rights)を有するか否かを検査(validate)する。これらを全て満足する場合、デバイス2 920は、to情報に指定されたサブスクリプション対象資源の下にサブスクリプション資源を生成することができる。
他の例として、デバイス2 920が削除要請を受信する場合、デバイス2 920は、要請発信者(例えば、910)がDELETE権限(permission)を有するか否かを検査(validate)し、これを満足する場合にサブスクリプション資源を削除する。
S906段階において、デバイス2 920は、サブスクリプション資源に対する要請を処理した後、応答メッセージをデバイス1 910に伝送することができる。S906の応答メッセージは、図7を参照して説明した応答メッセージと同一/類似する形態を有することができる。また、回収要請の場合、応答メッセージは返還される情報を含むことができる。
図10は、通知のための手順を例示する。通知のための手順において、発信者は、サブスクリプション資源をホスティングしているデバイスまたはエンティティ(例えば、920)であり得る。また、受信者は、サブスクリプション資源に設定されたアドレス情報(例えば、notificationURI)が示すデバイス(またはエンティティ)であり得る。通知のための手順のために所定の政策情報を設定することができ、このような政策情報を満足するとき、発信者が通知メッセージ(例えば、NOTIFY)を伝送するように設定することができる。
通知メッセージ(例えば、NOTIFY)は、サブスクリプション資源によってトリガリングされるメッセージである。通知メッセージは、サブスクリプション資源を子資源として含むサブスクリプション対象資源の変化がサブスクリプション資源に設定されたフィルタリング属性(例えば、notificationCr6iteria)を満足する場合、サブスクリプション資源に設定されたアドレス情報(例えば、notificationURI)が示す受信者に伝送され得る。通知メッセージの受信者は、サブスクリプション資源の設定によってサブスクリプション資源を生成/設定したデバイスまたはエンティティと同一であってもよく、互いに異なってもよい。例えば、デバイス1 910は、デバイス3 930と同一のエンティティであってもよく、互いに異なるエンティティであってもよい。通知メッセージは、次のような情報を含むことができる。
― fr:発信者(例えば、920)の識別情報またはID
― to:サブスクリプション資源に設定されたアドレス情報(例えば、notificationURI)
― cn:サブスクリプション対象資源の修正内容(modified content)を示すデータ及び/またはこの通知メッセージを生成したサブスクリプション参照(subscription reference)情報(例えば、該当サブスクリプション資源のURI)及び/またはその他の付加情報
図10を参照すると、S1002段階において、発信者920は、サブスクリプション対象資源の変化を検出/感知することができる。サブスクリプション対象資源はサブスクリプション資源の親資源であり、サブスクリプション対象資源の下でサブスクリプション資源と同一のレベルにある資源または属性が修正/変化される場合、発信者920(例えば、SUB CSFまたはCSE、図3参照)はサブスクリプション対象資源の変化として認知することができる。サブスクリプション対象資源の変化が検出/感知される場合、イベントが生成され得る。
サブスクリプション対象資源の変化が検出される場合、S1004段階において、発信者920は、該当変化がサブスクリプション資源に設定された特定属性(例えば、notificationCriteria)とマッチングされるか否かを確認する。特定属性は、例えば、表2に例示した各属性のうち少なくとも一つを含むことができる。サブスクリプション対象資源の変化がフィルタリング属性に含まれた各条件を全て満足しない場合、発信者920は該当変化を無視することができる。
サブスクリプション対象資源の変化がフィルタリング属性に含まれた各条件を全て満足する場合、S1006段階において、発信者920は、サブスクリプション資源に設定されたアドレス情報(例えば、notificationURI)が示すエンティティ930に通知メッセージを伝送することができる。S1006の通知メッセージは、例えば、発信者920の識別情報、サブスクリプション対象資源の変更内容を示すデータ、及び/または通知メッセージを生成したサブスクリプション参照情報を含むことができる。サブスクリプション対象資源の変化がフィルタリング属性に含まれた各条件のうちいずれか一つでも満足しない場合、発信者920は、生成された通知メッセージを伝送しないこともある。
図11は、連結状態が保障されない環境でのサブスクリプション及び通知過程を例示する。図11の例において、2個のエンティティ(例えば、エンティティ1、エンティティ2)で構成された状況でサブスクリプション(subscription)及び通知(notification)過程が発生すると仮定する。
図9及び図10を参照して説明したように、二つのエンティティ間の連結状態が保障される場合、サブスクリプションサービスは次のように行うことができる。
1.エンティティ2は、エンティティ1の特定資源(例えば、「資源n」)に対してサブスクリプション過程を実施する。この過程を通じて、エンティティ2は、エンティティ1の特定資源(例えば、「資源n」)に対するサブスクリプション資源を設定することができる。
2.エンティティ1は、サブスクリプション資源が設定された特定資源(例えば、「資源n」)に対してモニタリングを実施し、モニタリングされている資源に変化が発生すると、エンティティ1は、資源変化を指示する通知(notification)メッセージをエンティティ2に伝送することができる。
上述したように、通知メッセージは、サブスクリプション過程で設定されたアドレス(例えば、Contact attribute in ETSI M2M、notificationURI attribute in oneM2M)に伝送される。本例では、説明の便宜性のために、サブスクリプション過程のサブスクリプション者(subscriber)と通知過程の受信者(Receiver)が同一のエンティティまたはデバイスであると仮定する。
図11を参照すると、サブスクリプション過程が成功的に行われたにもかかわらず、ネットワーク障害、装置故障及び到達可能性スケジュール(reachability schedule)などによって各エンティティ間の連結状態が保障されない場合が発生し得る。前記のような環境で発生した各通知メッセージは、発信者(Originator)(例えば、エンティティ1)から受信者(Receiver)(例えば、エンティティ2)に伝送されない。そこで、従来技術では、連結状態が保障されない場合に発生した各通知メッセージを処理するために、図12のように発生した各通知メッセージを発信者(Originator)に臨時的に格納した後、連結が回復されると、これら通知メッセージを受信者(Receiver)に伝送することができる。
図12は、連結が回復された後、各メッセージを受信者に伝送する方法を例示する。
一例として、図12(a)を参照すると、連結状態が保障されない状態で通知1〜通知nが発生した後、再び連結状態になると、発信者は、発生した通知1〜通知nの通知アグリゲーション(notification aggregation)を一度に受信者に伝送することができる。
他の例として、図12(b)を参照すると、連結状態が保障されない状態で通知1〜通知nが発生した後、再び連結状態になると、発信者は、発生した通知1〜通知nを一つずつ受信者に順次伝送することができる。
以下では、図12に例示した方法通りに連結が回復された後、メッセージを伝送する場合に発生し得る問題を説明する。まず、連結が回復された後、伝送される各通知メッセージが受信者側面で必要でない場合がある。例えば、部屋内の温度に対して特定ユーザーにサービスする環境で特定時間(例えば、午後1時から午後3時)に各エンティティ間の連結状態が切れた後、連結が復旧された。この例において、連結が回復された時点で、ユーザーが望むデータは3時以後の最新データであってもよく、または、最近の30分間のデータであってもよい。図12に例示した方法を使用する場合、ユーザーは、連結状態が保障されない時間の間に発生した全てのデータを受け取らなければならない。このような方式によると、発信者のみならず、受信者側面で不要なメッセージを送受信するようになり、その結果、データ伝送効率を低下させ、さらに、システム全体の性能を低下させ得る。
また、連結状態が保障されない環境で発生した各通知メッセージを選択的に処理することができない。例えば、ユーザーが部屋内の温度状態のみならず、特定値(例えば、30度)以上である場合に緊急メッセージを設定したと仮定する。図12に例示した方法を使用する場合、全ての通知メッセージに対する重要度(priority)が同一に設定されるので、連結状態が切れた間に発生した各メッセージのうち重要なメッセージがあるとしても、これを優先的に処理できる方法がない。
そこで、本発明では、各デバイス間の連結状態がない時間の間に発生した通知メッセージを選択的に処理するための各属性(attribute)及び伝送アルゴリズムに対して提案する。本発明に係る各例は、M2M環境を中心に記述されるが、クライアント―サーバー(または、発信者―受信者)構造を有する他のシステムにも同一/類似する形に適用することができる。
本明細書では、サブスクリプション過程において、サブスクリプション者(subscriber)は、サブスクリプションを要請するエンティティを称し、ホスティングエンティティ(hosting entity)は、モニタリングされる資源(またはサブスクリプション対象資源)を有するエンティティを称することができる。また、通知過程において、発信者は、通知メッセージを伝送するエンティティを称し、受信者は、通知メッセージを最終的に受け取るエンティティを称することができる。サブスクリプション過程におけるホスティングエンティティと通知過程における発信者は同一のエンティティであり得る。
本明細書において、連結状態が保障され得ない場合は、発信者が発生した通知メッセージを受信者に伝送できない状態を含み、連結がない(connectionless)状態と称することができる。連結状態を保障できない場合は、ネットワーク障害、装置故障及び到達可能性スケジュール(reachability schedule)などのように多様な理由で発生し得る。一方、連結状態が保障される場合は、発信者が受信者に発生した通知メッセージを正常に伝送できる状態を意味し、連結がある(connection)状態または連結された(connected)状態と称することができる。また、本明細書において、連結状態は、到達可能性(reachability)と称することができる。
まず、本発明に係るサブスクリプション資源の各属性を提案する。
通知動作(notification action)のための属性情報
連結状態が保障されない場合、発信者の通知政策を指示する属性情報を提案する。発信者の通知政策を指示する属性情報は、制限的でない例としてpendingNotificationと称することができる。発信者の通知政策を指示する属性情報は、サブスクリプション資源の一属性に設定することができる。よって、発信者の通知政策を指示する属性情報は、表1に例示した各属性情報と共に、または別途にサブスクリプション/通知過程に用いることができる。説明の便宜上、本明細書において、発信者の通知政策を指示する属性情報は、通知政策情報と称することができ、第1の属性情報と称することができる。
通知政策情報(例えば、pendingNotification属性)は、到達不可時間(unreachable period)の間、通知メッセージに対して発信者が取るべき動作を指示する。例えば、到達不可時間は、スケジューリング資源または到達可能性スケジュール資源が指示するスケジューリング情報によって決定することができる(図9と関連する説明を参照)。通知政策情報(例えば、pendingNotification属性)がサブスクリプション資源に設定された場合、到達不可時間(unreachable period)の間に発生して係留中の通知は通知政策情報によって処理することができる。表4は、本発明に係る通知政策情報(例えば、pendingNotification属性)を例示する。
表4において、RW/RO/WOは、該当属性の読み取り(read)/書き取り(write)の許容有無(permission)を示し、READ/WRITE(RW)、及びREAD ONLY(RO)、及びWRITE ONLY(WO)のうち一つであり得る。また、表4において、発生回数(multiplicity)は、該当属性が<subscription>資源で発生可能な回数を示す。表4の例において、通知政策情報(例えば、pendingNotification属性)の発生回数(multiplicity)が0または1であるので、通知政策情報(例えば、pendingNotification属性)はサブスクリプション資源に選択的に(optional)含ませることができる。また、読み取り/書き取りを全て許容することができる。
表4に例示したように、通知政策情報(例えば、pendingNotification属性)は、4つの値を有することができる。通知政策情報(例えば、pendingNotification属性)に設定された値によって、発信者は、連結状態がない場合に発生する各通知メッセージを次のように処理するようになる。別途の設定がない場合、例えば、例示した4個の値のうちsendNoneをデフォルト値に設定することができる。本明細書において、sendNoneは第1の値と称し、sendLatestは第2の値と称し、sendAllPendingは第3の値と称し、sendManualは第4の値と称することができる。
(1)sendNoneに設定された場合
発信者は、連結状態が保障されない時間の間に発生した全ての通知メッセージを格納しない。この場合、連結状態が保障されない時間の間に発生した全ての通知メッセージは、(伝送されずに)廃棄(discard)され得る。発信者は、到達可能性(reachability)を回復した場合、格納された通知メッセージがないので、連結状態が保障されない時間の間に発生した通知メッセージを受信者に伝送する必要がない。本設定は、残留通知メッセージ(pending notification)が必要でない場合に使用することができ、例えば、現在の部屋内の温度をモニタリングする応用サービスに適用することができる。
図13は、通知政策情報(例えば、pendingNotification属性)がsendNoneに設定される場合の通知方法を例示する。
図13を参照すると、連結状態が保障されない状態でサブスクリプション資源の変化に従って通知1〜通知nが発生し得るが、発信者と受信者との間の連結状態がない場合、通知メッセージ(notification)は、発信者から受信者に伝送され得ない。この場合、発生した各通知メッセージは、通知政策情報(例えば、pendingNotification属性)によって処理することができる。本例において、通知政策情報(例えば、pendingNotification属性)がsendNoneに設定されているので、連結状態が保障されない状態で発生した各通知メッセージは、全て無視されて格納されず、その結果、連結状態を回復した後にも受信者に伝送されない。しかし、連結状態で通知メッセージ(例えば、通知n+1)が発生する場合、この通知メッセージが受信者に伝送され得る。
(2)sendLatestに設定された場合
発信者は、連結状態が保障されない時間の間に発生した各通知メッセージのうち最後に発生したメッセージのみを格納する。この場合、既存に格納されている通知メッセージは削除される。すなわち、発信者は、新たな通知メッセージ(notification)を格納し、残りの通知メッセージを廃棄することができる。発信者は、到達可能性(reachability)を回復した場合、最後に格納された通知メッセージを受信者に伝送することができる。本設定は、各残留通知メッセージのうち最後に発生した通知メッセージが必要である場合に使用することができ、例えば、装置アップデートと関連する報告を受ける応用サービスに適用することができる。また、通知政策情報(例えば、pendingNotification属性)がsendLatestに設定された場合、通知メッセージのec値は「latest」に設定することができる(図7と関連する説明を参照)。
図14は、通知政策情報(例えば、pendingNotification属性)がsendLatestに設定される場合の通知方法を例示する。
図14を参照すると、連結状態が保障されない状態でサブスクリプション資源の変化に従って通知1〜通知nが発生し得、発信者と受信者との間の連結状態が保障されない場合、通知メッセージ(notification)は発信者から受信者に伝送され得ない。この場合、発生した各通知メッセージは、通知政策情報(例えば、pendingNotification属性)によって処理することができる。本例において、通知政策情報(例えば、pendingNotification属性)がsendLatestに設定されているので、連結状態が保障されない状態で発生した各メッセージのうち最後に発生したメッセージ(例えば、通知n)を格納することができる。また、連結状態が保障されない期間の間に他のメッセージが発生する場合、新たに発生したメッセージが格納され、既存に格納されたメッセージは廃棄され得る。もちろん、連結状態で通知メッセージ(例えば、通知n+1)が発生する場合、この通知メッセージは受信者に伝送され得る。
(3)sendAllPendingに設定された場合
発信者は、連結状態が保障されない時間の間に発生した各通知メッセージを格納する。この場合、伝送される通知メッセージは、発信者が臨時に格納できる情報によって異なる形に決定することができる。発信者は、到達可能性(reachability)を回復した場合、格納された全ての通知メッセージを受信者に伝送することができる。本設定は、発生した全ての通知メッセージが必要である場合に使用することができる。例えば、統計的なデータまたはデータ分析を要求する応用サービス(自動車のブラックボックス)に使用することができる。
図15は、通知政策情報(例えば、pendingNotification属性)がsendAllPendingに設定される場合の通知方法を例示する。
図15を参照すると、連結状態が保障されない状態でサブスクリプション資源の変化に従って通知1〜通知nが発生し得、発信者と受信者との間に連結状態が保障されない場合、通知メッセージ(notification)は発信者から受信者に伝送され得ない。この場合、発生した各通知メッセージは、通知政策情報(例えば、pendingNotification属性)によって処理することができる。本例において、通知政策情報(例えば、pendingNotification属性)がsendAllPendingに設定されているので、連結状態が保障されない状態で発生した各メッセージを格納することができる。また、連結状態を回復した後、格納された全てのメッセージが受信者に伝送され得る。図15の例において、発生した通知1〜通知nが全て格納されているので、全ての格納メッセージアグリゲーション(aggregation)が受信者に伝送される。もちろん、連結状態で通知メッセージ(例えば、通知n+1)が発生する場合、この通知メッセージが受信者に伝送され得る。
(4)sendManualに設定された場合
発信者は、連結状態が保障されない時間の間に発生した全ての通知メッセージのうちサブスクリプション者が任意に設定した通知メッセージを格納する。このとき、任意に設定される基準は、例えば、時間(例えば、11時〜12時)、特定の通知メッセージ指定(例えば、連結が切れた時点から10個の通知メッセージ)などのように設定することができる。本設定は、上述したsendNone、sendLatest及びsendAllPendingで処理できない場合のためにサブスクリプション者の任意の基準を設定するときに使用することができ、例えば、18時〜06時の間に発生した通知メッセージを要請するモニタリング応用サービスに使用することができる。
図16は、通知政策情報(例えば、pendingNotification属性)がsendManualに設定される場合の通知方法を例示する。
図16を参照すると、連結状態が保障されない状態でサブスクリプション資源の変化に従って通知1〜通知nが発生し得、発信者と受信者との間の連結状態が保障されない場合、通知メッセージ(notification)は発信者から受信者に伝送され得ない。この場合、発生した各通知メッセージは、通知政策情報(例えば、pendingNotification属性)によって処理することができる。本例において、通知政策情報(例えば、pendingNotification属性)がsendManualに設定されているので、連結状態が保障されない状態で発生した各メッセージのうち設定された基準を満足する各通知メッセージのみを格納することができる。また、連結状態を回復した後、格納された各メッセージのみが受信者に伝送され得る。図16の例において、設定された基準は時間に関するものであって、t0以後に発生した各通知メッセージを指示するので、t0以後に発生した通知2〜通知nを格納することができ、連結状態を回復した後、これら通知を受信者に伝送することができる。この場合、通知メッセージアグリゲーションは、設定された基準に基づいて受信者に伝送することができる。
通知重要度(notification priorityまたはnotification category)のための属性情報
また、本発明では、発信者で発生した通知メッセージの重要度を設定するための属性情報(例えば、notificationEventCat属性)を提案する。本明細書において、通知メッセージの重要度を設定するための属性情報(例えば、notificationEventCat属性)は、通知重要度情報と称することができ、第2の属性情報と称することができる。通知重要度情報は、サブスクリプション者によって設定することができ、任意の値n(例えば、n=level―1、level―2、…、level―n)として表現することができる。通知メッセージの重要度は、特定個数のイベントカテゴリーに分けられて設定され得るので、通知メッセージの重要度は、該当イベントカテゴリーによって決定することができる。よって、通知メッセージの重要度は、発生したイベントまたはメッセージのカテゴリーを示し、(イベント)カテゴリーと称することができる。よって、通知重要度情報(例えば、notificationEventCat属性)は、サブスクリプション資源によってトリガリングされる通知メッセージのための(イベント)カテゴリーを定義する。また、通知重要度情報は、受信者が通知メッセージを正確にハンドリングできるようにするために通知メッセージに含まれるイベントカテゴリーを指示することができる。通知重要度情報は、特定システムに予め設定された政策(pre―defined policy)情報と連動して使用することができる。
通知重要度情報(例えば、notificationEventCat属性)は、サブスクリプション資源の一属性に設定することができる。よって、発信者の通知政策を指示する属性情報は、表1に例示した各属性情報と共に、または別途にサブスクリプション/通知過程に用いることができる。また、通知重要度情報(例えば、notificationEventCat属性)はサブスクリプション者によって設定することができる。
例えば、通知重要度情報(例えば、notificationEventCat属性)は、「High(高い重要度)」、「Medium(普通重要度)」、「Low(低い重要度)」として定義することができる。この場合、各通知メッセージのうち重要度が高く設定された特定の通知メッセージが発生する場合、発生したメッセージは、notificationEventCat=「High」を満足する通知メッセージであり得る。該当の通知メッセージは、他の通知メッセージに比べて優先的に処理することができる。表5は、本発明に係る通知重要度情報(例えば、notificationEventCat属性)を例示する。
表5の例において、通知重要度情報(例えば、notificationEventCat属性)の発生回数(multiplicity)が0または1であるので、通知重要度情報(例えば、notificationEventCat属性)は、サブスクリプション資源に選択的に(optional)含ませることができる。また、読み取り/書き取りを全て許容することができる。
図17は、本発明に係る通知過程を例示する。本発明に係る通知過程の例において、通知メッセージは、本発明で提案した各属性(attribute)情報を考慮して伝送することができる。
上述したように、各エンティティ間の連結状態が保障されない原因は、ネットワーク障害、装置故障及び到達可能性スケジュール(reachability schedule)などに分類することができる。ネットワーク及び装置故障によって連結が切れた場合は、エンティティ側面でこれを正常に復旧できる方法がない。しかし、連結状態が到達可能性スケジュールによって起因したものであると、エンティティ(例えば、発信者)は、連結状態を変更した後、発生したメッセージを伝送することができる。したがって、本発明では、サブスクリプションに対する通知過程で到達可能性スケジュールによって連結状態が切れたことを確認したとき、本発明に係る属性情報(例えば、通知政策情報(例えば、pendingNotification属性)及び/または通知重要度情報(例えば、notificationEventCat属性))を使用して解決することができる。
本発明において、サブスクリプション過程は成功的に行われたと仮定する。すなわち、本発明に係る各属性情報(例えば、通知政策情報(例えば、pendingNotification属性)及び/または通知重要度情報(例えば、notificationEventCat属性))はサブスクリプション過程で設定されたと仮定する。
以上説明したように、本発明で記述される到達可能モード(reachable mode)及び到達不可モード(non―reachable mode)は、次のように定義することができる。到達可能モード(reachable mode)は、該当エンティティが正常に動作し、他のエンティティと連結できる状態、または他のエンティティとメッセージを送受信できる状態を意味する。到達不可モード(non―reachable mode)は、該当エンティティの動作状態に制約があるので、他のエンティティが連結され得ない状態、または他のエンティティとメッセージを送受信できない状態を意味する。例えば、センサーネットワーク環境では、バッテリーなどの問題によって到達可能モード及び到達不可モードが存在し得る。
図17を参照すると、S1702段階において、サブスクリプション過程が設定された資源(またはサブスクリプション対象資源)に変更が発生する場合、イベント(event)が発生し得る。イベントは、サブスクリプション対象資源の変化が検出/感知される場合に発生し得る。このようなイベントが発生するためには、サブスクリプション対象資源の子資源としてサブスクリプション資源を予め設定することができる。
S1704段階において、発信者は、発生したイベントの重要度を確認する。この場合、発信者は、通知重要度情報(例えば、notificationEventCat属性)に基づいて発生したイベントの重要度を確認することができる(表5と関連する説明を参照)。例えば、重要度が高い場合は、notificationEventCatがimmediate値に設定された場合を含むことができる。他の例として、重要度が高くない場合は、notificationEventCatがimmediate値以外の値(例えば、bestEffort)に設定された場合を含むことができる。
発信者は、イベントの重要度を確認した後、例えば、通知メッセージのec値を通知重要度情報(例えば、notificationEventCat属性)が指示する値に設定することができる。また、発生イベントの重要度を確認するとき、通知重要度情報(例えば、notificationEventCat属性)の他に、サブスクリプション資源に設定された他の属性(例えば、表1参照)及び/または各条件(例えば、表2参照)のうち少なくとも一つを共に使用することができる。イベント処理のための属性と関連する過程が終了した後、通知メッセージ(notification)が生成される。このとき、通知メッセージは、イベントで構成されるので、イベントカテゴリーが通知メッセージの重要度と同一であり得る。
S1704段階でイベント重要度を確認した後、発信者は、イベント重要度によってS1706段階またはS1714段階に進行することができる。S1704段階でイベント重要度が高い場合、発信者はS1706段階に進行することができ、S1704段階でイベント重要度が高くない場合、発信者はS1714段階に進行することができる。
S1706段階またはS1714段階において、発信者は、自分(Originator)及び相手方エンティティ(または受信者)の連結状態を確認/判別することができる。発信者及び受信者の連結状態(または到達可能性)は、各エンティティまたはデバイスのためのスケジューリング資源(またはこれに設定されたスケジューリング情報)に基づいて判別することができる。
特定エンティティ(例えば、ブルートゥース(Bluetooth(登録商標))装置)は、バッテリー消耗などの理由で連結状態を流動的に設定することができる。したがって、S1706段階またはS1714段階では、発信者が自分の状態及び受信者の連結状態が到達可能モードであるのか、それとも到達不可モードであるのかを確認する過程を経る。該当エンティティの状態を確認できる情報がない場合、発信者は、該当エンティティが到達可能モードであると判断することができる。
例えば、発信者は、スケジューリング資源を通じてスケジューリング情報(または到達可能性スケジュール情報)を確認することができ、該当エンティティのスケジューリング情報を通じて連結状態(または到達可能性モード)を確認/判別することができる。発信者のためのスケジューリング資源は、サブスクリプション資源の子資源(例えば、notificationSchedule資源)として設定することができる。受信者のためのスケジューリング資源は、別途のスケジューリング資源として設定することができる。上述したように、スケジューリング資源(例えば、<schedule>またはnotificationSchedule資源)は、スケジューリング情報(またはスケジューリング時間情報のための属性(例えば、scheduleElement))を含むことができ、これは、該当エンティティの動作と関係し得る(年度、月、日、分、秒などの具体的な時間、または反復周期など)(図9と関連する説明を参照)。よって、発信者は、各スケジューリング資源に設定されたスケジューリング情報(またはスケジューリング時間情報のための属性(例えば、scheduleElement))を用いて到達可能または到達不可モード(及び/または期間)を確認することができる。例えば、発信者がサブスクリプション資源の子資源に設定されたスケジューリング資源(例えば、notificationSchedule資源)を確認した結果、これに含まれたスケジューリング情報が指示する期間に該当し、スケジューリング資源が到達可能期間を示す場合、発信者は到達可能であると判別され得る。他の例として、発信者が別途に設定されたスケジューリング資源(例えば、<schedule>資源)を確認した結果、これに含まれたスケジューリング情報が指示する期間に該当し、スケジューリング資源が到達可能期間を示す場合、受信者は到達可能であると判別され得る。これと類似する方法で、発信者または受信者が到達不可であるか否かも判別され得る。
各エンティティ間の連結状態は、次のように4つに区分することができる。
ケース1―発信者及び受信者がいずれも到達可能モード(reachable mode)であるケース
ケース2―発信者が到達可能モードで、受信者が到達不可モード(unreachable mode)であるケース
ケース3―発信者及び受信者が到達不可モードであるケース
ケース4―発信者が到達不可モードで、受信者が到達可能モードであるケース
4つのうちケース1のみが、エンティティ間の連結状態があることを意味し得、残りのケース(ケース2、3及び4)は、両側または一側に設定された到達不可モードによって連結状態がないことを意味することができる。
S1706段階において、発生した通知メッセージが「重要なメッセージ」条件を満足し、連結状態がないと判別される場合(すなわち、ケース1―発信者及び受信者がいずれも到達可能モードである場合)、それぞれS1708段階に進行することができる。この場合、二つのエンティティ間の連結状態があることを意味するので、発信者は、発生した通知メッセージを受信者に即時に伝送する。このとき、発生した通知メッセージは重要なメッセージであるので、他のメッセージに比べて該当メッセージを優先的に処理することができる。
例えば、通知重要度情報(例えば、notificationEventCat属性)で通知メッセージを優先的に処理できる値を「immediate」とした場合、「重要なメッセージ」条件は、通知メッセージのec値が「immediate」に設定された通知メッセージを意味することができる。「immediate」は、例示に過ぎず、「重要なメッセージ」条件は他の値に表現することもできる。例えば、通知重要度情報(例えば、notificationEventCat属性)が「High(高い重要度)」、「Medium(普通重要度)」、「Low(低い重要度)」に定義される場合、「重要なメッセージ」条件は、通知メッセージのec値が「High」に設定された通知メッセージを意味することができる。
S1706段階において、発生した通知メッセージが「重要なメッセージ」条件を満足し、連結状態がない場合(すなわち、ケース2―発信者が到達可能モードで、受信者が到達不可モードであるケース/ケース3―発信者及び受信者が到達不可モードであるケース)、S1710段階に進行することができる。
S1710段階において、発生した通知メッセージが重要なメッセージであるにもかかわらず、二つのエンティティの連結状態がない場合に発生した通知メッセージは伝送され得ない。したがって、S1710段階において、発信者は、連結状態がない間に発生した各通知メッセージに対して設定された特定動作によって(例えば、通知政策情報(例えば、pendingNotification属性)に設定された値によって)発生した各通知メッセージを処理することができる。通知政策情報(例えば、pendingNotification属性)によって処理された通知メッセージは、受信者との連結が回復された後、受信者に伝送され得る(表4と関連する説明を参照)。このとき、発生した通知メッセージは、重要なメッセージであるので、他のメッセージに比べて優先的に処理することができる。
S1706段階において、発生した通知メッセージが「重要なメッセージ」条件を満足し、連結状態がない場合(ケース4―発信者が到達不可モードで、受信者が到達可能モードであるケース)、S1712段階に進行することができる。
S1712段階において、発生した通知メッセージが重要なメッセージであるにもかかわらず、二つのエンティティの連結状態がない場合に発生した通知メッセージは伝送され得ない。しかし、S1710段階とは異なり、S1712段階で連結状態がないことは、発信者側のみに設定された到達不可モードのためである。したがって、S1712段階において、発信者は、該当の通知メッセージを優先的に伝送するために自分(Originator)の状態を一時的に到達不可モードから到達可能モードに切り替えることができる。発信者によって連結状態が一時的に復旧された後、発信者は、受信者に発生した通知メッセージを伝送し、伝送が終了すると、元々設定された装置連結状態(すなわち、到達不可モード)に切り替えることができる。
S1704段階において、発生した通知メッセージが「重要なメッセージ」条件を満足できず、S1714段階で連結状態があると判別される場合(すなわち、ケース1―発信者及び受信者がいずれも到達可能モードであるケース)、S1716段階に進行することができる。
S1716段階では、二つのエンティティ間の連結状態があることを意味するので、発信者は、発生した通知メッセージを受信者に即時に伝送することができる。このとき、発生した通知メッセージの重要度は相対的に低くなり得るので、これによって、低い優先順位で通知メッセージを処理することができる。
例えば、通知重要度情報(例えば、notificationEventCat属性)で通知メッセージを優先的に処理できる値を「immediate」とすると、「重要なメッセージ」条件を満足できないことは、通知メッセージのec値が「immediate」以外の値に設定された通知メッセージを意味することができる。「immediate」は、例示に過ぎず、「重要なメッセージ」条件は他の値として表現することもできる。例えば、通知重要度情報(例えば、notificationEventCat属性)が「High(高い重要度)」、「Medium(普通重要度)」、「Low(低い重要度)」と定義される場合、「重要なメッセージ」条件を満足できない場合、通知メッセージのec値を「Medium」、「Low」に設定することができる。
S1704段階において、通知メッセージが「重要なメッセージ」条件を満足できず、S1714段階で連結状態がないと判別される場合(すなわち、ケース2―発信者が到達可能モードで、受信者が到達不可モードであるケース/ケース3―発信者及び受信者が到達不可モードであるケース/ケース4―発信者が到達不可モードで、受信者が到達可能モードであるケース)、S1718段階に進行することができる。
S1718段階において、二つのエンティティ間の連結状態がない場合に発生した通知メッセージは伝送され得ない。したがって、S1718段階において、発信者は、連結状態がない間に発生した各通知メッセージに対して設定された特定動作によって(例えば、通知政策情報(例えば、pendingNotification属性)に設定された値によって)発生した各通知メッセージを処理することができる(表4と関連する説明を参照)。通知政策情報(例えば、pendingNotification属性)によって処理された通知メッセージは、受信者との連結が回復された後、受信者に伝送され得る。このとき、発生した通知メッセージの重要度は相対的に低いので、これによって、低い優先順位で通知メッセージを処理することができる。
図18は、本発明に係る通知過程の実施例を例示する。図18は、図17のS1712で行われる発信者の動作に対する具体的な実施例を示すことができる。
図18の例において、発信者によって優先的に処理されなければならない「重要なメッセージ」を意味する値を「immediate」と仮定し、予め設定された発信者の到達不可モードによってt0からt3までは連結状態がないと仮定する。この場合、受信者は到達可能モードであり得る。このような条件で、連結状態がない間に発生した通知メッセージのうち通知重要度に対する条件を満足する通知メッセージB(例えば、notificationEventCat=「immediate」)が発生した場合、発信者は、t1時点で一時的に到達不可モードから到達可能モードに切り替えられて該当の通知メッセージを伝送することができる。通知メッセージを伝送した後、発信者は、t2時点で到達可能モードから到達不可モードに切り替えることができる。重要なメッセージがある場合のみに発信者の連結状態が一時的に回復され、該当メッセージを伝送し、重要メッセージを伝送した後、予め設定された連結状態に復帰することができる。
図19は、本発明を適用し得る装置のブロック図である。本発明において、M2Mゲートウェイ、M2Mサーバー又はM2Mデバイスはそれぞれ、送信装置10又は受信装置20として動作することができる。
送信装置10と受信装置20は、情報及び/又はデータ、信号、メッセージなどを運ぶ無線信号を送信又は受信できるRF(Radio Frequency)ユニット13,23と、無線通信システムにおける通信に関連した各種情報を記憶するメモリ12,22と、RFユニット13,23及びメモリ12,22の構成要素と動作時に接続(operatively connected)され、当該装置が前述した本発明の実施例のうち少なくとも一つを実行するようにメモリ12,22及び/又はRFユニット13,23を制御するように構成されたプロセッサ11,21と、をそれぞれ備える。
メモリ12,22は、プロセッサ11,21の処理及び制御のためのプログラムを格納することができ、入出力される情報を記憶することができる。メモリ12,22はバッファーとして活用されてもよい。また、メモリ12,22は各種の設定情報とデータを含むリソースを記憶するために用いられてもよい。
プロセッサ11,21は、通常、送信装置又は受信装置における各種モジュールの動作全般を制御する。特に、プロセッサ11,21は、本発明を実行するための各種の制御機能を有することができる。プロセッサ11,21は、コントローラ(controller)、マイクロコントローラ(microcontroller)、マイクロプロセッサ(microprocessor)、マイクロコンピュータ(microcomputer)などと呼ぶことができる。プロセッサ11,21は、ハードウェア(hardware)、ファームウェア(firmware)、ソフトウェア、又はそれらの結合によって具現することができる。ハードウェアを用いて本発明を具現する場合には、本発明を実行するように構成されたASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)などをプロセッサ11,21に備えることができる。一方、ファームウェアやソフトウェアを用いて本発明を具現する場合には、本発明の機能又は動作を実行するモジュール、手順又は関数などを含むようにファームウェアやソフトウェアが構成されてもよい。本発明を実行するように構成されたファームウェア又はソフトウェアは、プロセッサ11,21に組み込まれたり、メモリ12,22に格納されてプロセッサ11,21によって駆動されてもよい。
送信装置10のプロセッサ11は、プロセッサ11又はプロセッサ11と接続されたスケジューラからスケジューリングされて外部に送信される信号及び/又はデータに対して所定の符号化(coding)及び変調(modulation)を行った後、RFユニット13に送信する。受信装置20の信号処理過程は、送信装置10の信号処理過程と逆に構成される。プロセッサ21の制御下に、受信装置20のRFユニット23は、送信装置10によって送信された無線信号を受信する。プロセッサ21は、受信アンテナを介して受信された無線信号に対する復号(decoding)及び復調(demodulation)を行い、送信装置10が本来送信しようとしたデータを復元することができる。
RFユニット13,23は一つ以上のアンテナを具備する。アンテナはプロセッサ11,21の制御下に、本発明の一実施例によって、RFユニット13,23によって処理された信号を外部に送信したり、外部から無線信号を受信してRFユニット13,23に伝達する機能を果たす。図19では送信装置と受信装置がそれぞれRFユニットを介して通信するとしたが、送信装置と受信装置とが有線ネットワークを介して通信することも可能である。この場合、RFユニットはネットワークインターフェースユニット(network interface unit、NIU)に取り替わってもよい。
以上説明した実施例は本発明の構成要素と特徴が所定の形態で結合されたものである。各構成要素又は特徴は、別の明示的な言及がない限り、選択的なものとして考慮しなければならない。各構成要素又は特徴を他の構成要素や特徴と結合されない形態で実施してもよく、一部の構成要素及び/又は特徴を結合して本発明の実施例を構成してもよい。本発明の実施例で説明される動作の順序は変更されてもよい。ある実施例の一部の構成や特徴は他の実施例に含まれてもよく、又は他の実施例の対応する構成又は特徴に取って代わってもよい。特許請求の範囲で明示的な引用関係にない請求項を結合して実施例を構成してもよく、出願後の補正によって新しい請求項として含めてもよいことは明らかである。
本文書で基地局によって行われると説明した特定動作は、場合によっては、その上位ノード(upper node)によって行われてもよい。すなわち、基地局を含む複数のネットワークノード(network nodes)で構成されるネットワークにおいて端末との通信のために行われる様々な動作は、基地局又は基地局以外の他のネットワークノードで行われることは明らかである。基地局は、固定局(fixed station)、Node B、eNode B(eNB)、アクセスポイント(access point)などの用語に代えてもよい。また、端末は、UE(User Equipment)、MS(Mobile Station)、MSS(Mobile Subscriber Station)などの用語に代えてもよい。
本発明に係る実施例は、様々な手段、例えば、ハードウェア、ファームウェア(firmware)、ソフトウェア又はそれらの結合などによって具現することができる。ハードウェアによる具現の場合、本発明の一実施例は1つ又はそれ以上のASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって具現することができる。
ファームウェアやソフトウェアによる具現の場合、本発明は、以上説明した機能又は動作を実行するモジュール、手順、関数などの形態を含むソフトウェアコード又は命令語(instruction)として具現することができる。ソフトウェアコード又は命令語は、コンピュータ読み取り可能な媒体に記憶されてプロセッサによって駆動され、プロセッサによって駆動される時、本発明に係る動作を実行することができる。コンピュータ読み取り可能な媒体は、プロセッサの内部又は外部に設けられたり、遠隔でネットワークを介してプロセッサと接続され、当該プロセッサとデータを交換することができる。
本発明の特徴から逸脱しない範囲で本発明を他の特定の形態として具体化できることが当業者にとっては明らかである。したがって、上記の詳細な説明はいずれの面においても制限的に解釈されてはならず、例示的なものとして考慮されなければならない。本発明の範囲は、添付した請求項の合理的な解釈によって決定されなければならず、本発明の等価的範囲内における変更はいずれも本発明の範囲に含まれる。