(57)【要約】  実施形態の例はオンライン共有のためクラウドサービスを統合することに関連する。実施形態の例においては、システムはウェブサービスモデルを使用してウェブサービスとのユーザー対話を検知し、前記ユーザー対話に基づいてクラウドサービスに関連したクラウドサービスモデルを取得する。その後、前記システムは前記クラウドサービスモデルを使用して前記クラウドサービスからクラウドコンテンツメタデータを取得することができ、前記クラウドコンテンツメタデータの一部を使用してクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することができる。
2016520900.tif 000002
【特許請求の範囲】
【請求項１】
オンライン共有のためのクラウドサービスを統合するシステムであって、
前記システムは、
ウェブサービスとのユーザー対話を検知するためにウェブサービスモデルを使用することと、
前記ユーザー対話に基づいて、複数のクラウドサービスに関連する複数のクラウドサービスモデルを取得することと、
前記複数のクラウドサービスモデルを使用して、前記複数のクラウドサービスからクラウドコンテンツメタデータを取得することと、
前記クラウドコンテンツメタデータの一部を使用して、前記複数のクラウドサービスのうちの１つのクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することと、
を行うプロセッサを備える、システム。
【請求項２】
前記ウェブサービスモデルが、前記ウェブサービスの複数のユーザー入力について記述する、請求項１に記載のシステム。
【請求項３】
前記複数のクラウドサービスモデルの各々は、前記複数のクラウドサービスのうちの対応する１つのクラウドサービスのアドバンストプログラミングインターフェースを記述する、請求項１に記載のシステム。
【請求項４】
前記プロセッサは、さらに
前記クラウドコンテンツメタデータに基づいてクラウドコンテンツのリストを表示するために、前記ユーザー対話に割込をかける、ここにおいて、前記クラウドコンテンツが、ユーザーの前記クラウドコンテンツのリストからの選択に応答して、送信される、請求項１に記載のシステム。
【請求項５】
前記ユーザー対話は前記ウェブサービスにファイルをアップロードする選択であり、前記クラウドコンテンツは前記複数のクラウドサービスによって格納された複数のクラウド格納ファイルのうちの１つのクラウド格納ファイルである、請求項１に記載のシステム。
【請求項６】
前記プロセッサは、
前記クラウドサービスから前記クラウド格納ファイルを取得することと、ここにおいて、前記クラウド格納ファイルはローカルバッファーに格納される、
前記クラウド格納ファイルを前記ローカルバッファーから前記ウェブサービスへ送信することと、によって、
前記クラウド格納ファイルを前記クラウドサービスから前記ウェブサービスに送信する、請求項５に記載のシステム。
【請求項７】
オンライン共有のためのクラウドサービスを統合する方法であって、前記方法は、
ウェブサービスとのユーザー対話を検知するためにウェブサービスモデルを使用することと、ここにおいて、前記ウェブサービスモデルは、前記ウェブサービスの複数のユーザー入力について記述する、
前記ユーザー対話に基づいて、複数のクラウドサービスに関連する複数のクラウドサービスモデルを取得することと、
前記複数のクラウドサービスモデルを使用して、前記複数のクラウドサービスからクラウドコンテンツメタデータを取得することと、
前記クラウドコンテンツメタデータの一部を使用して、前記複数のクラウドサービスのクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することと、を備える、方法。
【請求項８】
前記複数のクラウドサービスモデルの各々は、前記複数のクラウドサービスのうちの１つの対応するクラウドサービスのアドバンストプログラミングインターフェースを記述する、請求項７に記載の方法。
【請求項９】
前記クラウドコンテンツメタデータに基づいてクラウドコンテンツのリストを表示するために前記ユーザー対話に割込をかけること、ここにおいて、前記クラウドコンテンツが、ユーザーの前記クラウドコンテンツのリストからの選択に応答して送信される、をさらに備える、請求項７に記載の方法。
【請求項１０】
前記ユーザー対話は前記ウェブサービスにファイルをアップロードする選択であり、前記クラウドコンテンツは、前記複数のクラウドサービスによって格納された複数のクラウド格納ファイルのうちの１つのクラウド格納ファイルである、請求項７に記載の方法。
【請求項１１】
前記クラウド格納ファイルを前記クラウドサービスから前記ウェブサービスに送信することは、
前記クラウド格納ファイルを前記クラウドサービスから取得することと、ここにおいて、前記クラウド格納ファイルはローカルバッファーに格納される、
前記クラウド格納ファイルを前記ローカルバッファーから前記ウェブサービスへ送信することと、
を備える、請求項１０に記載の方法。
【請求項１２】
プロセッサによって実行可能な命令でエンコードされた非一時的な機械可読記憶媒体であって、前記機械可読記憶媒体は、
ウェブサービスとのユーザー対話を検知するためにウェブサービスモデルを使用することと、ここにおいて、前記ウェブサービスモデルは、前記ウェブサービスの複数のユーザー入力について記述する、
前記ユーザー対話に基づき、複数のクラウドサービスに関連する複数のクラウドサービスモデルを取得することと、前記複数のクラウドサービスモデルの各々は、前記複数のクラウドサービスのうちの１つの対応するクラウドサービスのアドバンストプログラミングインターフェースについて記述する、
前記複数のクラウドサービスモデルを使用して、前記複数のクラウドサービスからクラウドコンテンツメタデータを取得することと、
前記クラウドコンテンツメタデータの一部を使用して、前記複数のクラウドサービスのうちの１つのクラウドサービスから前記ウェブサービスにクラウドコンテンツを送信することと、
を備える、機械可読記憶媒体。
【請求項１３】
前記クラウドコンテンツメタデータに基づいてクラウドコンテンツのリストを表示するために前記ユーザー対話に割込をかけること、ここにおいて、前記クラウドコンテンツがユーザーの前記クラウドコンテンツのリストからの選択に応答して送信される、をさらに備える、請求項１２に記載の機械可読記憶媒体。
【請求項１４】
前記ユーザー対話は前記ウェブサービスにファイルをアップロードする選択であり、前記クラウドコンテンツは、前記複数のクラウドサービスによって格納された複数のクラウド格納ファイルのうちの１つのクラウド格納ファイルである、請求項１２に記載の機械可読記憶媒体。
【請求項１５】
前記クラウド格納ファイルを前記クラウドサービスから前記ウェブサービスに送信することは、
前記クラウド格納ファイルを前記クラウドサービスから取得することと、ここにおいて、前記クラウド格納ファイルはローカルバッファーに格納される、
を備える、請求項１４に記載の機械可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  いくつかのシナリオでは、ユーザーはインターネットを通じて提供される様々なクラウドサービス（cloud service）にコンテンツを格納（store）し得る。例えば、ユーザーが異なるコンピューティング装置からファイルにアクセスし得るよう、ユーザーは複数のクラウド保管サービス（cloud storage service）にファイルをアップロードし得る。ユーザーは、異なるクラウドサービスにログインすることにより異なるコンピューティング装置においてファイルにアクセスし得る。一般的に、ユーザーがクラウドサービスに格納されるファイルを使用したければ、ユーザーは自身のローカルのコンピューティング装置にファイルをダウンロードし、その後、ローカルまたはウェブベースのアプリケーションを使用してファイルにアクセスする。
【０００２】
[0002]  下記の詳細な説明は以下の図面を参照する。
【図面の簡単な説明】
【０００３】
【図１】[0003]  オンライン共有のためのクラウドサービスを統合するためのシステム例のブロック図を示す。
【図２】[0004]  オンライン共有のためのクラウドサービスを統合するためのウェブサービスおよびクラウドサービスと通信するコンピューティング装置例のブロック図を示す。
【図３】[0005]  オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置により実行される方法例のフローチャートを示す。
【図４】[0006]  オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置により実行される方法例のフローチャートを示す。
【図５Ａ】[0007]  ウェブコンテンツを含むパネルが表示されたウェブアプリケーションのユーザーインターフェース例の図を示す。
【図５Ｂ】ウェブコンテンツを含むパネルが表示されたウェブアプリケーションのユーザーインターフェース例の図を示す。
【発明を実施するための形態】
【０００４】
[0008]  上記に詳述されるように、ユーザーはクラウドサービスによって複数のユーザー装置からアクセス可能な１つのロケーションにコンテンツを格納することができる。例えば、ユーザーはすべてのユーザーの互換性をもつ装置からのインターネットを通じてアクセス可能なクラウドリポジトリ（cloud repository）へクラウド保管サービスによって自身のファイルをアップロードすることができる。ユーザーは、自身のコンテンツを格納するために複数のクラウドサービスを利用し得る。しかしながら、異なるクラウドサービスは一般的には互いと直接通信するように構成されていない。この問題に対処するために、ユーザーは、最初にコンテンツを自身のローカルのコンピューティング装置へクラウドサービスからダウンロードし、次に、コンテンツを目標クラウドサービスに再アップロードし、手動でコンテンツをクラウドサービス間で共有し得る。
【０００５】
[0009]  ここに示された実施形態例は、より多くの単純化されたオンライン共有のためのクラウドサービスを統合（unify）する。例えば、いくつかの実施形態においては、システムがウェブサービスモデルを使用してユーザーのウェブサービスとの対話を検知（detect）する。ユーザー対話（user interaction）に応答して、システムはユーザー対話に基づいてクラウドサービスのためにクラウドサービスモデルを取得し、またクラウドサービスモデルを使用して、クラウドサービスからクラウドコンテンツメタデータを取得する。その後、ユーザーの選択に基づいて、システムはクラウドコンテンツメタデータ（cloud content metadata）の一部を使用して、クラウドサービスからウェブサービスにクラウドコンテンツを送信し得る。
【０００６】
[0010]  このように、ここに示された実施形態例は、複数のクラウドサービスからウェブサービスへのクラウドコンテンツの送信を簡易にすることにより、クラウドコンテンツのオンライン共有を単純化する。具体的には、クラウドコンテンツモデルおよびメタデータの使用によって、ユーザーが背後にあるクラウドサービスの詳細に気づかない間に、クラウドコンテンツはウェブサービスに送信され得る。
【０００７】
[0011]  次に、図面を参照すると、図１は、オンライン共有のためのクラウドサービスを統合するためのシステム例のブロック図である。システム例は、例えばノート型コンピュータ、デスクトップコンピュータ、オールインワンシステム、タブレットコンピューティング装置あるいはオンライン共有のためのクラウドサービスを統合するのにふさわしい他の電子機器のようなコンピューティング装置１００としてインプリメントすることができる。図１の実施形態では、コンピューティング装置１００はプロセッサ１１０、インターフェース１１５および機械可読記憶媒体１２０を含む。
【０００８】
[0012]  プロセッサ１１０は、１つ以上の中央処理装置（ＣＰＵ）、マイクロプロセッサおよび／または機械可読記憶媒体１２０に記憶された命令の検索および実行に適している他のハードウェアデバイスであってもよい。下記に述べられるように、プロセッサ１１０は、オンライン共有のためのクラウドサービスの統合を可能にするために命令１２２、１２４、１２６、１２８をフェッチし、デコードし、実行し得る。代替として、あるいは、命令を検索および実行することに加えて、命令１２２、１２４、１２６、１２８の１つ以上の機能を実行するための多くの電子部品を備える１つ以上の電子回路を含んでいてもよい。
【０００９】
[0013]  インターフェース１１５はウェブサービスおよびクラウドサービスと通信するために多くの電子部品を含み得る。例えば、インターフェース１１５は、イーサネット（登録商標）インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、ＩＥＥＥ  １３９４（Ｆｉｒｅｗｉｒｅ）インターフェース、外部のシリアルアドバンストテクノロジーアタッチメント（ｅＳＡＴＡ：external Serial Advanced Technology Attachment）インターフェースあるいはウェブサービスおよびクラウドサービスとの通信に適している他の物理的接続インターフェースであってもよい。あるいは、インターフェース１１５は、無線ローカルエリアネットワーク（ＷＬＡＮ：wireless local area network）インターフェースあるいはニアフィールドコミュニケーション（ＮＦＣ：near-field communication）インターフェースのような無線インターフェースであってもよい。オペレーションにおいては、下記に詳述されるように、インターフェース１１５はクラウドコンテンツ、クラウドコンテンツメタデータおよびクラウドコンテンツ認証などのデータをウェブサービスあるいはクラウドサービスの対応するインターフェース間で受信および送信するために使用され得る。
【００１０】
[0014]  機械可読記憶媒体１２０は、実行可能命令を記憶するあらゆる電子、磁気、光学、あるいは他の物理的な記憶装置であってもよい。したがって、機械可読記憶媒体１２０は、例えばランダムアクセスメモリ（ＲＡＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、記憶ドライブ、光ディスクなどであってもよい。下記に詳述のように、機械可読記憶媒体１２０はオンライン共有のためのクラウドサービスを統合するための実行可能命令でエンコードされていてもよい。
【００１１】
[0015]  ウェブサービスモデリング命令（web service modeling instruction）１２２は、ウェブサービスのためのウェブサービスモデルを管理して得る。ウェブサービスは、ウェブサーバによりネットワーク上でクライアントデバイスに提供されるアプリケーションかサービスであり得る。例えば、ウェブアプリケーションは、コンピューティング装置１００のウェブブラウザにウェブページを供給するためにウェブサーバによって実行され得る。別の例においては、ウェブサービスは、コンピューティング装置１００からのリクエストに応答して機能を提供するためにウェブサーバによって実行され得る。
【００１２】
[0016]  ウェブサービスモデルは、対応するウェブサービスの見込まれるユーザー対話および結果としての出力について記述することができる。具体的には、ウェブサービスモデルは、ユーザーがウェブサービスを依頼（submit）することに応答してユーザー入力（例えば入力テキストボックス、入力ボタン、入力ラジアルボタン（input radial button）、入力ドロップダウン（input drop-down）、依頼ボタン（submit button）など）およびアクション（例えば新しいウェブページへのナビゲーション、スクリプトの実行など）について記述することができる。この場合、ウェブサービスモデリング命令１２２は、ユーザー対話のためのウェブサービスをモニターするために使用されるウェブサービスモデルを得てもよい。例えば、ウェブサービスモデルは、ウェブサービスモデリング命令１２２にユーザーのアップロード入力ボタンとの対話を検知しおよび割込させることができる。この例において、ウェブサービスモデリング命令１２２は、ユーザーによる選択のためクラウドコンテンツのリストをポピュレートするために下記に述べられるようなクラウドコンテンツの検索を開始することができる。
【００１３】
[0017]  クラウドサービスモデリング命令１２４は、クラウドサービスのためのクラウドサービスモデルを管理することができる。クラウドサービスは、インターネットを通じてコンピューティング資源の使用を提供することができる。クラウドサービスの例としては、保管サービス、データベースサービス、ソフトウェアサービスなどが含まれますが、これに制限されることはない。クラウド保管サービスは、クラウド保管サービスを提供するクラウドサーバ上にユーザーがファイルを格納することを可能とし、このファイルはユーザーの異なるコンピューティング装置に遠隔でアクセス可能である。
【００１４】
[0018]  クラウドサービスモデルは対応するクラウドサービスとの対話のための技術について記述し得る。例えば、クラウドサービスモデルは、クラウドサービスによって提供されるアドバンストプログラミングインターフェース（ＡＰＩ：advanced programming interface）について記述することができる。この例において、ＡＰＩはクラウドサービスに格納されたクラウドコンテンツ（例えばファイル、ソフトウェア、データベースレコードなど）を格納しアクセスするために使用されてもよい。クラウドサービスモデリング命令１２４は、ウェブサービスモデリング命令１２２によって検知されたユーザー対話に基づいたクラウドサービスモデルを取得しても良い。例えば、ユーザーのアップロード入力ボタンとの対話が検知された場合、クラウドサービスモデルはユーザーのすべてのクラウド保管サービス（cloud storage service）のために検索されてもよい。
【００１５】
[0019]  クラウドメタデータ取得命令１２６は、クラウドサービスモデルを使用して、クラウドサービスのためにクラウドメタデータ（cloud metadata）を取得することができる。クラウドメタデータは、対応するクラウドサービスによって格納されたクラウドコンテンツについて記述することができる。例えば、クラウドメタデータは、格納されたファイル、およびクラウド保管サービスのディレクトリー構造について記述することができる。この例において、クラウドメタデータはファイル選択ユーザーコントロールを複数のクラウド保管サービスに格納されたファイルでポピュレート（populate）するのに使用されてもよい。さらに、クラウドメタデータは、ユーザー選択に応じて、クラウドコンテンツ送信命令１２８にクラウド保管サービスの１つからファイルを取得させてもよい。
【００１６】
[0020]  クラウドコンテンツ送信命令１２８は、クラウドサービスからクラウドコンテンツを得て、その後、ウェブサービスにクラウドコンテンツを送信することができる。具体的には、クラウドメタデータはクラウドサービスからクラウドコンテンツを得るために使用され得る。その後、ウェブサービスモデルがウェブサービスにクラウドコンテンツを送信するために使用され得る。あらかじめ構成されたモデルが使用されるので、クラウドコンテンツの送信は、ファイル選択ユーザーコントロールからのファイルの選択以外のユーザー対話なしで行なわれる。
【００１７】
[0021]  ユーザーのクラウドサービスは、クラウドメタデータ取得命令１２６およびクラウドコンテンツ送信命令１２８によるアクセスのために、コンピューティング装置１００であらかじめ構成され得る。例えば、ユーザーは、クラウドメタデータ取得命令１２６およびクラウドコンテンツ送信命令１２８が様々なクラウドサービスにアクセスできるよう、様々なクラウドサービスのためのクラウドコンテンツ信用証明書（credential）を供給することができる。別の例において、クラウドサービスは、ユーザーが外部アプリケーションおよびサービスに対してアクセス権を与えることを可能にすることができる。
【００１８】
[0022]  図２は、クラウドサービス２５０Ａ、２５０Ｎおよびウェブサービス２６２とネットワーク２４５を介して通信するコンピューティング装置例２００のブロック図である。図２で示され、下記に述べられるように、コンピューティング装置２００はオンライン共有のためのクラウドサービスを統合するために、クラウドサービス２５０Ａ、２５０Ｎおよびウェブサービス２６０と通信することができる。
【００１９】
[0023]  図示されるように、コンピューティング装置２００は多くのモジュール２０２−２１４を含んでいてもよい。モジュールの各々は、機械可読記憶媒体上でエンコードされ、またコンピューティング装置２００のプロセッサによって実行可能である、一連の命令を含み得る。加えてあるいは代替として、モジュールはそれぞれ、下記に述べられた機能のインプリメントのために電子回路を含む１つ以上のハードウェアデバイスを含んでいてもよい。
【００２０】
[0024]  インターフェースモジュール２０２はクラウドサービス２５０Ａ、２５０Ｎおよびウェブサービス２６０との通信を管理することができる。具体的には、インターフェースモジュール２０２は、クラウドサービス２５０Ａ、２５０Ｎおよびウェブサービス２６０と接続を開始し、次に、クラウドデータをクラウドサービス２５０Ａ、２５０Ｎおよびウェブサービス２６０に送信あるいは受信することができる。
【００２１】
[0025]  ウェブアプリケーション２０４は、ユーザーにクラウドサービス２５０Ａ、２５０Ｎおよびウェブサービス２６０へのアクセスを提供することができる。ウェブアプリケーション２０４のコンポーネントは下記に詳述されているが、ウェブアプリケーション２０４のインプリメンテーション例に関する追加の詳細は、図１のクラウドメタデータ取得命令１２６およびクラウドコンテンツ送信命令１２８と関連して上記されている。
【００２２】
[0026]  ウェブコンテンツモジュール２０６はウェブサービス２６０からウェブコンテンツを取得し表示することができる。例えば、ウェブコンテンツモジュール２０６はウェブサーバからウェブページを取得し、次に、ウェブページをコンピューティング装置２００のユーザーのために表示することができる。ウェブページは、ソーシャルネットワーキング、電子メール、画像共有などといったサービスへのアクセスを提供し得るが、これらには限定されることはない。別の例において、ウェブコンテンツモジュール２０６は、サービスとしてソフトウェアのような機能へのアクセスを得るため、ウェブサービス２６０にアクセスすることができる。
【００２３】
[0027]  拡張モジュール（extension module）２０８は、拡張（extension）がウェブアプリケーション２０４内で実行されることを可能にし得る。拡張は、ウェブアプリケーション２０４の能力（capability）を拡張するサードパーティーの機能であり得る。この場合、拡張は、ウェブコンテンツモジュール２０６によって表示されるすべてのウェブコンテンツへアクセスし得る。拡張モジュール２０８は、ウェブコンテンツとのユーザー対話をモニターするため、ウェブサービスモデリングモジュール２１２から得たウェブサービスモデルを使用し得る。例えば、拡張モジュール２０８は、ユーザー選択の入力ボタンのためのウェブページをモニターすることができる。この例において、入力ボタンのユーザー選択が検知された場合、拡張モジュール２０８は、選択の処理に割込をかけ、選択のためのユーザーコントロール表示クラウドコンテンツを供給し得る。選択のためのクラウドコンテンツは、クラウドサービスモデリングモジュール２１４からのクラウドサービスモデルを使用して決定し得る。
【００２４】
[0028]  拡張モジュール２０８は、さらにクラウドサービスモデルを使用してクラウドサービス（例えば、クラウドサービスＡ  ２５０Ａ、クラウドサービスＮ  ２５０Ｎ）から得られたクラウドメタデータに基づいてクラウドコンテンツを識別しアクセスすることができる。クラウドサービスモデルは、クラウドサービスによって供給されるＡＰＩについて記述することができ、ＡＰＩはクラウドメタデータを取得するために拡張モジュール２０８によって使用される。
【００２５】
[0029]  クラウド管理モジュール２１０は、クラウドサービスモデルおよびウェブサービスモデルを管理する過程を管理し得る。クラウド管理モジュール２１０のコンポーネントは下記に詳述されるが、クラウド管理モジュール２１０のインプリメンテーション例に関する追加の詳細は、図１のウェブサービスモデリング命令１２２およびクラウドサービスモデリング命令１２４に関連して上記されている。
【００２６】
[0030]  ウェブサービスモデリングモジュール２１２は、ウェブサービスのためのウェブサービスモデルを管理することができる。例えば、ウェブサービスモデルは、アニュアルであらかじめ構成され、コンピューティング装置（例えばコンピューティング装置２００）間で共有されることができる。別の例において、ウェブサービスモデルは、ウェブスクレーピング（web scraping）の使用により、あるいは自己記述的なインターフェースを持つウェブサービスのために自動的に生成され得る。さらに別の例において、ウェブコンテンツがユーザーによってアクセスされるとともに、ウェブサービスモデルがリアルタイムで生成され得る。いずれ例においても、ウェブサービスモデルは、ユーザーがウェブサービスを依頼したことに起因するユーザー入力（例えば入力テキストボックス、入力ボタン、入力ラジアルボタン、入力ドロップダウン、依頼ボタンなど）およびアクション（例えば新しいウェブページへのナビゲーション、スクリプトの実行など）について記述し得る。ウェブサービスモデリングモジュール２１２はウェブサービスモデルをウェブサービスデータ２２２として格納し得る。
【００２７】
[0031]  クラウドサービスモデリングモジュール２１４は、クラウドサービスのためのクラウドサービスモデルを管理し得る。例えば、クラウドサービスモデルは対応するクラウドサービスによって提供されるＡＰＩに基づいて生成され得る。この例において、クラウドサービスモデルは、クラウドサービスによって管理されたクラウドコンテンツへのアクセスを供給するＡＰＩの機能について記述することができる。クラウドサービスモデルはクラウドサービスからクラウドコンテンツおよび対応するメタデータを取得するために使用され得る。クラウドサービスモデリングモジュール２１４はクラウドサービスモデルをクラウドサービスデータ２２４とともに格納し得る。
【００２８】
[0032]  図示されるように、コンピューティング装置２００は多くのクラウドサービス（例えば、クラウドサービス  Ａ  ２５０Ａ、クラウドサービス  Ｎ  ２５０Ｎ）と対話し得る。クラウドサービス（例えば、クラウドサービス  Ａ  ２５０Ａ、クラウドサービス  Ｎ  ２５０Ｎ）の各々は、コンピューティング装置２００にアクセス可能な異なるセットのクラウドコンテンツを管理し得る。さらに、クラウドサービス（例えば、クラウドサービス  Ａ  ２５０Ａ、クラウドサービス  Ｎ  ２５０Ｎ）は、ファイル、ソーシャルネットワーキングコンテンツ、ソフトウェアサービスなどを含み、これらに限定されない様々なタイプのクラウドコンテンツを管理し得る。クラウドサービス（例えば、クラウドサービス  Ａ  ２５０Ａ、クラウドサービス  Ｎ  ２５０Ｎ）の各々は、アドバンストプログラミングインターフェース（ＡＰＩ）（例えば、ＡＰＩ  Ａ  ２５２Ａ、  ＡＰＩ  Ｎ  ２５２Ｎ）を含み得る。上に議論されるように、ＡＰＩ（例えば、ＡＰＩ  Ａ  ２５２Ａ、  ＡＰＩ  Ｎ  ２５２Ｎ）は、コンピューティング装置２００に、対応するクラウドサービス（例えば、クラウドサービス  Ａ  ２５０Ａ、クラウドサービス  Ｎ  ２５０Ｎ）によって管理されたクラウドコンテンツへのアクセスを提供し得る。クラウドサービス（例えば、クラウドサービス  Ａ  ２５０Ａ、クラウドサービス  Ｎ  ２５０Ｎ）の各々は、サーバーコンピューティング装置（図示せず）によって提供され得る。
【００２９】
[0033]  ウェブサービス２６０は、ネットワーク２４５上でウェブサーバ（図示せず）によってコンピューティング装置２００に供給されるアプリケーションあるいはサービスであってもよい。例えば、ウェブサービス２６０はコンピューティング装置２００にウェブページを提供するアプリケーションであってもよい。ウェブサービス２６０はコンピューティング装置２００からの要求を受信し、処理するためのウェブインターフェース２６２を含んでいてもよい。この例において、ウェブインターフェース２６２は、ウェブページがユーザーリクエストに応じてダイナミックに修正されたところの、ウェブページとのユーザー対話に基づいて生成されたユーザーリクエストを受信することができる。
【００３０】
[0034]  記憶装置２２０は、コンピューティング装置２００にアクセス可能なデータを維持するための任意のハードウェア記憶装置であってもよい。例えば、記憶装置２２０は１つ以上のハードディスクドライブ、ソリッドステートドライブ、テープ駆動機構および／または他の記憶デバイスを含んでいてもよい。記憶デバイスは、コンピューティング装置２００および／またはコンピューティング装置２００と通信する別の装置に位置し得る。上に詳述されるように、記憶装置２２０はウェブサービスデータ２２２およびクラウドサービスデータ２２４を維持し得る。
【００３１】
[0035]  図３は、オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置１００により実行される方法の例３００のフローチャートである。方法３００の実行は図１のコンピューティング装置１００を参照し下記に述べられているが、図２のコンピューティング装置２００など、方法３００の実行にふさわしい他の装置を使用することができる。方法３００は、記憶媒体１２０のような機械可読記憶媒体上に記憶された実行可能命令の形式および／または電子回路の形式でインプリメントされ得る。
【００３２】
[0036]  方法３００はブロック３０５で開始しブロック３１０へと続き得る。ここでは、コンピューティング装置１００がユーザーのウェブサービスとの対話を検知するためにウェブサービスモデルを使用することができる。例えば、ウェブサービスモデルは、ウェブサービスによって供給されるウェブページのユーザー入力（例えば入力ボタン、ラジアルボタン、入力テキストボックスなど）について記述することができる。この例において、検知されたユーザー対話は入力ボタンのユーザー選択であってもよい。ユーザー対話の検知に応答して、下記のステップが行なわれるように、ウェブページの処理は割込をかけられ得る。
【００３３】
[0037]  ブロック３１５では、クラウドサービスのためのクラウドサービスモデルは検知されたユーザー対話に基づいて得られる。例えば、ユーザー対話がアップロード入力ボタンの選択である場合、クラウドサービスモデルはユーザーのすべての既知のクラウド保管サービスに対して得られてもよい。クラウドサービスモデルは、それぞれのクラウドサービスからクラウドコンテンツメタデータおよびクラウドコンテンツを得るためにＡＰＩについて記述することができる。次に、ブロック３２０では、クラウドコンテンツメタデータはクラウドサービスモデルを使用して、クラウドサービスから得られる。クラウドコンテンツメタデータは、クラウドサービスによって格納されたクラウドコンテンツについて記述することができる。この例において、クラウドコンテンツメタデータはクラウド保管サービスに格納されたクラウドファイルのファイル説明、ファイルロケーション、ファイルサイズなどを含んでもよい。
【００３４】
[0038]  ブロック３２５では、クラウドコンテンツはクラウドサービスメタデータを使用して、クラウドサービスからウェブサービスに送信され得る。例えば、ユーザーがクラウド保管サービスに格納されたクラウドファイルのリストからクラウドファイルを選択することに応答して、クラウドコンテンツメタデータは、クラウドファイルのロケーションを決定し、コンピューティング装置１００上のローカルのバッファーにクラウドファイルをダウンロードし、次に、ウェブサービスにクラウドファイルをアップロードするために使用されてもよい。その後、方法３００はブロック３３０へと続き、終了し得る。
【００３５】
[0039]  図４は、オンライン共有のためのクラウドサービスを統合するためのコンピューティング装置２００により実行される方法の例４００のフローチャートである。方法４００の実行は図２のコンピューティング装置２００を参照して下記に述べられるが、図１のコンピューティング装置１００のように方法４００の実行にふさわしい他の装置が使用されてもよい。方法４００は、機械可読記憶媒体上に記憶された実行可能命令の形式および／または電子回路の形式で実現され得る。
【００３６】
[0040]  方法４００はブロック４０５で開始しブロック４１０へと続き得る。ここで、コンピューティング装置２００はユーザーによって現在アクセスされているウェブサービスに対するウェブサービスモデルを取得し得る。ブロック４１５では、コンピューティング装置２００は、ウェブサービスとのユーザー対話があるかどうか判断する。ユーザー対話がない場合、方法４００は停止し得る。ユーザー対話（例えば、入力ボタンの選択）がある場合、ブロック４２０において、ユーザー対話に基づいて、ユーザーの既知クラウドサービスに対するクラウドサービスモデルが取得され得る。クラウドサービスは、ブロック４１５で検知されたユーザー対話と関係のあるクラウドコンテンツを管理し得る。例えば、ユーザーがアップロードファイルボタンを選択したならば、クラウドサービスはクラウド保管サービスであり得る。別の例において、ユーザーがシェアボタンを選択したならば、クラウドサービスはクラウドソーシャルサービスであり得る。
【００３７】
[0041]  ブロック４２５では、クラウドコンテンツメタデータ（cloud content metadata）はクラウドサービスモデルを使用して得られる。クラウドコンテンツメタデータは、ユーザーのためにクラウドサービスに格納されたクラウドコンテンツについて記述することができる。ブロック４３０では、コンピューティング装置２００は、ユーザーのために表示されたクラウドコンテンツのリストからユーザーがクラウドコンテンツを選んだかどうか判断する。クラウドコンテンツのリストはクラウドコンテンツメタデータに基づいて生成され得る。ユーザーがクラウドコンテンツの選択をしなければ、方法４００は終了してよい。
【００３８】
[0042]  ユーザーがクラウドコンテンツの選択をすれば、コンピューティング装置２００はブロック４３５において対応するクラウドサービスからユーザーによって選ばれたクラウドコンテンツを得る。この例において、選択されたクラウドコンテンツはクラウド保管サービスに格納されたクラウドファイルであってもよい。その後、得られたクラウドコンテンツは、コンピューティング装置２００のローカルのバッファーに格納され得る。次に、ブロック４４０では、クラウドコンテンツは、ウェブ対話を完成するためにユーザーによって現在アクセスされているウェブサービスに送信されてもよい。例えば、クラウドファイルは、ブロック４１５で検知されたアップロードファイルボタンの選択によって始められたファイルアップロードを完成するために、ウェブサービスに供給され得る。方法４００は続いてブロック４４５に進み、終了し得る。
【００３９】
[0043]  図５Ａ−５Ｂは、ウェブコンテンツを含むパネル５３０が表示されたウェブアプリケーションのユーザーインターフェースの例５００を示す。図示されるように、ユーザーインターフェース５００はウェブコンテンツを識別するタイトルバー５０５、およびユーザーがアプリケーションを終了するために使用し得るクローズアイコン（close icon）５１０を含んでいる。ユーザーインターフェース５００はさらにナビゲーションコンポーネント：バックボタン５１５、フォワードボタン５２０およびウェブ・アドレス入力テキストボックス５２５を含む。
【００４０】
[0044]  ユーザーインターフェース５００は、パネル５３０中にウェブサービスによって提供されるウェブページを出力している。図５Ａでは、アップロードファイルボタン５３５がウェブページ中に示される。ユーザーがアップロードファイルボタン５３５を選択することに応答して、図５Ｂ中に示されるようなファイル選択ダイアログ５４０が表示される。ファイル選択ダイアログ５４０はユーザーによる選択のため、複数のクラウドサービスからのクラウドコンテンツ（例えば、クラウドコンテンツ  Ａ  ５４５、クラウドコンテンツ  Ｂ  ５５０およびクラウドコンテンツ  Ｎ  ５５５）をリストする。ファイル選択ダイアログ５４０は、ウェブアプリケーションの拡張によって供給され得る。ここで、カスタム選択ファイルダイアログ５４０を表示するために、拡張はユーザーのアップロードファイルボタン５３５の選択に割込をかける。場合によっては、ファイル選択ダイアログ５４０におけるクラウドコンテンツのリストは、クラウドコンテンツを管理するもともとのクラウドサービスに基づいてグループ化され得る。
【００４１】
[0045]  先の開示は、コンピューティング装置によるオンライン共有のためのクラウドサービスの統合のためにいくつかの実施形態の例について記述する。このように、ここに開示された実施形態は、ウェブサービスに提供するために複数のクラウドサービスからクラウドコンテンツを取得するために、クラウドサービスモデルを使用することによって、オンライン共有のためのクラウドサービスの統合を可能にする。
【図１】
2016520900.tif 000003
【図２】
2016520900.tif 000004
【図３】
2016520900.tif 000005
【図４】
2016520900.tif 000006
【図５Ａ】
2016520900.tif 000007
【図５Ｂ】
2016520900.tif 000008
【国際調査報告】
2016520900.tif 000009
2016520900.tif 000010