特許第6243006号(P6243006)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許6243006オンライン共有のためのクラウドサービスの統合
<>
  • 特許6243006-オンライン共有のためのクラウドサービスの統合 図000002
  • 特許6243006-オンライン共有のためのクラウドサービスの統合 図000003
  • 特許6243006-オンライン共有のためのクラウドサービスの統合 図000004
  • 特許6243006-オンライン共有のためのクラウドサービスの統合 図000005
  • 特許6243006-オンライン共有のためのクラウドサービスの統合 図000006
  • 特許6243006-オンライン共有のためのクラウドサービスの統合 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6243006
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】オンライン共有のためのクラウドサービスの統合
(51)【国際特許分類】
   G06F 13/00 20060101AFI20171127BHJP
   G06F 12/00 20060101ALI20171127BHJP
【FI】
   G06F13/00 520D
   G06F12/00 545A
【請求項の数】15
【全頁数】13
(21)【出願番号】特願2016-505445(P2016-505445)
(86)(22)【出願日】2013年3月28日
(65)【公表番号】特表2016-520900(P2016-520900A)
(43)【公表日】2016年7月14日
(86)【国際出願番号】US2013034508
(87)【国際公開番号】WO2014158179
(87)【国際公開日】20141002
【審査請求日】2016年3月1日
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100194814
【弁理士】
【氏名又は名称】奥村 元宏
(72)【発明者】
【氏名】ジャオ、コリン
(72)【発明者】
【氏名】ボンシャク、イタイ
(72)【発明者】
【氏名】ウィンストン、スティーブン
【審査官】 木村 雅也
(56)【参考文献】
【文献】 韓国公開特許第10−2013−0026609(KR,A)
【文献】 韓国公開特許第10−2010−0060498(KR,A)
【文献】 韓国公開特許第10−2010−0137323(KR,A)
【文献】 特開2012−095280(JP,A)
【文献】 特開2012−095281(JP,A)
【文献】 特開2012−160853(JP,A)
【文献】 栗原 亮,定番WEBサービス自由自在 このサービスでインターネットをもっと楽しむ,Mac Fan 第21巻 第2号,日本,株式会社マイナビ,2013年 2月 1日,第21巻,第166頁-第169頁
【文献】 200超の進化を遂げた新OS Xの正体に迫る OS X Mountain Lion GENIUS GUIDE,Mac Fan 第20巻 第9号,日本,株式会社マイナビ,2012年 9月 1日,第20巻,第52頁-第53頁
【文献】 小川 敦,海外通信ウォッチ Around The World,日経コミュニケーション 第589号,日本,日経BP社,2013年 2月 1日,第92頁-第93頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
オンライン共有のためのクラウドサービスを統合するシステムであって、
前記システムは、
ウェブサービスとのユーザー対話を検知するためにウェブサービスモデルを使用することと、
前記ユーザー対話に基づいて、複数のクラウドサービスに関連する複数のクラウドサービスモデルを取得することと、
前記複数のクラウドサービスモデルを使用して、前記複数のクラウドサービスからクラウドコンテンツメタデータを取得することと、
前記クラウドコンテンツメタデータの一部を使用して、前記複数のクラウドサービスのうちの1つのクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することと、
を行うプロセッサを備える、システム。
【請求項2】
前記ウェブサービスモデルが、前記ウェブサービスの複数のユーザー入力について記述する、請求項1に記載のシステム。
【請求項3】
前記複数のクラウドサービスモデルの各々は、前記複数のクラウドサービスのうちの対応する1つのクラウドサービスのアドバンストプログラミングインターフェースを記述する、請求項1に記載のシステム。
【請求項4】
前記プロセッサは、さらに
前記クラウドコンテンツメタデータに基づいてクラウドコンテンツのリストを表示するために、前記ユーザー対話に割込をかける、ここにおいて、前記クラウドコンテンツが、ユーザーの前記クラウドコンテンツのリストからの選択に応答して、送信される、請求項1に記載のシステム。
【請求項5】
前記ユーザー対話は前記ウェブサービスにファイルをアップロードする選択であり、前記クラウドコンテンツは前記複数のクラウドサービスによって格納された複数のクラウド格納ファイルのうちの1つのクラウド格納ファイルである、請求項1に記載のシステム。
【請求項6】
前記プロセッサは、
前記クラウドサービスから前記クラウド格納ファイルを取得することと、ここにおいて、前記クラウド格納ファイルはローカルバッファーに格納される、
前記クラウド格納ファイルを前記ローカルバッファーから前記ウェブサービスへ送信することと、によって、
前記クラウド格納ファイルを前記クラウドサービスから前記ウェブサービスに送信する、請求項5に記載のシステム。
【請求項7】
オンライン共有のためのクラウドサービスを統合する方法であって、前記方法は、
ウェブサービスとのユーザー対話を検知するためにウェブサービスモデルを使用することと、ここにおいて、前記ウェブサービスモデルは、前記ウェブサービスの複数のユーザー入力について記述する、
前記ユーザー対話に基づいて、複数のクラウドサービスに関連する複数のクラウドサービスモデルを取得することと、
前記複数のクラウドサービスモデルを使用して、前記複数のクラウドサービスからクラウドコンテンツメタデータを取得することと、
前記クラウドコンテンツメタデータの一部を使用して、前記複数のクラウドサービスのクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することと、を備える、方法。
【請求項8】
前記複数のクラウドサービスモデルの各々は、前記複数のクラウドサービスのうちの1つの対応するクラウドサービスのアドバンストプログラミングインターフェースを記述する、請求項7に記載の方法。
【請求項9】
前記クラウドコンテンツメタデータに基づいてクラウドコンテンツのリストを表示するために前記ユーザー対話に割込をかけること、ここにおいて、前記クラウドコンテンツが、ユーザーの前記クラウドコンテンツのリストからの選択に応答して送信される、をさらに備える、請求項7に記載の方法。
【請求項10】
前記ユーザー対話は前記ウェブサービスにファイルをアップロードする選択であり、前記クラウドコンテンツは、前記複数のクラウドサービスによって格納された複数のクラウド格納ファイルのうちの1つのクラウド格納ファイルである、請求項7に記載の方法。
【請求項11】
前記クラウド格納ファイルを前記クラウドサービスから前記ウェブサービスに送信することは、
前記クラウド格納ファイルを前記クラウドサービスから取得することと、ここにおいて、前記クラウド格納ファイルはローカルバッファーに格納される、
前記クラウド格納ファイルを前記ローカルバッファーから前記ウェブサービスへ送信することと、
を備える、請求項10に記載の方法。
【請求項12】
プロセッサによって実行可能な命令でエンコードされた非一時的な機械可読記憶媒体であって、前記機械可読記憶媒体は、
ウェブサービスとのユーザー対話を検知するためにウェブサービスモデルを使用することと、ここにおいて、前記ウェブサービスモデルは、前記ウェブサービスの複数のユーザー入力について記述する、
前記ユーザー対話に基づき、複数のクラウドサービスに関連する複数のクラウドサービスモデルを取得することと、前記複数のクラウドサービスモデルの各々は、前記複数のクラウドサービスのうちの1つの対応するクラウドサービスのアドバンストプログラミングインターフェースについて記述する、
前記複数のクラウドサービスモデルを使用して、前記複数のクラウドサービスからクラウドコンテンツメタデータを取得することと、
前記クラウドコンテンツメタデータの一部を使用して、前記複数のクラウドサービスのうちの1つのクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することと、
を備える、機械可読記憶媒体。
【請求項13】
前記クラウドコンテンツメタデータに基づいてクラウドコンテンツのリストを表示するために前記ユーザー対話に割込をかけること、ここにおいて、前記クラウドコンテンツがユーザーの前記クラウドコンテンツのリストからの選択に応答して送信される、をさらに備える、請求項12に記載の機械可読記憶媒体。
【請求項14】
前記ユーザー対話は前記ウェブサービスにファイルをアップロードする選択であり、前記クラウドコンテンツは、前記複数のクラウドサービスによって格納された複数のクラウド格納ファイルのうちの1つのクラウド格納ファイルである、請求項12に記載の機械可読記憶媒体。
【請求項15】
前記クラウド格納ファイルを前記クラウドサービスから前記ウェブサービスに送信することは、
前記クラウド格納ファイルを前記クラウドサービスから取得することと、ここにおいて、前記クラウド格納ファイルはローカルバッファーに格納される、
を備える、請求項14に記載の機械可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
[0001] いくつかのシナリオでは、ユーザーはインターネットを通じて提供される様々なクラウドサービス(cloud service)にコンテンツを格納(store)し得る。例えば、ユーザーが異なるコンピューティング装置からファイルにアクセスし得るよう、ユーザーは複数のクラウド保管サービス(cloud storage service)にファイルをアップロードし得る。ユーザーは、異なるクラウドサービスにログインすることにより異なるコンピューティング装置においてファイルにアクセスし得る。一般的に、ユーザーがクラウドサービスに格納されるファイルを使用したければ、ユーザーは自身のローカルのコンピューティング装置にファイルをダウンロードし、その後、ローカルまたはウェブベースのアプリケーションを使用してファイルにアクセスする。
【0002】
[0002] 下記の詳細な説明は以下の図面を参照する。
【図面の簡単な説明】
【0003】
図1】[0003] オンライン共有のためのクラウドサービスを統合するためのシステム例のブロック図を示す。
図2】[0004] オンライン共有のためのクラウドサービスを統合するためのウェブサービスおよびクラウドサービスと通信するコンピューティング装置例のブロック図を示す。
図3】[0005] オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置により実行される方法例のフローチャートを示す。
図4】[0006] オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置により実行される方法例のフローチャートを示す。
図5A】[0007] ウェブコンテンツを含むパネルが表示されたウェブアプリケーションのユーザーインターフェース例の図を示す。
図5B】ウェブコンテンツを含むパネルが表示されたウェブアプリケーションのユーザーインターフェース例の図を示す。
【発明を実施するための形態】
【0004】
[0008] 上記に詳述されるように、ユーザーはクラウドサービスによって複数のユーザー装置からアクセス可能な1つのロケーションにコンテンツを格納することができる。例えば、ユーザーはすべてのユーザーの互換性をもつ装置からのインターネットを通じてアクセス可能なクラウドリポジトリ(cloud repository)へクラウド保管サービスによって自身のファイルをアップロードすることができる。ユーザーは、自身のコンテンツを格納するために複数のクラウドサービスを利用し得る。しかしながら、異なるクラウドサービスは一般的には互いと直接通信するように構成されていない。この問題に対処するために、ユーザーは、最初にコンテンツを自身のローカルのコンピューティング装置へクラウドサービスからダウンロードし、次に、コンテンツを目標クラウドサービスに再アップロードし、手動でコンテンツをクラウドサービス間で共有し得る。
【0005】
[0009] ここに示された実施形態例は、より多くの単純化されたオンライン共有のためのクラウドサービスを統合(unify)する。例えば、いくつかの実施形態においては、システムがウェブサービスモデルを使用してユーザーのウェブサービスとの対話を検知(detect)する。ユーザー対話(user interaction)に応答して、システムはユーザー対話に基づいてクラウドサービスのためにクラウドサービスモデルを取得し、またクラウドサービスモデルを使用して、クラウドサービスからクラウドコンテンツメタデータを取得する。その後、ユーザーの選択に基づいて、システムはクラウドコンテンツメタデータ(cloud content metadata)の一部を使用して、クラウドサービスからウェブサービスにクラウドコンテンツを送信し得る。
【0006】
[0010] このように、ここに示された実施形態例は、複数のクラウドサービスからウェブサービスへのクラウドコンテンツの送信を簡易にすることにより、クラウドコンテンツのオンライン共有を単純化する。具体的には、クラウドコンテンツモデルおよびメタデータの使用によって、ユーザーが背後にあるクラウドサービスの詳細に気づかない間に、クラウドコンテンツはウェブサービスに送信され得る。
【0007】
[0011] 次に、図面を参照すると、図1は、オンライン共有のためのクラウドサービスを統合するためのシステム例のブロック図である。システム例は、例えばノート型コンピュータ、デスクトップコンピュータ、オールインワンシステム、タブレットコンピューティング装置あるいはオンライン共有のためのクラウドサービスを統合するのにふさわしい他の電子機器のようなコンピューティング装置100としてインプリメントすることができる。図1の実施形態では、コンピューティング装置100はプロセッサ110、インターフェース115および機械可読記憶媒体120を含む。
【0008】
[0012] プロセッサ110は、1つ以上の中央処理装置(CPU)、マイクロプロセッサおよび/または機械可読記憶媒体120に記憶された命令の検索および実行に適している他のハードウェアデバイスであってもよい。下記に述べられるように、プロセッサ110は、オンライン共有のためのクラウドサービスの統合を可能にするために命令122、124、126、128をフェッチし、デコードし、実行し得る。代替として、あるいは、命令を検索および実行することに加えて、命令122、124、126、128の1つ以上の機能を実行するための多くの電子部品を備える1つ以上の電子回路を含んでいてもよい。
【0009】
[0013] インターフェース115はウェブサービスおよびクラウドサービスと通信するために多くの電子部品を含み得る。例えば、インターフェース115は、イーサネット(登録商標)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、IEEE 1394(Firewire)インターフェース、外部のシリアルアドバンストテクノロジーアタッチメント(eSATA:external Serial Advanced Technology Attachment)インターフェースあるいはウェブサービスおよびクラウドサービスとの通信に適している他の物理的接続インターフェースであってもよい。あるいは、インターフェース115は、無線ローカルエリアネットワーク(WLAN:wireless local area network)インターフェースあるいはニアフィールドコミュニケーション(NFC:near-field communication)インターフェースのような無線インターフェースであってもよい。オペレーションにおいては、下記に詳述されるように、インターフェース115はクラウドコンテンツ、クラウドコンテンツメタデータおよびクラウドコンテンツ認証などのデータをウェブサービスあるいはクラウドサービスの対応するインターフェース間で受信および送信するために使用され得る。
【0010】
[0014] 機械可読記憶媒体120は、実行可能命令を記憶するあらゆる電子、磁気、光学、あるいは他の物理的な記憶装置であってもよい。したがって、機械可読記憶媒体120は、例えばランダムアクセスメモリ(RAM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM(登録商標))、記憶ドライブ、光ディスクなどであってもよい。下記に詳述のように、機械可読記憶媒体120はオンライン共有のためのクラウドサービスを統合するための実行可能命令でエンコードされていてもよい。
【0011】
[0015] ウェブサービスモデリング命令(web service modeling instruction)122は、ウェブサービスのためのウェブサービスモデルを管理して得る。ウェブサービスは、ウェブサーバによりネットワーク上でクライアントデバイスに提供されるアプリケーションかサービスであり得る。例えば、ウェブアプリケーションは、コンピューティング装置100のウェブブラウザにウェブページを供給するためにウェブサーバによって実行され得る。別の例においては、ウェブサービスは、コンピューティング装置100からのリクエストに応答して機能を提供するためにウェブサーバによって実行され得る。
【0012】
[0016] ウェブサービスモデルは、対応するウェブサービスの見込まれるユーザー対話および結果としての出力について記述することができる。具体的には、ウェブサービスモデルは、ユーザーがウェブサービスを依頼(submit)することに応答してユーザー入力(例えば入力テキストボックス、入力ボタン、入力ラジアルボタン(input radial button)、入力ドロップダウン(input drop-down)、依頼ボタン(submit button)など)およびアクション(例えば新しいウェブページへのナビゲーション、スクリプトの実行など)について記述することができる。この場合、ウェブサービスモデリング命令122は、ユーザー対話のためのウェブサービスをモニターするために使用されるウェブサービスモデルを得てもよい。例えば、ウェブサービスモデルは、ウェブサービスモデリング命令122にユーザーのアップロード入力ボタンとの対話を検知しおよび割込させることができる。この例において、ウェブサービスモデリング命令122は、ユーザーによる選択のためクラウドコンテンツのリストをポピュレートするために下記に述べられるようなクラウドコンテンツの検索を開始することができる。
【0013】
[0017] クラウドサービスモデリング命令124は、クラウドサービスのためのクラウドサービスモデルを管理することができる。クラウドサービスは、インターネットを通じてコンピューティング資源の使用を提供することができる。クラウドサービスの例としては、保管サービス、データベースサービス、ソフトウェアサービスなどが含まれますが、これに制限されることはない。クラウド保管サービスは、クラウド保管サービスを提供するクラウドサーバ上にユーザーがファイルを格納することを可能とし、このファイルはユーザーの異なるコンピューティング装置に遠隔でアクセス可能である。
【0014】
[0018] クラウドサービスモデルは対応するクラウドサービスとの対話のための技術について記述し得る。例えば、クラウドサービスモデルは、クラウドサービスによって提供されるアドバンストプログラミングインターフェース(API:advanced programming interface)について記述することができる。この例において、APIはクラウドサービスに格納されたクラウドコンテンツ(例えばファイル、ソフトウェア、データベースレコードなど)を格納しアクセスするために使用されてもよい。クラウドサービスモデリング命令124は、ウェブサービスモデリング命令122によって検知されたユーザー対話に基づいたクラウドサービスモデルを取得しても良い。例えば、ユーザーのアップロード入力ボタンとの対話が検知された場合、クラウドサービスモデルはユーザーのすべてのクラウド保管サービス(cloud storage service)のために検索されてもよい。
【0015】
[0019] クラウドメタデータ取得命令126は、クラウドサービスモデルを使用して、クラウドサービスのためにクラウドメタデータ(cloud metadata)を取得することができる。クラウドメタデータは、対応するクラウドサービスによって格納されたクラウドコンテンツについて記述することができる。例えば、クラウドメタデータは、格納されたファイル、およびクラウド保管サービスのディレクトリー構造について記述することができる。この例において、クラウドメタデータはファイル選択ユーザーコントロールを複数のクラウド保管サービスに格納されたファイルでポピュレート(populate)するのに使用されてもよい。さらに、クラウドメタデータは、ユーザー選択に応じて、クラウドコンテンツ送信命令128にクラウド保管サービスの1つからファイルを取得させてもよい。
【0016】
[0020] クラウドコンテンツ送信命令128は、クラウドサービスからクラウドコンテンツを得て、その後、ウェブサービスにクラウドコンテンツを送信することができる。具体的には、クラウドメタデータはクラウドサービスからクラウドコンテンツを得るために使用され得る。その後、ウェブサービスモデルがウェブサービスにクラウドコンテンツを送信するために使用され得る。あらかじめ構成されたモデルが使用されるので、クラウドコンテンツの送信は、ファイル選択ユーザーコントロールからのファイルの選択以外のユーザー対話なしで行なわれる。
【0017】
[0021] ユーザーのクラウドサービスは、クラウドメタデータ取得命令126およびクラウドコンテンツ送信命令128によるアクセスのために、コンピューティング装置100であらかじめ構成され得る。例えば、ユーザーは、クラウドメタデータ取得命令126およびクラウドコンテンツ送信命令128が様々なクラウドサービスにアクセスできるよう、様々なクラウドサービスのためのクラウドコンテンツ信用証明書(credential)を供給することができる。別の例において、クラウドサービスは、ユーザーが外部アプリケーションおよびサービスに対してアクセス権を与えることを可能にすることができる。
【0018】
[0022] 図2は、クラウドサービス250A、250Nおよびウェブサービス262とネットワーク245を介して通信するコンピューティング装置例200のブロック図である。図2で示され、下記に述べられるように、コンピューティング装置200はオンライン共有のためのクラウドサービスを統合するために、クラウドサービス250A、250Nおよびウェブサービス260と通信することができる。
【0019】
[0023] 図示されるように、コンピューティング装置200は多くのモジュール202−214を含んでいてもよい。モジュールの各々は、機械可読記憶媒体上でエンコードされ、またコンピューティング装置200のプロセッサによって実行可能である、一連の命令を含み得る。加えてあるいは代替として、モジュールはそれぞれ、下記に述べられた機能のインプリメントのために電子回路を含む1つ以上のハードウェアデバイスを含んでいてもよい。
【0020】
[0024] インターフェースモジュール202はクラウドサービス250A、250Nおよびウェブサービス260との通信を管理することができる。具体的には、インターフェースモジュール202は、クラウドサービス250A、250Nおよびウェブサービス260と接続を開始し、次に、クラウドデータをクラウドサービス250A、250Nおよびウェブサービス260に送信あるいは受信することができる。
【0021】
[0025] ウェブアプリケーション204は、ユーザーにクラウドサービス250A、250Nおよびウェブサービス260へのアクセスを提供することができる。ウェブアプリケーション204のコンポーネントは下記に詳述されているが、ウェブアプリケーション204のインプリメンテーション例に関する追加の詳細は、図1のクラウドメタデータ取得命令126およびクラウドコンテンツ送信命令128と関連して上記されている。
【0022】
[0026] ウェブコンテンツモジュール206はウェブサービス260からウェブコンテンツを取得し表示することができる。例えば、ウェブコンテンツモジュール206はウェブサーバからウェブページを取得し、次に、ウェブページをコンピューティング装置200のユーザーのために表示することができる。ウェブページは、ソーシャルネットワーキング、電子メール、画像共有などといったサービスへのアクセスを提供し得るが、これらには限定されることはない。別の例において、ウェブコンテンツモジュール206は、サービスとしてソフトウェアのような機能へのアクセスを得るため、ウェブサービス260にアクセスすることができる。
【0023】
[0027] 拡張モジュール(extension module)208は、拡張(extension)がウェブアプリケーション204内で実行されることを可能にし得る。拡張は、ウェブアプリケーション204の能力(capability)を拡張するサードパーティーの機能であり得る。この場合、拡張は、ウェブコンテンツモジュール206によって表示されるすべてのウェブコンテンツへアクセスし得る。拡張モジュール208は、ウェブコンテンツとのユーザー対話をモニターするため、ウェブサービスモデリングモジュール212から得たウェブサービスモデルを使用し得る。例えば、拡張モジュール208は、ユーザー選択の入力ボタンのためのウェブページをモニターすることができる。この例において、入力ボタンのユーザー選択が検知された場合、拡張モジュール208は、選択の処理に割込をかけ、選択のためのユーザーコントロール表示クラウドコンテンツを供給し得る。選択のためのクラウドコンテンツは、クラウドサービスモデリングモジュール214からのクラウドサービスモデルを使用して決定し得る。
【0024】
[0028] 拡張モジュール208は、さらにクラウドサービスモデルを使用してクラウドサービス(例えば、クラウドサービスA 250A、クラウドサービスN 250N)から得られたクラウドメタデータに基づいてクラウドコンテンツを識別しアクセスすることができる。クラウドサービスモデルは、クラウドサービスによって供給されるAPIについて記述することができ、APIはクラウドメタデータを取得するために拡張モジュール208によって使用される。
【0025】
[0029] クラウド管理モジュール210は、クラウドサービスモデルおよびウェブサービスモデルを管理する過程を管理し得る。クラウド管理モジュール210のコンポーネントは下記に詳述されるが、クラウド管理モジュール210のインプリメンテーション例に関する追加の詳細は、図1のウェブサービスモデリング命令122およびクラウドサービスモデリング命令124に関連して上記されている。
【0026】
[0030] ウェブサービスモデリングモジュール212は、ウェブサービスのためのウェブサービスモデルを管理することができる。例えば、ウェブサービスモデルは、ニュアルであらかじめ構成され、コンピューティング装置(例えばコンピューティング装置200)間で共有されることができる。別の例において、ウェブサービスモデルは、ウェブスクレーピング(web scraping)の使用により、あるいは自己記述的なインターフェースを持つウェブサービスのために自動的に生成され得る。さらに別の例において、ウェブコンテンツがユーザーによってアクセスされるとともに、ウェブサービスモデルがリアルタイムで生成され得る。いずれ例においても、ウェブサービスモデルは、ユーザーがウェブサービスを依頼したことに起因するユーザー入力(例えば入力テキストボックス、入力ボタン、入力ラジアルボタン、入力ドロップダウン、依頼ボタンなど)およびアクション(例えば新しいウェブページへのナビゲーション、スクリプトの実行など)について記述し得る。ウェブサービスモデリングモジュール212はウェブサービスモデルをウェブサービスデータ222として格納し得る。
【0027】
[0031] クラウドサービスモデリングモジュール214は、クラウドサービスのためのクラウドサービスモデルを管理し得る。例えば、クラウドサービスモデルは対応するクラウドサービスによって提供されるAPIに基づいて生成され得る。この例において、クラウドサービスモデルは、クラウドサービスによって管理されたクラウドコンテンツへのアクセスを供給するAPIの機能について記述することができる。クラウドサービスモデルはクラウドサービスからクラウドコンテンツおよび対応するメタデータを取得するために使用され得る。クラウドサービスモデリングモジュール214はクラウドサービスモデルをクラウドサービスデータ224とともに格納し得る。
【0028】
[0032] 図示されるように、コンピューティング装置200は多くのクラウドサービス(例えば、クラウドサービス A 250A、クラウドサービス N 250N)と対話し得る。クラウドサービス(例えば、クラウドサービス A 250A、クラウドサービス N 250N)の各々は、コンピューティング装置200にアクセス可能な異なるセットのクラウドコンテンツを管理し得る。さらに、クラウドサービス(例えば、クラウドサービス A 250A、クラウドサービス N 250N)は、ファイル、ソーシャルネットワーキングコンテンツ、ソフトウェアサービスなどを含み、これらに限定されない様々なタイプのクラウドコンテンツを管理し得る。クラウドサービス(例えば、クラウドサービス A 250A、クラウドサービス N 250N)の各々は、アドバンストプログラミングインターフェース(API)(例えば、API A 252A、 API N 252N)を含み得る。上に議論されるように、API(例えば、API A 252A、 API N 252N)は、コンピューティング装置200に、対応するクラウドサービス(例えば、クラウドサービス A 250A、クラウドサービス N 250N)によって管理されたクラウドコンテンツへのアクセスを提供し得る。クラウドサービス(例えば、クラウドサービス A 250A、クラウドサービス N 250N)の各々は、サーバーコンピューティング装置(図示せず)によって提供され得る。
【0029】
[0033] ウェブサービス260は、ネットワーク245上でウェブサーバ(図示せず)によってコンピューティング装置200に供給されるアプリケーションあるいはサービスであってもよい。例えば、ウェブサービス260はコンピューティング装置200にウェブページを提供するアプリケーションであってもよい。ウェブサービス260はコンピューティング装置200からの要求を受信し、処理するためのウェブインターフェース262を含んでいてもよい。この例において、ウェブインターフェース262は、ウェブページがユーザーリクエストに応じてダイナミックに修正されたところの、ウェブページとのユーザー対話に基づいて生成されたユーザーリクエストを受信することができる。
【0030】
[0034] 記憶装置220は、コンピューティング装置200にアクセス可能なデータを維持するための任意のハードウェア記憶装置であってもよい。例えば、記憶装置220は1つ以上のハードディスクドライブ、ソリッドステートドライブ、テープ駆動機構および/または他の記憶デバイスを含んでいてもよい。記憶デバイスは、コンピューティング装置200および/またはコンピューティング装置200と通信する別の装置に位置し得る。上に詳述されるように、記憶装置220はウェブサービスデータ222およびクラウドサービスデータ224を維持し得る。
【0031】
[0035] 図3は、オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置100により実行される方法の例300のフローチャートである。方法300の実行は図1のコンピューティング装置100を参照し下記に述べられているが、図2のコンピューティング装置200など、方法300の実行にふさわしい他の装置を使用することができる。方法300は、記憶媒体120のような機械可読記憶媒体上に記憶された実行可能命令の形式および/または電子回路の形式でインプリメントされ得る。
【0032】
[0036] 方法300はブロック305で開始しブロック310へと続き得る。ここでは、コンピューティング装置100がユーザーのウェブサービスとの対話を検知するためにウェブサービスモデルを使用することができる。例えば、ウェブサービスモデルは、ウェブサービスによって供給されるウェブページのユーザー入力(例えば入力ボタン、ラジアルボタン、入力テキストボックスなど)について記述することができる。この例において、検知されたユーザー対話は入力ボタンのユーザー選択であってもよい。ユーザー対話の検知に応答して、下記のステップが行なわれるように、ウェブページの処理は割込をかけられ得る。
【0033】
[0037] ブロック315では、クラウドサービスのためのクラウドサービスモデルは検知されたユーザー対話に基づいて得られる。例えば、ユーザー対話がアップロード入力ボタンの選択である場合、クラウドサービスモデルはユーザーのすべての既知のクラウド保管サービスに対して得られてもよい。クラウドサービスモデルは、それぞれのクラウドサービスからクラウドコンテンツメタデータおよびクラウドコンテンツを得るためにAPIについて記述することができる。次に、ブロック320では、クラウドコンテンツメタデータはクラウドサービスモデルを使用して、クラウドサービスから得られる。クラウドコンテンツメタデータは、クラウドサービスによって格納されたクラウドコンテンツについて記述することができる。この例において、クラウドコンテンツメタデータはクラウド保管サービスに格納されたクラウドファイルのファイル説明、ファイルロケーション、ファイルサイズなどを含んでもよい。
【0034】
[0038] ブロック325では、クラウドコンテンツはクラウドサービスメタデータを使用して、クラウドサービスからウェブサービスに送信され得る。例えば、ユーザーがクラウド保管サービスに格納されたクラウドファイルのリストからクラウドファイルを選択することに応答して、クラウドコンテンツメタデータは、クラウドファイルのロケーションを決定し、コンピューティング装置100上のローカルのバッファーにクラウドファイルをダウンロードし、次に、ウェブサービスにクラウドファイルをアップロードするために使用されてもよい。その後、方法300はブロック330へと続き、終了し得る。
【0035】
[0039] 図4は、オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置200により実行される方法の例400のフローチャートである。方法400の実行は図2のコンピューティング装置200を参照して下記に述べられるが、図1のコンピューティング装置100のように方法400の実行にふさわしい他の装置が使用されてもよい。方法400は、機械可読記憶媒体上に記憶された実行可能命令の形式および/または電子回路の形式で実現され得る。
【0036】
[0040] 方法400はブロック405で開始しブロック410へと続き得る。ここで、コンピューティング装置200はユーザーによって現在アクセスされているウェブサービスに対するウェブサービスモデルを取得し得る。ブロック415では、コンピューティング装置200は、ウェブサービスとのユーザー対話があるかどうか判断する。ユーザー対話がない場合、方法400は停止し得る。ユーザー対話(例えば、入力ボタンの選択)がある場合、ブロック420において、ユーザー対話に基づいて、ユーザーの既知クラウドサービスに対するクラウドサービスモデルが取得され得る。クラウドサービスは、ブロック415で検知されたユーザー対話と関係のあるクラウドコンテンツを管理し得る。例えば、ユーザーがアップロードファイルボタンを選択したならば、クラウドサービスはクラウド保管サービスであり得る。別の例において、ユーザーがシェアボタンを選択したならば、クラウドサービスはクラウドソーシャルサービスであり得る。
【0037】
[0041] ブロック425では、クラウドコンテンツメタデータ(cloud content metadata)はクラウドサービスモデルを使用して得られる。クラウドコンテンツメタデータは、ユーザーのためにクラウドサービスに格納されたクラウドコンテンツについて記述することができる。ブロック430では、コンピューティング装置200は、ユーザーのために表示されたクラウドコンテンツのリストからユーザーがクラウドコンテンツを選んだかどうか判断する。クラウドコンテンツのリストはクラウドコンテンツメタデータに基づいて生成され得る。ユーザーがクラウドコンテンツの選択をしなければ、方法400は終了してよい。
【0038】
[0042] ユーザーがクラウドコンテンツの選択をすれば、コンピューティング装置200はブロック435において対応するクラウドサービスからユーザーによって選ばれたクラウドコンテンツを得る。この例において、選択されたクラウドコンテンツはクラウド保管サービスに格納されたクラウドファイルであってもよい。その後、得られたクラウドコンテンツは、コンピューティング装置200のローカルのバッファーに格納され得る。次に、ブロック440では、クラウドコンテンツは、ウェブ対話を完成するためにユーザーによって現在アクセスされているウェブサービスに送信されてもよい。例えば、クラウドファイルは、ブロック415で検知されたアップロードファイルボタンの選択によって始められたファイルアップロードを完成するために、ウェブサービスに供給され得る。方法400は続いてブロック445に進み、終了し得る。
【0039】
[0043] 図5A−5Bは、ウェブコンテンツを含むパネル530が表示されたウェブアプリケーションのユーザーインターフェースの例500を示す。図示されるように、ユーザーインターフェース500はウェブコンテンツを識別するタイトルバー505、およびユーザーがアプリケーションを終了するために使用し得るクローズアイコン(close icon)510を含んでいる。ユーザーインターフェース500はさらにナビゲーションコンポーネント:バックボタン515、フォワードボタン520およびウェブ・アドレス入力テキストボックス525を含む。
【0040】
[0044] ユーザーインターフェース500は、パネル530中にウェブサービスによって提供されるウェブページを出力している。図5Aでは、アップロードファイルボタン535がウェブページ中に示される。ユーザーがアップロードファイルボタン535を選択することに応答して、図5B中に示されるようなファイル選択ダイアログ540が表示される。ファイル選択ダイアログ540はユーザーによる選択のため、複数のクラウドサービスからのクラウドコンテンツ(例えば、クラウドコンテンツ A 545、クラウドコンテンツ B 550およびクラウドコンテンツ N 555)をリストする。ファイル選択ダイアログ540は、ウェブアプリケーションの拡張によって供給され得る。ここで、カスタム選択ファイルダイアログ540を表示するために、拡張はユーザーのアップロードファイルボタン535の選択に割込をかける。場合によっては、ファイル選択ダイアログ540におけるクラウドコンテンツのリストは、クラウドコンテンツを管理するもともとのクラウドサービスに基づいてグループ化され得る。
【0041】
[0045] 先の開示は、コンピューティング装置によるオンライン共有のためのクラウドサービスの統合のためにいくつかの実施形態の例について記述する。このように、ここに開示された実施形態は、ウェブサービスに提供するために複数のクラウドサービスからクラウドコンテンツを取得するために、クラウドサービスモデルを使用することによって、オンライン共有のためのクラウドサービスの統合を可能にする。
図1
図2
図3
図4
図5A
図5B