(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-25
(45)【発行日】2023-05-08
(54)【発明の名称】デバイスの通信方法、デバイス及び記憶媒体
(51)【国際特許分類】
H04W 76/10 20180101AFI20230426BHJP
H04W 92/24 20090101ALI20230426BHJP
H04L 65/1095 20220101ALI20230426BHJP
【FI】
H04W76/10
H04W92/24
H04L65/1095
(21)【出願番号】P 2021557418
(86)(22)【出願日】2019-03-26
(86)【国際出願番号】 CN2019079765
(87)【国際公開番号】W WO2020191639
(87)【国際公開日】2020-10-01
【審査請求日】2022-02-28
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(74)【代理人】
【識別番号】100120385
【氏名又は名称】鈴木 健之
(72)【発明者】
【氏名】チャン、ジュン
【審査官】伊東 和重
(56)【参考文献】
【文献】中国特許出願公開第107995215(CN,A)
【文献】米国特許出願公開第2018/0084085(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24-7/26
H04W 4/00-99/00
H04L 65/00-65/80
H04L 67-00-67/75
(57)【特許請求の範囲】
【請求項1】
第1のクラウドプラットフォームが、第2のクラウドプラットフォームから、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを取得するステップと、
前記第1のクラウドプラットフォームが、前記第1のアクセストークンに基づいて、前記第2のリソースリンクを取得するステップと、
前記第1のクラウドプラットフォームが、前記第2のリソースリンクに基づいて、前記第1のクラウドプラットフォームにおける前記第2のデバイスの第1のリソースリンクを決定するステップを含み、
前記第2のデバイスは、前記第2のクラウドプラットフォームに接続され、
前記第1のリソースリンクは、前記第1のクラウドプラットフォームに接続された第1のデバイスと前記第2のデバイスとの通信に使用される
ことを特徴とするデバイスの通信方法。
【請求項2】
前記第1のクラウドプラットフォームが第2のクラウドプラットフォームから第1のアクセストークンを取得するステップは、
前記第1のクラウドプラットフォームが、前記第2のクラウドプラットフォームのユーザ認可アドレスに基づいて、第1のアクセス要求メッセージを送信するステップと、
前記第1のクラウドプラットフォームが、前記第2のクラウドプラットフォームにより送信された認可コードを受信するステップと、
前記第1のクラウドプラットフォームが、前記第2のクラウドプラットフォームのアクセストークン取得アドレスに基づいて、第2のアクセス要求メッセージを送信するステップと、
前記第1のクラウドプラットフォームが、前記第2のクラウドプラットフォームにより送信された前記第1のアクセストークンを受信するステップを含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記第1のアクセス要求メッセージは、
前記第1のクラウドプラットフォームのクライアント識別子、及びコールバックアドレスを含む
ことを特徴とする請求項
2に記載の方法。
【請求項4】
前記第2のアクセス要求メッセージは、
前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む
ことを特徴とする請求項
2又は
3に記載の方法。
【請求項5】
前記第1のアクセス要求メッセージは、認可された権限範囲をさらに含む
ことを特徴とする請求項
2~
4のいずれか1項に記載の方法。
【請求項6】
前記第1のクラウドプラットフォームが前記第1のアクセストークンに基づいて、前記第2のリソースリンクを取得するステップは、
前記第1のクラウドプラットフォームが、前記第2のクラウドプラットフォームに、前記第1のアクセストークンを運ぶリソースリンク要求メッセージを送信するステップと、
前記第1のクラウドプラットフォームが、前記第2のクラウドプラットフォームにより送信された第2のリソースリンクを受信するステップを含み、
前記第2のリソースリンクは、前記第2のクラウドプラットフォームにより前記第1のアクセストークンに関連付けられる前記第2のデバイスによって配信されたリソースリンクである
ことを特徴とする請求項1~
5のいずれか1項に記載の方法。
【請求項7】
前記第1のクラウドプラットフォームが、前記第2のリソースリンクに基づいて、前記第1のクラウドプラットフォームにおける前記第2のデバイスの第1のリソースリンクを決定するステップは、
前記第1のクラウドプラットフォームが、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報を前記第1のクラウドプラットフォームのエンドポイント情報に置き換えることにより、第1のリソースリンクを取得するステップを含む
ことを特徴とする請求項1~
6のいずれか1項に記載の方法。
【請求項8】
前記第1のクラウドプラットフォームが、前記第1のリソースリンクにおける前記第1のクラウドプラットフォームのエンドポイント情報と、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報とのマッピング関係を確立するステップをさらに含む
ことを特徴とする請求項
7に記載の方法。
【請求項9】
第2のクラウドプラットフォームが、第1のクラウドプラットフォームに、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを送信するステップを含み、
前記第1のクラウドプラットフォームによって前記第2のリソースリンクのエンドポイント情報を置き換えることにより、第1のリソースリンクを取得し、前記第1のリソースリンクは第1のデバイスと第2のデバイスの通信に用いられ、
前記第1のデバイスは前記第1のクラウドプラットフォームに接続され、前記第2のデバイスは前記第2のクラウドプラットフォームに接続される
ことを特徴とするデバイスの通信方法。
【請求項10】
前記第2のクラウドプラットフォームが第1のクラウドプラットフォームに第1のアクセストークンを送信するステップは、
前記第2のクラウドプラットフォームが、前記第2のクラウドプラットフォームのユーザ認可アドレスに基づいて、第1のアクセス要求メッセージを受信するステップと、
前記第2のクラウドプラットフォームが、前記第1のクラウドプラットフォームに認可コードを送信するステップと、
前記第2のクラウドプラットフォームが、前記第2のクラウドプラットフォームのアクセストークン取得アドレスに基づいて、第2のアクセス要求メッセージを受信するステップと、
前記第2のクラウドプラットフォームが、前記第1のクラウドプラットフォームに前記第1のアクセストークンを送信するステップを含む
ことを特徴とする請求項
9に記載の方法。
【請求項11】
前記第1のアクセス要求メッセージは、
前記第1のクラウドプラットフォームのクライアント識別子、及びコールバックアドレスを含む
ことを特徴とする請求項
10に記載の方法。
【請求項12】
前記第2のアクセス要求メッセージは、
前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む
ことを特徴とする請求項
10又は
11に記載の方法。
【請求項13】
前記第1のアクセス要求メッセージは、認可された権限範囲をさらに含む
ことを特徴とする請求項
10~
12のいずれか1項に記載の方法。
【請求項14】
請求項1から8のいずれか一項に記載の方法を実行するように構成されることを特徴とする第1のクラウドプラットフォーム。
【請求項15】
請求項9から13のいずれか一項に記載の方法を実行するように構成されることを特徴とする第2のクラウドプラットフォーム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信技術分野に関し、特にデバイスの通信方法、デバイス及び記憶媒体に関する。
【背景技術】
【0002】
関連技術において、同一のローカルネットワークになく、且つ同一のクラウドプラットフォームに接続された第1のデバイスと第2のデバイスは、クラウドプラットフォームを介して通信することができる。しかし、同一のクラウドプラットフォームに接続されていない二つのデバイスの間の通信をどのように実現させるかについては、現在には有効な解決手段がない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上記の課題を解決するために、本発明の実施例は、デバイスの通信方法、デバイス及び記憶媒体を提供する。
【課題を解決するための手段】
【0004】
第1の態様によれば、本発明の実施例は、デバイスの通信方法を提供し、この方法は、第1のクラウドプラットフォームが、第2のクラウドプラットフォームから、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを取得するステップと、前記第1のクラウドプラットフォームが、前記第1のアクセストークンに基づいて、前記第2のリソースリンクを取得するステップと、前記第1のクラウドプラットフォームが、前記第2のリソースリンクに基づいて、前記第1のクラウドプラットフォームにおける前記第2のデバイスの第1のリソースリンクを決定するステップを含み、前記第2のデバイスは、前記第2のクラウドプラットフォームに接続され、前記第1のリソースリンクは、前記第1のクラウドプラットフォームに接続された第1のデバイスと前記第2デバイスとの通信に使用される。
【0005】
第2の態様によれば、本発明の実施例は、デバイスの通信方法を提供し、この方法は、第2のクラウドプラットフォームが、第1のクラウドプラットフォームに、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを送信するステップを含み、前記第2のリソースリンクは第1のデバイスと第2のデバイスとの通信に使用され、前記第1のデバイスは前記第1のクラウドプラットフォームに接続され、前記第2のデバイスは前記第2のクラウドプラットフォームに接続される。
【0006】
第3の態様によれば、本発明の実施例は、第1のクラウドプラットフォームを提供し、前記第1のクラウドプラットフォームは、第2のクラウドプラットフォームから、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを取得するように構成される第1の送受信ユニットと、
前記第1のアクセストークンに基づいて、前記第2のリソースリンクを取得するように構成される第2の送受信ユニットと、
前記第2のリソースリンクに基づいて、前記第1のクラウドプラットフォームにおける前記第2のデバイスの第1のリソースリンクを決定するように構成される第1の処理ユニットと、を備え、
前記第2のデバイスは、前記第2のクラウドプラットフォームに接続され、
前記第1のリソースリンクは、前記第1のクラウドプラットフォームに接続された第1のデバイスと前記第2のデバイスとの通信に使用される。
【0007】
第4の態様によれば、本発明の実施例は、第2のクラウドプラットフォームを提供し、前記第2のクラウドプラットフォームは、第1のクラウドプラットフォームに、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを送信するように構成される第4の送受信ユニットを備え、前記第2のリソースリンクは、第1のデバイスと第2のデバイスとの通信に使用され、
前記第1のデバイスは前記第1のクラウドプラットフォームに接続され、前記第2のデバイスは前記第2のクラウドプラットフォームに接続される。
【0008】
第5の態様によれば、本発明の実施例は、プロセッサと、プロセッサで実行可能なコンピュータプログラムを記憶するためのメモリと、を備える第1のクラウドプラットフォームを提供し、前記プロセッサが前記コンピュータプログラムを実行する場合、上記の端末デバイスにより実行されたデバイスの通信方法のステップが実行される。
【0009】
第6の態様によれば、本発明の実施例は、プロセッサと、プロセッサで実行可能なコンピュータプログラムを記憶するためのメモリと、を備える第2のクラウドプラットフォームを提供し、前記プロセッサが前記コンピュータプログラムを実行する場合、上記のネットワークデバイスにより実行されたデバイスの通信方法のステップが実行される。
【0010】
第7の態様によれば、本発明の実施例は、実行可能なプログラムが記憶されている記憶媒体を提供し、前記実行可能なプログラムがプロセッサにより実行されるときに、上記の端末デバイスにより実行されたデバイスの通信方法が実現される。
【0011】
第8の態様によれば、本発明の実施例は、実行可能なプログラムが記憶されている記憶媒体を提供し、前記実行可能なプログラムがプロセッサにより実行されるときに、上記のネットワークデバイスにより実行されたデバイスの通信方法が実現される。
【0012】
本発明の実施例により提供されるデバイスの通信方法は、第1のクラウドプラットフォームが、第2のクラウドプラットフォームから第1のアクセストークンを取得し、前記第1のアクセストークンに基づいて、前記第2のリソースリンクを取得するステップと、前記第1のクラウドプラットフォームに接続された第1のデバイスが第1のリソースリンクに基づいて第2のデバイスと通信するように、前記第2のリソースリンクに基づいて、前記第2のクラウドプラットフォームに接続された前記第2のデバイスが前記第1のクラウドプラットフォームにおける前記第1のリソースリンクを決定するステップと、を含み、それにより、異なるクラウドプラットフォームに接続された二つのデバイスとの間の通信が実現された。
【図面の簡単な説明】
【0013】
【
図1】本発明のモノのインターネット( IoT:Internet of Things)におけるクライアントとサービス側とのインタラクション方式の模式図である。
【
図2】本発明のOCFクラウドプラットフォームの配置アーキテクチャの模式図である。
【
図3】本発明の制御側とOCFデバイスがクラウドプラットフォームを介して通信される模式図である。
【
図4】本発明の実施例に係る通信システムの構成構造の模式図である。
【
図5】本発明の実施例に係るデバイスの通信方法の一つの選択可能な処理フローの模式図である。
【
図6】本発明の実施例に係る第1のデバイスと第2のデバイスとの通信の処理フローの第1の模式図である。
【
図7】本発明の実施例に係る第1のデバイスと第2のデバイスとの通信の処理フローの第2の模式図である。
【
図8】本発明の実施例に係る第1のクラウドプラットフォームの構成構造の模式図である。
【
図9】本発明の実施例に係る第2のクラウドプラットフォームの構成構造の模式図である。
【
図10】本発明の実施例に係るクラウドプラットフォームのハードウェアの構成構造の模式図である。
【発明を実施するための形態】
【0014】
本発明の実施例の特徴及び技術的内容をより詳細に理解するために、以下には、図面を参照して本発明の実施例の実現を詳細に説明し、添付図面は単に説明するためのものであり、本発明の実施例を限定するものではない。
【0015】
本発明の実施例により提供されるデバイスの通信方法を詳細に説明する前に、まずは、モノのインターネットの関連情報を簡単に説明する。
【0016】
オープンコネクティビティーファンデーション(Open Connectivity Foundation、OCF)は、モノのインターネットのアプリケーション層の技術の標準化団体であり、OCFは、モノのインターネットデバイスの間で相互接続と相互通信が実現されるように、Restfulサービスフレームワークを策定する。OCF Restfulサービスフレームワークにおいて、モノのインターネットデバイス、デバイスの機能サービス及びデバイスの状態等の情報がリソースによって表現される。リソースを提供するエンティティは、OCFサービス側(以下、単に「サービス側」と呼ぶ)であり、リソースにアクセスするエンティティは、OCFクライアント(以下、単に「クライアント」と呼ぶ)である。例えば、室内環境状態のデータを取得する制御端末はクライアントであり、室内環境状態のデータを監視するセンサデバイスはサービス側であり、クライアントとサービス側との業務インタラクションは、リソースに対する作成、読み取り、更新、削除又は通知等のリソース操作により実現される。モノのインターネットにおけるクライアントとサービス側とのインタラクション方式の模式図は、
図1に示すように、クライアントは、サービス側に要求メッセージを送信し、サービス側にリソースを操作するように要求し、サービス側は、リソース操作を実行し、クライアントにリソースの説明を含む要求応答を返信する。具体的に実施するときに、クライアントがサービス側に要求する操作のオブジェクトはリソースのユニフォームリソース識別子(Uniform Resource Identifier、URI)であり、要求にリソース操作方法が運ばれる。
図1に示すように、サービス側は、環境温度リソースのURIが「/environmentTemperature」である環境温度リソースを有り、リソース操作方法は、リソース更新方法POSTである。リソースの説明は、リソースURI、リソースタイプ、リソースインターフェース及びリソースの機能属性のうちの少なくとも一つを含む。ここで、
1、リソースURI:OCFリソースの説明では「href」により示され、リソースURIがOCFサービス側のリソースのアドレスを提供し、「href」の値が具体的なリソースURIであり、OCFクライアントがリソースURIによりOCFサービス側のリソースにアクセスし、
図1における環境温度リソースのリソースURIは「/environmentTemperature」である。
【0017】
2、リソースタイプ:OCFリソースの説明では「rt」により示され、リソースタイプがリソースのタイプを示し、
図1におけるリソースタイプ「rt」は温度リソースタイプを示す「oic.r.temperature」である。
【0018】
3、リソースインターフェース:OCFリソースの説明では「if」 により示され、リソースインターフェースがリソースの閲覧及びリソースサポートに対する応答を提供し、
図1におけるリソースインターフェース「if」はコントローラインターフェースを示す「oic.if.a」である。
【0019】
4、リソース属性:OCFリソースの説明でリソースの属性情報が記述され、
図1における「targetTemperature」が温度リソースのターゲット温度属性を示し、「currentTemperature」が温度リソースの現在温度属性を示し、「temperatureRange」が温度リソースの温度範囲属性を示す。
【0020】
OCFは、すべてのOCFデバイスがサポートしなければならないリソース発見リソースを定義し、リソース発見リソースは「/oic/res」により示され、リソース発見リソースは、OCFデバイス及びリソースの発見のためにデバイスリソース発見の機能を提供し、リソース発見リソースのURIが「/oic/res」に固定される。
【0021】
リソースの間の関連関係を示すために、OCFは、リソースリンク(Links)を定義し、OCFサービス側は、OCFクライアントが自身のリソースを発見しやすいように、リソースリンクの形式で自身が所有するリソースを提供してもよい。Linksの内容は、以下のように、
{
"anchor": "ocf://dc70373c-1e8d-4fb3-962e-017eaa863989",
"href": "/myLightSwitch",
"rt": ["oic.r.switch.binary"],
"if": ["oic.if.a", "oic.if.baseline"],
"eps": [{"ep": "coaps://[2001:db8:b::c2e5]:22222"}]
}
【0022】
リソースリンクの内容は、下記の少なくとも一つを含む。
anchor: コンテキストURIであり、Linksを含む所有者リソースのURIを示す。
href: ターゲットURI、即ち、Linksが引用するターゲットリソースのURIである。
rt: ターゲットリソースのリソースタイプ識別子である。
if: ターゲットリソースによりサポートされるインターフェースである。
eps: ターゲットリソースにアクセスできるエンドポイント(ターゲットアドレスおよびポート番号)である。
【0023】
OCF標準プロトコルがトランスポート層においてCoAPプロトコルを採用してOCFメッセージを運ぶので、各OCFサービス側はエンドポイントを有する必要であり、各OCFサービス側はメッセージを送受信するために少なくとも一つのエンドポイントに関連付けられなければならない。OCFクライアントはエンドポイントを介してOCFサービス側のターゲットリソースにアクセスできる。Linksのパラメータにおいて、ターゲットリソースのエンドポイントが「eps」配列で表示され、具体的なエンドポイントが「ep」 で示し、即ち、「eps」パラメータのうちの「ep」の値によりターゲットリソースにアクセスできる。例えば、上記のソースリンクLinksの例において、クライアントは、メッセージエンドポイント「coaps://[2001:db8:b:: c2e5]:22222」によりターゲットリソース「/myLightSwitch」にアクセスできる。
【0024】
OCFサービス側とOCFクライアントが同一のローカルネットワーク中になかった場合、OCFサービス側とOCFクライアントがクラウドプラットフォームを介して通信される。OCFクラウドプラットフォームの配置アーキテクチャは、
図2に示すように、クラウドプラットフォームは、クラウドインターフェース、認可サーバ、リソースディレクトリという三つのエンティティを含み、ここで、クラウドインターフェースは、サービス側とクライアントとのアクセス管理、及びサービス側とクライアントとのリモート通信のメッセージルーティングに使用される。認可サーバは、サービス側とクライアントの登録、サービス側とクライアントのアクセストークンの検証に使用される。リソースディレクトリは、サービス側のLinksを公開するために使用され、クライアントは、リソースディレクトリを検索することにより、ターゲットデバイスのリソースを取得できる。
【0025】
クラウドプラットフォームの実装においてリソースディレクトリ機能が定義され、サービス側がクラウドプラットフォームに登録された後、サービス側は、予め定義されたリソース配信プロセスに従って、自身により運ばれるリソースをクラウドプラットフォームのリソースディレクトリに配信するべきである。サービス側とクラウドプラットフォームとの間にはTLS持続的接続を維持し、クラウドプラットフォームは、当該TLS持続的接続を介してサービス側とクライアントとの間でメッセージのルーティングを行い、本発明の実施例において、クライアントが制御側と呼ばれてもよく、サービス側がOCFデバイスと呼ばれてもよい。
【0026】
制御側とOCFデバイスがクラウドプラットフォームを介して通信される模式図は、
図3に示すように、以下のステップを含む。
【0027】
ステップ1、制御側が、OCFデバイスをアクティブにし、OCFデバイスのデバイス識別子を生成する。
【0028】
ステップ2、制御側がクラウドプラットフォームに登録し、クラウドプラットフォームが制御側のためにユーザ識別子とアクセストークンを生成する。
【0029】
ステップ3、制御側は、クラウドプラットフォームにアクセスするようにOCFデバイスを構成する。
【0030】
ステップ4、OCFデバイスは、クラウドプラットフォームにアクセスし、クラウドプラットフォームとの持続的接続を維持する。
【0031】
ステップ5、OCFデバイスは、それ自体によって運ばれるリソースリンク(Links)をクラウドプラットフォームのリソースディレクトリに配信し、リソースディレクトリは、OCFデバイスのリソース配信を受信し、デバイスにより配信されたLinksを/oic/resリソースに追加する。
【0032】
ステップ6、制御側はクラウドプラットフォームの/oic/resにリソース発見要求を送信し、クラウドプラットフォームはリソース発見応答を行い、応答メッセージにおいてリソースディレクトリに配信されたデバイスLinksが返信され、LinksにはOCFデバイスのリソース情報が含まれる。
【0033】
ステップ7、制御側はOCFデバイスのターゲットリソースにリソース操作要求を送信する。
【0034】
ステップ8、クラウドプラットフォームは、OCFデバイスにリソース操作要求を転送することにより、制御側とOCFデバイスとの通信を実現する。
【0035】
関連技術において、同一のローカルネットワークに属さない制御側とOCFデバイスは、クラウドプラットフォームを介して通信することができる。しかし、制御側とOCFデバイスは、同一のクラウドプラットフォームに接続しなければリモート通信を実現することができず、即ち、異なるクラウドプラットフォームに接続されたデバイスとの間には通信を行うことができない。本発明の実施例の通信システムの構成構造の模式図は、
図4に示すように、デバイスは、第1の制御側と、第1のOCFデバイスと、第2の制御側と、第2のOCFデバイスとを備え、第1の制御側は、第1のクラウドプラットフォームを介して第1のOCFデバイスと通信することができ、第2の制御側は、第2のクラウドプラットフォームを介して第2のOCFデバイスと通信することができる。しかし、第1の制御側は、第2のOCFデバイスと通信することができず、第2の制御側も第1のOCFデバイスと通信することができないので、デバイスの間には相互運用性がなくなり、ユーザー体験に影響を与える。
【0036】
上記の問題に基づき、本発明はデバイスの通信方法を提供し、本出願の実施例のデバイスの通信方法は、例えば、モノのインターネットシステム、グローバルモバイル通信(Global System of Mobile communication,GSM)システム、符号分割多元接続(Code Division Multiple Access,CDMA)システム、広帯域符号分割多元接続(Wideband Code Division Multiple Access,WCDMA)システム、汎用パケット無線サービス(General Packet Radio Service,GPRS)、ロングタームエボリューション(Long Term Evolution,LTE)システム、LTE周波数分割複信(Frequency Division Duplex,FDD)システム、LTE時分割複信(Time Division Duplex,TDD)、ユニバーサル移動体通信システム(Universal Mobile Telecommunication System,UMTS)、グローバル相互接続マイクロ波アクセス(Worldwide Interoperability for Microwave Access,WiMAX)通信システム又は5Gシステム等のような様々な通信システムに適用されてもよい。
【0037】
図5に示すように、本発明の実施例により提供されるデバイスの通信方法の一つの選択可能な処理フローは、以下のステップを含む。
【0038】
ステップS201、第1のクラウドプラットフォームは、第2のクラウドプラットフォームから第1のアクセストークンを取得する。
【0039】
本発明の実施例において、第1のクラウドプラットフォームが第1のデバイスに接続され、即ち、第1のクラウドプラットフォームが第1のデバイスと通信することができ、第2のクラウドプラットフォームが第2のデバイスに接続され、即ち、第2のクラウドプラットフォームが第2のデバイスと通信することができる。ステップS201が実行された前に、第2の制御側は、第2のデバイスをアクティブにし、第2のデバイスのデバイス識別子(Device ID)を生成し、第2の制御側は第2のクラウドプラットフォームに制御側の登録を行い、第2のクラウドプラットフォームは第2の制御側にユーザ識別子及び第2の制御側のアクセストークンを返信し、第2の制御側は、第2のデバイスが第2のクラウドプラットフォームにアクセスするための構成プロセスを開始する。第2のクラウドプラットフォームは第2の制御側のアクセストークンと、第2の制御側のユーザ識別子および第2のデバイスのDevice IDとの間の関連関係を維持する。第2のデバイスはLinksを第2のクラウドプラットフォームのリソースディレクトリに配信する。幾つかのシナリオにおいて、ユーザは、第1のデバイス(第1の制御側)がユーザアカウントの関連付けを行うようにトリガーし、第1のデバイス(第1の制御側)は、第1のクラウドプラットフォームに、第2のクラウドプラットフォームからのユーザ認可を要求するように指示する。
【0040】
幾つかの実施例において、第1のクラウドプラットフォームは以下のステップを通じて、第2のクラウドプラットフォームから第1のアクセストークンを取得することができる。
【0041】
ステップa1、第1のクラウドプラットフォームが第2のクラウドプラットフォームにユーザ認可リソースに対する第1の更新要求メッセージを送信する。
【0042】
ここで、前記第1の更新要求メッセージは、第1のクラウドプラットフォームが第2のクラウドプラットフォームにユーザ認可を要求するために使用され、前記第1の更新要求メッセージは、第1のクラウドプラットフォームのクライアント識別子及びターゲットユーザ認可リソースのURIを含む。第1の更新要求メッセージのターゲットURIは第2のクラウドプラットフォームのユーザ認可リソースのURIである。第1のクラウドプラットフォームが第2のクラウドプラットフォームのユーザ認可リソースURIに第1の更新要求メッセージを送信すると理解されてもよい。前記第1の更新要求メッセージによって更新が要求されるリソース情報には、第1のクラウドプラットフォームのクライアント識別子が含まれる。選択的に、第1のクラウドプラットフォームのクライアント識別子およびターゲットユーザ認可リソースのURIに加えて、前記第1の更新要求メッセージには、認可された権限範囲がさらに含まれる可能があり、例えば、認可された権限範囲には、第2のクラウドプラットフォームにアクセスされたデバイスリソースに対する読み取り及び書き込み操作、又は、第2のクラウドプラットフォームにアクセスされたデバイスリソースに対する読み取り専用操作などが含まれる。
【0043】
第2のクラウドプラットフォームは、第1の更新要求メッセージを受信した後、ユーザを認可インタラクティブページにリダイレクトし、許可するか否かをユーザに問い合わせる。ユーザが第2のクラウドプラットフォームのアカウントにログインしていなかった場合、許可ユーザは第2のクラウドプラットフォームのアカウントにログインする必要がある。ユーザが許可すれば、第2のクラウドプラットフォームは第1のクラウドプラットフォームのクライアント識別子を検証し、検証に成功した後、第2のクラウドプラットフォームは第1のクラウドプラットフォームに第1の更新要求応答メッセージを送信し、第1のクラウドプラットフォームはステップb1を実行する。
【0044】
ステップb1、第1のクラウドプラットフォームは、第2のクラウドプラットフォームにより送信された第1の更新要求応答メッセージを受信する。
【0045】
ここで、前記第1の更新要求応答メッセージには認可コードが運ばれ、前記認可コードは、第1のクラウドプラットフォームが、アクセストークンを取得する要求を第2のクラウドプラットフォームに送信するときに、第2のクラウドプラットフォームが、前記認可コードを利用してアクセストークンを取得する要求のソースの信頼性を検証するために使用される。
【0046】
ステップc1、第1のクラウドプラットフォームが、第2のクラウドプラットフォームにアクセストークンリソースに対する第2の更新要求メッセージを送信する。
【0047】
ここで、前記第2の更新要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む。前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードは、前記第2の更新要求メッセージによって更新が要求されるリソース情報であり、前記第2の更新要求メッセージのターゲットURIは、第2のクラウドプラットフォームのアクセストークンリソースのURIである。
【0048】
第2のクラウドプラットフォームは、第2の更新要求メッセージを受信した後、第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを検証し、検証に成功した後、第2のクラウドプラットフォームが第1のクラウドプラットフォームに第2の更新要求応答メッセージを送信し、第1のクラウドプラットフォームはステップd1を実行する。
【0049】
ステップd1、第1のクラウドプラットフォームは、第2の更新要求応答メッセージを受信する。
【0050】
ここで、前記第2の更新要求応答メッセージには第1のアクセストークンが運ばれ、前記第1のアクセストークンは、第1のクラウドプラットフォームが第2のクラウドプラットフォームのリソースディレクトリのLinksをアクセスするためのアクセストークンである。前記第1のアクセストークンは第2のクラウドプラットフォームにより生成され、前記第2のクラウドプラットフォームは前記第1のアクセストークンと第2の制御側のユーザ識別子との関連関係を確立する。ここで、前記第2の制御側が第2のクラウドプラットフォームに接続されることにより、第2の制御側は第2のクラウドプラットフォームと通信することができる。第1のアクセストークンは、ステップS201が実行される前に、第2の制御側が第2のクラウドプラットフォームに制御側の登録を行うときに、第2のクラウドプラットフォームから第2の制御側に返信した第2の制御側のアクセストークンであり、又は、前記第1のアクセストークンは新たなアクセストークンであってもよい。第1のアクセストークンが新たなアクセストークンである場合、第2のクラウドプラットフォームは、第1のアクセストークンと、第2の制御側のユーザ識別子及び第2のデバイスのデバイス識別子との間の関連関係を確立する必要がある。具体的に実施するときに、第2のクラウドプラットフォームは、第2の制御側のユーザ識別子に応じて第1のアクセストークンを生成してもよく、他の要因に応じて第1のアクセストークンを生成してもよい。本発明の実施例は、第2のクラウドプラットフォームにより第1のアクセストークンを生成する方法限定しない。
【0051】
他の幾つかの実施例において、第1のクラウドプラットフォームは、以下のステップを通じて、第2のクラウドプラットフォームから第1のアクセストークンを取得することができる。
【0052】
ステップa2、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのユーザ認可アドレスに基づき、第1のアクセス要求メッセージを送信する。
【0053】
第1のクラウドプラットフォームは、第2のクラウドプラットフォームのユーザ認可アドレスにアクセスすることにより、第1のアクセス要求メッセージを送信すると理解され得る。前記第1のアクセス要求メッセージは、第1のクラウドプラットフォームが第2のクラウドプラットフォームにユーザ認可を要求するために使用され、前記第1のアクセス要求メッセージには、第1のクラウドプラットフォームのクライアント識別子及びコールバックアドレスが含まれる。選択的に、第1のクラウドプラットフォームのクライアント識別子およびコールバックアドレスに加え、前記第1のアクセス要求メッセージには、認可された権限範囲も含まれる可能性があり、例えば、認可された権限範囲には、第2のクラウドプラットフォームにアクセスされたデバイスリソースに対する読み取り及び書き込み操作、又は、第2のクラウドプラットフォームにアクセスされたデバイスリソースに対する読み取り専用操作などが含まれる。
【0054】
第2のクラウドプラットフォームは、第1のアクセス要求メッセージを受信した後、ユーザを認可インタラクティブページにリダイレクトし、許可するか否かをユーザに問い合わせる。ユーザが第2のクラウドプラットフォームのアカウントにログインしていなかった場合、許可ユーザは第2のクラウドプラットフォームのアカウントにログインする必要がある。ユーザが許可すれば、第2のクラウドプラットフォームは第1のクラウドプラットフォームのクライアント識別子を検証し、検証に成功した後、第2のクラウドプラットフォームはコールバックアドレスに認可コードを送信し、第1のクラウドプラットフォームはステップb2を実行する。ここでは、前記認可コードは、第1のクラウドプラットフォームが、アクセストークンを取得する要求を第2のクラウドプラットフォームに送信するときに、第2のクラウドプラットフォームが認可コードを利用してアクセストークンを取得する要求のソースの信頼性を検証するために使用される。
【0055】
ステップb2、第1のクラウドプラットフォームは、第2のクラウドプラットフォームにより送信された認可コードを受信する。
【0056】
ステップc2、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのアクセストークン取得アドレスに基づき、第2のアクセス要求メッセージを送信する。
【0057】
第1のクラウドプラットフォームは、第2のクラウドプラットフォームのトークン取得アドレスにアクセスすることにより、第2のアクセス要求メッセージを送信すると理解され得る。ここで、前記第2のアクセス要求メッセージには、前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードが含まれる。
【0058】
第2のクラウドプラットフォームは、第2のアクセス要求メッセージを受信した後、第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを検証し、検証に成功した後、第2のクラウドプラットフォームはコールバックアドレスに第1のアクセストークンを送信し、第1のクラウドプラットフォームはステップd2を実行する。
【0059】
ステップd2、第1のクラウドプラットフォームは、第2のクラウドプラットフォームにより送信された第1のアクセストークンを受信する。
【0060】
前記第1のアクセストークンは、第1のクラウドプラットフォームが第2のクラウドプラットフォームのリソースディレクトリのLinksをアクセスするためのアクセストークンである。前記第1のアクセストークンは第2のクラウドプラットフォームにより生成され、前記第2のクラウドプラットフォームは前記第1のアクセストークンと第2の制御側のユーザ識別子との関連関係を確立する。ここで、前記第2の制御側が第2のクラウドプラットフォームに接続されているので、第2の制御側は第2のクラウドプラットフォームと通信することができる。第1のアクセストークンは、ステップS201が実行される前に、第2の制御側が第2のクラウドプラットフォームに制御側の登録を行うときに、第2のクラウドプラットフォームが第2の制御側に返信した第2の制御側のアクセストークンであり、又は、前記第1のアクセストークンは、新たなアクセストークンであってもよい。第1のアクセストークンが新たなアクセストークンである場合、第2のクラウドプラットフォームは、第1のアクセストークンと、第2の制御側のユーザ識別子および第2のデバイスのデバイス識別子との間の関連関係を確立する必要がある。具体的に実施するときに、第2のクラウドプラットフォームは、第2の制御側のユーザ識別子に応じて第1のアクセストークンを生成してもよく、他の要因に応じて第1のアクセストークンを生成してもよい。本発明の実施例は、第2のクラウドプラットフォームにより第1のアクセストークンを生成する方法を限定しない。
【0061】
ステップS202、第1のクラウドプラットフォームは、前記第1のアクセストークンに基づいて、第2のリソースリンクを取得する。
【0062】
本発明の実施例において、第1のクラウドプラットフォームは、第1のアクセストークンを取得した後、ステップS202を実行する前に、第1のクラウドプラットフォームは、ユーザに第2のクラウドプラットフォームにより認可された第1のアクセストークンを関連付けることで、ユーザアカウントの関連を完了する。第1の制御側(即ち、第1のデバイス)は、第1のクラウドプラットフォームに配信されたリソースディレクトリのデバイスリソースリンクを照会する場合、前記第1のアクセストークンに基づいて第2のリソースリンクを取得するように第1のクラウドプラットフォームをトリガする。
【0063】
幾つかの実施例において、第1のクラウドプラットフォームは、第2のクラウドプラットフォームに、前記第1のアクセストークンを運ぶリソースリンク要求メッセージを送信する。具体的な実装では、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのリソースディレクトリから、許可ユーザと関連付けられているデバイスにより配信された第2のリソースリンクを照会する。第2のクラウドプラットフォームは、第1のアクセストークンに関連付けられた第2のデバイスのデバイス識別子に基づき、第2のデバイスにより配信された第2のリソースリンクを取得し、取得された第2のリソースリンクを第1のクラウドプラットフォームに送信する。この際には、第2のリソースリンクのエンドポイント情報は第2のクラウドプラットフォームのエンドポイント情報である。
【0064】
ステップS203、第1のクラウドプラットフォームは、前記第2のリソースリンクに基づいて、第1のクラウドプラットフォームにおける第2のデバイスの第1のリソースリンクを決定し、第1のリソースリンクが、第1のクラウドプラットフォームに接続された第1のデバイスと第2のデバイスとの通信に用いられる。
【0065】
幾つかの実施例において、前記第1のクラウドプラットフォームは、前記第2のリソースリンクを/oic/resリソースに追加し、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報を前記第1のクラウドプラットフォームのエンドポイント情報に置き換えることにより、第1のリソースリンクを取得する。選択的に、第1のクラウドプラットフォームは、第1のリソースリンクにおける前記第1のクラウドプラットフォームのエンドポイント情報と、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報とのマッピング関係をさらに確立してもよい。
【0066】
ステップS203が実行された後、前記方法は、以下のステップをさらに含む。
【0067】
ステップS204、第1のクラウドプラットフォームは、第1のデバイスに第1のリソースリンクを送信する。
【0068】
幾つかの実施例において、第1のデバイスは、第1のクラウドプラットフォームに接続されている第1の制御側である。
【0069】
ステップS205、第1のクラウドプラットフォームは、第1のデバイスにより送信されたリソース操作要求メッセージを受信する。
【0070】
幾つかの実施例において、前記リソース操作要求メッセージは、第1のデバイスにより第1のクラウドプラットフォームのエンドポイントに送信される。
【0071】
ステップS206、第1のクラウドプラットフォームは、前記第2のクラウドプラットフォームに前記リソース操作要求メッセージを送信する。
【0072】
幾つかの実施例において、第1のクラウドプラットフォームは、確立された前記第1のリソースリンクにおける前記第1のクラウドプラットフォームのエンドポイント情報と、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報とのマッピング関係に基づいて、前記第2のクラウドプラットフォームのエンドポイントに前記リソース操作要求メッセージを送信する。第2のクラウドプラットフォームは、前記リソース操作要求メッセージを第2のデバイスのデバイスリソースに転送する。
【0073】
本発明の実施例において、第1のデバイスは、第1のクラウドプラットフォームに第2のデバイスに対するリソース操作要求メッセージを送信し、第1のクラウドプラットフォームは、第1のクラウドプラットフォームにより維持される第1のリソースリンクにおける第1のクラウドプラットフォームのエンドポイント情報と、第2のクラウドプラットフォームにより維持される第2のリソースリンクにおける第2のクラウドプラットフォームのエンドポイント情報とのマッピング関係に基づいて、前記第2のクラウドプラットフォームのエンドポイントに前記リソース操作要求メッセージを送信することにより、第2のクラウドプラットフォームが前記リソース操作要求メッセージを第2のデバイスに転送し、それにより、異なるネットワークに接続された第1のデバイスと第2のデバイスとの間の通信が実現される。
【0074】
上記の実施例のステップS201におけるステップa1~ステップd1に記載の第1のクラウドプラットフォームが第2のクラウドプラットフォームから第1のアクセストークンを取得する実現方式について、第1の制御側(第1のデバイス)と第2のデバイスとの通信の第1の処理フロー模式図は、
図6に示すように、以下のステップを含む。
【0075】
S1、第2の制御側が第2のデバイスをアクティブにし、第2のデバイスのデバイス識別子を生成する。
【0076】
S2、第2の制御側は第2のクラウドプラットフォームに制御側登録を行う。
【0077】
S3、第2のクラウドプラットフォームは第2の制御側に第2の制御側のユーザ識別子User ID 1、第2の制御側のアクセストークンAccess Token 1を返信する。
【0078】
S4、第2の制御側は、第2のデバイスが第2のクラウドプラットフォームにアクセスするための構成フローを開始する。
【0079】
S5、第2のクラウドプラットフォームは、Access Token 1と、User ID 1及び第2のデバイスのデバイス識別子との関連関係を維持する。
【0080】
S6、第2のデバイスは、デバイスリソースリンクを第2のクラウドプラットフォームのリソースディレクトリに配信する。
【0081】
S7、ユーザは、第1の制御側をトリガーしてユーザアカウントを関連付け、第1の制御側は、第1のクラウドプラットフォームが第2のクラウドプラットフォームにユーザ認可を要求するように指示する。
【0082】
S8、第1のクラウドプラットフォームは第2のクラウドプラットフォームにユーザ認可リソースを要求する。
【0083】
具体的な実装では、第1のクラウドプラットフォームは、ユーザ認可リソースに基づいて、第2のクラウドプラットフォームに更新要求を送信し、更新要求のターゲットURIは、第2のクラウドプラットフォームのユーザ認可リソースURIであり、更新が要求されるリソース情報には、第1のクラウドプラットフォームのクライアント識別子が含まれ、又は、更新が要求されるリソース情報には、第1のクラウドプラットフォームのクライアント識別子、及び認可された権限範囲が含まれる。例えば、認可された権限範囲1は、ユーザがアクセスする第2のクラウドプラットフォームのデバイスリソースに対する読み取り及び書き込み操作を示し、又は認可された権限範囲2は、ユーザがアクセスする第2のクラウドプラットフォームのデバイスリソースに対する読み取り専用操作を示す。
【0084】
S9、第2のクラウドプラットフォームは、ユーザを認可インタラクティブページにリダイレクトし、許可するか否かをユーザに問い合わせ、ユーザが第2のクラウドプラットフォームのアカウントにログインしていなかった場合、許可ユーザはアカウントにログインする必要がある。
【0085】
S10、ユーザが許可すれば、第2のクラウドプラットフォームは第1のクラウドプラットフォームのクライアント識別子を検証し、検証に成功した後、第1のクラウドプラットフォームにリソース更新応答メッセージを返信し、メッセージ中には認可コード(code)が含まれる。
【0086】
S11、第1のクラウドプラットフォームは第2のクラウドプラットフォームにアクセストークンを要求する。
【0087】
具体的な実装では、第1のクラウドプラットフォームは、アクセストークンリソースに基づいて第2のクラウドプラットフォームに更新要求を送信し、更新要求のターゲットURIは第2のクラウドプラットフォームのアクセストークンリソースURIであり、更新されたリソース情報には、第1のクラウドプラットフォームのクライアント識別子、クライアント鍵、及びcodeが含まれる。
【0088】
S12、第2のクラウドプラットフォームは、第1のクラウドプラットフォームのクライアント識別子、クライアント鍵、及び認可コードを検証する。
【0089】
第2のクラウドプラットフォームのリソースディレクトリのLinksのアクセストークンAccess Token 2は第2のクラウドプラットフォームにより生成されてもよく、前記第2のクラウドプラットフォームは、Access Token 2とUser ID 1との関連関係を確立し、ここで、前記第2の制御側が第2のクラウドプラットフォームに接続されているので、第2の制御側が第2のクラウドプラットフォームと通信でき、第2の制御側のユーザ識別子User ID 1が生成され、Access Token 2は、User ID 1に関連付けられたアクセストークンAccess Token 1であってもよく、新たなアクセストークンであってもよい。Access Token 2が新たなアクセストークンである場合、第2のクラウドプラットフォームがAccess Token 2と、第2のデバイスのデバイス識別子及び第2の制御側のユーザ識別子との三者の関連関係を関連付ける必要がある。
【0090】
S13、第1のクラウドプラットフォームは、ユーザを第2のクラウドプラットフォームにより認可されたアクセストークンに関連付けて、ユーザアカウントの関連付けを完了する。
【0091】
S14、第1の制御側は第1のクラウドプラットフォームのリソースディレクトリに配信されたLinksを照会する。
【0092】
S15、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのリソースディレクトリに、認可ユーザに関連付けられたデバイスによって配信されたLinksを照会し、照会要求にはAccess Token 2が運ばれている。
【0093】
S16、第2のクラウドプラットフォームは、Access Token 2に関連付けられた第2のデバイスのデバイス識別子に基づいて、第2のデバイスにより配信されたLinksを返信し、ここで返信されたリソースリンクLinksのエンドポイント情報は第2のクラウドプラットフォームのエンドポイント情報である。
【0094】
S17、第1のクラウドプラットフォームは、第2のデバイスのLinksを/oic/resリソースに追加し、第2のクラウドプラットフォームにより返信されたエンドポイント情報と、第1のクラウドプラットフォームのリソースディレクトリにより公開されたLinksにおけるエンドポイント情報との間のマッピングを維持する。
【0095】
ここで、第1のクラウドプラットフォームにより公開されたLinksにおけるリソースのエンドポイント情報は、第1のクラウドプラットフォーム自体のエンドポイント情報であり、第2のクラウドプラットフォームのエンドポイント情報ではない。
【0096】
S18、第1のクラウドプラットフォームが、第1の制御側に第2のデバイスのLinksを送信し、第2のデバイスのLinksにおけるエンドポイント情報が第1のクラウドプラットフォームのエンドポイント情報である。
【0097】
S19、第1の制御側は、第1のクラウドプラットフォームに第2のデバイスのリソース操作要求を送信し、前記リソース操作要求が第1の制御側により第1のクラウドプラットフォームのエンドポイントに送信される。
【0098】
S20、第1のクラウドプラットフォームは、第1のクラウドプラットフォームによって維持されるエンドポイント情報のマッピングに基づいて、第2のクラウドプラットフォームにリソース操作要求を送信する。
【0099】
S21、第2のクラウドプラットフォームは、リソース操作要求を第2のデバイスのデバイスリソースに転送する。
【0100】
上記の実施例のステップS201におけるステップa2~ステップd2に記載の第1のクラウドプラットフォームが第2のクラウドプラットフォームから第1のアクセストークンを取得する実現方式について、第1の制御側(第1のデバイス)と第2のデバイスとの通信の第2の処理フロー模式図は、
図7に示すように、以下のステップを含む。
【0101】
h1、第2の制御側は、第2のデバイスをアクティブにし、第2のデバイスのデバイス識別子を生成する。
【0102】
h2、第2の制御側は、第2のクラウドプラットフォームに制御側の登録を行う。
【0103】
h3、第2のクラウドプラットフォームは、第2の制御側に第2の制御側のユーザ識別子User ID 1、第2の制御側のアクセストークンAccess Token 1を返信する。
【0104】
h4、第2の制御側は、第2のデバイスが第2のクラウドプラットフォームにアクセスするための構成フローを開始する。
【0105】
h5、第2のクラウドプラットフォームは、Access Token 1と、User ID 1及び第2のデバイスのデバイス識別子との関連関係を維持する。
【0106】
h6、第2のデバイスは、デバイスリソースリンクを第2のクラウドプラットフォームのリソースディレクトリに配信する。
【0107】
h7、ユーザは、第1の制御側をトリガーしてユーザアカウントを関連付け、第1の制御側は、第1のクラウドプラットフォームが第2のクラウドプラットフォームにユーザ認可を要求するように指示する。
【0108】
h8、第1のクラウドプラットフォームは、第2のクラウドプラットフォームにユーザ認可を要求し、具体的な実装において、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのユーザ認可アドレスに基づき、第1のアクセス要求メッセージを送信し、前記第1のアクセス要求メッセージには、第1のクラウドプラットフォームのクライアント識別子及びコールバックアドレスが含まれる。選択的に、第1のクラウドプラットフォームのクライアント識別子及びコールバックアドレスに加え、前記第1のアクセス要求メッセージには、認可された権限範囲が含まれる可能性がある。例えば、認可された権限範囲1は、ユーザがアクセスする第2のクラウドプラットフォームのデバイスリソースに対する読み取り及び書き込み操作を示し、又は、認可された権限範囲2は、ユーザがアクセスする第2のクラウドプラットフォームのデバイスリソースに対する読み取り専用操作を示す。
【0109】
h9、第2のクラウドプラットフォームは、ユーザを認可インタラクティブページにリダイレクトし、許可するか否かをユーザに問い合わせ、ユーザが第2のクラウドプラットフォームのアカウントにログインしていない場合、許可ユーザはアカウントにログインする必要がある。
【0110】
h10、ユーザが許可すれば、第2のクラウドプラットフォームは第1のクラウドプラットフォームのクライアント識別子を検証し、検証に成功した後、第1のクラウドプラットフォームにリソース更新応答メッセージを返信し、メッセージには認可コード(code)が含まれる。
【0111】
h11、第1のクラウドプラットフォームは、第2のクラウドプラットフォームにアクセストークンを要求し、具体的な実装では、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのアクセストークン取得アドレスに基づき、第2のアクセス要求メッセージを送信し、第2のアクセス要求メッセージには、第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及びcodeが含まれる。
【0112】
h12、第2のクラウドプラットフォームは、第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを検証する。
【0113】
第2のクラウドプラットフォームのリソースディレクトリのLinksのアクセストークンAccess Token 2は、第2のクラウドプラットフォームにより生成され、前記第2のクラウドプラットフォームは、Access Token 2とUser ID 1との関連関係を確立し、ここで、前記第2の制御側が第2のクラウドプラットフォームが接続されているので、第2の制御側が第2のクラウドプラットフォームと通信できる。Access Token 2は、User ID 1に関連付けられたアクセストークンAccess Token 1であってもよく、新たなアクセストークンであってもよい。Access Token 2が新たなアクセストークンである場合、第2のクラウドプラットフォームは、Access Token 2と、第2のデバイスのデバイス識別子及び第2の制御側のユーザ識別子との三者の関連関係を関連付ける必要がある。
【0114】
h13、第1のクラウドプラットフォームは、ユーザを、第2のクラウドプラットフォームにより認可されたアクセストークンに関連付けて、ユーザアカウントの関連付けを完了する。
【0115】
h14、第1の制御側は、第1のクラウドプラットフォームのリソースディレクトリに配信されたLinksを照会する。
【0116】
h15、第1のクラウドプラットフォームは、第2のクラウドプラットフォームのリソースディレクトリに、認可ユーザに関連付けられたデバイスにより配信されたLinksを照会し、照会要求中にはAccess Token 2が運ばれる。
【0117】
h16、第2のクラウドプラットフォームは、Access Token 2に関連づけられた第2のデバイスのデバイス識別子に基づき、第2のデバイスにより配信されたLinksを返信し、ここで返信されたリソースリンクLinksのエンドポイント情報は、第2のクラウドプラットフォームのエンドポイント情報である。
【0118】
h17、第1のクラウドプラットフォームは、第2のデバイスのLinksを/oic/resリソースに追加し、第2のクラウドプラットフォームにより返信されたエンドポイント情報と、第1のクラウドプラットフォームのリソースディレクトリにより公開されたLinksにおけるエンドポイント情報との間のマッピングを維持する。
【0119】
ここで、第1のクラウドプラットフォームにより公開されたLinksにおけるリソースのエンドポイント情報は、第1のクラウドプラットフォーム自体のエンドポイント情報であり、第2のクラウドプラットフォームのエンドポイント情報ではない。
【0120】
h18、第1のクラウドプラットフォームは、第1の制御側に第2のデバイスのLinksを送信し、第2のデバイスのLinksにおけるエンドポイント情報は、第1のクラウドプラットフォームのエンドポイント情報である。
【0121】
h19、第1の制御側は、第1のクラウドプラットフォームに第2のデバイスのリソース操作要求を送信し、前記リソース操作要求は、第1の制御側により第1のクラウドプラットフォームのエンドポイントに送信される。
【0122】
h20、第1のクラウドプラットフォームは、第1のクラウドプラットフォームにより維持されるエンドポイント情報のマッピングに基づき、第2のクラウドプラットフォームにリソース操作要求を送信する。
【0123】
h21、第2のクラウドプラットフォームは、リソース操作要求を第2のデバイスのデバイスリソースに転送する。
【0124】
上記のデバイスの通信方法を実現するために、本発明の実施例は、第1のクラウドプラットフォームを提供し、前記第1のクラウドプラットフォーム300の構成構造は、
図8に示すように、第1の送受信ユニット301、第2の送受信ユニット302及び第1の処理ユニット303を備える。
【0125】
第1の送受信ユニット301は、第2のクラウドプラットフォームから、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを取得するように構成され、前記第2のデバイスは前記第2のクラウドプラットフォームに接続されている。
【0126】
第2の送受信ユニット302は、前記第1のアクセストークンに基づき、前記第2のリソースリンクを取得するように構成される。
【0127】
第1の処理ユニット303は、前記第2のリソースリンクに基づき、前記第1のクラウドプラットフォームにおける前記第2のデバイスの第1のリソースリンクを決定するように構成され、前記第1のリソースリンクは、前記第1のクラウドプラットフォームに接続される第1のデバイスと前記第2のデバイスとの通信に用いられる。
【0128】
幾つかの実施例において、前記第1の送受信ユニット301は、前記第2のクラウドプラットフォームにユーザ認可リソースに対する第1の更新要求メッセージを送信し、
前記第2のクラウドプラットフォームにより送信された第1の更新要求応答メッセージを受信し、
前記第1の更新要求応答メッセージに基づき、前記第2のクラウドプラットフォームにアクセストークンリソースに対する第2の更新要求メッセージを送信し、
前記第2のクラウドプラットフォームにより送信された第2の更新要求応答メッセージを受信し、前記第2の更新要求応答メッセージには前記第1のアクセストークンが運ばれる。
【0129】
ここで、前記第1の更新要求メッセージは、第1のクラウドプラットフォームのクライアント識別子及びターゲットユーザ認可リソースのURIを含み、又は、前記第1の更新要求メッセージは、第1のクラウドプラットフォームのクライアント識別子、ターゲットユーザ認可リソースのURI及び認可された権限範囲を含む。前記第1の更新要求応答メッセージは、認可コードを含む。前記第2の更新要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む。
【0130】
他の幾つかの実施例において、前記第1の送受信ユニット301は、前記第2のクラウドプラットフォームのユーザ認可アドレスに基づき、第1のアクセス要求メッセージを送信し、
前記第2のクラウドプラットフォームにより送信された認可コードを受信し、
前記第2のクラウドプラットフォームのアクセストークン取得アドレスに基づき、第2のアクセス要求メッセージを送信し、
前記第2のクラウドプラットフォームにより送信された前記第1のアクセストークンを受信するように構成される。
【0131】
ここで、前記第1のアクセス要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子及びコールバックアドレスを含み、又は、前記第1のアクセス要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、コールバックアドレス及び認可された権限範囲を含む。前記第2のアクセス要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む。
【0132】
本発明の実施例において、前記第2の送受信ユニット302は、前記第2のクラウドプラットフォームに、前記第1のアクセストークンを運ぶリソースリンク要求メッセージを送信し、
前記第2のクラウドプラットフォームにより送信された第2のリソースリンクを受信するように構成され、前記第2のリソースリンクは前記第1のアクセストークンに関連付けられる前記第2のクラウドプラットフォームの前記第2のデバイスにより配信されたリソースリンクである。
【0133】
本発明の実施例において、前記第1の処理ユニット303は、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報を前記第1のクラウドプラットフォームのエンドポイント情報に置き換えることにより、第1のリソースリンクを取得するように構成される。
【0134】
本発明の実施例において、前記第1の処理ユニット303は、前記第1のリソースリンクにおける前記第1のクラウドプラットフォームのエンドポイント情報と、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報とのマッピング関係を確立するようにさらに構成される。
【0135】
本発明の実施例において、前記第1のクラウドプラットフォームは、前記第1のデバイスに前記第1のリソースリンクを送信するように構成される第3の送受信ユニット304と、をさらに備える。
【0136】
本発明の実施例において、前記第3の送受信ユニット304は、前記第1のデバイスにより送信されたリソース操作要求メッセージを受信し、前記第2のクラウドプラットフォームに前記リソース操作要求メッセージを送信するようにさらに構成される。
【0137】
本発明の実施例において、前記第3の送受信ユニット304は、確立された前記第1のリソースリンクにおける前記第1のクラウドプラットフォームのエンドポイント情報と、前記第2のリソースリンクにおける前記第2のクラウドプラットフォームのエンドポイント情報とのマッピング関係に基づき、前記第2のクラウドプラットフォームのエンドポイントに前記リソース操作要求メッセージを送信するように構成される。
【0138】
上記のデバイスの通信方法を実現するために、本発明の実施例は、第2のクラウドプラットフォームをさらに提供し、
図9に示すように、前記第2のクラウドプラットフォーム400の構成構造は、第4の送受信ユニット401を備える。
【0139】
第4の送受信ユニット401は、第1のクラウドプラットフォームに、前記第1のクラウドプラットフォームが前記第2のクラウドプラットフォームにおける第2のデバイスの第2のリソースリンクにアクセスするための第1のアクセストークンを送信するように構成され、前記第2のリソースリンクが、前記第1のクラウドプラットフォームによりエンドポイント情報の交換が行われることにより、第1のリソースリンクが得られ、前記第1のリソースリンクは、第1のデバイスと第2のデバイスとの通信に用いられる。
【0140】
前記第1のデバイスが前記第1のクラウドプラットフォームに接続され、前記第2のデバイスが前記第2のクラウドプラットフォームに接続される。
【0141】
本発明の実施例において、前記第2のクラウドプラットフォームは、第1のアクセストークンと、ユーザ識別子及び第2のデバイス識別子との関連関係を確立するように構成される第2の処理ユニット402をさらに備える。
【0142】
幾つかの実施例において、前記第4の送受信ユニット401は、前記第1のクラウドプラットフォームにより送信されたユーザ認可リソースに対する第1の更新要求メッセージを受信し、
前記第1のクラウドプラットフォームに第1の更新要求応答メッセージを送信し、
前記第1のクラウドプラットフォームにより送信されたアクセストークンリソースに対する第2の更新要求メッセージを受信し、
前記第1のクラウドプラットフォームに、前記第1のアクセストークンを運ぶ第2の更新要求応答メッセージを送信するように構成される。
【0143】
ここで、前記第1の更新要求メッセージは、第1のクラウドプラットフォームのクライアント識別子及びターゲットユーザ認可リソースのURIを含み、又は、前記第1の更新要求メッセージは、第1のクラウドプラットフォームのクライアント識別子、ターゲットユーザ認可リソースのURI及び認可された権限範囲を含む。前記第1の更新要求応答メッセージは、認可コードを含む。前記第2の更新要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む。
【0144】
他の幾つかの実施例において、前記第4の送受信ユニット401は、前記第2のクラウドプラットフォームのユーザ認可アドレスに基づき、第1のアクセス要求メッセージを受信し、
前記第1のクラウドプラットフォームに認可コードを送信し、
前記第2のクラウドプラットフォームのアクセストークン取得アドレスに基づき、第2のアクセス要求メッセージを受信し、
前記第1のクラウドプラットフォームに前記第1のアクセストークンを送信するように構成される。
【0145】
ここで、前記第1のアクセス要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子及びコールバックアドレスを含み、又は、前記第1のアクセス要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、コールバックアドレス及び認可された権限範囲を含む。前記第2のアクセス要求メッセージは、前記第1のクラウドプラットフォームのクライアント識別子、クライアント鍵及び認可コードを含む。
【0146】
本発明の実施例において、前記第4の送受信ユニット401は、前記第1のクラウドプラットフォームにより送信された、前記第1のアクセストークンを運ぶリソースリンク要求メッセージを受信し、
前記第1のクラウドプラットフォームに、第2のリソースリンクを送信するようにさらに構成され、前記第2のリソースリンクは、前記第1のアクセストークンに関係付けられる前記第2のクラウドプラットフォームの前記第2のデバイスにより配信されたリソースリンクである。
【0147】
本発明の実施例において、前記第4の送受信ユニット401は、前記第1のクラウドプラットフォームにより送信されたリソース操作要求メッセージを受信するようにさらに構成される。
【0148】
本発明の実施例は、クラウドプラットフォームをさらに提供し、当該クラウドプラットフォームは、プロセッサと、プロセッサで実行可能なコンピュータプログラムを記憶するためのメモリと、を備え、前記プロセッサは、前記コンピュータプログラムを実行するときに、上記の端末デバイスにより実行されたデバイスの通信方法のステップを実行するために使用される。
【0149】
図10は、本発明の実施例に係るクラウドプラットフォームのハードウェアの構成構造の模式図であり、クラウドプラットフォーム700は、少なくとも一つのプロセッサ701、メモリ702、少なくとも一つのネットワークインターフェース704を含む。端末デバイス700における各ユニットは、バスシステム705を介して結合される。バスシステム705はこれらのユニットとの間の接続通信を実現するために使用されると理解されてもよい。バスシステム705は、データバスに加え、電源バス、制御バス及び状態信号バスを含む。しかし、明確に説明するために、
図10には様々なバスをいずれもバスシステム705と表記する。
【0150】
メモリ702は、揮発性メモリ又は不揮発性メモリであってもよく、揮発性メモリ及び不揮発性メモリの両方を含んでもよいと理解されてもよい。ここで、不揮発性メモリは、ROM、プログラマブル読み取り専用メモリ(PROM、Programmable Read-Only Memory)、消去可能なプログラマブル読み取り専用メモリ(EPROM、Erasable Programmable Read-Only Memory)、電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM、Electrically Erasable Programmable Read-Only Memory)、磁性ランダムアクセスメモリ(FRAM、ferromagnetic random access memory)、フラッシュメモリ(Flash Memory)、磁気表面メモリ、光ディスク、又はコンパクトディスク読み取り専用メモリ(CD-ROM、Compact Disc Read-Only Memory)であってもよく、磁気表面メモリは、磁気ディスクメモリ又は磁気テープメモリであってもよい。揮発性メモリは、外部キャッシュとして機能するランダムアクセスメモリ(RAM、Random Access Memory)であってもよい。例示であるが限定ではない説明として、例えば、スタティックランダムアクセスメモリ(SRAM、Static Random Access Memory)、同期スタティックランダムアクセスメモリ(SSRAM、Synchronous Static Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM、Dynamic Random Access Memory)、同期ダイナミックランダムアクセスメモリ(SDRAM、Synchronous Dynamic Random Access Memory)、ダブルデータレート同期ダイナミックランダムアクセスメモリ(DDRSDRAM、Double Data Rate Synchronous Dynamic Random Access Memory)、エンハンスト同期ダイナミックランダムアクセスメモリ(ESDRAM、Enhanced Synchronous Dynamic Random Access Memory)、同期リンクダイナミックランダムアクセスメモリ(SLDRAM、SyncLink Dynamic Random Access Memory)、ダイレクトラムバスランダムアクセスメモリ(DRRAM、Direct Rambus Random Access Memory)のような多くの形態のRAMが利用可能である。本発明の実施例に記載のメモリ702は、これらと任意の他の適切なタイプのメモリを含むが、これらに限定されないことを意図する。
【0151】
本発明の実施例におけるメモリ702は、クラウドプラットフォーム700の動作をサポートするように様々なタイプのデータを記憶するために使用される。これらのデータの例は、例えば、アプリケーションプログラム7022のような端末デバイス700上で操作するために使用される任意のコンピュータプログラムを含む。本発明の実施例の方法を実現するプログラムはアプリケーションプログラム7022に含まれてもよい。
【0152】
上記本発明の実施例に開示された方法は、プロセッサ701に適用されてもよく、又はプロセッサ701により実現されてもよい。プロセッサ701は、信号の処理能力を有する集積回路チップであってもよい。実装プロセスにおいて、上記の方法の各ステップは、プロセッサ701におけるハードウェアの集積論理回路又はソフトウェアの形の命令により完了することができる。上記のプロセッサ701は、汎用プロセッサ、デジタル信号プロセッサ(DSP、Digital Signal Processor)、又は他のプログラマブル論理デバイス、ディスクリートゲート又はトランジスタ論理デバイス、ディスクリートハードウェアコンポーネント等であってもよい。プロセッサ701は、本発明の実施例に開示された各方法、ステップ及び論理ブロック図を実現又は実行してもよい。汎用プロセッサは、マイクロプロセッサ又はいずれかの通常のプロセッサ等であってもよい。本発明の実施例に開示された方法のステップに関連して、ハードウェア復号化プロセッサにより実行されて完了されるように、又は復号化プロセッサにおけるハードウェア及びソフトウェアモジュールの組み合わせで実行して完了されるように直接に具現化されることができる。ソフトウェアモジュールは、メモリ702における記憶媒体に配置されてもよく、プロセッサ701は、メモリ702内の情報を読み取り、そのハードウェアと組み合わせて上記の方法のステップを完了する。
【0153】
例示的な実施例において、前述の方法を実行するために、クラウドプラットフォーム700は一つ又は複数の特定用途向け集積回路(ASIC、Application Specific Integrated Circuit)、DSP、プログラマブルロジックデバイス(PLD、Programmable Logic Device)、複雑なプログラマブルロジックデバイス(CPLD、complex Programmable Logic Device)、FPGA、汎用プロセッサ、コントローラ、MCU、MPU、又は他の電子部品により実現されてもよい。
【0154】
本出願の実施例は、コンピュータプログラムを記憶するための記憶媒体をさらに提供する。
【0155】
選択的に、該記憶媒体は本出願の実施例におけるクラウドプラットフォームに適用されてもよく、且つ該コンピュータプログラムはコンピュータに本出願の実施例の各方法における対応するフローを実行させ、簡潔にするために、ここで説明を省略する。
【0156】
本発明は、本発明の実施例に係る方法、デバイス(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明される。フローチャート及び/又はブロック図における各フロー及び/又はブロック、及びフローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせはコンピュータプログラム命令によって実現できることを理解されたい。一つのマシンを生成するようにこれらのコンピュータプログラム命令は汎用コンピュータ、専用コンピュータ、組み込みプロセッサ又は他のプログラマブルデータ処理デバイスのプロセッサに提供されて、マシンを生成することができ、その結果、コンピュータ又は他のプログラマブルデータ処理デバイスのプロセッサにより実行された命令は、フローチャートの一つのフロー又は複数のフロー及び/又はブロック図の一つのブロック又は複数のブロックで指定された機能を実現するための装置を生成する。
【0157】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理デバイスを特定の方式で動作させるように導くことができるコンピュータ可読メモリに記憶されることもでき、その結果、当該コンピュータ可読メモリに記憶された命令は、フローチャートの一つのフロー又は複数のフロー及び/又はブロック図の一つのブロック又は複数のブロックで指定された機能を実現する命令装置を含む製造品を生成する。
【0158】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理デバイスにロードされてもよく、その結果、コンピュータにより実現された処理を生成するようにコンピュータ又は他のプログラマブルデバイスで一連の操作ステップが実行され、それにより、コンピュータ又は他のプログラマブルデバイスで実行された命令は、フローチャートの一つのフロー又は複数のフロー及び/又はブロック図の一つのブロック又は複数のブロックで指定された機能を実現するためのステップを提供する。
【0159】
上記のように、本発明の好ましい実施例に過ぎず、本発明の保護範囲を限定するものではなく、本発明の精神及び原則内で行われたいかなる修正、同等置換及び改善などは、いずれも本発明の保護範囲内に含まれるべきである。