(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】2019523956
(43)【公表日】20190829
(54)【発明の名称】アプリケーション間のデータ共有方法及びウェブブラウザ
(51)【国際特許分類】
   G06F 16/176 20190101AFI20190802BHJP
【FI】
   !G06F16/176
【審査請求】未請求
【予備審査請求】未請求
【全頁数】17
(21)【出願番号】2019517131
(86)(22)【出願日】20170601
(85)【翻訳文提出日】20190212
(86)【国際出願番号】CN2017086819
(87)【国際公開番号】WO2017215448
(87)【国際公開日】20171221
(31)【優先権主張番号】201610407818.4
(32)【優先日】20160612
(33)【優先権主張国】CN
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ
(71)【出願人】
【識別番号】505032849
【氏名又は名称】アリババ グループ ホウルディング リミテッド
【住所又は居所】英国領ケイマン諸島 グランド ケイマン ジョージ タウン ピーオーボックス 847 ワン キャピタル プレイス フォース フロア
(74)【代理人】
【識別番号】100097320
【弁理士】
【氏名又は名称】宮川 貞二
(74)【代理人】
【識別番号】100215049
【弁理士】
【氏名又は名称】石川 貴志
(74)【代理人】
【識別番号】100131820
【弁理士】
【氏名又は名称】金井 俊幸
(74)【代理人】
【識別番号】100155192
【弁理士】
【氏名又は名称】金子 美代子
(74)【代理人】
【識別番号】100100398
【弁理士】
【氏名又は名称】柴田 茂夫
(72)【発明者】
【氏名】ウー,ジェンレイ
【住所又は居所】中華人民共和国,浙江省 311121,ハンヂョウ,ユ ハンディストリクト,ウェスト ウェン イー ロード ナンバー 969,ビルディング 3,5/エフ,アリババ グループ リーガル デパートメント
(57)【要約】
本願はデータ共有技術の分野に関し、特に、アプリケーション間のデータ共有方法及びウェブブラウザに関する。アプリケーション間のデータ共有方法において、第1のアプリケーションが、第1のアプリケーションが位置するモバイルデバイス上のウェブブラウザを用いてウェブページにアクセスしてウェブページにデータを書き込む際に、ウェブサーバは、モバイルデバイス上のウェブページに対応する共有格納領域にデータを格納するようウェブブラウザに指示し、モバイルデバイス上の第2のアプリケーションがウェブブラウザを用いてウェブページにアクセスする際に、ウェブブラウザは共有格納領域からデータを読み出して第2のアプリケーションへ送ることができるため、同一のモバイルデバイス上にある任意の2つのアプリケーション間でのデータ共有を都合よく実施できる。
【特許請求の範囲】
【請求項1】
アプリケーション間のデータ共有方法であって:
ウェブブラウザと同一のモバイルデバイス上に位置する第1のアプリケーションによって送信されたデータ書き込み要求を、前記ウェブブラウザにより受信するステップであって、前記データ書き込み要求は、データの書き込み先であるウェブページのアドレス情報と書き込まれるデータとを含む、ステップと;
前記データ書き込み要求をウェブサーバへ送信し、前記ウェブサーバが前記データ書き込み要求に基づき前記ウェブブラウザ上の前記アドレス情報に対応する前記ウェブページを生成し前記ウェブページに前記データを書き込んだ後に送信される指示メッセージを受信するステップと;
前記指示メッセージに基づき、前記モバイルデバイス上の前記ウェブページに対応する共有格納領域に前記データを格納するステップと;
前記モバイルデバイス上の第2のアプリケーションによって送信された、前記ウェブページにアクセスするためのアクセス要求を受信するステップと;
前記アクセス要求に基づき前記共有格納領域から前記データを読み出し、前記データを前記第2のアプリケーションへ送信するステップと;を備える、
アプリケーション間のデータ共有方法。
【請求項2】
ウェブコントローラであるSFSafariViewControllerのクラスのインスタンスを作成することにより、前記第1のアプリケーションは、前記データ書き込み要求を前記ウェブブラウザへ送信する、
請求項1に記載のデータ共有方法。
【請求項3】
前記モバイルデバイス上の前記ウェブページに対応する共有格納領域に、前記ウェブブラウザによって、前記データを格納する前記ステップの前に:
前記ウェブページの前記アドレス情報を解析して前記ウェブページのドメイン名を取得するステップと;
前記ドメイン名に基づき、前記モバイルデバイス上の前記ウェブページに対応する前記共有格納領域を特定するステップと;を備える、
請求項1又は請求項2に記載のデータ共有方法。
【請求項4】
前記ドメイン名に基づき、前記モバイルデバイス上の前記ウェブページに対応する前記共有格納領域を特定する前記ステップは:
前記ドメイン名に基づき、前記モバイルデバイス上の前記ウェブページに対応するCookieエントリを特定するステップを備え、
前記モバイルデバイス上の前記ウェブページに対応する共有格納領域に、前記ウェブブラウザによって、前記データを格納する前記ステップは:
前記データを、前記Cookieエントリに、前記ウェブブラウザによって格納するステップを備える、
請求項3に記載のデータ共有方法。
【請求項5】
前記アクセス要求は前記アドレス情報を備え;
前記アクセス要求に基づき前記共有格納領域から前記データを読み出すことは:
前記アドレス情報を解析して前記ウェブページの前記ドメイン名を取得するステップと;
前記ウェブページの前記ドメイン名に基づいて前記ウェブページに対応する前記Cookieエントリを前記モバイルデバイス内で検索するステップと;
前記Cookieエントリから前記データを読み出すステップと;を備える、
請求項1乃至請求項4のいずれか1項に記載のデータ共有方法。
【請求項6】
ウェブブラウザであって:
前記ウェブブラウザと同一のモバイルデバイス上に位置する第1のアプリケーションによって送信されたデータ書き込み要求を受信するよう構成された受信部であって、前記データ書き込み要求は、前記データの書き込み先であるウェブページのアドレス情報と書き込むデータとを含む、前記受信部と;
前記受信部により受信された前記データ書き込み要求を、ウェブサーバへ送信するよう構成された送信部であって、ここで、前記受信部は、前記ウェブサーバが前記データ書き込み要求に基づき前記ウェブブラウザ上の前記アドレス情報に対応する前記ウェブページを生成し前記ウェブページに前記データを書き込んだ後に送信される指示メッセージを受信するよう更に構成された、前記送信部と;
前記受信部により受信された前記指示メッセージに基づき、前記モバイルデバイス上の前記ウェブページに対応する共有格納領域に前記データを格納するよう構成された格納部であって、ここで、前記受信部は、前記モバイルデバイス上の第2のアプリケーションによって送信された前記ウェブページにアクセスするためのアクセス要求を受信するよう更に構成された、前記格納部と;
前記受信部により受信された前記アクセス要求に基づき前記共有格納領域から前記データを読み出すよう構成された読み出し部であって、ここで、前記送信部は、前記読み出し部により読み出された前記データを前記第2のアプリケーションへ送信するよう更に構成された、前記読み出し部と;を備える、
ウェブブラウザ。
【請求項7】
前記第1のアプリケーションは、ウェブコントローラであるSFSafariViewControllerのクラスのインスタンスを作成することにより、前記データ書き込み要求を前記ウェブブラウザへ送信する、
請求項6に記載のウェブブラウザ。
【請求項8】
前記ウェブページの前記アドレス情報を解析して前記ウェブページのドメイン名を取得するよう構成された解析部と;
前記解析部により取得された前記ドメイン名に基づき、前記モバイルデバイスの前記ウェブページに対応する前記共有格納領域を特定するよう構成された特定部と;を更に備える、
請求項6又は請求項7に記載のウェブブラウザ。
【請求項9】
前記特定部は:
前記ドメイン名に基づき前記モバイルデバイス上の前記ウェブページに対応するCookieエントリを特定するよう構成され;
前記格納部は:
前記データを前記Cookieエントリ内に格納するよう構成される、
請求項8に記載のウェブブラウザ。
【請求項10】
前記アクセス要求は前記アドレス情報を備え;
前記読み出し部は:
前記アドレス情報を解析して前記ウェブページの前記ドメイン名を取得し;
前記ウェブページの前記ドメイン名に基づいて前記ウェブページに対応する前記Cookieエントリを前記モバイルデバイス内で検索し;
前記Cookieエントリから前記データを読み出す;よう構成される、
請求項6乃至請求項9のいずれか1項に記載のウェブブラウザ。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2016年6月12日出願の「アプリケーション間のデータ共有方法及びウェブブラウザ」と題する中国特許出願第201610407818.4号に対する優先権を主張し、その全体を参照により本明細書に組み込む。
【0002】
本願はデータ共有技術の分野に関し、特に、アプリケーション間のデータ共有方法及びウェブブラウザに関する。
【背景技術】
【0003】
従来技術において、データ共有は、モバイルデバイス上で同一のグループに属するとみなされるアプリケーション間のみで可能である。例えば、同じ開発者による複数のアプリケーション(例えばWeChat(ウィチャット)とQQ(キューキュー)等)は、iOSオペレーティングシステムを用いるモバイルデバイス上の一つのグループとして分類され、この複数のアプリケーション間でのみデータ共有が可能である。つまり、従来技術におけるデータ共有アプリケーションには制限がある。したがって、同一のモバイルデバイス上の任意の2つのアプリケーション間でデータ共有を実施するには、アプリケーション間のデータ共有方法が提供される必要がある。
【発明の概要】
【0004】
本願は、同一のモバイルデバイス上の任意の2つのアプリケーション間のデータ共有を実施するための、アプリケーション間のデータ共有方法について記載する。
【0005】
第1の態様において、アプリケーション間のデータ共有方法を提供し、この方法は:ウェブサーバにより、第1のアプリケーションが配置されているモバイルデバイスのウェブブラウザを使用して、第1のアプリケーションによって送信されたデータ書き込み要求を受信するステップであって、前記データ書き込み要求は、データの書き込み先であるウェブページのアドレス情報と書き込まれるデータとを含む、ステップと;前記アドレス情報に対応するウェブページに前記データを書き込み、前記モバイルデバイス上の前記ウェブページに対応する共有格納領域に前記データを格納するようにウェブブラウザに指示するステップと;前記ウェブブラウザを使用することによって、前記モバイルデバイス上の第2のアプリケーションによって送信されたウェブページにアクセスするためのアクセス要求を受信するステップと;前記アクセス要求に基づき前記共有格納領域から前記データを読み出し、前記データを前記第2のアプリケーションへ送信するステップと;を含む。
【0006】
第2の態様において、ウェブブラウザを提供し、このウェブブラウザは:前記ウェブブラウザと同一のモバイルデバイス上に位置する第1のアプリケーションによって送信されたデータ書き込み要求を受信するよう構成された受信部であって、前記データ書き込み要求は、前記データの書き込み先であるウェブページのアドレス情報と書き込むデータとを含む、前記受信部と;前記受信部により受信された前記データ書き込み要求を、ウェブサーバへ送信するよう構成された送信部であって、ここで、前記受信部は、前記ウェブサーバが前記データ書き込み要求に基づき前記ウェブブラウザ上の前記アドレス情報に対応する前記ウェブページを生成し前記ウェブページに前記データを書き込んだ後に送信される指示メッセージを受信するよう更に構成された、前記送信部と;前記受信部により受信された前記指示メッセージに基づき、前記モバイルデバイス上の前記ウェブページに対応する共有格納領域に前記データを格納するよう構成された格納部であって、ここで、前記受信部は、前記モバイルデバイス上の第2のアプリケーションによって送信された前記ウェブページにアクセスするためのアクセス要求を受信するよう更に構成された、前記格納部と;前記受信部により受信された前記アクセス要求に基づき前記共有格納領域から前記データを読み出すよう構成された読み出し部であって、ここで、前記送信部は、前記読み出し部により読み出された前記データを前記第2のアプリケーションへ送信するよう更に構成された、前記読み出し部と;を含む。
【0007】
本願が提供する、アプリケーション間のデータ共有方法及びウェブブラウザによれば、第1のアプリケーションが、第1のアプリケーションが位置するモバイルデバイス上のウェブブラウザを用いてウェブページにアクセスし、ウェブページにデータを書き込む際に、ウェブサーバは、モバイルデバイス上のウェブページに対応する共有格納領域にデータを格納するようウェブブラウザに指示し、モバイルデバイス上の第2のアプリケーションがウェブブラウザを用いてウェブページにアクセスする際に、ウェブブラウザは共有格納領域からデータを読み出し、このデータを第2のアプリケーションへ送ることができ、それによって同一のモバイルデバイス上にある任意の2つのアプリケーション間でのデータ共有を都合よく実施できる。
【図面の簡単な説明】
【0008】
本願の実施における技術的解決策をより明解に説明するため、実施の説明で必要な添付の図面について以下に簡単に説明する。以下の説明において、添付の図面は本願の実施の一部を示すに過ぎず、当業者であれば創造的な工夫をすることなく、添付の図面から他の図面を想到することができることは明白である。
【0009】
【図1】図1は、本願に係るアプリケーション間のデータ共有方法のアプリケーションシナリオを示す概要図である。
【0010】
【図2】図2は、本願の実施に係るアプリケーション間のデータ共有方法を示すフローチャートである。
【0011】
【図3】図3は、本願の別の実施に係るアプリケーション間のデータ共有方法を示す、インタラクションの概略図である。
【0012】
【図4】図4は、本願の更に別の実施に係るウェブブラウザを示す概略図である。
【発明を実施するための形態】
【0013】
本願の実施を、添付の図面を参照して以下説明する。
【0014】
本願の実施において提供されるアプリケーション間のデータ共有方法は、同一のモバイルデバイス上にある任意の2つのアプリケーション間でのデータ共有に適用できる。ここでモバイルデバイスとしては、携帯電話、モバイルコンピュータ、タブレットコンピュータ、携帯情報端末(Personal Digital Assistant、PDA)等があるが、これらに限定されない。また、モバイルデバイスには、iOS9.0以降のオペレーティングシステムを使用できる。更に、共有データは、ログイン認証情報(ユーザ名又はユーザID等)及びアプリケーションのインタラクション・データ等を含んでもよい。
【0015】
図1は、本願に係るアプリケーション間のデータ共有方法のアプリケーションシナリオを示す概要図である。図1において、アプリケーションAを、ウェブページにデータを書き込む第1のアプリケーションと呼び、アプリケーションBを、ウェブページからデータを読み出す第2のアプリケーションと呼ぶ。図1において、アプリケーションA及びアプリケーションBは同一のモバイルデバイスにインストールされており、モバイルデバイスにはウェブブラウザ(例えば、Safari(登録商標)等)が内蔵されている。特筆すべきは、アプリケーションAが位置するモバイルデバイスの内蔵ウェブブラウザを用いてアプリケーションAがウェブページにアクセスする際に、アプリケーションAがウェブページにデータを書き込むと、書き込まれたデータをウェブブラウザがモバイルデバイス上のウェブページに対応する共有格納領域に格納し、別のアプリケーション(例えば、アプリケーションB等)がモバイルデバイスの内蔵ウェブブラウザを用いてウェブページにアクセスする際に、ウェブブラウザはウェブページに対応する共通格納領域からデータを、直接、読み出すことができ、読み出されたデータをアプリケーションBへ送信することで同一のモバイルデバイス上の任意の2つのアプリケーション間でデータ共有を実施できる、ということである。
【0016】
図1は、単に、2つのアプリケーション間のデータ共有の方法を示している。実際には、モバイルデバイスの別のアプリケーション(例えば、アプリケーションC等)がモバイルデバイスの内蔵ウェブブラウザを用いて前述のウェブページにアクセスする場合も、ウェブブラウザは共有格納領域からデータを読み出すことができる。すなわち、複数のアプリケーション間でデータを共有できる。本願はこの実施に限定されない。
【0017】
図2は、本願の実施に係るアプリケーション間のデータ共有方法を示すフローチャートである。この方法はウェブブラウザにより実行できる。図2に示すように、この方法は以下のステップを含むことができる。
【0018】
ステップ210:ウェブブラウザが、ウェブブラウザと同一のモバイルデバイス上に位置する第1のアプリケーションにより送信されるデータ書き込み要求を受信する。
【0019】
データ書き込み要求は、そのデータの書き込み先であるウェブページのアドレス情報(例えば、統一資源位置指定子(Uniform Resource Locator、URL)等)及び書き込むデータを含んでもよい。第1のアプリケーション及びウェブブラウザは同一のモバイルデバイス上にインストールされる。例えば、データの書き込み先である前述のウェブページのアドレス情報とは、http://host.name/path/to/page等であってよい。
【0020】
オプションではあるが、第1のアプリケーションは、ウェブコントローラ(SFSafariViewController)のクラスのインスタンスを作成することにより、データ書き込み要求をウェブブラウザへ送信できる。SFSafariViewControllerのクラスとは、iOS9.0以降のオペレーティングシステムによって提供されるクラスであり、高次の共有機能(例えば、共有コンテンツのインターセプト及びパスワード入力等)を有する複数のアプリケーションを提供できる。
【0021】
具体的な実施において、第1のアプリケーションは、下記コードを用いて、前述の実施例のウェブページに対してSFSafariViewControllerのクラスのインスタンスを作成できる。
using SafariServices;
...
var vc = new SFSafariViewController("http://host.name/path/to/page");
PresentViewControllerAsync (vc, true).
【0022】
前述のコードを実行した後、第1のアプリケーションはデータ書き込み要求を第1のアプリケーションが位置するモバイルデバイスのウェブブラウザへ送信できる。
【0023】
ステップ220:データ書き込み要求をウェブサーバへ送信し、ウェブサーバがデータ書き込み要求に基づきウェブブラウザ上のアドレス情報に対応するウェブページを生成し、ウェブページにデータを書き込んだ後に送信される指示(命令)メッセージを受信する。
【0024】
ウェブブラウザが、第1のアプリケーションが送信したデータ書き込み要求の受信後にデータ書き込み要求をウェブサーバへ送信することにより、ウェブサーバは、データの書き込み先であるウェブページのデータ書き込み要求に基づくウェブブラウザ内におけるレンダリングによりデータを生成し、ウェブページにデータを書き込む。ウェブサーバは、ウェブサーバがデータをウェブページに書き込んだ後に指示メッセージをウェブブラウザへ送信できる。
【0025】
ステップ230:指示メッセージに基づき、モバイルデバイス上のウェブページに対応する共有格納領域にデータを格納する。
【0026】
ウェブブラウザは、受信した指示メッセージに基づき、モバイルデバイス上のウェブページに対応する共有格納領域に、先に述べたデータを格納できる。例えば、ここで共有格納領域は、ウェブサーバがモバイルデバイス上で予め生成したCookieエントリ(クッキー入力)であってもよく、Cookieエントリの場所は、初期設定ではルートディレクトリである。
【0027】
オプションではあるが、共有格納領域がCookieエントリである場合、本願のこの実施は、Cookieエントリを特定するステップを更に含むことができる。指示メッセージの受信後、ウェブブラウザはウェブページのアドレス情報を解析してウェブページのドメイン名を取得してもよい。例えば、前述の実施例のウェブページのアドレス情報である「http://host.name/path/to/page」を解析した後に取得されるウェブページのドメイン名は「host.name」である。ここで、ウェブページのドメイン名をウェブページのアドレス情報から取得することは、従来からある一般的技術である。本願においては詳細を省略する。ウェブページのドメイン名の取得後、ウェブページのドメイン名に基づいて、対応するCookieエントリを特定でき、データをCookieエントリに書き込むことができる。
【0028】
当然ながら、実際には、ウェブサーバにより複数のCookieエントリを、モバイルデバイス上で予め生成できる。つまり、複数のCookieエントリを、ウェブページのドメイン名に基づき特定可能な場合、複数のCookieエントリをkey値ペアの形で格納できる。具体的には、ウェブサーバが各Cookieエントリに対して固有の名前(key、キー)を割り当てることにより、複数のCookieエントリを特定の順序で並べることができる。このため、ウェブブラウザがウェブサーバに要求すると、ウェブサーバは、Cookieエントリにデータを書き込むようウェブブラウザに指示できる。つまり、指示メッセージを送信する際は、ウェブサーバが、ウェブブラウザによって現在書き込まれようとしているCookieエントリのkeyを示し、ウェブブラウザは、そのkeyに対応するCookieエントリにデータを書き込む。データの書き込み後、書き込まれたデータを含むCookieエントリのkeyをウェブサーバがオブジェクト(例えば、アプリケーションA等)へ送信し、オブジェクトがデータをウェブページに書き込めることが理解されよう。
【0029】
図1を例にとる。アプリケーションAによってウェブページに書き込まれるデータが、複数のCookieエントリとして格納されていると仮定する。アプリケーションAは、複数のCookieエントリのkeyをウェブサーバとのインタラクション(対話、相互作用)によって取得できる。しかし、アプリケーションAとアプリケーションBとの間でデータを共有する必要がある場合、アプリケーションA及びアプリケーションBが、双方が使用に合意したkeyを用いて同一のCookieエントリ内のデータを取得できる。
【0030】
ステップ240:モバイルデバイス上の第2のアプリケーションにより送信された、ウェブページにアクセスするためのアクセス要求を受信する。
【0031】
ここで、アクセス要求はデータ読み出し要求であってもよい、また、アクセス要求はウェブページのアドレス情報を含んでもよい。ここで、第2のアプリケーションは、モバイルデバイス上にある第1のアプリケーション以外のいずれのアプリケーションであってもよい。
【0032】
ステップ250:アクセス要求に基づいて、共有格納領域からデータを読み出し、そのデータを第2のアプリケーションへ送信する。
【0033】
第2のアプリケーションが、モバイルデバイス上のウェブブラウザを用いてウェブページにアクセスすると、すなわち、ウェブブラウザが、第2のアプリケーションによって送信されたウェブページにアクセスするためのアクセス要求を受信すると、ウェブブラウザはアクセス要求中のアドレス情報を解析してウェブページのドメイン名を取得でき、その後、ウェブページのドメイン名に基づいて、ウェブページに対応するCookieエントリをモバイルデバイス内で検索し、読み出されたデータを最終的に第2のアプリケーションへ送信することにより、同一のモバイルデバイス上の異なるアプリケーション間でデータ共有を実施できる。
【0034】
第2のアプリケーションによってウェブブラウザへアクセス要求を送付する方法が、第1のアプリケーションによってデータ書き込み要求をウェブブラウザへ送信する方法と同じであることは特に留意すべき事項である。簡素化のためその詳細は省略する。
【0035】
モバイルデバイスのウェブページに対応する複数のCookieエントリが存在する場合、つまり、複数のCookieエントリを、ウェブページのドメイン名に基づき特定可能な場合、第2のアプリケーションは、Cookieエントリの一部からデータを読み出す必要があれば、第2のアプリケーションは第1のアプリケーションとの間で合意された名前を用いてCookieエントリの一部のkeyを特定でき、その後、特定されたkeyに基づきCookieエントリの一部を検索してCookieエントリからデータを読み出すための、又は、Cookieエントリの一部を読み出すためのシーケンスについて交渉できる(例えば、必ず1番目のCookieエントリ内のデータを読み出すことに合意する等)。
【0036】
第2のアプリケーションがCookieの名前(key)を用いてCookieエントリを読み出す場合の実施コードは以下であってもよい:
function getCookie(name) {
var allCookies = ";" + document.cookie;
var parts = allCookies.split(";" + name + "=");
if (parts.length = 2) returnparts.pop().split(";").shift();
}
getCookie("key").
【0037】
従来技術では、第1のアプリケーションは、通常、第1のアプリケーションが位置するモバイルデバイスのウェブブラウザを用いてウェブページにアクセスするのではなく、アクセスするウェブページを、直接開くことは特に留意すべき事項である。第1のアプリケーションが、アクセスするウェブページを直接開く場合、第1のアプリケーションがウェブページにデータを書き込むと、ウェブサーバは書き込まれたデータを第1のアプリケーションに対応する仮想格納領域(例えばサンドボックス(Sandbox)等)に記録するよう第1のアプリケーションに指示する。別のアプリケーションは、仮想格納領域内のデータを直接に読み出せないため、次回、ウェブページを訪れる際に、第1のアプリケーションがデータを読み出す必要がある。つまり、アプリケーション間でデータを共有できない。本願は、第1のアプリケーションがウェブブラウザを用いてウェブページにアクセスするため、第1のアプリケーションがウェブページにデータを書き込む際に、ウェブサーバはウェブブラウザがデータを読み出し/書き込むことのできる格納領域にデータを格納するようウェブブラウザに指示する。ウェブブラウザを用いて別のアプリケーションがウェブページにアクセスした場合、ウェブブラウザは、前述の格納領域から、格納されたデータを、直接、読み出し、データを第2のアプリケーションへ送信することにより、同一のモバイルデバイス上の任意の2つのアプリケーション間でのデータ共有を実施できる。
【0038】
図3は、本願の別の実施に係るアプリケーション間のデータ共有方法を示すインタラクションの概略図である。図3に示すように、この方法は以下のステップを含むことができる。
【0039】
ステップ310:第1のアプリケーションが、データ書き込み要求をウェブブラウザへ送信する。
【0040】
データ書き込み要求には、そのデータの書き込み先であるウェブページのアドレス情報及び書き込むデータを含んでもよい。
【0041】
ステップ320:ウェブブラウザが、データ書き込み要求をウェブサーバへ転送する。
【0042】
ステップ330:ウェブサーバが、ウェブブラウザ上のアドレス情報に対応するウェブページを生成し、ウェブページにデータを書き込む。
【0043】
ステップ340:ウェブサーバが、ウェブブラウザへ、指示メッセージを送信する。
【0044】
ステップ350:ウェブブラウザが、ウェブページのアドレス情報を解析(パース)してウェブページのドメイン名を取得する。
【0045】
ステップ360:ウェブブラウザが、ウェブページのドメイン名に基づき、モバイルデバイス上のウェブページに対応するCookieエントリを特定する。
【0046】
ステップ370:ウェブブラウザが、データをCookieエントリに書き込む。
【0047】
ステップ380:第2のアプリケーションが、ウェブページにアクセスするためのアクセス要求をウェブブラウザへ送信する。
【0048】
アクセス要求はウェブページのアドレス情報を含む。
【0049】
ステップ390:ウェブブラウザが、ウェブページのアドレス情報を解析してウェブページのドメイン名を取得する。
【0050】
ステップ3100:ウェブブラウザが、ウェブページのドメイン名に基づいてウェブページに対応するCookieエントリをモバイルデバイス内で検索し、Cookieエントリからデータを読み出す。
【0051】
ステップ3110:ウェブブラウザが、このデータを、第2のアプリケーションへ送信する。
【0052】
ステップ380の後で且つステップ390の前に、ウェブサーバがレンダリングによってウェブブラウザにウェブページを生成するよう、ウェブブラウザが、アクセス要求をウェブサーバへ転送できることは特に留意すべき事項である。
【0053】
本願が提供する、アプリケーション間のデータ共有方法によれば、第1のアプリケーションが、第1のアプリケーションが位置するモバイルデバイス上のウェブブラウザを用いてウェブページにアクセスし、ウェブページにデータを書き込むと、ウェブサーバは、モバイルデバイス上のウェブページに対応する共有格納領域にデータを格納するようウェブブラウザに指示し、モバイルデバイス上の第2のアプリケーションがウェブブラウザを用いてウェブページにアクセスする際に、ウェブブラウザが共有格納領域からデータを読み出し、第2のアプリケーションへ送ることができ、それによって同一のモバイルデバイス上にある任意の2つのアプリケーション間でのデータ共有を都合よく実施できる。
【0054】
前述のアプリケーション間のデータ共有方法に対応して、本願の実施は更にウェブブラウザを提供する。図4に示すように、ウェブブラウザは以下を含む。
【0055】
ウェブブラウザと同一のモバイルデバイス上に位置する第1のアプリケーションによって送信されるデータ書き込み要求を受信するよう構成された受信部401であって、データ書き込み要求は、そのデータの書き込み先であるウェブページのアドレス情報及び書き込むデータを含む、受信部401を含む。
【0056】
第1のアプリケーションは、ウェブコントローラであるSFSafariViewControllerのクラスのインスタンスを作成することによりデータ書き込み要求をウェブブラウザへ送信できる。
【0057】
受信部401により受信されたデータ書き込み要求を、ウェブサーバへ送信するよう構成された送信部402を含む。
【0058】
受信部401は、ウェブサーバがデータ書き込み要求に基づきウェブブラウザ上のアドレス情報に対応するウェブページを生成してウェブページにデータを書き込んだ後に送信される指示メッセージを受信するよう更に構成される。
【0059】
受信部401により受信された指示メッセージに基づき、モバイルデバイス上のウェブページに対応する共有格納領域内にデータを格納するよう構成された格納部403を含む。
【0060】
受信部401は、モバイルデバイス上の第2のアプリケーションによって送信された、ウェブページにアクセスするためのアクセス要求を受信するよう更に構成される。
【0061】
受信部401により受信されたアクセス要求に基づき、共有格納領域からデータを読み出すよう構成された読み出し部404を含む。
【0062】
送信部402は、読み出し部404により読み出されたデータを第2のアプリケーションへ送信するよう更に構成される。
【0063】
オプションではあるが、ウェブブラウザは、ウェブページのアドレス情報を解析してウェブページのドメイン名を取得するよう構成された解析部405と、解析部405により取得されたドメイン名に基づき、モバイルデバイスのウェブページに対応する共有格納領域を特定するよう構成された特定部406とを更に含むことができる。
【0064】
特定部406は、ドメイン名に基づき、モバイルデバイスのウェブページに対応するCookieエントリを特定するよう構成される。
【0065】
格納部403は、Cookieエントリ内にデータを格納するよう構成される。
【0066】
オプションではあるが、アクセス要求にはアドレス情報が含まれる。
【0067】
読み出し部404は、アドレス情報を解析してウェブページのドメイン名を取得し、ウェブページのドメイン名に基づいてウェブページに対応するCookieエントリをモバイルデバイス内で検索し、Cookieエントリからデータを読み出すよう構成される。
【0068】
本願のこの実施におけるデバイスの機能モジュールの機能は、前述の方法の実施において各ステップを行うことにより実施できる。本願で提供されるデバイスの具体的な作業工程については、ここでは省略する。
【0069】
本願で提供されるウェブブラウザによると、受信部401は、ウェブブラウザと同一のモバイルデバイス上に位置する第1のアプリケーションによって送信されたデータ書き込み要求を受信し、ここで、データ書き込み要求は、そのデータの書き込み先であるウェブページのアドレス情報及び書き込むデータを含む。送信部402は、データ書き込み要求をウェブサーバへ送信する。ここで受信部401は、ウェブサーバがデータ書き込み要求に基づきウェブブラウザ上のアドレス情報に対応するウェブページを生成し、ウェブページにデータを書き込んだ後に送信される指示メッセージを受信する。格納部403は、受信部401により受信された指示メッセージに基づき、モバイルデバイス上のウェブページに対応する共有格納領域内にデータを格納する。ここで受信部401は、モバイルデバイス上の第2のアプリケーションによって送信された、ウェブページにアクセスするためのアクセス要求を受信する。読み出し部404は、アクセス要求に基づき共有格納領域からデータを読み出す。そして、送信部402は、データを第2のアプリケーションに対して送信する。よって、同一のモバイルデバイス上にある任意の2つのアプリケーション間でのデータ共有を都合よく実施できる。
【0070】
前述の一つ以上の実施の例において、本願で説明した機能がハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって実施可能であることは、当業者にとっては言うまでもない。本願をソフトウェアで実施する場合は、それらの機能を、コンピュータで読み取り可能な媒体に格納する、又は、コンピュータで読み取り可能な媒体の一つ以上の指示若しくはコードとして送信できる。
【0071】
本願の目的、技術的解決策、及び便益は、先に述べた具体的実施において詳細に説明されている。先に述べた説明は本願の具体的実施に過ぎず、本願の保護範囲を限定するものではないことを理解すべきである。改変、均等物との置換、又は、本願の主旨及び原理の範囲内における改良は、本願の保護範囲に包含される。
【符号の説明】
【0072】
401 受信部
402 送信部
403 格納部
404 読み出し部
【図1】
【図2】
【図3】
【図4】
【国際調査報告】