日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

用于移動(dòng)應(yīng)用的系統(tǒng)和方法

文檔序號(hào):9602476閱讀:462來(lái)源:國(guó)知局
用于移動(dòng)應(yīng)用的系統(tǒng)和方法
【專(zhuān)利說(shuō)明】
[0001] 對(duì)相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)涉及于2013年4月26日提交的美國(guó)臨時(shí)申請(qǐng)序列No. 61/816, 461、于2013 年8月28日提交的美國(guó)臨時(shí)申請(qǐng)序列No. 61/871,075,其中每一個(gè)都通過(guò)引用整體被并入 本文并且要求其優(yōu)先權(quán)。
技術(shù)領(lǐng)域
[0003] 所公開(kāi)的主題涉及用于提高移動(dòng)應(yīng)用的性能的技術(shù)。
【背景技術(shù)】
[0004] 某些移動(dòng)應(yīng)用可以用諸如Java或.NET的語(yǔ)言來(lái)編寫(xiě)。開(kāi)發(fā)者可以利用諸如Java 或.NET的語(yǔ)言來(lái)編寫(xiě)應(yīng)用、將應(yīng)用編譯為字節(jié)代碼,并且利用兼容的虛擬機(jī)(VM)在許多平 臺(tái)上運(yùn)行該應(yīng)用。諸如Java或.NET的語(yǔ)言允許開(kāi)發(fā)者避免某些低級(jí)問(wèn)題,諸如存儲(chǔ)器管 理。此外,諸如Java或.NET的語(yǔ)言還可以提供可移植性和安全性特征,這些特征例如使瀏 覽器能夠運(yùn)行不受信任的小程序。
[0005] 但是,諸如Java或.NET的語(yǔ)言還會(huì)需要比本機(jī)代碼所需的更高的開(kāi)銷(xiāo)。例如,與 本機(jī)執(zhí)行相比,字節(jié)代碼解釋會(huì)涉及超過(guò)10倍的速度減小。雖然諸如即時(shí)編譯(JIT)的現(xiàn) 有技術(shù)可以通過(guò)將字節(jié)代碼編譯為本機(jī)代碼格式來(lái)提高性能,但是JIT會(huì)花時(shí)間來(lái)執(zhí)行并 且減小應(yīng)用響應(yīng)時(shí)間。此外,由于移動(dòng)環(huán)境中的CRJ和電池約束以及更快地對(duì)用戶(hù)作出響 應(yīng)的需求,諸如JIT的某些現(xiàn)有技術(shù)會(huì)具有減少的功能性,諸如全局優(yōu)化。此外,提前編譯 (Α0Τ)可以代替JIT而被使用。由于缺乏運(yùn)行時(shí)信息,由Α0Τ產(chǎn)生的代碼會(huì)比原始字節(jié)代碼 需要更多的文件系統(tǒng)空間。照此,存在提高移動(dòng)應(yīng)用的性能的需求。

【發(fā)明內(nèi)容】

[0006] 本文公開(kāi)了用于提高移動(dòng)應(yīng)用的性能的系統(tǒng)和方法。
[0007] 在所公開(kāi)主題的一方面,公開(kāi)了用于經(jīng)網(wǎng)絡(luò)將應(yīng)用以被目標(biāo)設(shè)備使用的本機(jī)代碼 格式提供給目標(biāo)設(shè)備的技術(shù)。示例性方法可以包括接收對(duì)該應(yīng)用的請(qǐng)求,該請(qǐng)求包括目標(biāo) 設(shè)備信息。該方法還可以確定該應(yīng)用是否之前已經(jīng)被高速緩存,并且如果還沒(méi)有的話,就將 該應(yīng)用作為字節(jié)代碼下載并且利用提前編譯器將該字節(jié)代碼處理成本機(jī)代碼格式。該方法 還可以經(jīng)該網(wǎng)絡(luò)將本機(jī)代碼格式的該應(yīng)用提供給目標(biāo)設(shè)備。
[0008] 在一些實(shí)施例中,該方法還可以包括接收請(qǐng)求,該請(qǐng)求包括諸如設(shè)備類(lèi)型、操作系 統(tǒng)版本和平臺(tái)版本的目標(biāo)設(shè)備信息。在一些實(shí)施例中,該方法還可以包括,如果該本機(jī)代碼 格式的應(yīng)用還未被高速緩存的話,就高速緩存該應(yīng)用。
[0009] 所公開(kāi)的主題還提供用于經(jīng)網(wǎng)絡(luò)將應(yīng)用以被目標(biāo)設(shè)備使用的本機(jī)代碼格式提供 給目標(biāo)設(shè)備的裝置。示例性裝置可以包括處理器和存儲(chǔ)器。該裝置還可以包括存儲(chǔ)在存儲(chǔ) 器中的計(jì)算機(jī)程序指令,該指令在被處理器執(zhí)行時(shí)使處理器執(zhí)行某些操作。這些操作可以 包括接收對(duì)該應(yīng)用的請(qǐng)求,其中該請(qǐng)求可以包括目標(biāo)設(shè)備信息。該指令還可以包括確定該 應(yīng)用是否已經(jīng)被高速緩存,并且如果該應(yīng)用還未被高速緩存的話,就將該應(yīng)用作為字節(jié)代 碼下載并且利用提前編譯器將該字節(jié)代碼處理成本機(jī)代碼格式。該指令還可以包括經(jīng)該網(wǎng) 絡(luò)將本機(jī)代碼格式的該應(yīng)用提供給目標(biāo)設(shè)備。
[0010] 在一些實(shí)施例中,處理是由應(yīng)用開(kāi)發(fā)者服務(wù)器執(zhí)行的。在一些實(shí)施例中,處理是由 應(yīng)用中介(broker)服務(wù)器執(zhí)行的。在其它實(shí)施例中,處理是由目標(biāo)設(shè)備執(zhí)行的。在一些實(shí) 施例中,目標(biāo)設(shè)備可以執(zhí)行字節(jié)代碼和本機(jī)代碼當(dāng)中的至少一種。
【附圖說(shuō)明】
[0011] 圖1示出了根據(jù)所公開(kāi)的主題的示例性系統(tǒng)。
[0012] 圖2示出了根據(jù)所公開(kāi)的主題、用于經(jīng)網(wǎng)絡(luò)將應(yīng)用以本機(jī)代碼格式提供給目標(biāo)設(shè) 備的示例性方法。
[0013] 圖3示出了根據(jù)所公開(kāi)的主題、用于經(jīng)網(wǎng)絡(luò)將應(yīng)用以本機(jī)代碼格式提供給目標(biāo)設(shè) 備的備選示例性方法。
[0014] 圖4示出了根據(jù)所公開(kāi)的主題的示例性系統(tǒng)體系架構(gòu)。
[0015] 圖5A和圖5B示出了根據(jù)所公開(kāi)的主題的示例性解釋器。
[0016] 圖6示出了根據(jù)所公開(kāi)的主題的示例性解釋器的進(jìn)一步細(xì)節(jié)。
[0017] 圖7示出了根據(jù)所公開(kāi)的主題的示例性翻譯器。
【具體實(shí)施方式】
[0018] 給出了用于提高移動(dòng)應(yīng)用的性能的技術(shù)。示例性技術(shù)包括接收對(duì)應(yīng)用的請(qǐng)求,其 中該請(qǐng)求可以包括目標(biāo)設(shè)備信息。方法還可以確定,例如,本機(jī)代碼格式的應(yīng)用是否之前已 經(jīng)被高速緩存,并且如果應(yīng)用還未被高速緩存的話,就將應(yīng)用作為字節(jié)代碼下載或者要求 目標(biāo)設(shè)備上傳字節(jié)代碼。該方法還提供利用提前編譯器將該字節(jié)代碼處理成本機(jī)代碼格 式。該方法還可以經(jīng)該網(wǎng)絡(luò)將本機(jī)代碼格式的應(yīng)用提供給目標(biāo)設(shè)備。
[0019] 圖1示出了根據(jù)所公開(kāi)的主題的示例性系統(tǒng)。參照?qǐng)D1,當(dāng)用戶(hù)101想要下載應(yīng)用 時(shí),她的設(shè)備101可以向應(yīng)用加速器103發(fā)送請(qǐng)求。應(yīng)當(dāng)理解的是,設(shè)備101可以是目標(biāo)設(shè) 備101。請(qǐng)求可以經(jīng)網(wǎng)絡(luò)107被發(fā)送。請(qǐng)求可包括諸如設(shè)備類(lèi)型和系統(tǒng)版本的信息。
[0020] 應(yīng)用加速器103可以確定這是否是第一次對(duì)給定的環(huán)境請(qǐng)求該應(yīng)用。如果是第一 次,則應(yīng)用加速器103可以從應(yīng)用源105下載該應(yīng)用??梢岳斫獾氖?,應(yīng)用源105可以是應(yīng) 用中介105。所下載的應(yīng)用可以是字節(jié)代碼版本。在一種實(shí)施例中,預(yù)處理后的字節(jié)代碼 (例如依賴(lài)于平臺(tái)的字節(jié)代碼)可以從應(yīng)用中介105或應(yīng)用源105被接收。然后,應(yīng)用加 速器103可以將該應(yīng)用編譯為可在用戶(hù)的設(shè)備101中執(zhí)行的本機(jī)代碼格式。在一種實(shí)施例 中,應(yīng)用加速器103可以將應(yīng)用的字節(jié)代碼的一部分處理成本機(jī)代碼格式。在另一種實(shí)施 例中,應(yīng)用加速器103可以執(zhí)行諸如概要分析(profiling)的技術(shù),以確定應(yīng)用中要轉(zhuǎn)換為 本機(jī)代碼的部分。在一個(gè)例子中,應(yīng)用的選定部分可以被選擇并且用于應(yīng)用的該選定部分 的字節(jié)代碼可以被轉(zhuǎn)換為本機(jī)代碼。在一種實(shí)施例中,應(yīng)用加速器103可以接收例如通用 字節(jié)代碼或預(yù)處理后的字節(jié)代碼。本機(jī)代碼可以包括優(yōu)化后的代碼。然后,應(yīng)用加速器103 可以高速緩存該應(yīng)用的本機(jī)版本。這可以使應(yīng)用加速器103能夠攤銷(xiāo)(amortize)編譯成 本并且更快地響應(yīng)來(lái)自相同設(shè)備類(lèi)型和操作系統(tǒng)版本的后續(xù)請(qǐng)求。應(yīng)當(dāng)理解的是,應(yīng)用加 速器103可以駐留在設(shè)備101中或在設(shè)備101外面。
[0021 ] 在示例性軟件分發(fā)模型中,開(kāi)發(fā)者可以在可移除介質(zhì)中或者通過(guò)在線網(wǎng)站裝運(yùn)他 們的軟件。在這種模型中,字節(jié)代碼可以為意欲在許多不同平臺(tái)上運(yùn)行的軟件提供出色的 可移植性,因?yàn)殚_(kāi)發(fā)者難以跟蹤不同的用戶(hù)設(shè)備并且非專(zhuān)業(yè)用戶(hù)難以選擇正確的軟件版 本。但是,在目前的應(yīng)用分發(fā)模型中,應(yīng)用源105或應(yīng)用中介可以確定關(guān)于應(yīng)用的信息,例 如,用戶(hù)正在從其下載應(yīng)用的設(shè)備101和系統(tǒng)版本。例如,從Android的應(yīng)用商店(Google Play)下載應(yīng)用的協(xié)議指定設(shè)備類(lèi)型101和Android SDK版本,Google Play使用設(shè)備類(lèi)型 101和Android SDK版本來(lái)過(guò)濾掉與設(shè)備不兼容的應(yīng)用。
[0022] 在一種實(shí)施例中,給定設(shè)備和系統(tǒng)配置,應(yīng)用源105可以隨后Α0Τ-編譯字節(jié)代碼 并為特定設(shè)備類(lèi)型將字節(jié)代碼應(yīng)用優(yōu)化成本機(jī)代碼,同時(shí)對(duì)開(kāi)發(fā)者和用戶(hù)二者都保持透 明。在一個(gè)例子中,字節(jié)代碼的可移植性會(huì)隨著中介管理或者應(yīng)用源管理的可移植性而消 失。此外,某些移動(dòng)平臺(tái)可以在系統(tǒng)級(jí)別強(qiáng)化安全性。例如,Android可以為每個(gè)被安裝的 應(yīng)用分配不同的用戶(hù)標(biāo)識(shí)符(UID),從而隔離應(yīng)用的數(shù)據(jù)與執(zhí)行。這會(huì)使由字節(jié)代碼提供的 安全性不那么有吸引力。而且,由于用戶(hù)已經(jīng)信任應(yīng)用源105不向應(yīng)用添加惡意,因此它們 可以讓?xiě)?yīng)用源105代表它們?cè)谘b運(yùn)Α0Τ-編譯的本機(jī)代碼之前驗(yàn)證字節(jié)代碼。
[0023] 在一種實(shí)施例中,目標(biāo)設(shè)備101可以加載并執(zhí)行例如以下二者:(1)從應(yīng)用源105 下載的字節(jié)代碼格式(例如通用字節(jié)代碼格式)和(2)從應(yīng)用加速器103下載的本機(jī)代碼 格式。這可以使目標(biāo)設(shè)備101能夠選擇性地將字節(jié)代碼應(yīng)用翻譯成本機(jī)代碼格式。在另一 種示例實(shí)施例中,用戶(hù)可以手動(dòng)選擇要優(yōu)化哪些應(yīng)用。在一個(gè)例子中,用戶(hù)應(yīng)用可以在設(shè)備 101上顯示被優(yōu)化的應(yīng)用并且可以允許用戶(hù)選擇優(yōu)化其它應(yīng)用。在另一種示例實(shí)施例中,程 序可以被提供,以確定哪些應(yīng)用可以自動(dòng)被優(yōu)化。該決定可以根據(jù)不同的標(biāo)準(zhǔn)做出。例如, 標(biāo)準(zhǔn)可以包括但不限于應(yīng)用使用的頻次。標(biāo)準(zhǔn)還可以包括Α0Τ的效率。
[0024] 在一種實(shí)施例中,從應(yīng)用源105中下載的字節(jié)代碼可以在Α0Τ編譯之前被預(yù)處理 成依賴(lài)于平臺(tái)的字節(jié)代碼。預(yù)處理字節(jié)代碼可以包括但不限于預(yù)鏈接、預(yù)驗(yàn)證和預(yù)優(yōu)化等 等。通過(guò)允許使用諸如鏈接信息的特定于設(shè)備的運(yùn)行時(shí)信息,使用預(yù)處理后的字節(jié)代碼作 為Α0Τ編譯的輸入可以使編譯器能夠與JIT編譯器一樣產(chǎn)生例如高效的本機(jī)代碼。在一種 實(shí)施例中,目標(biāo)設(shè)備101的平臺(tái)信息可以被用來(lái)確定如何預(yù)處理字節(jié)代碼。平臺(tái)信息可以 包括但不限于,諸如操作系統(tǒng)版本和框架版本以及預(yù)先安裝的應(yīng)用的版本等等信息。在一 個(gè)例子中,應(yīng)用加速器103可以使用平臺(tái)信息在編譯之前為目標(biāo)設(shè)備101產(chǎn)生預(yù)處理的字 節(jié)代碼。如果應(yīng)用加速器103不具有足夠的信息來(lái)為目標(biāo)設(shè)備101預(yù)處理字節(jié)代碼,則應(yīng) 用加速器103可以要求目標(biāo)設(shè)備101將目標(biāo)設(shè)備101上預(yù)處理后的字節(jié)代碼上傳到應(yīng)用加 速器103。
[0025] 在一些實(shí)施例中,應(yīng)用分發(fā)路徑中的機(jī)器之一,諸如開(kāi)發(fā)機(jī)器或應(yīng)用中介服務(wù)器 105,可以執(zhí)行處理。在一些實(shí)施例中,分發(fā)路徑之外的機(jī)器可以執(zhí)行處理。在一些實(shí)施例 中,處理可以在目標(biāo)設(shè)備101上執(zhí)行。
[0026] 為了本公開(kāi)內(nèi)容的目的,應(yīng)用加速器103可以包括隨機(jī)存取存儲(chǔ)器(RAM)、諸如直 接存取存儲(chǔ)設(shè)備(例如,硬盤(pán)驅(qū)動(dòng)或軟盤(pán)驅(qū)動(dòng))、順序存取存儲(chǔ)設(shè)備(例如,帶式盤(pán)驅(qū)動(dòng))、 緊湊盤(pán)、CD-ROM、DVD、RAM、R0M、電可擦除可編程只讀存儲(chǔ)器(EE
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1