JP2017516213A - リソースディレクトリのための検索エンジン最適化 - Google Patents

リソースディレクトリのための検索エンジン最適化 Download PDF

Info

Publication number
JP2017516213A
JP2017516213A JP2016565010A JP2016565010A JP2017516213A JP 2017516213 A JP2017516213 A JP 2017516213A JP 2016565010 A JP2016565010 A JP 2016565010A JP 2016565010 A JP2016565010 A JP 2016565010A JP 2017516213 A JP2017516213 A JP 2017516213A
Authority
JP
Japan
Prior art keywords
uris
ranking
uri
resource
servers
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
JP2016565010A
Other languages
English (en)
Other versions
JP6420849B2 (ja
Inventor
シャミム アクバル ラフマン,
シャミム アクバル ラフマン,
デール エヌ. シード,
デール エヌ. シード,
チョンガン ワン,
チョンガン ワン,
チュアン リー,
チュアン リー,
Original Assignee
コンヴィーダ ワイヤレス, エルエルシー
コンヴィーダ ワイヤレス, エルエルシー
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 コンヴィーダ ワイヤレス, エルエルシー, コンヴィーダ ワイヤレス, エルエルシー filed Critical コンヴィーダ ワイヤレス, エルエルシー
Publication of JP2017516213A publication Critical patent/JP2017516213A/ja
Application granted granted Critical
Publication of JP6420849B2 publication Critical patent/JP6420849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Abstract

進化型リソースディレクトリは、フィルタ処理された優先順序を付けられた検索結果を提供し得る。サーバとリソースディレクトリとを備えているネットワークでは、リソースディレクトリは、サーバから受信される複数のURIを登録する。リソースディレクトリは、複数のURIの各々の間のクロスリンクを測定することと、複数のURIのコンテキストを識別することとに基づいて、複数のURIに対する初期ランキングを決定し得る。初期ランキングは、ランク付けされたデータベースに記憶される。クライアントの検索クエリに応答して、リソースディレクトリは、ランク付けされたデータベースに記憶された複数のURIのリアルタイムランキングを決定し得る。リアルタイムランキングは、サーバの各々に対するスリープ状態をチェックすることに基づいて、および/またはサーバのトラフィック負荷に部分的に平衡を保たせることによって決定され得る。

Description

検索エンジン最適化は、ウェブ検索エンジン結果に影響を及ぼすために「普通の」(すなわち、非IoT)インターネットで現在使用されている、頻用される方法である。経験から、大部分の場合において、たとえ返されたユニフォームリソースアイデンティファイア(以降ではURIと称される)の総数が約数百または数千ものURI(例えば、Google検索結果の多くのページ)であろうとも、人間のユーザは、ウェブ検索からの最初のいくつかの返されたURIのみから選択するであろうことが見出されている。つまり、最初の返されたウェブ検索結果ページの最上部にある最初のいくつかのURIのみが、典型的にはユーザによって選択され、全ての他のURIは、典型的には無視され、決してクリックされない。
普通のインターネット検索に対して、返されたURIは、HTTPベースである。技術的には、これは、URIの第1の部分(すなわち、スキーム)が「http」を規定することを意味する。例えば、「http://www.bestcars.com」または「https://mybank.com」が、HTTP URIの例である。
人間のユーザが、典型的には、ウェブ検索からの最初のいくつかの返されたURIのみに焦点を合わせるであろうという事実は、検索エンジン最適化の原因と結果の両方である。つまり、人間のユーザは、現代の検索エンジンが、URIの返されたリストの最上部に最良の検索結果を暗黙的に置いているという事実に慣れてきている。検索エンジン最適化とは、検索エンジンが彼らのウェブサイトを比較的高くランク付けすることを確実にすることに役立てるために、ウェブサイト開発者によって使用される一組の技法を指す。
図1は、多くの場合、クロスリンキング、またはある時は、インバウンドリンキングと称される、頻用される検索エンジン最適化技法を図示する。このクロスリンキング技法は、所与のウェブサイトが他のウェブサイトから指し示されることを確実にすることである。それらを指し示す多くのクロスリンクを有するウェブサイトは、クロスリンキングがウェブサイトの人気の強力な尺度と見なされるので、検索エンジンによってより高くランク付けされる。クロスリンキングは、検索エンジンがワールドワイドウェブをクロールおよびマッピングするために定期的に利用するウェブクローラによって検出される。
別の頻用される検索エンジン最適化技法は、ウェブサイトコンテンツが選択されたキーワードを使用することを確実にすることである。これは、検索エンジンが、それらのランキングアルゴリズムへの入力の一部として、ウェブページ内のあるキーワードの頻度および分布を使用するからである。再度、これらのキーワードは、検索エンジンウェブクローラによって検出される。
インターネットリソース検索をサポートするための現在のIoTモデルは、非常に単純であり、いかなる高度検索エンジン最適化のような概念もサポートしない。現在のIoTでは、主要検索ノードは、IoTリソースを指し示すURIを記憶するリソースディレクトリである。これらのURIは、普通のインターネット検索エンジンで典型的に行われるように、ウェブクローラによって発見される代わりに、IoTサーバによってリソースディレクトリに直接プッシュされる。そして、リソースディレクトリは、特定のIoTリソースを探しているクライアントによって、検索エンジンとして使用される。検索は、例えば、2013年12月11日に更新されたCoREリソースディレクトリのインターネット草稿(http://tools.ietf.org/html/draft−ietf−core−resource−directory−01)で開示されるように、クライアントからの入力パラメータを介して調整されることができる。しかしながら、所与のクライアントの検索要求に対して、返されたURIのリストは、一律でフィルタ処理されておらず、潜在的に非常に大きい。
IoTのURIは、普通のインターネットの通りにHTTPベースであり得るか、または多くの場合、制約アプリケーションプロトコル(以降ではCoAPと称される)ベースであり得るかのいずれかである。CoAPは、例えば、2013年6月28日に更新された制約アプリケーションプトロコルのインターネット草稿(http://tools.ietf.org/html/draft−ietf−core−coap−18)で開示されるように、制約されたデバイスのために特異的に設計されている最適化されたウェブ転送プロトコルであるが、その他の点では、HTTPの表現状態転送(以降ではRESTfulと称される)アプローチに従う。RESTfulとは、ウェブ転送プロトコルのための通信のステートレス要求/応答モデルを指す。
HTTPアプローチと同様に、URIの第1の部分(すなわち、スキーム)が「coap」を規定する場合、CoAP URIが識別されることができる。例えば、「coap://tempsensor.floor2.bldg6」または「coaps://securitycamera.home」が、CoAP URIの例である。さらに、IoTに対して、URIとそれらの属性および関係との記述は、RFC6690「制約RESTful環境リンク形式」(http://tools.ietf.org/html/rfc6690)で定義され、「COREリンク形式」と称される。
以下の詳細な使用事例は、どのようにして現在のリソースディレクトリが稼働するか、およびその欠点のうちのいくつかを例証する。ある大工場が、建物を通して分配された1000個の温度センサを有すると仮定される。図2は、それらのURIをリソースディレクトリに登録する、温度センサ202、204、および206を図示する。図2に示されるように、各センサ202、204、または206は、始動時に、(CoAP Postを介して)それらのリソース(URI)をローカルリソースディレクトリ208に登録するであろう。これは、リソースディレクトリがURIのデータベースを構築することを可能にするであろう。実践では、リソースディレクトリは、概して、範囲が制限される。例えば、大都市は、いくつかのリソースディレクトリを有し得る。しかしながら、理論上、いかなるものもリソースディレクトリ208の範囲が大域的であることを妨げない。リソースディレクトリの範囲は、完全に実装および開発の選択である。
図3は、クライアント302が温度センサのリストに対してリソースディレクトリにクエリを行う、実施例を図示する。温度センサ202、204、および206がそれらのURIをリソースディレクトリに登録した後、クライアントは、図3に示されるように(CoAP GETを介して)検索クエリを送信する。検索クエリは、どのURIが工場のドメインにおける温度示度値を提供するであろうかを識別するようにリソースディレクトリに要求する。これは、クエリの一部である検索パラメータを通して規定される。
図4は、同一の例で、クライアント検索クエリに応答して、どのようにしてリソースディレクトリ208が温度センサのフィルタ処理されていないリストを返すかを図示する。リソースディレクトリは、それがそのデータベースに登録した1000個の温度センサURIの完全なリストで(CoAP GET応答を介して)応答する。
この現在のIoTモデルにおけるクライアントの課題が、図5に図示される。クライアントのクエリに応答して返される1000個の温度センサのリストから、1000個のURIのうちのどれにクライアントはアクセスを試みるべきか?基礎的仮定は、時間、帯域幅、処理能力等の制約により、クライアント302が1000個全てのURIにアクセスすることは実用的ではないということである。
追加の背景情報として、例えば、「oneM2M機能アーキテクチャ」、oneM2M−TS−0001 oneM2M Functional Architecture−V−0.42で開示されるようなoneM2Mは、コネクテッドカー、スマートヘルス等の異なるM2Mアプリケーションをサポートするように種々のハードウェアおよびソフトウェア内に容易に埋め込まれることができる共通サービス層を規定することを目標としている。共通サービス層としてのoneM2Mは、基本的に、一組の共通サービス機能、例えば、発見共通サービス機能を定義する。1つ以上の特定のタイプの共通サービス機能のセットのインスタンス化は、共通サービスエンティティと称される。共通サービスエンティティは、インフラストラクチャノード、中央ノード、またはアプリケーション特有のノード等の異なるタイプのネットワークノード上でホストされることができる。
図6は、oneM2M機能アーキテクチャ600を図示し、1)アプリケーションエンティティ(AE)602が、Mcaインターフェースを介して共通サービスエンティティ(CSE)604内の共通サービス機能にアクセスして活用することができ、2)共通サービスエンティティ604が、Mccインターフェースを介して別の共通サービスエンティティ606と通信することができ、3)共通サービスエンティティ604がさらに、Mcnインターフェースを介して基礎的ネットワークからのネットワークサービスエンティティ(NSE)608を活用することもできる。例えば、共通サービスエンティティとしてのM2Mサーバは、発見共通サービス機能を有し、発見共通サービス機能は、M2Mサーバ内で維持されるリソース、またはM2Mサーバがアクセスできる他の場所でさえも維持されるリソースを検索するために、アプリケーションエンティティによって活用されることができる。
普通のインターネットで高度検索エンジン最適化のために使用される技法は、いくつかの理由で、IoTまたはM2Mには直接使用されることができない。第1に、検索エンジン最適化技法の多くは、Google等の強力な検索エンジンのモデルに基づく。このモデルでは、検索エンジンは、ウェブサイトプロパティ、例えば、クロスリンク、キーワード等を検出するために、ワールドワイドウェブ全体にわたってウェブクローラを利用する。しかしながら、IoTまたはM2Mモデルは、URIを記憶するリソースディレクトリがあるが、これらのURIがサーバによってリソースディレクトリに直接プッシュされるという点で、根本的に異なる。加えて、リソースディレクトリは、ウェブ空間のプロパティを決定するために、いかなるタイプのウェブクローラも利用しない。IoTまたはM2Mモデルでは、リソースディレクトリは、特定のリソース、URIを探しているクライアントによって、検索エンジンとして使用される。
第2に、大部分のIoTまたはM2Mの場合、人間がIoTまたはM2M検索に関与しない。普通のインターネットでのウェブ検索と異なり、IoTまたはM2M検索では、人間は、多数の返されたURIを伴う検索結果からいずれのURIを選択するかについて認識決定を行うことができない。代わりに、IoTまたはM2M検索では、検索結果は、典型的には、限定された意思決定および限定された処理能力を伴う制約されたデバイスに返される。最後に、普通のインターネットウェブサイトは、常に利用可能であると仮定される。しかしながら、IoTまたはM2Mでは、多くのサーバは、頻繁にスリープモードになり、したがって、常に利用可能ではない場合がある。この特性は、現在、普通のインターネットウェブ検索結果では考慮されない。
したがって、IoTまたはM2Mデバイスに最も効率的な検索結果を提供するであろう現在のリソースディレクトリ機能性に、より高度な検索エンジン最適化を追加する必要性がある。この高度検索エンジン最適化は、リソースディレクトリが、最良のURIを選択するための最適化された検索結果をクライアントに提供することを可能にし得る。
本明細書では、サーバと、リソースディレクトリとを備えているネットワーク内で、リソースディレクトリのための検索エンジン最適化を提供する方法、デバイス、およびシステムが説明される。例示的実施形態では、リソースディレクトリは、サーバから受信されるユニフォームリソースアイデンティファイアを登録する。リソースディレクトリは、ユニフォームリソースアイデンティファイアの各々の間のクロスリンクを測定することに基づいて、ユニフォームリソースアイデンティファイアの初期ランキングを決定し得る。より多くのユニフォームリソースアイデンティファイアが別のものにクロスリンクされるほど、ユニフォームリソースアイデンティファイアが高くランク付けされる。リソースディレクトリはさらに、ユニフォームリソースアイデンティファイアのコンテキストを識別することに基づいて、初期ランキングを決定し得る。ユニフォームリソースアイデンティファイアのコンテキストは、リソースタイプ、ドメイン、地理的場所、マルチキャスト、およびユニキャストを備え得る。リソースディレクトリは、同一のリソースタイプ等のコンテキストに基づいてユニフォームリソースアイデンティファイアのグループを選択し、そのグループを選択されていないユニフォームリソースアイデンティファイアのグループより高くランク付けし得る。初期ランキングを決定すると、リソースディレクトリは、初期ランキングを記憶するランク付けされたデータベースを生成し得る。
クライアントから受信される検索クエリに応答して、リソースディレクトリは、ランク付けされたデータベースに記憶されるユニフォームリソースアイデンティファイアのリアルタイムランキングを決定し得る。リアルタイムランキングは、サーバの各々に対するスリープ状態をチェックすることによって決定され得る。例えば、ユニフォームリソースアイデンティファイアが検索時にスリープしている場合、スリープしているユニフォームリソースアイデンティファイアは、起動している別のユニフォームリソースアイデンティファイアより低くランク付けされるか、またはスリープしているユニフォームリソースアイデンティファイアは、検索結果から完全に除去される。リアルタイムランキングはさらに、サーバのトラフィック負荷に部分的に平衡を保たせることに基づいて決定され得る。何回もより高くランク付けされているか、またはより高いトラフィックフローを有するものとして検出されている、ユニフォームリソースアイデンティファイアは、他のユニフォームリソースアイデンティファイアより低くランク付けされ得る。リアルタイムランキングを決定すると、リソースディレクトリは、フィルタ処理された優先順序を付けられたユニフォームリソースアイデンティファイアのランク付けされたリストを生成し、そのランク付けされたリストをクライアントに返し得る。
本概要は、発明を実施するための形態において以下でさらに説明される、一連の概念を簡略化形態において導入するために提供される。本概要は、請求される主題の主要な特徴または不可欠な特徴を識別することを意図しておらず、さらに、請求される主題の範囲を限定するために使用されることも意図していない。さらに、請求される主題は、本開示の任意の部分に記載される一部または全ての不利点を解決するという限界にも限定されない。
より詳細な理解が、添付図面と併せて一例として挙げられる、以下の説明から取得され得る。
図1は、普通の(非IoT)インターネットでサーバAにクロスリンクすることの実施例を図示する系統図である。 図2は、それらのユニフォームリソースアイデンティファイアをリソースディレクトリに登録する温度センサを図示する系統図である。 図3は、クライアントが温度センサのリストに対してリソースディレクトリにクエリを行う実施例を図示する系統図である。 図4は、リソースディレクトリがフィルタ処理されていない温度センサのリストを返す実施例を図示する系統図である。 図5は、フィルタ処理されていないユニフォームリソースアイデンティファイアのリストからリソースを取得することにおけるクライアントの課題を描写する。 図6は、oneM2Mサービス層機能アーキテクチャを図示する系統図である。 図7は、例示的実施形態による、進化型リソースディレクトリアーキテクチャを図示する系統図である。 図8は、例示的実施形態による、全体的リソースディレクトリプロシージャを図示する系統図である。 図9は、例示的実施形態による、ランキングをクロスリンクするためのサブプロシージャを図示する系統図である。 図10は、例示的実施形態による、それらのユニフォームリソースアイデンティファイアをリソースディレクトリに登録する温度センサを図示する系統図である。 図11は、例示的実施形態による、温度センサのリストに対してリソースディレクトリにクエリを行うクライアントを図示する系統図である。 図12は、例示的実施形態による、フィルタ処理された温度センサのリストを返すリソースディレクトリを図示する系統図である。 図13は、例示的実施形態による、最高ランクのユニフォームリソースアイデンティファイアのセットのみからリソースをフェッチするクライアントを図示する系統図である。 図14は、例示的実施形態による、M2M/IoTサービス層内に検索エンジン最適化を伴うリソースディレクトリを図示する系統図である。 図15は、例示的実施形態による、oneM2M機能アーキテクチャにおける共通サービス機能内のリソースディレクトリを図示する系統図である。 図16は、例示的実施形態による、リソース登録およびリソースクエリのための共通サーバ機能内のリソースディレクトリプロシージャを図示するフロー図である。 図17は、グラフィカルユーザインターフェースの略図である。 図18Aは、1つ以上の開示される実施形態が実装され得る、例示的マシンツーマシン(M2M)またはモノのインターネット(IoT)通信システムの系統図である。 図18Bは、図17Aで図示されるM2M/IoT通信システム内で使用され得る、例示的アーキテクチャの系統図である。 図18Cは、図18Aで図示される通信システム内で使用され得る、例示的M2M/IoT端末またはゲートウェイデバイスの系統図である。 図18Dは、図18Aの通信システムの側面が具現化され得る、例示的コンピューティングシステムのブロック図である。
次の詳細な説明は、例示的実施形態を例証するために提供され、本発明の範囲、適用可能性、または構成を限定することを意図していない。種々の変更が、本発明の精神および範囲から逸脱することなく、要素およびステップの機能ならびに配列に行われ得る。
以下の略語および定義が、本開示で使用されるであろう。
AE: アプリケーションエンティティ
CoAP: 制約アプリケーションプロトコル
CORE: 制約RESTful環境
クロスリンク: 2つのURIの間の定義された関係。具体的には、1つのURIが別のURIを指し示す(そこにつながる)。
CSE: 共通サービスエンティティ
CSF: 共通サービス機能
HTTP: ハイパーテキスト転送プトロコル
IETF: インターネット技術タスクフォース
IoT: モノのインターネット
M2M: マシンツーマシン
NSE: ネットワークサービスエンティティ
RD: リソースディレクトリ
リソース: URIによって識別され、ウェブ転送プロトコルによってアクセスされることができる、ネットワークデータオブジェクト、またはSWプロセス
REST: 表現状態転送(ウェブ転送プトロコルのための通信の状態がない要求/応答モデル)
SEO: 検索エンジン最適化
URI: ユニフォームリソースアイデンティファイア(CoAPまたはHTTPリソースを識別するために使用される文字列)
ウェブ検索: 所望の情報を含むウェブ(インターネット)上のURIを検索するように設計されているフトウェアシステム
ウェブ転送プトロコル: ウェブ(インターネット)にわたるリソースの転送のためのプトロコル。HTTPおよびCoAPは、IoTのための主要プトロコルである。ウェブ転送プトロコルを使用するアプリケーションは、大きく異なり得る。一例は、ウェブブラウザ(クライアント)およびコンテンツサーバ(例えば、セキュリティビデオカメラ)である。別の例は、温度センサソフトウェア(クライアント)および制御サーバである。
本開示の進化型RDは、RDへのクライアント検索クエリに対してフィルタ処理された優先順序を付けられた検索結果を提供し得る。これは、クライアントが、クライアントが探しているリソースに対して最適化された検索結果に目を通し、最良のURIを迅速に選択することを可能にし得る。例示的実施形態では、RDのアーキテクチャは、RD機能ブロックと、最初にURIを記憶し、後にクライアント検索要求に応答することに関する処理シーケンスとを含む。RD機能ブロックは、最良の検索結果をクライアントに提供することにおいて使用される以下のURIランキング/フィルタリング機能を含み得る。
・ 非活動ノード取り扱い:クライアント検索要求時に現在起動しているサーバに対応するURIをより高くランク付けする。現在スリープ状態のクライアントに関連付けられるURIは、除外されるか、またはより低くランク付けされることができるかのいずれかである。
・ 準負荷バランシング取り扱い:より少ない知覚された負荷を有するサーバに対応するURIをより高くランク付けする。
・ コンテキスト取り扱い:類似した物理的性質(例えば、温度センサ)を表し、かつ同一の論理ドメイン(例えば、サブネットワーク)からのURIの数を削減するためのURIのフィルタリング。さらに、マルチキャストグループに属するか、または要求クライアントと同一の地理的場所にあるURIをより高くランク付けする。
・ URIクロスリンキング取り扱い:概して高値URIを示すURIの間のリンクをチェックし、これらのURIをより高くランク付けする。
一実施形態では、既存のIETFプトロコルは、RDからクライアントに送信される検索結果においてURIのランキングを示すことをサポートするように変更され得る。さらに、クライアントは、初期検索要求クエリにおいて、クライアントが関心があるランクの範囲および他の情報を随意に示し得る。
(RDアーキテクチャ)
図7は、例示的実施形態による、進化型RDアーキテクチャ700を図示する。具体的には、RD702内の情報の流れおよび処理ブロックが示される。以下は、高レベル説明である。
図7のステップ1では、RD702は、URIのプッシュ(登録)およびURIのプル(クエリ)のための別個の論理データベースを有し得る。登録データベース704は、それらのCoAPリソースを登録するサーバから受信されるURIの未加工データベースであり得る。処理されたデータベース706は、クエリに対する応答を提供するために使用されることができる。
図7のステップ2では、RD702は、URIの初期ランキングのための新しい処理ブロック708を有し得る。新しい処理ブロックは、初期ランキングを決定するために、クロスリンキングを測定すること、および/またはコンテキストを識別することを含み得る。これらの初期処理ブロック708は、将来のクライアント検索クエリから独立しているので、オフラインで、または背景処理として行われ得る。
図7のステップ3では、最初にランク付けされたURIは、次いで、URIの別個の処理されたデータベース706に入れられる。未加工データベース704および処理されたデータベース706は、論理的に別個であり得ることに留意されたい。それらは、単一の物理的データベースで実装され得るか、または別個の物理的データベースで実装され得る。
図7のステップ4では、クライアント検索クエリは、RD702の処理されたデータベース706に進み得、処理されたデータベース706は、クライアントクエリパラメータに対応する最初にランク付けされたリストを引き出す。
図7のステップ5では、リアルタイム処理ブロック710が、スリープ状態および準負荷バランシングのために使用されることができる。RD702は、選択されたURIが現在スリープしているサーバ上にあるかどうかを決定するために、RD内で利用可能な情報に基づいてリアルタイムチェックを行い得る。サーバが現在スリープしている場合、これらの「スリープしている」URIは、クライアントに返送される応答から完全に除外され得る。代替として、スリープしているURIは、最低にランク付けされ得る。RD702はさらに、ランキング機能がネットワーク内で同一のURI(リソースサーバ)を最終的にいつも最高ランク付けしないことを確実にするように、RD702内の情報に基づいて準負荷バランシングを行い得る。準負荷バランシングも、リアルタイムプロセスである。
図7のステップ6では、ランク付けされ、フィルタ処理されたURIのリストが、その検索要求に対する応答としてクライアントに返される。最終ランキングは、異なる処理(サブランキング)ブロックにわたる加重平均であり得、URIの静的(すなわち、初期ランキング)状態と動的(すなわち、リアルタイムランキング)状態との両方の組み合わせを考慮する。
上で説明されるように、RD702は、概して、範囲が制限される。例えば、大都市は、異なる場所にいくつかのRDを有し得る。しかしながら、理論上、いかなるものもRD702の範囲が大域的であることを妨げない。進化型RD702の範囲は、完全に実装および開発の選択である。上で説明されるSEO技法は、単一のRD702の範囲内で行われると仮定される。
図7に図示される機能性は、以下に説明される図18Cまたは18Dに図示されるもののうちの1つ等、M2Mネットワークのノード(例えば、サーバ、ゲートウェイ、デバイス、または他のコンピュータシステム)のメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得ることを理解されたい。
(RDランキングおよびフィルタリング機能)
図8は、例示的実施形態による、全体的RDプロシージャを図示する。進化型RD702における全体的RDプロシージャは、図7および8に図示されるようないくつかのランキングならびにフィルタリング機能を含み得る。図8の全体的RD702プロシージャの主要出力は、リストの中のURIの各々が、クライアント検索要求に対する応答として使用されるであろうランキングに関連付けられるURIのリストであり得る。さらに、いくつかまたは多くのURIが、通常、RDプロシージャの最終出力から除外され得、クライアントによって見られないこともあることも留意されたい。
図8のステップ802では、URIがサーバ801によって登録される。
図8のステップ804、806、808、および810は、URIのランク付けされたデータベースを処理するために使用されるループを形成する。図8のループでは、ステップ806が、URIのクロスリンキングを測定するために使用され、ステップ808が、所与のURIのコンテキストを識別するために使用される。
図8のステップ812では、URIのデータベースが処理される。
図8のステップ814、816、818、および820は、クライアント302からの要求に応答するRD702を示す。
図8のステップ814では、検索要求がクライアント302から受信される。
図8のステップ816では、最終的なランク付けされ、フィルタ処理された検索が、クライアント302に提供される。
図8に示されるRDプロシージャ全体は、クライアントからの同一検索要求(すなわち、同一の入力パラメータを伴うクエリ)の間で再実行される必要があり得る。これは、主にリアルタイムランキング機能のためである。この構成要素は、経時的に異なるランキング出力をもたらし得る。加えて、RDプロシージャの変形例が、ランキングの同一の結果を達成することができる。例えば、URIは、最初に、異なるグループ(例えば、クロスリンクを伴うURIのグループ、およびクロスリンクを伴わない別のグループ)に分類され得る。次いで、図8に示されるように、新しいURIが登録される度に、全てのURIを通してループすることが要求されないこともある。
一実施形態では、各URIに関連付けられるランクパラメータは、(0〜63)の絶対値であることが推奨される。これは、過度に大きくなることなく、種々のURIの間のランクを区別するために十分な値を提供し得る。複数のURIはさらに、同一のランク値を最終的に有するようになり得る。所与のURIの最終ランクパラメータは、異なるランクサブランキング(例えば、クロスリンク、コンテキスト等)の加重平均として計算され得る。
例えば、
・ Rank=(Weight_1xRank_cross−link+Weight_2xRank_context+Weight_3xRank_sleeping+Weight_4xRank_quasi−load-balance)/4
式中、「Weight」は、0〜1の因数であり得る。例えば、負荷バランシングが非常に重要であるシステムでは、Weight_4は、1に設定されるべきである。代替として、例えば、ネットワーク(例えば、少数のデバイスのみを伴う家庭)内の全トラフィック負荷が非常に低いことが知られている場合、Weight_4は、0.1に設定されるべきである。
ランク値の割り当ておよび関連処理は、各RD702の内部決定であり得る。しかしながら、クライアントは、クライアントの入力検索基準を満たす、URIの有益かつ明白なランク付けされた出力リストを依然として入手し得る。これは、各検索エンジン(例えば、Google、Bing)が同一の入力検索パラメータに対して異なるランク付けされたURIのリストを返し得る、現在の普通のインターネットで使用されるものと同一のアプローチに従い得る。これは、例えば、「最高のピザ」がGoogleおよびBingにタイプされ、次いで、検索結果が比較される場合、容易に見られることができる。しかしながら、進化型RD702は、IoT RDのための効率的なランキングスキームを達成する方法のために、異なるアーキテクチャおよび詳細な案内を与える。
図8に図示されるステップを行うエンティティは、図18Cまたは図18Dに図示されるもの等、ネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図8に図示される方法は、図18Cまたは図18Dに図示されるノードもしくはコンピュータシステム等のネットワークノードのメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図8に図示されるステップを行う。さらに、図8に図示される任意の伝送および受信ステップは、ノードのプロセッサおよびそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることを理解されたい。
(1.URIクロスリンキング取り扱い)
URIクロスリンキングは、依然としてIoTにおいて重要であることが予期される。IoTでは、クロスリンクの最も一般的な表現は、URIが別のURIとの定義された関係を有するときである。これは、その開示がその全体として本明細書に記載される場合のように、参照することによって組み込まれる、RFC6690「制約RESTful環境リンク形式」(http://tools.ietf.org/html/rfc6690)で説明されるように、ある時は、「タイプされたリンク(typed link)」と称され得る。
IoTのためのクロスリンクの実施例は、アラームコントローラサーバが冗長性目的で別のサーバ上に代替URIを有する場合である。サーバは、リンク形式「ホスト」および「アンカ」パラメータを介して、そのURIへの関連リンクを示すことができる。具体的には、これは、そのリソース(URI)をRDに登録または再登録するときにサーバによって示されるであろう。このIoTクロスリンキングは、以下のように表され得る。
・ 例示的シナリオ:
・ アラームコントローラサーバ(URI−1)が、冗長性目的で代替サーバ(URI−2)を示したい
・ すなわち、クライアントは、URI−1が利用可能ではない場合にURI−2に進むことができる
・ したがって、URI−1がサーバによってRDに登録されるとき、以下の慣例を使用して、以下のようにURI−2へのクロスリンクを示し得る
・ coap://home.alarm1/server1/alarm;
・ anchor=“coap://home.alarm2/server2/alarm”;
・ rel=“alternate”
したがって、ホストおよびアンカは、クロスリンキングのための尺度として使用されることができる。普通のインターネットのように、クロスリンクは、URIの「人気」の指示であると仮定され得る。つまり、所与のURIへのより多くのクロスリンクがあるほど、これは、より人気があり、高くランク付けされると仮定されるはずである。
図9は、例示的実施形態によるランキングをクロスリンクするためのサブプロシージャを図示する。例えば、いったんURIがサーバによってRDに登録されると、RDは、クロスリンキングを検出するように、図9に示されるような以下のプロシージャを実行し得る。
図9のステップ902、904、906、および908は、RDに登録される全てのURIを通してループする。
図9のステップ904および906は、各所与のURIが別のURIにクロスリンクされている回数を数える(および正規化する)。正規化とは、ランクパラメータが所定の範囲を有し得、クロスリンクの数がその範囲の中へマッピングされる必要があり得るという事実を指す。例えば、所定の範囲が0〜100であり、所与のURIが、最も多いクロスリンクである1000個のクロスリンクを伴って数えられている。RDは、1000個のクロスリンクを伴うURIを、最高ランクであるランク0にマッピングし得る。所与のURIが、最も少ないクロスリンクである20個だけのクロスリンクを有する場合、RDは、20個のクロスリンクを伴うURIを、最低ランクであるランク100にマッピングし得る。
結果は、そのURIへのクロスリンキングの数を反映する、rank_cross−linkパラメータに記録される。
例示的実施形態では、プロシージャは、RDがクロスリンクを伴うリソース(すなわち、URI)を削除するようにサーバによって要求される場合、再実行され得る。さらに、プロシージャは、クライアントクエリがRDに入るであろう場合、処理されたURIデータベースにデータ投入するように要求する任意の将来のクライアント検索クエリの前に、オフラインで、または背景処理として実行され得る。別の例示的実施形態では、プロシージャの変形例が実行されることができ、クロスリンキングを測定することの同一の結果を達成する。例えば、これは、アンカパラメータを有するURIにフラグを付け、図9に示されるようにデータベース内の全てのURIを細かく調べる代わりに、これらのURIをチェックすることのみが可能であり得る。
図9に図示されるステップを行うエンティティは、図18Cまたは図18Dに図示されるもの等、ネットワークノードもしくはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図9に図示される方法は、図18Cまたは図18Dに図示されるノードもしくはコンピュータシステム等のネットワークノードのメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図9に図示されるステップを行う。さらに、図9に図示される任意の伝送および受信ステップは、ノードのプロセッサおよびそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることを理解されたい。
(2.非活動ノード取り扱い)
普通のインターネットノードと比較して、IoTノードの主要な特性のうちの1つは、それらが、多くの場合、低電力状態であり得、したがって、多くの場合、「スリープ」になるであろうことである。例えば、IoTノードまたはサーバは、バッテリもしくは太陽電池式であり、電力を節約する必要があるときに低電力モードになり得る。これは、IoTノードまたはサーバへのアクセス可能性に明白な影響を及ぼす。つまり、URIをホストするか、またはURIによって指し示される下部リソースコンテンツを含むサーバは、これらのURIにアクセスするCoAP要求を実際に果たすように常に電源をオンにされないこともある。幸いにも、RDは、スリープ追跡機構を用いて非活動サーバを追跡することができる。具体的には、スリープ追跡機構を伴うこれらのRDは、URIをそれらに登録したサーバのスリープスケジュールを承知していることが予期される。このRDベースのスリープ追跡機構は、標的リソースが非活動サーバ上に位置し、非活動サーバが現在スリープモードであるかどうかを決定する。
非活動サーバは、いくつかのパラメータ、例えば、1)ノードが現在スリープモードであるかどうかを示すスリープ状態、2)ノードがスリープモードにとどまる最大持続時間を示すスリープ持続時間、3)ノードがスリープしていた時間の長さを示すスリープ時間、および、4)ノードがスリープするであろう次の時間を示す、次のスリープを含み得る。非活動サーバのこれらのパラメータは、RDによって記憶され、全ての関心があるクライアントによってアクセスされることができる。本明細書で提供されるRDベースのスリープ追跡は、その開示がその全体として本明細書に記載される場合のように、参照することによって組み込まれる、2014年2月12日に更新された「CoAPのための強化非活動ノードサポート」のインターネット草稿(http://tools.ietf.org/html/draft−rahman−core−sleepy−05)で説明される。したがって、RDが以下で説明されるような検索応答の中のURIのスリープ状態を考慮する場合、クライアントに多大な利益があろう。
リソース(URI)に対する検索要求に応答する前であるが、初期ランキング機能が果たされた後、RDは、選択されたURIのうちのいずれかが、図7および8に図示されるような現在スリープしているサーバを伴うかどうかを確認するために、記憶されたスリープスケジュールの内部リアルタイム調査を行なり得る。RDは、最初にランク付けされたデータベースの中のURIの各々、または検索クエリの中の用語に基づいて選択されるURIのうちの一部を連続的に調査し得る。例えば、検索クエリの中の用語が、あるリソースタイプへのURIを指定する場合、RDは、最初にランク付けされたデータベースの中のそのリソースタイプを有するURIのスリープ状態を調査するのみである。この場合の「リアルタイム」とは、クライアント検索要求がRDに入るのと同一の物理(クロック)時間を指している。これは、クライアント検索の前のある時間に行われる初期フィルタリングと対照的である。チェック自体は、RD内にすでに含まれているサーバスリープスケジュールを比較し、現在の時間に、サーバがスリープ状態であるか、または起動しているかを確認することである。RDは、このリアルタイムチェックを行うために、RDの外部のいかなる情報にもアクセスする必要はない。
現在スリープ状態であるURIのリンクは、2つの代替的方法のうちの1つで扱われることができる。1つの代替案は、現在アクセス可能ではあり得ないので、「スリープしている」URIをより低いランキングでランク付けすることである。スリープしているURIは、デバイスが一時的に起動するときの将来のある期間に対してアクセス可能になり得る。別の代替案は、要求クライアントに返される検索結果からスリープしているURIを完全に除去することである。この代替案では、検索結果に与えられる解釈は、それが現在アクセス可能な(起動している)URIを返すのみであるということである。
URIに対する検索要求と、サーバがそれらのスリープスケジュールに従ってスリープモードになることとの間の時間を適切に同期させることができるために、利用可能な正確なリアルタイムクロック機能をRDが有することが要求され得る。RDは、スリープしているサーバ内のクロックと同期または非同期のいずれかでることが可能であることに留意されたい。非同期モードでは、RDは、現在スリープしているノードが、RDとサーバとの間のクロックドリフトにより、起動していると不注意に仮定されないことを確実にするように、検索要求を果たすことにおいていくつかの安全バッファ時間を含み得る。例えば、記憶されたスリープスケジュールが、非活動サーバが2秒前に起動したはずであることを示し、RDと非活動サーバとの間に数秒のクロックドリフトがある場合、RDは、控えめに5秒のスリープをスリープスケジュールに追加し、サーバがさらに3秒スリープするであろうことを決定し得る。安全バッファ時間は、前向きまたは後向きであり得る。これは、RDが、現在スリープしているノードが起動していると不注意に仮定されないことを確実にするように、スリープ時間を追加または削減し得ることを意味する。代替として、RDは、それが周期的に再同期することを可能にすることができる、サーバのスリープスケジュールまたはスリープ状態の動的更新を受信し得る。
(3.準負荷バランシング取り扱い)
センサ等のIoTデバイスは、多くの場合、クライアントモードおよびサーバモードの両方で動作する。例えば、センサがリソース(URI)をRDに登録しているとき、センサは、クライアントモードで作動している。これは、この場合、クライアントがCoAP/HTTP要求(例えば、PUT)をサーバの役割を果たしているRDに送信しているからである。次いで、RDは、機能を果たし(すなわち、URIを記憶し)、クライアントへの応答を策定し得る。逆に、コントローラがセンサにクエリを行う場合、センサがサーバの役割を果たしているであろう。これは、この場合、センサが要求(例えば、GET)を受信しており、機能を果たす(すなわち、温度を測定する)であろうからである。次いで、センサは、コントローラへの応答を策定し得る。したがって、センサは、サーバであると考えられる。
IoTサーバは、それらの性質上、多くの場合、それらのリソースが制約される。個々のサーバが要求で過負荷状態ではないことが重要である。例えば、所与の検索入力に対して、RDが、偶然に単一のサーバを一貫して高くランク付けする場合、これは、多くのクライアントが自然にそのURIを選択し得るので、サーバ上での負荷問題を引き起こし得る。したがって、予期される負荷に基づいて、RDが、所与の検索入力に対して、いずれのサーバをより高くランク付けするかの平衡を保とうとすることが重要である。
負荷は、いくつかの方法でRDによって推定されることができる。1つの方法は、過去の検索結果を記録し、これを現在/将来の検索結果に組み込むことである。ここで、所与のURIが何度も高くランク付けされている場合、それは、より低くランク付けされたURIより比較的多くのトラフィックを受信し得ることが仮定される。したがって、その特定のURIは、それの負荷バランシングを間接的に行う方法として、将来の検索においてわずかに低くランク付けされるべきである。例えば、第1の検索結果は、センサ1がランク0であり、センサ2がランク1である、10個の温度センサを含み得る。2度目に同一の検索が要求されるとき、第2の検索結果は、第1の検索結果と同一であり得、ランキングが、同一であり得る。しかしながら、3度目に同一の検索要求を受信することに応答して、RDは、検索要求が行われた最後の2回に、センサ1がより高くランク付けされたことを決定し得、代わりに、センサ1上での比較的高いトラフィックを回避するために、この3度目にセンサ1をセンサ2より低くランク付けし得る。したがって、第3の検索結果では、センサ2は、ランク0であり得、センサ1は、ランク1であり得る。別の例示的実施形態では、RDはさらに、タイマを考慮に入れ得る。例えば、検索要求が数分または数時間離れており、特定のURIが数分または数時間の間に他のURIより高くランク付けされる場合、RDは、特定のURIへの高いトラフィックを回避するために、その特定のURIが将来の検索においてより低くランク付けされるべきであることを決定し得る。
別の方法は、URIに進む実際の要求/トラフィックを記録することである。これは、RDが、トラフィックが流れている逆プロキシまたは境界ノード上で物理的に共同設置されるときに可能である。これは、RDが追加の非RD機能性にアクセスできることを意味する。例えば、oneM2Mベースのシステム内のゲートウェイにおいて実装されるRDは、ゲートウェイがURIへの要求またはトラフィックの統計をとり、RDが統計にアクセスすることができるので、URIに進む実際の要求またはトラフィックを把握し得る。さらに、サーバ自体は、それらがバッテリ式であるか配電線式であるか、それらのバッテリレベル等の有用な情報を提供し得る。例えば、バッテリ式および配電線式サーバの間で、RDは、そのバッテリを節約するために、バッテリ式サーバのランクを下げることを選定し得る。別の実施例では、RDは、そのバッテリを節約するために、低バッテリサーバを高バッテリサーバより低くランク付けし得る。再度、これらは、検索結果を提供するときにRDが考慮することができる、動作および保守システム(構成情報)の一部等の帯域外情報源に由来し得る。さらに、この機能と以下で説明されるコンテキスト取り扱いとの間に強力な相互作用があり得る。
この準負荷バランシング機能は、部分的であり完全ではない負荷バランシングソリューションを与え得る。これは、全負荷バランシングソリューションが、サーバによって生成されるトラフィックを含む、サーバ内の実際の負荷のより正確な知識を必要とするであろうためである。しかしながら、これは、SEO RDソリューションの範囲外であり得る。この準負荷バランシングは、主に、内部RD推定値からの知覚された負荷に基づく。
(4.コンテキスト取り扱い)
コンテキストは、この場合、他の関連URIに対するURIの物理的または論理的関係を指し得る。例は、以下を含み得る。
・ 他の類似したURI(例えば、温度センサ)と同一の論理ドメイン(例えば、サブネットワーク)内のURI
・ 所与のIPマルチキャストグループ(例えば、4階の全ての照明)に属するURI
・ 他の類似したURIに物理的(すなわち、地理的場所)に近いURI
・ いかなるグループにも属していない(すなわち、ユニキャストである)URI
IoTシナリオは、多くの場合、限定された地理的地域(例えば、建物、フィールド、近所等)にわたって同一の物理的性質(例えば、温度、湿度等)を測定する、多数のセンサを伴う。RDは、登録情報から受信される「リソースタイプ(rt)」パラメータに基づいてセンサの特性を承知している。したがって、1つの有用なフィルタリング方法は、例えば、2013年12月11日に更新されたCoREリソースディレクトリのインターネット草稿(http://tools.ietf.org/html/draft−ietf−core−resource−directory−01)で定義されるように、RDが、同一のリソースタイプを伴い、かつ同一の「ドメイン」に属するセンサの一部を選択することであり得る。例えば、同一のドメイン(例えば、建物のサブネットワーク)内に1000個の温度センサがある場合、RDは、センサの種々のコンテキストに基づいて、検索結果の中のこれらのセンサのわずかな一部のみをクライアントに折り返し報告することを選定することができる。その一部はさらに、上で説明されるような準負荷バランシング機能との相互作用によって選定されることもできる。代替として、全てのセンサが、クライアントに折り返し報告されることができるが、URIの選定された一部は、高いランキング値を有し得、残りのセンサは、はるかに低いランキング値を有し得る。
IoTはさらに、例えば、2013年12月23日に更新された「CoAPのためのグループ通信」のインターネット草稿(http://tools.ietf.org/html/draft−ietf−core−groupcomm−18)で開示されるように、URIのグループ通信モードをサポートし得る。このモードでは、単一のURIが、IPマルチキャストを介してサーバのグループにマッピングする。このグループ通信モードは、現在、普通のインターネットではサポートされていない。したがって、別の非常に有用なランキング基準は、RDが、サーバのグループにマッピングしているマルチキャストURIを、ユニキャストURIより高くランク付けし得ることである。例えば、マルチキャストURIの各々は、同一のランクを有し得るが、それらの各々は、ユニキャストURIより少なくとも1つ高くランク付けされる。これは、基礎的グループ通信機構が、ユニキャストURIより、1つのURIにつきはるかに多くの情報をクライアントに配信し得るためである。つまり、要求がIPマルチキャストを介してそのグループに加入している複数のサーバに分配されるので、単一のCoAPグループ通信要求(例えば、GET)は、複数の応答を返し得る。
コンテキストはさらに、シナリオに応じて、種々の他の基準に基づいて計算されることもできる。例えば、地理的位置を特定する特徴がRDで利用可能である場合、要求クライアントに最も近いURIに関連付けられるサーバは、より高い優先順位を与えられてもよい。地理的位置を特定する特徴は、例えば、2014年2月12日に更新された「ものの場所を特定するためのリンク形式属性」のインターネット草稿(http://tools.ietf.org/html/draft−fossati−core−geo−link−format−attribute−03)で開示される。これは、検索要求の中にRDへの標準化様式で各自の場所情報を含むようにクライアントに要求し得る。
(信号伝達変化)
CoAPおよびHTTP関連信号伝達が、進化型RDのためのSEO様機能をサポートするために変更され得る。具体的には、実施形態では、クライアントは、その検索要求の中で、それがある数のURIに関心を持っていること、および/または、それが非活動ではないノードに関心を持っていることを示すことによって、検索応答のサイズを制限することができる。RDからの検索応答は、この入力を考慮し、さらに、検索応答の中で各URIのランクを明示的に示し得る。
一実施形態では、COREリンク形式は、検索応答において「ランク」のための以下のパラメータをサポートするように更新され得る。COREリンク形式は、CoAPまたはHTTPプトロコルのいずれかと併せて使用されることができる。
・ クライアントへのクエリ応答(すなわち、GET応答)で、RDは、新しいパラメータ(すなわち、「ランク」)を通して、返されるURIのランクを示し得る。ランクは、好ましくは、以下のように解釈され得る
・ランクパラメータは、(0〜63)の絶対値であることが推奨される。しかしながら、これは、例示的符号化であり、他の範囲も使用され得る(例えば、0〜100)。主要な基準は、ランキング範囲が、過度に大きくなることなく、種々のURIを区別するために十分な値を提供するべきであることであり得る
・推奨されるランク符号化では、「0」ランク値は、最優先URIと見なされ得る。「63」ランク値は、最低優先順位を伴うURIと見なされ得る
・返されるURIのリストは、ランク=0を有する第1のURIから始まって連続してランク付けされ得る。複数のURIが、最終的に同一のランク値を有するようになり得ることに留意されたい
・ 以下の例は、リソースタイプ温度センサ(rt=temperature_sensor)を伴う全ての終点に対する調査を行うクライアントを示す
・ 要求:GET coap://rd−lookup/ep?rt=temperature_sensor
・ 応答:2.05コンテンツ
・ <coap://sensor A.home>;ep=”node_A”;rank=0
・ <coap://sensor C.home>;ep=”node_C”;rank=1
・ <coap://sensor B.home>;ep=”node_B”;rank=2
・ <coap://sensor D.home>;ep=”node_D”;rank=3
・ RDに送信される所与の同一クエリ要求が、ランク付けされたURIの異なる応答を経時的にもたらし得ることに留意されたい。これは、主に、これらが時間依存性であるので、URIランキングへの準負荷バランシングおよび非活動ノードチェックの影響に起因し得る。
加えて、随意に、RDへの初期クライアントクエリ(すなわち、GET要求)では、クライアントはさらに、CoAPプトロコルおよびHTTPプトロコルの両方に対して以下の選好を示し得る。
・ クライアントが検索結果において受け入れられ得るランクパラメータ値の範囲。例えば、クライアントは、範囲(0〜10)内のランクのみを受け入れるであろうことを示し得る。したがって、この場合、RDは、範囲(11〜63)内のランクを有するURIの任意の内部検索結果をさらに除外する必要があり得る。
・ クライアントが、スリープしているノードが検索結果に含まれることを望むかどうか。
CoAPプトロコルは、例えば、その開示がその全体として本明細書に記載される場合のように、参照することによって組み込まれる、2013年6月28日に更新された制約アプリケーションプロトコルのインターネット草稿(http://tools.ietf.org/html/draft−ietf−core−coap−18)で開示される。HTTPプトロコルは、その開示がその全体として本明細書に記載される場合のように、参照することによって組み込まれる、RFC2616「ハイパーテキスト転送プトロコル−HTTP/1.1」(http://tools.ietf.org/html/rfc2616)で開示される。
ランクの範囲、リソースタイプ、およびスリープ状態指示等の情報は、好ましくは、その開示がその全体として本明細書に記載される場合のように、参照することによって組み込まれる、RFC3986「ユニフォームリソースアイデンティファイア(URI):一般構文」(http://tools.ietf.org/html/rfc3986)で開示されるように、CoAP/HTTP検索要求のURI文字列のクエリ部分の一部として含まれることができる。これらのクエリ文字列パラメータのこの解釈は、標準化され得るか、または最終的に事実上の解釈となり得るかのいずれかである。例として、CoAPクライアントクエリは、以下の通りであり得る。
・ GET coap://rd−lookup/ep?rt=temperature_sensor&rank=0&rank=1&sleepy=No
・ ここで、RDへの要求は、
・ タイプ=「温度センサ」
・ かつ、ランク=(0または1)
・ かつ、非活動ノードが検索結果に含まれるべきではない
のURIを調査する。
上で説明されるように、上で定義される全てのパラメータ(すなわち、ランク、非活動ノード指示)は、IETFにおいて標準化され得るか、または事実上の解釈になり得る。さらに、デバイス製造業者および/またはネットワークオペレータのプライベート加入ならびにビジネス関係に基づいてこれらのパラメータが全て機密情報であり得る第3の可能なモデルもある。
(実施例)
図10は、例示的実施形態による、それらのユニフォームリソースアイデンティファイアをリソースディレクトリに登録する温度センサの実施例を図示する。ある大工場が、建物を通して分配された1000個の温度センサを有すると仮定される。図10に示されるように、各センサは、始動時にCoAP Postを介して、それらのリソース(URI)をローカルRD702に登録し得る。これは、RD702が未加工URIのデータベースを構築することを可能にし得る。次いで、RD702は、上で説明されるように、クロスリンキング、コンテキスト等のそれらのプロパティに基づいて、全てのURIを処理し得る。次いで、ランク付けされたURIは、RDの処理されたデータベースに記憶される。
図11は、例示的実施形態による、温度センサのリストに対してリソースディレクトリにクエリを行うクライアントを図示する。最初にランク付けされたURIが処理されたデータベースに記憶された後、クライアントは、図11に示されるように、CoAP GETを介して検索クエリを送信し得る。検索クエリは、どのCoAPリソース(URI)が工場内で温度示度値を提供するであろうかを識別するようにRD702に要求し得る。つまり、クエリは、リソースタイプが「temperature_sensor」であるべきことを規定し、ドメインが工場の建物であるべきことを規定し得る。さらに、クライアントは、範囲(0〜10)内のランクを有するURIのみに関心があることを示し得る。さらに、クライアントは、現在スリープモードであるサーバ上にあるURIに関心がないことを示し得る。
図12は、例示的実施形態による、フィルタ処理された温度センサのリストを返すリソースディレクトリを図示する。図12を参照すると、RD702は、CoAP GET応答を介して、1000の入力よりはるかに少ない(すなわち、センサの総数未満)優先順序を付けられたURIのリストで応答し得る。これは、初期ランキングおよびリアルタイムフィルタリングが多数のURIを排除したためである。いくつかは、ランク(0〜10)内のURIのみを提供すること、および現在スリープしていないURIのみを考慮することに関するクライアントの指図により、明確に排除されている。これは、RD702の処理されたデータベース内のURI調査後に起こる、非活動ノード関連URIに対するリアルタイムチェックでRDによって処理され得る。
さらに、このシナリオでは、センサは、同一のリソースタイプを有し、同一のドメイン内に位置し得る。したがって、RDコンテキスト識別機能は、類似した(温度)値を測定していると仮定されるので、検索リストから多数のURIを排除し得る。検索結果リストが小さいことの他の理由は、多くのセンサが現在スリープ状態であると仮定されるからである。
図13は、例示的実施形態による、最高ランクのユニフォームリソースアイデンティファイアのみからリソースをフェッチするクライアントを図示する。図13を参照すると、次いで、クライアントは、フィルタ処理されたRD検索結果の中で返された上位3つのURIのみを容易かつ効率的に要求し得る。要求されるURIの最終的な数は、クライアントアプリケーションに基づき得る。
明確にするために、本明細書に説明される実施例の殆どは、CoAPの使用を示す。しかしながら、一般的に、同等の機能性が、HTTPを用いて容易に達成され得る。さらに、HTTPおよびCoAP連動を伴う混合ネットワークもさらに、例えば、2014年2月12日に更新されたHTTP−CoAPマッピング実装のためのガイドラインのインターネット草稿(http://tools.ietf.org/html/draft−ietf−core−http−mapping−03)で開示されるように、同等の機能性を達成し得る。
図10−13に図示される機能性は、以下に説明される図18Cまたは図18Dに図示されるもののうちの1つ等、M2Mネットワークノード(例えば、サーバ、ゲートウェイ、デバイス、またはコンピュータシステム)のメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得ることを理解されたい。
図14は、M2M/IoTサービス層で実装される検索エンジン最適化を伴うリソースディレクトリの実施形態を図示する。上で説明されるように、RDのSEO様機能(例えば、ランキングおよびフィルタリング機能)は、その開示がその全体として本明細書に記載される場合のように、参照することによって組み込まれる、「oneM2M機能アーキテクチャ」、oneM2M−TS−0001 oneM2M Functional Architecture−V−0.42で開示されるようなHTTPまたはCoAP層の上方の層等のIoTサービス層まで拡張され得る。本実施形態の実施例は、以下の主要な発想とともに図14に図示される。
・ サーバ801が、IoTデバイス1402(例えば、3GPPマシン型通信デバイス)の中に常駐し得る一方で、クライアントは、IoTアプリケーションの一部であり得る
・ RD702(上で説明されるようなSEO様特徴を含む)は、IoTゲートウェイ1404またはIoTサーバの一部として実装され得る
・ サーバ801が、サービス層インターフェースを経由してリソースをRD702に登録し得る一方で、クライアントは、同様にサービス層インターフェースを経由してRD702へのクエリを発行し得る。IoTゲートウェイ1404内のRD702は、SEO様特徴を実行し、サービス層インターフェースを経由してランク付けされたURIのリストをクライアント302に返し得る。
RD702がoneM2Mゲートウェイの一部である、図14に示されるネットワークに対して、RD702の範囲は、ゲートウェイドメインに対応し得る。つまり、ゲートウェイによって供給されるM2Mエリアネットワーク内の全てのデバイス(サーバ)は、それらのリソースをRD702に登録し得る。次いで、RD702は、これらのリソースに対応するURIを処理してランク付けし得る。次いで、RD702への検索クエリは、ゲートウェイドメインの内側または外部ネットワークドメインのいずれかからもたらされ得る。次いで、RD702は、ゲートウェイドメインの内側に位置するサーバを対象とするランク付けされたURIを伴う検索結果を返し得る。
SEO−RDが、図14に示されるようにoneM2Mゲートウェイの一部として論理的に実装される場合、RD702は、ゲートウェイ1404を通ってIoTデバイスに/から流れるユーザプレーントラフィックの統計に容易にアクセスし得る。これは、RDが上で説明されるような準負荷バランシング機能を実装することをより単純にし得る。具体的には、RD702は、ゲートウェイ境界の内側に位置するURI(リソース)への外部要求(例えば、CoAP GET)を監視することが可能であり得る。これは、RD702が、準負荷バランシングアルゴリズムの一部として行うランキング計算にこの負荷計量を組み込むことを可能にし得る。
図15は、別の例示的実施形態による、oneM2M機能アーキテクチャ内のRD CSF1502を図示する。図15に示されるように、上で説明されるSEO様特徴(例えば、ランキングおよびフィルタリング)は、新しいoneM2M CSF(RD CSF1502と称される)として、およびoneM2M CSEの一部として実装されることができる。CSE1 1504は、M2M/IoTゲートウェイまたはサーバであり得る。RD CSF1502は、以下の機能を有し得る。
・ それは、AEまたはCSEからのリソース登録を受け入れ、全ての登録されたリソースを維持し得る。
・ それは、上で説明されるような機構に従って、登録されたリソースをランク付けし得る。
それは、AEまたはCSEからのリソースクエリを処理し、上で説明されるようなフィルタ処理されたリソースのリストを返し得る。図14−15に図示される機能性は、以下に説明される図18Cまたは図18Dに図示されるもののうちの1つ等、M2Mネットワークノード(例えば、サーバ、ゲートウェイ、デバイス、またはコンピュータシステム)のメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得ることを理解されたい。
図16は、図15に示されるRD CSF1502に基づく、リソース登録プロシージャおよびリソースクエリプロシージャを図示する。
図16のステップ1では、要求側1 1602(例えば、AEまたはCSE)が、リソース登録要求メッセージをRD CSF1502に送信し得る。このメッセージは、以下の情報、すなわち、1)登録されるリソースのリスト、2)上で説明されるようなそのURI、クロスリンク、負荷、コンテキスト、場所、およびスリープスケジュール等の各リソースの属性を含み得る。
・ このステップは、oneM2Mにおける既存のリソース告知を使用して実現されることができるが、追加の属性(すなわち、上で説明されるようなクロスリンク、負荷、コンテキスト、場所、およびスリープスケジュール)が、各告知されたリソースのために追加される必要があり得ることに留意されたい。
図16のステップ2では、RD CSF1502が、リソース登録応答を要求側1 1602に返送し得る。
図16のステップ3では、RD CSF1502が、上で説明される方法に従って、全ての登録されたリソースをランク付けし得る。
図16のステップ4では、要求側2 1604(例えば、AEまたはCSE)が、リソースクエリメッセージをRD CSF1502に送信し得る。このメッセージは、以下の情報、すなわち、1)上で説明されるような所望のランク、所望のリソース場所、所望のリソース負荷等の検索基準を含み得る。
・ このステップは、上で説明されるような所望のランク等の新しい基準を用いて、oneM2Mで既存の発見CSFを使用して実装され得ることに留意されたい。
図16のステップ5では、RD CSF1502が、上で説明される方法に従って、ステップ4に含まれる基準に基づいて、その維持されたリソースを検索し得る。
図16のステップ6では、RD CSF1502が、結果(すなわち、発見されたリソースのリスト)を要求側2に送信し得る。
AEまたはCSE自体が、ある種のリソースであり得る。次いで、AEまたはCSEによる告知されたリソースは、そのクロスリンクと見なされることができる。結果として、より多くの告知されたリソース(すなわち、より多くのクロスリンク)を伴うAEまたはCSEは、より高いランクを割り当てられ得、それらは、発見され、より高い確率で要求側2に返され得る。
さらに、別の実施形態では、新しいRD CSFにおいて本開示のSEO様特徴を提供する代わりに、これらの特徴は、oneM2Mにおける既存の発見CSFに対する修正として実装され得ることに留意されたい。その代替実施形態では、図16の同一のプロシージャが適用され得、単にRD CSFを修正された発見CSFと置換する。
図16に図示されるステップを行うエンティティは、図18Cまたは図18Dに図示されるもの等、ネットワークノードまたはコンピュータシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図16に図示される方法は、図18Cまたは図18Dに図示されるノードもしくはコンピュータシステム等のネットワークノードのメモリ内に記憶されるソフトウェア(すなわち、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードのプロセッサによって実行されると、図16に図示されるステップを行う。さらに、図16に図示される任意の伝送および受信ステップは、ノードのプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下でノードの通信回路によって行われ得ることを理解されたい。
グラフィカルユーザインターフェース(GUI)等のインターフェースが、リソースディレクトリのための検索エンジン最適化に関係付けられる機能性を制御および/または構成するようにユーザを支援するために使用されることができる。図17は、ユーザが検索システムの動作を理解するようにリソースディレクトリの中への検索の結果を視認することを可能にする、デバッグインターフェース1702を図示する略図である。図17はさらに、リソースディレクトリのための検索エンジンで使用される検索パラメータを調節するために使用される、インターフェース1704も図示する。さらに、以下で説明される図18C−Dに示されるもの等のディスプレイを使用して、インターフェース1702および1704が生成されることができることも理解されたい。
(例示的M2M/IoT/WoT通信システム)
図18Aは、本明細書に説明されるような進化型リソースディレクトリのSEO様機能が実装され得る、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の系統図である。概して、M2M技術は、IoTの構成要素を提供し、任意のM2Mデバイス、ゲートウェイ、またはサービスプラットフォームは、IoTの構成要素ならびにIoTサービス層等であり得る。
概して、M2M技術は、IoT/WoTのための基礎的要素を提供し、任意のM2Mデバイス、M2Mゲートウェイ、M2Mサーバ、またはM2Mサービスプラットフォームは、IoT/WOTだけではなく、IoT/WoTサービス層等の構成要素またはノードであり得る。通信システム10は、開示される実施形態の機能性を実装するために使用されることができ、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の機能性および論理エンティティを含むことができる。
図18Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、イーサネット(登録商標)、ファイバ、ISDN、PLC等)もしくは無線ネットワーク(例えば、WLAN、セルラー等)もしくは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する、多重アクセスネットワークから成り得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
図18Aに示されるように、M2M/IoT/WoT通信システム10は、インフラストラクチャドメインおよびフィールドドメインを含み得る。インフラストラクチャドメインは、エンドツーエンドM2M展開のネットワーク側を指し、フィールドドメインは、通常、M2Mゲートウェイの背後にある、エリアネットワークを指す。フィールドドメインおよびインフラストラクチャドメインは両方とも、種々の異なるネットワークノード(例えば、サーバ、ゲートウェイ、デバイス等)を備え得る。例えば、フィールドドメインは、M2Mゲートウェイ14と、端末デバイス18とを含み得る。任意の数のM2Mゲートウェイデバイス14およびM2M端末デバイス18が、所望に応じて、M2M/IoT/WoT通信システム10に含まれ得ることが理解されるであろう。M2Mゲートウェイデバイス14およびM2M端末デバイス18の各々は、通信回路を使用して、通信ネットワーク12または直接無線リンクを介して、信号を伝送および受信するように構成される。M2Mゲートウェイ14は、無線M2Mデバイス(例えば、セルラーおよび非セルラー)ならびに固定ネットワークM2Mデバイス(例えば、PLC)が、通信ネットワーク12等のオペレータネットワークを通して、または直接無線リンクを通してのいずれかで、通信することを可能にする。例えば、M2M端末デバイス18は、データを収集し、通信ネットワーク12または直接無線リンクを介して、データをM2Mアプリケーション20または他のM2M端末デバイス18に送信し得る。M2M端末デバイス18はさらに、M2Mアプリケーション20またはM2M端末デバイス18からデータを受信し得る。さらに、データおよび信号は、以下で説明されるように、M2Mサービス層22を介して、M2Mアプリケーション20に送信され、そこから受信され得る。M2M端末デバイス18およびゲートウェイ14は、例えば、セルラー、WLAN、WPAN(例えば、Zigbee(登録商標)、6LoWPAN、Bluetooth(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。
例示的M2M端末デバイス18は、タブレット、スマートフォン、医療デバイス、温度および天候モニタ、コネクテッドカー、スマートメータ、ゲームコンソール、携帯情報端末、健康およびフィットネスモニタ、照明、サーモスタット、電気器具、車庫のドアおよび他のアクチュエータベースのデバイス、セキュリティデバイス、ならびにスマートコンセントを含むが、それらに限定されない。
図18Bを参照すると、フィールドドメイン内の図示されるM2Mサービス層22は、M2Mアプリケーション20、M2Mゲートウェイデバイス14、およびM2M端末デバイス18、ならびに通信ネットワーク12のためのサービスを提供する。通信システムネットワーク12は、開示される実施形態の機能性を実装するために使用されることができ、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の機能性および論理エンティティを含むことができる。M2Mサービス層22は、例えば、以下で説明される図18Cおよび12Dで図示されるデバイスを含む、1つ以上のサーバ、コンピュータ、デバイス、仮想マシン(例えば、クラウド/記憶ファーム等)等によって実装され得る。M2Mサービス層22は、所望に応じて、任意の数のM2Mアプリケーション、M2Mゲートウェイ14、M2M端末デバイス18、および通信ネットワーク12と通信し得ることが理解されるであろう。M2Mサービス層22は、サーバ、コンピュータ、デバイス等を備え得る、ネットワークの1つ以上のノードによって実装され得る。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイデバイス14、およびM2Mアプリケーション20に適用されるサービス能力を提供する。M2Mサービス層22の機能は、例えば、ウェブサーバとして、セルラーコアネットワーク内で、クラウド内で等、種々の方法で実装され得る。
図示されるM2Mサービス層22と同様に、インフラストラクチャドメイン内にM2Mサービス層22’が存在する。M2Mサービス層22’は、インフラストラクチャドメイン内のM2Mアプリケーション20’および下層通信ネットワーク12’のためのサービスを提供する。M2Mサービス層22’はさらに、フィールドドメイン内のM2Mゲートウェイデバイス14およびM2Mデバイス18のためのサービスも提供する。M2Mサービス層22’は、任意の数のM2Mアプリケーション、M2Mゲートウェイ、およびM2Mデバイスと通信し得ることが理解されるであろう。M2Mサービス層22’は、異なるサービスプロバイダによるサービス層と相互作用し得る。M2Mサービス層22’は、サーバ、コンピュータ、デバイス、仮想マシン(例えば、クラウドコンピューティング/記憶ファーム等)等を備え得る、ネットワークの1つ以上のノードによって実装され得る。
さらに、図18Bも参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用することができる、サービス送達能力のコアセットを提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出すコストおよび時間を削減する。サービス層22および22’はさらに、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、種々のネットワーク12および12’を通して通信することも可能にする。
本願の方法は、サービス層22および22’の一部として実装され得る。サービス層22および22’は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースのセットを通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層である。ETSI M2MおよびoneM2Mの両方は、本願の接続方法を含み得る、サービス層を使用する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内に実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)のセットをサポートする。1つ以上の特定のタイプのCSFのセットのインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上にホストされ得る、共通サービスエンティティ(CSE)と称される。さらに、本願の接続方法は、本願の接続方法等のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用する、M2Mネットワークの一部として実装されることができる。
いくつかの実施形態では、M2Mアプリケーション20および20’は、開示されるシステムおよび方法と併せて使用され得る。M2Mアプリケーション20および20’は、UEまたはゲートウェイと相互作用するアプリケーションを含んでもよく、さらに、他の開示されるシステムおよび方法と併せて使用され得る。
一実施形態では、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の論理エンティティは、図18Bに示されるように、M2Mサーバ、M2Mゲートウェイ、またはM2Mデバイス等のM2MノードによってホストされるM2Mサービス層インスタンス内でホストされ得る。例えば、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の論理エンティティは、M2Mサービス層インスタンス内で、または既存のサービス能力内のサブ機能として、個々のサービス能力を備え得る。
M2Mアプリケーション20および20’は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界での用途を含み得る。前述のように、このシステムのデバイス、ゲートウェイ、サーバ、および他のノードにわたって作動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
概して、サービス層22および22’は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースのセットを通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層を定義する。ETSI M2MおよびoneM2Mアーキテクチャの両方は、サービス層を定義する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、ETSI M2Mアーキテクチャの種々の異なるノード内に実装され得る。例えば、サービス層のインスタンスは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内で実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)のセットをサポートする。1つ以上の特定のタイプのCSFのセットのインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上にホストされ得る、共通サービスエンティティ(CSE)と称される。第3世代パートナーシッププロジェクト(3GPP)はさらに、マシンタイプ通信(MTC)のためのアーキテクチャも定義している。そのアーキテクチャでは、サービス層、およびそれが提供するサービス能力は、サービス能力サーバ(SCS)の一部として実装される。ETSI M2MアーキテクチャのDSCL、GSCL、またはNSCLで具現化されようと、3GPP MTCアーキテクチャのサービス能力サーバ(SCS)で具現化されようと、oneM2MアーキテクチャのCSFまたはCSEで具現化されようと、もしくはネットワークのある他のノードとして具現化されようと、サービス層のインスタンスは、サーバ、コンピュータ、および他のコンピュータデバイスまたはノードを含む、ネットワーク内の1つ以上の独立型ノード上で実行される論理エンティティ(例えば、ソフトウェア、コンピュータ実行可能命令等)として、もしくは1つ以上の既存のノードの一部としてのいずれかで実装され得る。実施例として、サービス層またはその構成要素のインスタンスは、以下で説明される図18Cまたは図18Dで図示される一般アーキテクチャを有する、ネットワークノード(例えば、サーバ、コンピュータ、ゲートウェイ、デバイス等)上で作動するソフトウェアの形態において実装され得る。
さらに、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の論理エンティティは、本願のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用する、M2Mネットワークの一部として実装されることができる。
図18Cは、M2Mデバイス18、M2Mゲートウェイ14、M2Mサーバ等のM2Mネットワークノード30の例示的ハードウェア/ソフトウェアアーキテクチャのブロック図である。ノード30は、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の論理エンティティを実行するか、または含むことができる。デバイス30は、図18A−Bに示されるようなM2Mネットワークの一部、もしくは非M2Mネットワークの一部であり得る。図18Cに示されるように、M2Mノード30は、プロセッサ32と、非取り外し可能なメモリ44と、取り外し可能なメモリ46と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ、タッチパッド、および/またはインジケータ42と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。ノード30はさらに、送受信機34および伝送/受信要素36等の通信回路を含み得る。M2Mノード30は、実施形態と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。このノードは、本明細書に説明されるSMSF機能性を実装する、ノードであり得る。
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン等であり得る。一般に、プロセッサ32は、ノードの種々の要求される機能を果たすために、ノードのメモリ(例えば、メモリ44および/またはメモリ46)内に記憶されるコンピュータ実行可能命令を実行し得る。例えば、プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはM2Mノード30が無線もしくは有線環境内で動作することを可能にする任意の他の機能性を行い得る。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)および/または無線アクセス層(RAN)プログラムならびに/もしくは他の通信プログラムを起動させ得る。プロセッサ32はさらに、例えば、アクセス層および/またはアプリケーション層等で、認証、セキュリティキー一致、ならびに/もしくは暗号化動作等のセキュリティ動作を行い得る。
図18Cに示されるように、プロセッサ32は、その通信回路(例えば、送受信機34および伝送/受信要素36)に連結される。プロセッサ32は、ノード30に、それが接続されるネットワークを介して他のノードと通信させるために、コンピュータ実行可能命令の実行を通して、通信回路を制御し得る。特に、プロセッサ32は、本明細書および請求項に説明される伝送および受信ステップを行うために、通信回路を制御し得る。図18Cは、プロセッサ32および送受信機34を別個の構成要素として描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップ内にともに統合され得ることが理解されるであろう。
伝送/受信要素36は、M2Mサーバ、ゲートウェイ、デバイス等を含む、他のM2Mノードに信号を伝送するか、またはそこから信号を受信するように構成され得る。例えば、ある実施形態では、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークならびにエアインターフェースをサポートし得る。ある実施形態では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送ならびに/もしくは受信するように構成されるエミッタ/検出器であり得る。さらに別の実施形態では、伝送/受信要素36は、RFおよび光信号の両方を伝送ならびに受信するように構成され得る。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送ならびに/もしくは受信するように構成され得ることが理解されるであろう。
加えて、伝送/受信要素36は、単一の要素として図18Cに描写されているが、M2Mノード30は、任意の数の伝送/受信要素36を含み得る。より具体的には、M2Mノード30は、MIMO技術を採用し得る。したがって、ある実施形態では、M2Mノード30は、無線信号を伝送および受信するための2つまたはそれを上回る伝送/受信要素36(例えば、複数のアンテナ)を含み得る。
送受信機34は、伝送/受信要素36によって伝送される信号を変調するように、および伝送/受信要素36によって受信される信号を復調するように構成され得る。上記のように、M2Mノード30は、マルチモード能力を有し得る。したがって、送受信機34は、M2Mノード30が、例えば、UTRAおよびIEEE802.11等の複数のRATを介して通信することを可能にするための複数の送受信機を含み得る。
プロセッサ32は、非取り外し可能なメモリ44および/または取り外し可能なメモリ46等の任意のタイプの好適なメモリから情報にアクセスし、その中にデータを記憶し得る。例えば、プロセッサ32は、前述のように、セッションコンテキストをそのメモリ内に記憶し得る。非取り外し可能なメモリ44は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能なメモリ46は、加入者識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード等を含み得る。他の実施形態では、プロセッサ32は、サーバまたはホームコンピュータ上等、M2Mノード30上に物理的に位置しないメモリから情報にアクセスし、その中にデータを記憶し得る。プロセッサ32は、ディスプレイまたはインジケータ42上の照明パターン、画像、または色を制御し、M2Mサービス層セッション移行または共有のステータスを反映させるか、またはノードのセッション移行または共有能力もしくは設定についての入力をユーザから得るか、または情報をユーザに表示するように構成され得る。別の実施例では、ディスプレイは、セッション状態に関する情報を示し得る。本開示は、oneM2M実施形態においてRESTfulユーザ/アプリケーションAPIを定義する。ディスプレイ上に示され得る、グラフィカルユーザインターフェースは、APIの上部に層化され、ユーザが、本明細書に説明される下層サービス層セッション機能性を介して、E2Eセッションまたはその移行もしくは共有を双方向に確立および管理することを可能にし得る。
プロセッサ32は、電源48から電力を受容し得、M2Mノード30内の他の構成要素への電力を分配および/または制御するように構成され得る。電源48は、M2Mノード30に給電するための任意の好適なデバイスであり得る。例えば、電源48は、1つ以上の乾電池バッテリ(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)等)、太陽電池、燃料電池等を含み得る。
プロセッサ32はさらに、M2Mノード30の現在の場所に関する場所情報(例えば、経度および緯度)を提供するように構成され得る、GPSチップセット50に連結され得る。M2Mノード30は、実施形態と一致したままで、任意の好適な場所決定方法を介して場所情報を獲得し得ることが理解されるであろう。
プロセッサ32はさらに、追加の特徴、機能性、および/または有線もしくは無線接続を提供する、1つ以上のソフトウェアならびに/もしくはハードウェアモジュールを含み得る、他の周辺機器52に連結され得る。例えば、周辺機器52は、加速度計、e−コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(USB)ポート、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
図18Dは、M2Mサーバ、ゲートウェイ、デバイス、または他のノード等、M2Mネットワークの1つ以上のノードを実装するためにも使用され得る、例示的コンピューティングシステム90のブロック図である。コンピューティングシステム90は、コンピュータまたはサーバを備え得、主に、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得、どこでもまたはどのような手段を用いても、そのようなソフトウェアが記憶またはアクセスされる。コンピューティングシステム90は、リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の論理エンティティを実行するか、または含むことができる。コンピューティングシステム90は、M2Mデバイス、ユーザ機器、ゲートウェイ、UE/GW、または、例えば、モバイルコアネットワーク、サービス層ネットワークアプリケーションプロバイダ、端末デバイス18、もしくはM2Mゲートウェイデバイス14のノードを含む、任意の他のノードであり得る。そのようなコンピュータ読み取り可能な命令は、コンピューティングシステム90を稼働させるように、中央処理装置(CPU)91等のプロセッサ内で実行され得る。多くの既知のワーク基地局、サーバ、およびパーソナルコンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他の機械では、中央処理装置91は、複数のプロセッサを備え得る。コプロセッサ81は、追加の機能を果たすか、またはCPU91を支援する、主要CPU91とは明確に異なる、随意的なプロセッサである。CPU91および/またはコプロセッサ81は、セッション証明書の受信またはセッション証明書に基づく認証等、E2E M2Mサービス層セッションのための開示されるシステムおよび方法に関連するデータを受信、生成、および処理し得る。
動作時、CPU91は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送パスであるシステムバス80を介して、情報を他のリソースへ、およびそこから転送する。そのようなシステムバスは、コンピューティングシステム90内の構成要素を接続し、データ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータラインと、アドレスを送信するためのアドレスラインと、割り込みを送信するため、およびシステムバスを動作するための制御ラインとを含む。そのようなシステムバス80の実施例は、PCI(周辺構成要素相互接続)バスである。
システムバス80に連結されるメモリは、ランダムアクセスメモリ(RAM)82と、読み取り専用メモリ(ROM)93とを含む。そのようなメモリは、情報が記憶され、読み出されることを可能にする回路を含む。ROM93は、概して、容易に修正され得ない、記憶されたデータを含む。RAM82内に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取られる、もしくは変更され得る。RAM82および/またはROM93へのアクセスは、メモリコントローラ92によって制御され得る。メモリコントローラ92は、命令が実行されると、仮想アドレスを物理的アドレスに変換する、アドレス変換機能を提供し得る。メモリコントローラ92はさらに、システム内のプロセスを隔離し、ユーザプロセスからシステムプロセスを隔離する、メモリ保護機能を提供し得る。したがって、第1のモードで作動するプログラムは、その独自のプロセス仮想アドレス空間によってマッピングされるメモリのみにアクセスすることができ、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることはできない。
加えて、コンピューティングシステム90は、CPU91からプリンタ94、キーボード84、マウス95、およびディスクドライブ85等の周辺機器に命令を伝達する責任がある、周辺機器コントローラ83を含み得る。
ディスプレイコントローラ96によって制御される、ディスプレイ86は、コンピューティングシステム90によって生成される視覚出力を表示するために使用される。そのような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含み得る。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを伴って実装され得る。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するために要求される、電子構成要素を含む。
さらに、コンピューティングシステム90は、例えば、図18Aおよび図18Bのネットワーク12等の外部通信ネットワークにコンピューティングシステム90を接続するために使用され得る、ネットワークアダプタ97等の通信回路を含み、コンピューティングシステム90が、ネットワークの他のノードと通信することを可能にし得る。
本明細書で説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得、その命令は、例えば、M2Mサーバ、ゲートウェイ、デバイス等を含む、M2Mネットワークのノード等の機械によって実行されると、本明細書に説明されるシステム、方法、およびプロセスを行うならびに/もしくは実装することが理解される。具体的には、ゲートウェイ、UE、UE/GW、またはモバイルコアネットワーク、サービス層、もしくはネットワークアプリケーションプロバイダのノードのうちのいずれかの動作を含む、前述の説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態において実装され得る。リソースディレクトリ208および702、センサ202、204、および206等のセンサ、クライアント302、AE602、CSE604、606、および1504、NSE608、データベース704および706、初期ランキング機能708、リアルタイムランキング機能710、サーバ801、IoTデバイス1402、IoTゲートウェイ(またはサーバ)1404、RD CSF1502、要求側1602および1604、ならびにインターフェース1702および1704等のインターフェースを生成する論理エンティティ等の論理エンティティは、コンピュータ読み取り可能な記憶媒体上に記憶されるコンピュータ実行可能命令の形態において具現化され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の非一過性(すなわち、有形または物理的)方法もしくは技術で実装される、揮発性および不揮発性、取り外し可能なおよび非取り外し可能な媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の有形または物理的媒体を含むが、それらに限定されない。
図に図示されるような本開示の主題の好ましい実施形態を説明する際に、明確にするために、具体的用語が採用される。しかしながら、請求される主題は、そのように選択された具体的用語に限定されることを意図しておらず、各具体的要素は、類似目的を達成するように同様に動作する、全ての技術的均等物を含むことを理解されたい。
本明細書は、最良の様態を含む、本発明を開示するために、さらに、当業者が、任意のデバイスまたはシステムを作製して使用することと、任意の組み込まれた方法を行うこととを含む、本発明を実践することを可能にするために、実施例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の実施例を含み得る。そのような他の実施例は、請求項の文字通りの言葉とは異ならない要素を有する場合、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の要素を含む場合、請求項の範囲内であることを意図している。

Claims (21)

  1. 複数のサーバとリソースディレクトリとを備えているネットワークでの使用のための方法であって、前記方法は、前記リソースディレクトリにおいて行われ、前記方法は、
    前記複数のサーバから受信される複数のユニフォームリソースアイデンティファイア(URI)を登録することと、
    前記複数のURIの各々の間のクロスリンクを測定することに基づいて、前記複数のURIに対する初期ランキングを決定することと、
    前記初期ランキングに基づいて、ランク付けされたデータベースを生成することと
    を含む、方法。
  2. 前記複数のURIの各々の間のクロスリンクを測定することは、
    前記複数のURIの各々が別のURIにクロスリンクされている回数を数えることと、
    前記複数のURIの前記各々に対して、前記回数をランクの所定の範囲にマッピングすることと、
    前記マッピングすることに基づいて、前記複数のURIのクロスリンクランキングを決定することであって、前記クロスリンクランキングは、前記回数を示す、ことと
    をさらに含む、請求項1に記載の方法。
  3. 前記複数のURIのクロスリンクランキングを決定することは、
    前記複数のURIの中の第1のURIを決定することであって、前記第1のURIは、前記複数のURIの中の第2のURIより多くクロスリンクされている、ことと、
    前記第1のURIを前記第2のURIより高くランク付けすることと
    をさらに含む、請求項2に記載の方法。
  4. 前記複数のURIの前記初期ランキングは、前記複数のURIのコンテキストを識別することに基づいてさらに決定される、請求項1に記載の方法。
  5. 前記複数のURIの前記コンテキストは、リソースタイプ、ドメイン、地理的場所、マルチキャスト、およびユニキャストを備えている、請求項4に記載の方法。
  6. 前記複数のURIのコンテキストを識別することは、
    前記コンテキストに基づいて、前記複数のURIからURIのグループを選択することと、
    前記URIのグループを、前記複数のURIの中の選択されていないURIのグループより高くランク付けすることと、
    前記ランキングに基づいて、前記複数のURIに対するコンテキストランキングを決定することと
    をさらに含む、請求項5に記載の方法。
  7. 前記URIのグループは、前記論理ドメインに基づいて選択される、請求項6に記載の方法。
  8. 前記URIのグループは、前記リソースタイプに基づいて選択される、請求項6に記載の方法。
  9. 前記URIのグループは、前記地理的場所に基づいて選択される、請求項6に記載の方法。
  10. 前記URIのグループは、前記マルチキャストグループに基づいて選択される、請求項6に記載の方法。
  11. クライアントから検索クエリを受信することと、
    前記検索クエリに基づいて、前記ランク付けされたデータベースの中の前記複数のURIのリアルタイムランキングを決定することと、
    前記リアルタイムランキングに基づいて、前記複数のURIのランク付けされたリストを生成することと
    をさらに含む、請求項1に記載の方法。
  12. 前記検索クエリは、リソースタイプ、ドメイン、ランクの範囲、およびスリープ状態インジケータを備えている、請求項11に記載の方法。
  13. 前記複数のURIの前記リアルタイムランキングは、前記複数のサーバの各々に対するスリープ状態をチェックすることに基づいて決定される、請求項11に記載の方法。
  14. 前記複数のサーバの各々に対するスリープ状態をチェックすることは、
    前記複数のURIの各々に対する前記スリープ状態を前記複数のサーバから受信されるスリープスケジュールと比較することと、
    前記スリープ状態を比較することに基づいて、前記複数のURIに対するスリープ状態ランキングを決定することと
    をさらに含む、請求項13に記載の方法。
  15. 前記スリープ状態ランキングを決定することは、前記複数のURIの中のURIがスリープ状態である場合、前記URIを前記複数のURIの中の起動している別のURIより低くランク付けすることをさらに含む、請求項14に記載の方法。
  16. 前記スリープ状態ランキングを決定することは、前記複数のURIの中のURIがスリープ状態である場合、前記ランク付けされたリストの中の前記URIを除去することをさらに含む、請求項14に記載の方法。
  17. 前記複数のURIの前記リアルタイムランキングは、前記複数のサーバのトラフィック負荷に部分的に平衡を保たせることに基づいて決定される、請求項11に記載の方法。
  18. 前記複数のサーバのトラフィック負荷に部分的に平衡を保たせることは、
    前記複数のURIの中の第1のURIを決定することであって、前記第1のURIは、前記複数のURIの中の第2のURIより所定の回数高くランク付けされている、ことと、
    前記第1のURIを前記第2のURIより低くランク付けすることと、
    前記ランキングに基づいて、前記複数のURIに対する準負荷バランシングランキングを生成することと
    をさらに含む、請求項17に記載の方法。
  19. 前記複数のサーバのトラフィック負荷に部分的に平衡を保たせることは、
    前記複数のURIの中の第1のURIを決定することであって、前記第1のURIは、前記複数のURIの中の第2のURIより高いトラフィック負荷を伴って検出されている、ことと、
    前記第1のURIを前記第2のURIより低くランク付けすることと、
    前記ランキングに基づいて、前記複数のURIに対する準負荷バランシングランキングを生成することと
    をさらに含む、請求項17に記載の方法。
  20. 前記ランク付けされたデータベースは、クロスリンクランキング、コンテキストランキング、スリープ状態ランキング、および準負荷バランシングランキングの加重平均に基づいて生成される、請求項1に記載の方法。
  21. 複数のサーバとリソースディレクトリとを備えているネットワーク内のシステムであって、前記システムは、
    プロセッサと、
    前記プロセッサに連結されているメモリと
    を備え、
    前記メモリは、実行可能命令を備え、前記命令は、前記プロセッサによって実行されると、
    前記複数のサーバから受信される複数のユニフォームリソースアイデンティファイア(URI)を登録することと、
    前記複数のURIの各々の間のクロスリンクを測定することに基づいて、前記複数のURIに対する初期ランキングを決定することと、
    前記初期ランキングに基づいて、ランク付けされたデータベースを生成することと
    を含む動作を前記プロセッサに達成させる、システム。
JP2016565010A 2014-04-28 2015-04-28 リソースディレクトリのための検索エンジン最適化 Active JP6420849B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461985254P 2014-04-28 2014-04-28
US61/985,254 2014-04-28
PCT/US2015/027943 WO2015168091A1 (en) 2014-04-28 2015-04-28 Search engine optimization for resource directory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018193427A Division JP2019003707A (ja) 2014-04-28 2018-10-12 リソースディレクトリのための検索エンジン最適化

Publications (2)

Publication Number Publication Date
JP2017516213A true JP2017516213A (ja) 2017-06-15
JP6420849B2 JP6420849B2 (ja) 2018-11-07

Family

ID=53051963

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016565010A Active JP6420849B2 (ja) 2014-04-28 2015-04-28 リソースディレクトリのための検索エンジン最適化
JP2018193427A Pending JP2019003707A (ja) 2014-04-28 2018-10-12 リソースディレクトリのための検索エンジン最適化

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018193427A Pending JP2019003707A (ja) 2014-04-28 2018-10-12 リソースディレクトリのための検索エンジン最適化

Country Status (6)

Country Link
US (1) US10558623B2 (ja)
EP (1) EP3138020A1 (ja)
JP (2) JP6420849B2 (ja)
KR (2) KR20190031597A (ja)
CN (1) CN106489144B (ja)
WO (1) WO2015168091A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10637794B2 (en) 2016-05-19 2020-04-28 Huawei Technologies Co., Ltd. Resource subscription method, resource subscription apparatus, and resource subscription system
EP4184344A1 (en) 2021-11-18 2023-05-24 OMRON Corporation Information processing system and information processing method
EP4184343A1 (en) 2021-11-18 2023-05-24 OMRON Corporation Information processing system, information processing method and information processing program

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021220B2 (en) * 2015-11-02 2018-07-10 Adobe Systems Incorporated Object amalgamation based on categorization and protocol granularization
WO2017138849A1 (en) * 2016-02-09 2017-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Communication configurations for a machine device
KR101792399B1 (ko) 2016-03-21 2017-11-01 전자부품연구원 IoT/M2M 리소스 검색 방법 및 시스템
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10956435B2 (en) * 2017-05-05 2021-03-23 Servicenow, Inc. Global search
US10469600B2 (en) * 2017-11-14 2019-11-05 Dell Products, L.P. Local Proxy for service discovery
US11695841B2 (en) 2018-01-03 2023-07-04 Convida Wireless, Llc Cross-domain discovery between service layer systems and web of Things systems
WO2019195690A1 (en) * 2018-04-06 2019-10-10 Convida Wireless, Llc Mechanisms for service layer resource ranking and enhanced resource discovery
CN108717432B (zh) * 2018-05-11 2022-02-18 腾讯科技(深圳)有限公司 资源查询方法及装置
CN109446439B (zh) * 2018-09-30 2022-09-06 青岛海尔科技有限公司 一种资源目录的选择方法、装置、系统及存储介质
CN115334146A (zh) * 2018-12-11 2022-11-11 Oppo广东移动通信有限公司 物联网的资源发布方法、装置、设备及存储介质
US11363104B2 (en) 2018-12-18 2022-06-14 Hewlett Packard Enterprise Development Lp Subscription based directory services for IOT devices
CN110618979B (zh) * 2019-08-14 2022-09-09 平安科技(深圳)有限公司 嵌套循环的数据处理方法、装置及计算机设备
CN116186048B (zh) * 2023-03-09 2023-12-15 苏州异格技术有限公司 Fpga的元器件的数据处理方法、装置、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826624B1 (en) * 1999-12-09 2004-11-30 International Business Machines Corporation Method and apparatus for network resource access request redirection
US20050027685A1 (en) * 2003-03-28 2005-02-03 Kamvar Sepandar D. Adaptive computation of ranking
US20070239701A1 (en) * 2006-03-29 2007-10-11 International Business Machines Corporation System and method for prioritizing websites during a webcrawling process
US20090254643A1 (en) * 2008-04-04 2009-10-08 Merijn Camiel Terheggen System and method for identifying galleries of media objects on a network
JP2009301546A (ja) * 2008-06-06 2009-12-24 Ntt Docomo Inc 複数のリアルタイム・センサを検索する方法及び装置
US20130212215A1 (en) * 2011-12-21 2013-08-15 Sensinode Oy Method, apparatus and system for addressing resources

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3224715B2 (ja) * 1994-09-07 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムをウェイクさせる低電力リング検出
US6285999B1 (en) * 1997-01-10 2001-09-04 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US8341112B2 (en) 2006-05-19 2012-12-25 Microsoft Corporation Annotation by search
US8684253B2 (en) * 2007-01-10 2014-04-01 Ethicon Endo-Surgery, Inc. Surgical instrument with wireless communication between a control unit of a robotic system and remote sensor
KR101432128B1 (ko) * 2013-01-29 2014-08-21 주식회사 케이티 M2m 네트워크상에서의 리소스를 디바이스 오브젝트로 추상화하는 m2mm 플랫폼
JP6255422B2 (ja) * 2013-02-19 2017-12-27 インターデイジタル パテント ホールディングス インコーポレイテッド 未来のモノのインターネットのための情報モデリング

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826624B1 (en) * 1999-12-09 2004-11-30 International Business Machines Corporation Method and apparatus for network resource access request redirection
US20050027685A1 (en) * 2003-03-28 2005-02-03 Kamvar Sepandar D. Adaptive computation of ranking
US20070239701A1 (en) * 2006-03-29 2007-10-11 International Business Machines Corporation System and method for prioritizing websites during a webcrawling process
US20090254643A1 (en) * 2008-04-04 2009-10-08 Merijn Camiel Terheggen System and method for identifying galleries of media objects on a network
JP2009301546A (ja) * 2008-06-06 2009-12-24 Ntt Docomo Inc 複数のリアルタイム・センサを検索する方法及び装置
US20130212215A1 (en) * 2011-12-21 2013-08-15 Sensinode Oy Method, apparatus and system for addressing resources

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10637794B2 (en) 2016-05-19 2020-04-28 Huawei Technologies Co., Ltd. Resource subscription method, resource subscription apparatus, and resource subscription system
EP4184344A1 (en) 2021-11-18 2023-05-24 OMRON Corporation Information processing system and information processing method
EP4184343A1 (en) 2021-11-18 2023-05-24 OMRON Corporation Information processing system, information processing method and information processing program

Also Published As

Publication number Publication date
WO2015168091A8 (en) 2016-11-10
CN106489144B (zh) 2020-01-10
KR20160146978A (ko) 2016-12-21
JP2019003707A (ja) 2019-01-10
US10558623B2 (en) 2020-02-11
US20170046366A1 (en) 2017-02-16
KR20190031597A (ko) 2019-03-26
JP6420849B2 (ja) 2018-11-07
WO2015168091A1 (en) 2015-11-05
EP3138020A1 (en) 2017-03-08
CN106489144A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
JP6420849B2 (ja) リソースディレクトリのための検索エンジン最適化
JP6772340B2 (ja) 許可ベースのリソースおよびサービス発見
US20170208139A1 (en) Publication and discovery of m2m-iot services
JP6574276B2 (ja) 関心に基づく拡張m2mコンテンツ管理
JP6412122B2 (ja) サービス対象範囲管理システムおよび方法
US10979879B2 (en) Mechanisms for resource-directory to resource-directory communications
US11405481B2 (en) System and methods for service layer cache management
WO2018064519A1 (en) Storing and retrieving the network context of a device
US11671514B2 (en) Service layer message templates in a communications network
US10587701B2 (en) Registration management in the service layer
US11700301B2 (en) Service registration based on service capabilities requirements and preferences

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180803

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181012

R150 Certificate of patent or registration of utility model

Ref document number: 6420849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250