云服務(wù)定制執(zhí)行環(huán)境的制作方法
【專利摘要】描述了用于實(shí)現(xiàn)云計(jì)算機(jī)系統(tǒng)以便為了定制可執(zhí)行指令的執(zhí)行而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)的技術(shù)。用戶可以能夠配置一個(gè)或多個(gè)不同類型的模板執(zhí)行環(huán)境,例如,虛擬機(jī)環(huán)境,每個(gè)模板執(zhí)行環(huán)境可被用來(lái)建立一個(gè)類型的定制執(zhí)行環(huán)境。用戶可以關(guān)于設(shè)置、狀態(tài)、資源、許可或與執(zhí)行環(huán)境相關(guān)的其它標(biāo)準(zhǔn)配置模板執(zhí)行環(huán)境。依據(jù)請(qǐng)求,定制執(zhí)行環(huán)境(例如,孩子執(zhí)行環(huán)境)可以被建立,用于運(yùn)行定制可執(zhí)行指令的一個(gè)實(shí)例。定制執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境。定制執(zhí)行環(huán)境可以為定制可執(zhí)行指令的執(zhí)行提供安全、孤立的環(huán)境。用于定制執(zhí)行環(huán)境的訪問(wèn)許可可以依賴于期望的執(zhí)行環(huán)境的類型是可配置的。
【專利說(shuō)明】
云服務(wù)定制執(zhí)行環(huán)境
[0001] 對(duì)相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)要求于2014年9月17日提交且標(biāo)題為"CLOUD SERVICE CUSTOM EXECUTION ENVIRONMENT"的美國(guó)非臨時(shí)申請(qǐng)No. 14/489,172的優(yōu)先權(quán)和權(quán)益,該申請(qǐng)又要求以下專利 申請(qǐng)的優(yōu)先權(quán)和權(quán)益:(1)于2014年4月30日提交且標(biāo)題為"MOBILE CLOUD SERVICE CUSTOM CODE⑶NTAINER"的美國(guó)臨時(shí)申請(qǐng)No. 61/986,363和(2)于2014年2月7日提交且標(biāo)題為 "Μ0ΒΙLE CLOUD SERVICE(MCS)"的美國(guó)臨時(shí)申請(qǐng)No. 61 /937,316。以上識(shí)別出的非臨時(shí)和臨 時(shí)專利申請(qǐng)的全部?jī)?nèi)容通過(guò)引用被結(jié)合于此,用于所有目的。
[0003]版權(quán)
[0004] 本專利文檔的公開(kāi)內(nèi)容的一部分包含受版權(quán)保護(hù)的素材。版權(quán)所有者不反對(duì)任何 人對(duì)專利文檔或?qū)@_(kāi)內(nèi)容的傳真再現(xiàn),就像其在專利和商標(biāo)局的專利文件或記錄中所 出現(xiàn)的,但是除此之外保留任何所有版權(quán)權(quán)利。
技術(shù)領(lǐng)域
[0005] 本公開(kāi)內(nèi)容一般而言涉及計(jì)算機(jī)基礎(chǔ)設(shè)施領(lǐng)域。具體而言給出了用于為了定制可 執(zhí)行指令的執(zhí)行而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)的技術(shù)。
【背景技術(shù)】
[0006] 公司正在努力尋求使他們的用戶,諸如開(kāi)發(fā)人員和管理員,以安全高效的方式配 置和/或操作計(jì)算環(huán)境。這些用戶可以發(fā)現(xiàn),使用戶能夠在個(gè)人安全環(huán)境中執(zhí)行代碼的多個(gè) 實(shí)例是有用的。用于啟用這種系統(tǒng)的挑戰(zhàn)之一是管理資源(例如,計(jì)算資源)的加載和使用。 即使對(duì)于那些經(jīng)常和定期執(zhí)行的任務(wù),用戶或管理員也背負(fù)著在多個(gè)場(chǎng)合下配置環(huán)境和加 載資源的任務(wù)。計(jì)算資源可以被效率低下地用于經(jīng)常執(zhí)行配置和加載資源。另外,當(dāng)這種環(huán) 境和/或資源不容易被配置或加載供使用時(shí),執(zhí)行代碼和配置或操作的計(jì)算系統(tǒng)可能會(huì)遇 到延遲。在一些情況下,定制代碼的執(zhí)行會(huì)啟用對(duì)其它進(jìn)程的計(jì)算資源的未經(jīng)許可或不必 要的訪問(wèn),這會(huì)對(duì)計(jì)算系統(tǒng)中的敏感環(huán)境造成安全威脅。公司可以受益于可以管理希望經(jīng) 常執(zhí)行代碼并且基于被執(zhí)行的操作或代碼的類型配置不同環(huán)境的用戶需求的計(jì)算系統(tǒng)。
【發(fā)明內(nèi)容】
[0007] 描述了用于實(shí)現(xiàn)云計(jì)算機(jī)系統(tǒng)的技術(shù),以便為了定制可執(zhí)行指令(例如,定制代 碼)的執(zhí)行而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)。用戶可以能夠配置一個(gè)或多個(gè)不同類型的模板 執(zhí)行環(huán)境,例如,虛擬機(jī)環(huán)境,每個(gè)模板執(zhí)行環(huán)境可被用來(lái)建立一種類型的定制執(zhí)行環(huán)境。 用戶可以關(guān)于設(shè)置、狀態(tài)、變量、資源、許可或與執(zhí)行環(huán)境相關(guān)的其它標(biāo)準(zhǔn)配置模板執(zhí)行環(huán) 境。依據(jù)請(qǐng)求,定制執(zhí)行環(huán)境(例如,孩子執(zhí)行環(huán)境)可被建立,用于運(yùn)行定制可執(zhí)行指令的 實(shí)例。定制執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境(例如,其拷貝)。定制執(zhí)行環(huán)境可以為定制可執(zhí) 行指令的執(zhí)行提供安全、孤立的環(huán)境。對(duì)定制執(zhí)行環(huán)境的訪問(wèn)許可可以依賴于期望的執(zhí)行 環(huán)境的類型是可配置的。模板執(zhí)行環(huán)境可被配置為用于支持定制可執(zhí)行指令的執(zhí)行的特定 類型的語(yǔ)言或環(huán)境。
[0008]根據(jù)至少一個(gè)例子,可以提供用于為了定制可執(zhí)行指令的執(zhí)行而訪問(wèn)定制執(zhí)行環(huán) 境的技術(shù)。這種技術(shù)可以由計(jì)算機(jī)系統(tǒng)(例如,云計(jì)算機(jī)系統(tǒng))實(shí)現(xiàn)。例如,計(jì)算機(jī)系統(tǒng)可以 包括服務(wù)器計(jì)算機(jī)。計(jì)算機(jī)系統(tǒng)可以實(shí)現(xiàn)本文所公開(kāi)的技術(shù)。該技術(shù)可以包括計(jì)算機(jī)實(shí)現(xiàn) 的方法。該方法可以包括執(zhí)行模板執(zhí)行環(huán)境。模板執(zhí)行環(huán)境可被配置為建立孩子執(zhí)行環(huán)境。 每個(gè)孩子執(zhí)行環(huán)境可被配置為執(zhí)行一條或多條定制可執(zhí)行指令。該方法可以包括接收?qǐng)?zhí)行 定制可執(zhí)行指令的請(qǐng)求。該方法可以包括建立第一孩子執(zhí)行環(huán)境,以執(zhí)行所請(qǐng)求的定制可 執(zhí)行指令。第一孩子執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境來(lái)確定。該方法可以包括加載所請(qǐng)求 的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行,然后配置對(duì)于第一孩子執(zhí)行環(huán)境的 訪問(wèn)許可。該方法可以包括在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。所請(qǐng)求 的定制可執(zhí)行指令可以在配置訪問(wèn)許可之后執(zhí)行。
[0009]在某些實(shí)施例中,模板執(zhí)行環(huán)境是Java?虛擬機(jī)(JVM)環(huán)境并且第一孩子執(zhí)行環(huán) 境是孩子J VM環(huán)境。
[0010] 在某些實(shí)施例中,建立第一孩子執(zhí)行環(huán)境包括執(zhí)行fork命令來(lái)從模板執(zhí)行環(huán)境創(chuàng) 建第一孩子執(zhí)行環(huán)境。
[0011] 在某些實(shí)施例中,孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán)境的配置。
[0012] 在某些實(shí)施例中,配置對(duì)于孩子執(zhí)行環(huán)境的訪問(wèn)許可包括調(diào)整用于訪問(wèn)所請(qǐng)求的 定制可執(zhí)行指令的許可。許可可以被調(diào)整,以防止所請(qǐng)求的定制可執(zhí)行指令從孩子執(zhí)行環(huán) 境中被訪問(wèn)。
[0013] 在某些實(shí)施例中,訪問(wèn)許可是通過(guò)用于模板執(zhí)行環(huán)境的安全模型配置的。
[0014] 在某些實(shí)施例中,模板執(zhí)行環(huán)境是基于用于向計(jì)算機(jī)系統(tǒng)注冊(cè)的租戶的至少一個(gè) 標(biāo)準(zhǔn)來(lái)配置的。
[0015] 在某些實(shí)施例中,由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的方法還可以包括從多個(gè)模板執(zhí)行環(huán)境中選 擇模板執(zhí)行環(huán)境。多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模板執(zhí)行環(huán)境可以建立孩子執(zhí)行環(huán)境。多個(gè) 模板執(zhí)行環(huán)境中的每個(gè)模板執(zhí)行環(huán)境可被配置為執(zhí)行不同類型的定制可執(zhí)行指令。
[0016] 在某些實(shí)施例中,由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的方法還可以包括分類對(duì)應(yīng)于所請(qǐng)求的定制 可執(zhí)行指令的定制可執(zhí)行指令的類型。模板執(zhí)行環(huán)境可以基于分類的定制可執(zhí)行指令的類 型來(lái)選擇。
[0017] 在某些實(shí)施例中,由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的方法還可以包括加載用于模板執(zhí)行環(huán)境的 執(zhí)行的資源。執(zhí)行所請(qǐng)求的定制可執(zhí)行指令的請(qǐng)求可以在加載用于模板執(zhí)行環(huán)境的執(zhí)行的 資源之后被接收。
[0018] 在某些實(shí)施例中,由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的方法還可以包括在執(zhí)行模板執(zhí)行環(huán)境之前 配置模板執(zhí)行環(huán)境。配置模板執(zhí)行環(huán)境可以包括初始化用于模板執(zhí)行環(huán)境的設(shè)置和初始化 用于模板執(zhí)行環(huán)境的狀態(tài)。
[0019] 在某些實(shí)施例中,由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的方法還可以包括在計(jì)算機(jī)系統(tǒng)中建立附加 的孩子執(zhí)行環(huán)境,以執(zhí)行附加的客戶可執(zhí)行指令。附加的孩子執(zhí)行環(huán)境可以基于模板執(zhí)行 環(huán)境來(lái)建立。該方法還可以包括加載附加的定制可執(zhí)行指令,用于在附加的孩子執(zhí)行環(huán)境 中執(zhí)行。該方法可以包括設(shè)置用于附加的孩子執(zhí)行環(huán)境的訪問(wèn)許可。該方法可以包括在附 加的孩子執(zhí)行環(huán)境中執(zhí)行附加的定制可執(zhí)行指令。
[0020] 在某些實(shí)施例中,由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的方法還可以包括加載所請(qǐng)求的定制可執(zhí)行 指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行。
[0021] 根據(jù)至少一個(gè)例子,可以提供用于為了定制可執(zhí)行指令的執(zhí)行而訪問(wèn)定制執(zhí)行環(huán) 境的技術(shù)。這種技術(shù)可以由計(jì)算機(jī)系統(tǒng)(例如,云計(jì)算機(jī)系統(tǒng))實(shí)現(xiàn)。計(jì)算機(jī)系統(tǒng)可以包括一 個(gè)或多個(gè)處理器和耦合到一個(gè)或多個(gè)處理器的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備。例如,計(jì)算機(jī)系統(tǒng) 可以包括服務(wù)器計(jì)算機(jī)。一個(gè)或多個(gè)存儲(chǔ)器設(shè)備可以包含指令,當(dāng)指令被一個(gè)或多個(gè)處理 器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器實(shí)現(xiàn)本文公開(kāi)的技術(shù)。當(dāng)指令在一個(gè)或多個(gè)處理器上執(zhí) 行時(shí),使得一個(gè)或多個(gè)處理器接收用于配置多個(gè)模板執(zhí)行環(huán)境中的模板執(zhí)行環(huán)境的標(biāo)準(zhǔn)。 多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模板執(zhí)行環(huán)境可以建立孩子執(zhí)行環(huán)境。多個(gè)模板執(zhí)行環(huán)境中的 每個(gè)模板執(zhí)行環(huán)境可被配置為執(zhí)行不同類型的定制可執(zhí)行指令。當(dāng)指令在一個(gè)或多個(gè)處理 器被執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器從計(jì)算設(shè)備利用第一通信協(xié)議接收?qǐng)?zhí)行定制可執(zhí)行指 令的請(qǐng)求。當(dāng)指令在一個(gè)或多個(gè)處理器被執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器分類對(duì)應(yīng)于所請(qǐng) 求的定制可執(zhí)行指令的定制可執(zhí)行指令的類型。當(dāng)指令在一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得 一個(gè)或多個(gè)處理器從多個(gè)模板執(zhí)行環(huán)境中選擇第一模板執(zhí)行環(huán)境。第一模板執(zhí)行環(huán)境可以 基于分類的定制可執(zhí)行指令的類型來(lái)選擇。當(dāng)指令在一個(gè)或多個(gè)處理器被執(zhí)行時(shí),使得一 個(gè)或多個(gè)處理器執(zhí)行第一模板執(zhí)行環(huán)境。當(dāng)指令在一個(gè)或多個(gè)處理器被執(zhí)行時(shí),使得一個(gè) 或多個(gè)處理器建立第一孩子執(zhí)行環(huán)境,以執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。第一孩子執(zhí)行環(huán) 境可以基于第一模板執(zhí)行環(huán)境來(lái)建立。當(dāng)指令在一個(gè)或多個(gè)處理器被執(zhí)行時(shí),使得一個(gè)或 多個(gè)處理器加載用于在第一孩子執(zhí)行環(huán)境中執(zhí)行的所請(qǐng)求的定制可執(zhí)行指令,然后配置對(duì) 于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可。當(dāng)指令在一個(gè)或多個(gè)處理器被執(zhí)行時(shí),使得一個(gè)或多個(gè) 處理器在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。在訪問(wèn)許可為第一孩子執(zhí)行 環(huán)境配置后,所請(qǐng)求的定制可執(zhí)行指令可以被執(zhí)行。
[0022] 根據(jù)至少一個(gè)例子,可以提供用于為了定制可執(zhí)行指令的執(zhí)行而訪問(wèn)定制執(zhí)行環(huán) 境的技術(shù)。這種技術(shù)可以由計(jì)算機(jī)系統(tǒng)(例如,云計(jì)算機(jī)系統(tǒng))實(shí)現(xiàn)。該計(jì)算機(jī)系統(tǒng)可以包括 一個(gè)或多個(gè)處理器和計(jì)算機(jī)可讀存儲(chǔ)器。例如,計(jì)算機(jī)系統(tǒng)可以包括服務(wù)器計(jì)算機(jī)。該計(jì)算 機(jī)可讀存儲(chǔ)器可以存儲(chǔ)指令集,當(dāng)指令集被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處 理器實(shí)現(xiàn)本文描述的技術(shù)。當(dāng)指令集被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器 執(zhí)行模板執(zhí)行環(huán)境。模板執(zhí)行環(huán)境可被配置為建立孩子執(zhí)行環(huán)境。每個(gè)孩子執(zhí)行環(huán)境可被 配置為執(zhí)行一條或多條定制可執(zhí)行指令。當(dāng)指令集被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè) 或多個(gè)處理器接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求。當(dāng)指令集被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使 得一個(gè)或多個(gè)處理器建立第一孩子執(zhí)行環(huán)境,以執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。第一孩子 執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境來(lái)建立。當(dāng)指令集被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè) 或多個(gè)處理器加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行,然后配置 對(duì)于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可。當(dāng)指令集被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多 個(gè)處理器在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。所請(qǐng)求的定制可執(zhí)行指令 可以在配置訪問(wèn)許可之后被執(zhí)行。
[0023] 根據(jù)至少一個(gè)例子,可以提供一種計(jì)算機(jī)系統(tǒng)。該計(jì)算機(jī)系統(tǒng)可以包括:第一接收 器,被配置為接收用于配置多個(gè)模板執(zhí)行環(huán)境中的模板執(zhí)行環(huán)境的標(biāo)準(zhǔn),其中多個(gè)模板執(zhí) 行環(huán)境中的每個(gè)模板執(zhí)行環(huán)境建立孩子執(zhí)行環(huán)境,并且其中多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模 板執(zhí)行環(huán)境被配置為執(zhí)行不同類型的定制可執(zhí)行指令;第二接收器,被配置為從計(jì)算設(shè)備 利用第一通信協(xié)議接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求;分類單元,被配置為分類對(duì)應(yīng)于所請(qǐng) 求的定制可執(zhí)行指令的定制可執(zhí)行指令的類型;選擇單元,被配置為從多個(gè)模板執(zhí)行環(huán)境 中選擇第一模板執(zhí)行環(huán)境,其中第一模板執(zhí)行環(huán)境基于分類的定制可執(zhí)行指令的類型來(lái)選 擇;第一執(zhí)行單元,被配置為執(zhí)行第一模板執(zhí)行環(huán)境;建立單元,被配置為建立第一孩子執(zhí) 行環(huán)境,以執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中第一孩子執(zhí)行環(huán)境是基于第一模板執(zhí)行環(huán) 境建立的;加載單元,被配置為加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一子執(zhí)行環(huán)境中執(zhí) 行;配置單元,被配置為配置對(duì)于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可;以及第二執(zhí)行單元,被配 置為在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中所請(qǐng)求的定制可執(zhí)行指令 在訪問(wèn)許可為第一孩子執(zhí)行環(huán)境配置之后被執(zhí)行。
[0024] 在某些實(shí)施例中,計(jì)算機(jī)系統(tǒng)可以是移動(dòng)云計(jì)算機(jī)系統(tǒng),并且計(jì)算設(shè)備可以是移 動(dòng)計(jì)算設(shè)備。
[0025] 在某些實(shí)施例中,第一孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán)境的配置。
[0026] 在某些實(shí)施例中,配置單元還包括被配置為調(diào)整用于訪問(wèn)所請(qǐng)求的定制可執(zhí)行指 令的許可的調(diào)整單元,其中許可被調(diào)整,以防止所請(qǐng)求的定制可執(zhí)行指令從第一孩子執(zhí)行 環(huán)境中被訪問(wèn)。
[0027] 根據(jù)至少一個(gè)例子,可以提供用于執(zhí)行定制可執(zhí)行指令的裝置。該裝置可以包括: 用于執(zhí)行模板執(zhí)行環(huán)境的單元,其中模板執(zhí)行環(huán)境被配置為建立孩子執(zhí)行環(huán)境,每個(gè)孩子 執(zhí)行環(huán)境被配置為執(zhí)行一個(gè)或多個(gè)定制可執(zhí)行指令;用于接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求 的單元;用于建立第一孩子執(zhí)行環(huán)境以便執(zhí)行所請(qǐng)求的定制可執(zhí)行指令的單元,其中第一 孩子執(zhí)行環(huán)境是基于模板執(zhí)行環(huán)境建立的;用于加載所請(qǐng)求的定制可執(zhí)行指令以用于在第 一孩子執(zhí)行環(huán)境中執(zhí)行的單元;用于配置用于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可的單元;以及 用于在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令的單元,其中所請(qǐng)求的定制可執(zhí) 行指令在配置訪問(wèn)許可之后被執(zhí)行。
[0028] 在某些實(shí)施例中,第一孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán)境的配置。
[0029] 本概述并不意在識(shí)別要求保護(hù)的主題的關(guān)鍵或必要特征,也不意在孤立地被用來(lái) 確定要求保護(hù)的主題的范圍。主題應(yīng)當(dāng)參照本專利的整個(gè)說(shuō)明書(shū)的適當(dāng)部分、任何或全部 附圖以及每項(xiàng)權(quán)利要求來(lái)理解。
[0030] 以下詳細(xì)描述連同附圖一起將提供對(duì)本發(fā)明實(shí)施例的本質(zhì)和優(yōu)點(diǎn)的更好理解。
【附圖說(shuō)明】
[0031] 下面參照以下附圖詳細(xì)地描述本發(fā)明的說(shuō)明性實(shí)施例:
[0032] 圖1示出了根據(jù)本發(fā)明的一些實(shí)施例、為了定制可執(zhí)行指令的執(zhí)行而提供對(duì)定制 執(zhí)行環(huán)境的訪問(wèn)的計(jì)算機(jī)系統(tǒng)的框圖。
[0033] 圖2示出了根據(jù)本發(fā)明的一些實(shí)施例、為了定制可執(zhí)行指令的執(zhí)行而提供對(duì)定制 執(zhí)行環(huán)境的訪問(wèn)的計(jì)算機(jī)系統(tǒng)的框圖。
[0034] 圖3示出了根據(jù)本發(fā)明的一些實(shí)施例、包括為了執(zhí)行定制可執(zhí)行指令而利用模板 執(zhí)行環(huán)境建立的孩子執(zhí)行環(huán)境的系統(tǒng)的框圖。
[0035] 圖4示出了根據(jù)本發(fā)明的一些實(shí)施例、用于為了定制可執(zhí)行指令的執(zhí)行而提供對(duì) 定制執(zhí)行環(huán)境的訪問(wèn)的過(guò)程的序列圖。
[0036] 圖5是示出根據(jù)本發(fā)明的一些實(shí)施例、用于為了定制可執(zhí)行指令的執(zhí)行而提供對(duì) 定制執(zhí)行環(huán)境的訪問(wèn)的過(guò)程的流程圖。
[0037] 圖6繪出了用于實(shí)現(xiàn)其中一種實(shí)施例的分布式系統(tǒng)的簡(jiǎn)化圖。
[0038] 圖7示出了根據(jù)本公開(kāi)內(nèi)容的實(shí)施例的系統(tǒng)環(huán)境的組件的簡(jiǎn)化框圖,通過(guò)其,由實(shí) 施例系統(tǒng)的組件提供的服務(wù)可以作為云服務(wù)被提供。
[0039] 圖8示出了本發(fā)明的各種實(shí)施例可以在其中實(shí)現(xiàn)的示例性計(jì)算機(jī)系統(tǒng)。
[0040] 圖9示出了示例性計(jì)算機(jī)系統(tǒng)的功能框圖,其中可以實(shí)現(xiàn)本發(fā)明的各種實(shí)施例。
【具體實(shí)施方式】
[0041] 在下面的描述中,為了解釋的目的,闡述了許多具體的細(xì)節(jié),以便提供本發(fā)明的各 種實(shí)施例的透徹理解。但顯而易見(jiàn)的是,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō),本發(fā)明的實(shí)施例可以在沒(méi) 有這些具體細(xì)節(jié)的情況下實(shí)踐。在其它情況下,眾所周知的結(jié)構(gòu)和設(shè)備以框圖形式示出。
[0042] 具體的細(xì)節(jié)在以下描述中給出,以提供對(duì)實(shí)施例的透徹理解。但是,本領(lǐng)域普通技 術(shù)人員將理解,實(shí)施例可以在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)踐。例如,電路、系統(tǒng)、網(wǎng)絡(luò)、過(guò) 程和其它組件可以被示為框圖形式的組件,以便不以不必要的細(xì)節(jié)模糊實(shí)施例。在其它情 況下,眾所周知的電路、過(guò)程、算法、結(jié)構(gòu)和技術(shù)可以示為沒(méi)有不必要的細(xì)節(jié),以避免模糊實(shí) 施例。
[0043] 而且,應(yīng)當(dāng)指出,各個(gè)實(shí)施例可被描述為被繪制為流程圖、流圖、數(shù)據(jù)流圖、結(jié)構(gòu)圖 或框圖的過(guò)程。雖然流程圖可以將操作描述為順序過(guò)程,但是許多操作可以并行或并發(fā)執(zhí) 行。此外,操作的次序可以被重新布置。當(dāng)其操作完成時(shí),過(guò)程終止,但是可以具有不包括在 圖中的附加步驟。過(guò)程可以對(duì)應(yīng)于方法、函數(shù)、過(guò)程、子例程,子程序等。當(dāng)過(guò)程對(duì)應(yīng)于函數(shù) 時(shí),其終止可以對(duì)應(yīng)于該函數(shù)返回到調(diào)用函數(shù)或主函數(shù)。
[0044] 術(shù)語(yǔ)"機(jī)器可讀存儲(chǔ)介質(zhì)"包括,但不限于,便攜式或非便攜式存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè) 備,以及能夠存儲(chǔ)、包含或攜帶(一條或多條)指令和/或數(shù)據(jù)的各種其它介質(zhì)。機(jī)器可讀介 質(zhì)可以包括其中可以存儲(chǔ)數(shù)據(jù)的非臨時(shí)性介質(zhì)并且不包括載波和/或無(wú)線地或通過(guò)有線連 接傳播的臨時(shí)性電子信號(hào)。非臨時(shí)性介質(zhì)的例子可以包括,但不限于,磁盤(pán)或磁帶、諸如致 密盤(pán)(CD)或數(shù)字多功能盤(pán)(DVD)的光學(xué)存儲(chǔ)介質(zhì)、閃存存儲(chǔ)器、存儲(chǔ)器或存儲(chǔ)設(shè)備。計(jì)算機(jī) 程序產(chǎn)品可以包括代碼和/或機(jī)器可執(zhí)行指令,其可以表示過(guò)程、函數(shù)、子程序、程序、例程、 子例程、模塊、軟件包、類,或者指令、數(shù)據(jù)結(jié)構(gòu)或程序語(yǔ)句的任意組合。代碼段可通過(guò)傳遞 和/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲(chǔ)器內(nèi)容被耦合到另一代碼段或者硬件電路。信 息、自變量、參數(shù)、數(shù)據(jù)等可以經(jīng)由任何合適的手段,包括存儲(chǔ)器共享、消息傳遞、令牌傳遞、 網(wǎng)絡(luò)傳輸?shù)?,被傳遞、轉(zhuǎn)發(fā)或發(fā)送。
[0045] 此外,實(shí)施例可以由硬件、軟件、固件、中間件、微代碼、硬件描述語(yǔ)言或者其任意 組合來(lái)實(shí)現(xiàn)。當(dāng)在軟件、固件、中間件或微代碼中實(shí)現(xiàn)時(shí),執(zhí)行必要任務(wù)的程序代碼或代碼 段(例如,計(jì)算機(jī)程序產(chǎn)品)可被存儲(chǔ)在機(jī)器可讀介質(zhì)中。(一個(gè)或多個(gè))處理器可以執(zhí)行必 要的任務(wù)。
[0046] 在一些圖中繪出的系統(tǒng)可以以各種配置提供。在一些實(shí)施例中,系統(tǒng)可被配置為 分布式系統(tǒng),其中該系統(tǒng)的一個(gè)或多個(gè)組件跨云計(jì)算機(jī)系統(tǒng)中的一個(gè)或多個(gè)網(wǎng)絡(luò)分布。
[0047] 描述了用于實(shí)現(xiàn)云計(jì)算機(jī)系統(tǒng)以便為了定制可執(zhí)行指令(例如,定制代碼)的執(zhí)行 而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)的技術(shù)。用戶可以能夠配置一個(gè)或多個(gè)不同類型的模板執(zhí)行 環(huán)境,例如,虛擬機(jī)環(huán)境,每個(gè)模板執(zhí)行環(huán)境可被用來(lái)建立一個(gè)類型的定制執(zhí)行環(huán)境。用戶 可以關(guān)于與執(zhí)行環(huán)境相關(guān)的設(shè)置、狀態(tài)、變量、資源、許可或其它標(biāo)準(zhǔn)配置模板執(zhí)行環(huán)境。依 據(jù)請(qǐng)求,定制執(zhí)行環(huán)境(例如,孩子執(zhí)行環(huán)境)可以為了運(yùn)行定制可執(zhí)行指令的實(shí)例而被建 立。定制執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境(例如,其拷貝)。定制執(zhí)行環(huán)境可以為定制可執(zhí)行 指令的執(zhí)行提供安全、孤立的環(huán)境。用于定制執(zhí)行環(huán)境的訪問(wèn)許可可以依賴于期望的執(zhí)行 環(huán)境的類型是可配置的。模板執(zhí)行環(huán)境可被配置為用于支持定制可執(zhí)行指令的執(zhí)行的特定 類型的語(yǔ)言或環(huán)境。
[0048] 圖1示出了根據(jù)本發(fā)明的一些實(shí)施例、為了定制可執(zhí)行指令的執(zhí)行而提供對(duì)定制 執(zhí)行環(huán)境的訪問(wèn)的計(jì)算機(jī)系統(tǒng)100的框圖。為了說(shuō)明的目的,本文提供了各種例子來(lái)描述用 于使計(jì)算設(shè)備(例如,計(jì)算設(shè)備102)與一個(gè)或多個(gè)企業(yè)計(jì)算機(jī)系統(tǒng),諸如云企業(yè)計(jì)算機(jī)系統(tǒng) 140(例如,"861^;[06。1'0¥丨(161'.00111")和本地企業(yè)計(jì)算機(jī)系統(tǒng)150,通信的技術(shù)這種通信可以 是交換或傳送企業(yè)數(shù)據(jù)、請(qǐng)求由企業(yè)計(jì)算機(jī)系統(tǒng)提供的服務(wù)、傳送消息、執(zhí)行一條或多條定 制可執(zhí)行指令,或它們的組合。
[0049] 消息可以包括服務(wù)調(diào)用消息、結(jié)果消息、請(qǐng)求消息、在內(nèi)部傳送的其它消息、在計(jì) 算設(shè)備和企業(yè)計(jì)算機(jī)系統(tǒng)之間傳送的其它消息,或它們的組合。消息可以包括消息類型(例 如,來(lái)自一組共享類型常量的類型值)、相關(guān)性id(例如,用來(lái)將這個(gè)消息與一個(gè)或多個(gè)其它 消息相關(guān)的id)、支持基于優(yōu)先級(jí)的消息隊(duì)列的優(yōu)先級(jí)信息、超時(shí)、支持消息數(shù)據(jù)隔離的靈 敏度指示、消息源(例如,發(fā)送者的統(tǒng)一資源標(biāo)識(shí)符)、消息目的地(例如,唯一地識(shí)別目的地 的統(tǒng)一資源標(biāo)識(shí)符)、請(qǐng)求上下文(例如,來(lái)自調(diào)度器的請(qǐng)求信息),和/或消息有效載荷,該 有效載荷可以依賴于正在被發(fā)送的消息的類型,諸如參數(shù)數(shù)據(jù)和結(jié)果數(shù)據(jù),而具有不同的 屬性。
[0050] 定制可執(zhí)行指令可以包括一行或多行程序代碼、二進(jìn)制代碼、可執(zhí)行操作、機(jī)器指 令、機(jī)器代碼,或它們的組合。定制可執(zhí)行指令可以包括可由處理器讀取的信息,以便使處 理器執(zhí)行操作、方法、例行程序,等等。定制可執(zhí)行指令可以包括在軟件程序中或由其實(shí)現(xiàn)。 定制可執(zhí)行指令可由用戶配置。定制可執(zhí)行指令可能導(dǎo)致一條或多條可執(zhí)行指令被執(zhí)行。 定制可執(zhí)行指令可以利用計(jì)算機(jī)編程語(yǔ)言來(lái)編寫(xiě),諸如面向?qū)ο蟮恼Z(yǔ)言(例如,Java?)、 腳本語(yǔ)言(例如,Groovy?或JavaScript? )、機(jī)器語(yǔ)言、硬件編程語(yǔ)言、系統(tǒng)語(yǔ)言、操 作系統(tǒng)語(yǔ)言、其它類型的語(yǔ)言,或它們的組合。定制可執(zhí)行指令可能導(dǎo)致一個(gè)或多個(gè)操作在 云計(jì)算機(jī)系統(tǒng)110中執(zhí)行。這種操作可以包括變換來(lái)自企業(yè)計(jì)算機(jī)系統(tǒng)的企業(yè)數(shù)據(jù)、聚集來(lái) 自企業(yè)計(jì)算機(jī)系統(tǒng)的企業(yè)數(shù)據(jù)、對(duì)企業(yè)數(shù)據(jù)執(zhí)行一些量的業(yè)務(wù)邏輯,或者與處理或傳送企 業(yè)數(shù)據(jù)相關(guān)的其它操作。
[0051] 如本文所述的企業(yè)數(shù)據(jù)可以包括從企業(yè)計(jì)算機(jī)系統(tǒng)接收的數(shù)據(jù)、發(fā)送到企業(yè)計(jì)算 機(jī)系統(tǒng)的數(shù)據(jù)、由企業(yè)計(jì)算機(jī)系統(tǒng)處理的數(shù)據(jù),或它們的組合。企業(yè)數(shù)據(jù)可以是與用于客戶 應(yīng)用和/或服務(wù)的數(shù)據(jù)可區(qū)分的。在一些實(shí)施例中,例如,企業(yè)數(shù)據(jù)可以基于企業(yè)數(shù)據(jù)的應(yīng) 用或使用而改變,而用于客戶應(yīng)用的數(shù)據(jù)(例如,客戶數(shù)據(jù))可以在使用中保持靜態(tài)。在某些 實(shí)施例中,企業(yè)數(shù)據(jù)可以包括或者可以與指示用于存儲(chǔ)、使用和/或管理企業(yè)數(shù)據(jù)的標(biāo)準(zhǔn)的 規(guī)則相關(guān)聯(lián)。例如,企業(yè)數(shù)據(jù)可以與指示用于存儲(chǔ)、使用和/或管理該企業(yè)數(shù)據(jù)的一個(gè)或多 個(gè)策略的策略信息相關(guān)聯(lián)。在某些實(shí)施例中,策略信息可以包括在企業(yè)數(shù)據(jù)中。在某些實(shí)施 例中,企業(yè)數(shù)據(jù)可以包括由在企業(yè)計(jì)算機(jī)系統(tǒng)中執(zhí)行的應(yīng)用或服務(wù)處理、存儲(chǔ)、使用或傳送 的數(shù)據(jù)。例如,企業(yè)數(shù)據(jù)可以包括諸如來(lái)自企業(yè)應(yīng)用的JSON(JavaS Cript對(duì)象符號(hào))格式化 數(shù)據(jù)的業(yè)務(wù)數(shù)據(jù)(例如,業(yè)務(wù)對(duì)象)、結(jié)構(gòu)化數(shù)據(jù)(例如,鍵值對(duì))、非結(jié)構(gòu)化數(shù)據(jù)(例如,由應(yīng) 用處理或使用的內(nèi)部數(shù)據(jù)、JSON格式的數(shù)據(jù)、社交帖子、會(huì)話流、活動(dòng)饋送,等等)、二進(jìn)制大 對(duì)象(BLOB)、文檔、系統(tǒng)文件夾(例如,沙箱環(huán)境中應(yīng)用相關(guān)的文件夾)、使用代表性狀態(tài)傳 送(REST)技術(shù)的數(shù)據(jù)(在本文被稱為"RESTful數(shù)據(jù)")(例如,通過(guò)REST端點(diǎn)使其可用的同步 數(shù)據(jù))、系統(tǒng)數(shù)據(jù)、配置數(shù)據(jù)、同步數(shù)據(jù),或它們的組合。在一些實(shí)施例中,企業(yè)數(shù)據(jù)可以包括 REST格式化的企業(yè)數(shù)據(jù)。REST格式化的數(shù)據(jù)可以包括RESTful數(shù)據(jù)。REST格式化的企業(yè)數(shù)據(jù) 可以包括根據(jù)由企業(yè)計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的REST技術(shù)格式化的數(shù)據(jù)。配置或同步數(shù)據(jù)可以包括 用于企業(yè)數(shù)據(jù)的同步的數(shù)據(jù),諸如版本、歷史、集成數(shù)據(jù),等等。企業(yè)數(shù)據(jù)中的文檔可以包括 擴(kuò)展標(biāo)記語(yǔ)言(XML)文件、可視資產(chǎn)、配置文件、媒體資產(chǎn),等等。BLOB可以包括在數(shù)據(jù)庫(kù)管 理系統(tǒng)中被存儲(chǔ)為單個(gè)實(shí)體的二進(jìn)制數(shù)據(jù)的集合,諸如圖像、多媒體對(duì)象,或可執(zhí)行代碼, 或者本領(lǐng)域中其它已知的。
[0052]企業(yè)計(jì)算機(jī)系統(tǒng)可以包括被配置為為實(shí)體或企業(yè)操作的各種計(jì)算系統(tǒng)。例如,企 業(yè)計(jì)算機(jī)系統(tǒng)可以包括一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng),諸如企業(yè)服務(wù)器計(jì)算機(jī)(例如,后端服務(wù)器 計(jì)算機(jī)),以處理對(duì)服務(wù)的請(qǐng)求。企業(yè)計(jì)算機(jī)系統(tǒng)可以包括可以利用企業(yè)數(shù)據(jù)處理和/或操 作的應(yīng)用和/或服務(wù)。例如,企業(yè)計(jì)算機(jī)系統(tǒng)150可以提供用于管理或操作企業(yè)的一個(gè)或多 個(gè)服務(wù)和/或應(yīng)用。服務(wù)可以包括,但不限于,客戶關(guān)系管理(CRM)、人力資本管理(HCM)、人 力資源(HR)管理、供應(yīng)鏈管理、企業(yè)通信、電子郵件通信、商業(yè)服務(wù)、其它企業(yè)管理服務(wù)或應(yīng) 用,或它們的組合。企業(yè)計(jì)算機(jī)系統(tǒng)150可以包括一個(gè)或多個(gè)專用于提供一個(gè)或多個(gè)服務(wù)的 計(jì)算機(jī)系統(tǒng)。在一些實(shí)施例中,提供服務(wù)的每個(gè)不同計(jì)算機(jī)系統(tǒng)可以位于企業(yè)本地(onpremise) ,或者可以位于遠(yuǎn)離企業(yè)。在一些實(shí)施例中 ,支持不同服務(wù)的多個(gè)不同計(jì)算機(jī)系統(tǒng) 可以位于單個(gè)地理位置,諸如企業(yè)本地。在圖1所示的例子中,本地企業(yè)計(jì)算機(jī)系統(tǒng)150可以 包括HR系統(tǒng)154和CRM系統(tǒng)156,這兩者可以位于企業(yè)本地。在一些實(shí)施例中,企業(yè)計(jì)算機(jī)系 統(tǒng)140可以包括或?qū)崿F(xiàn)代理系統(tǒng),以促進(jìn)或處理云計(jì)算機(jī)系統(tǒng)110和一個(gè)或多個(gè)企業(yè)系統(tǒng) 154、156之間的通信。企業(yè)的計(jì)算機(jī)系統(tǒng),諸如云企業(yè)計(jì)算機(jī)系統(tǒng)140和本地企業(yè)計(jì)算機(jī)系 統(tǒng)150,在下面進(jìn)一步詳細(xì)描述。
[0053]計(jì)算機(jī)系統(tǒng)100可以包括被實(shí)現(xiàn)為作為安全的居間計(jì)算環(huán)境操作的云服務(wù)112,其 促進(jìn)計(jì)算設(shè)備102和一個(gè)或多個(gè)企業(yè)計(jì)算機(jī)系統(tǒng)之間的通信,因?yàn)橛?jì)算設(shè)備102可以不被配 置為與這種企業(yè)計(jì)算機(jī)系統(tǒng)通信。例如,一些企業(yè)計(jì)算機(jī)系統(tǒng)可以由遺留或后端計(jì)算機(jī)系 統(tǒng)支持。這種系統(tǒng)可被配置為利用不同的通信和/或安全協(xié)議來(lái)操作。由這種企業(yè)計(jì)算機(jī)系 統(tǒng)支持的協(xié)議可以與由移動(dòng)計(jì)算設(shè)備支持的那些不同。云服務(wù)112可以支持利用不同類型 的移動(dòng)計(jì)算設(shè)備通信。照此,云服務(wù)112可以實(shí)現(xiàn)促進(jìn)企業(yè)計(jì)算機(jī)系統(tǒng)和移動(dòng)計(jì)算設(shè)備之間 的通信的技術(shù),以便使它們能夠彼此通信,而不論它們通信的不兼容性,諸如格式或通信協(xié) 議之間的差異。例如,云服務(wù)112可以翻譯移動(dòng)計(jì)算設(shè)備和企業(yè)計(jì)算機(jī)系統(tǒng)之間的通信協(xié) 議。
[0054]云服務(wù)112可被實(shí)現(xiàn)為為了定制可執(zhí)行指令的執(zhí)行而提供對(duì)定制執(zhí)行環(huán)境的訪 問(wèn)。定制執(zhí)行環(huán)境可以使用戶(例如,開(kāi)發(fā)人員或管理員)能夠執(zhí)行定制指令。定制指令可以 被執(zhí)行,以管理、配置或操作云服務(wù)112。例如,云服務(wù)112可以促進(jìn)定制可執(zhí)行指令在定制 執(zhí)行環(huán)境(例如,"定制代碼容器"),諸如孩子執(zhí)行環(huán)境134,中的執(zhí)行。定制執(zhí)行環(huán)境可以基 于模板執(zhí)行環(huán)境132來(lái)建立。模板執(zhí)行環(huán)境132可被配置為使得孩子執(zhí)行環(huán)境134可以基于 模板執(zhí)行環(huán)境132的配置來(lái)創(chuàng)建。可以為不同的定制可執(zhí)行指令建立孩子執(zhí)行環(huán)境134。每 個(gè)孩子執(zhí)行環(huán)境134可以表示安全環(huán)境,其中定制可執(zhí)行指令可以無(wú)需訪問(wèn)超出孩子執(zhí)行 環(huán)境134可訪問(wèn)的那些資源之外的資源就被執(zhí)行。孩子執(zhí)行環(huán)境134可以是沙箱狀的計(jì)算環(huán) 境,其不能被由云服務(wù)112執(zhí)行的其它過(guò)程訪問(wèn)。孩子執(zhí)行環(huán)境134會(huì)阻止在該環(huán)境中執(zhí)行 的可執(zhí)行指令建立一個(gè)或多個(gè)其它執(zhí)行環(huán)境。孩子執(zhí)行環(huán)境134中的訪問(wèn)許可可以在建立 環(huán)境之后被修改,使得從孩子執(zhí)行環(huán)境134中的訪問(wèn)可以如上所述被配置。下面進(jìn)一步并參 照?qǐng)D2-5描述定制可執(zhí)行指令的執(zhí)行。
[0055] 云計(jì)算機(jī)系統(tǒng)110可以支持云服務(wù)112。云計(jì)算機(jī)系統(tǒng)110可以利用硬件、軟件、固 件或它們的組合來(lái)實(shí)現(xiàn)。例如,云計(jì)算機(jī)系統(tǒng)110可以包括一個(gè)或多個(gè)計(jì)算設(shè)備,諸如服務(wù) 器計(jì)算機(jī)。云計(jì)算機(jī)系統(tǒng)110可以包括一個(gè)或多個(gè)存儲(chǔ)器存儲(chǔ)設(shè)備和一個(gè)或多個(gè)處理器。存 儲(chǔ)器存儲(chǔ)設(shè)備可以讓(一個(gè)或多個(gè))處理器訪問(wèn)并且可以包括存儲(chǔ)在其上的指令,當(dāng)指令被 (一個(gè)或多個(gè))處理器執(zhí)行時(shí),使(一個(gè)或多個(gè))處理器實(shí)現(xiàn)本文公開(kāi)的一個(gè)或多個(gè)操作。在 一些實(shí)施例中,存儲(chǔ)器存儲(chǔ)設(shè)備可以作為本地儲(chǔ)存器(例如,高速緩存)操作。云計(jì)算機(jī)系統(tǒng) 110可以包括一個(gè)或多個(gè)不同類型的操作系統(tǒng)。存儲(chǔ)器存儲(chǔ)設(shè)備可以讓(一個(gè)或多個(gè))處理 器訪問(wèn)并且可以包括存儲(chǔ)在其上的指令,當(dāng)指令被(一個(gè)或多個(gè))處理器執(zhí)行時(shí),使(一個(gè)或 多個(gè))處理器實(shí)現(xiàn)本文公開(kāi)的一個(gè)或多個(gè)操作、方法或過(guò)程。存儲(chǔ)器存儲(chǔ)可以作為本地儲(chǔ)存 器操作。本地儲(chǔ)存器可以利用任何類型的持久性存儲(chǔ)設(shè)備來(lái)實(shí)現(xiàn),諸如存儲(chǔ)器存儲(chǔ)設(shè)備或 其它計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在一些實(shí)施例中,本地儲(chǔ)存器可以包括或?qū)崿F(xiàn)一個(gè)或多個(gè)數(shù)據(jù) 庫(kù)170(例如,文檔數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù),或其它類型的數(shù)據(jù)庫(kù))、一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)(例如, 元數(shù)據(jù)儲(chǔ)存庫(kù)124),一個(gè)或多個(gè)文件存儲(chǔ)、一個(gè)或多個(gè)文件系統(tǒng),或它們的組合。本地儲(chǔ)存 器可以存儲(chǔ)企業(yè)數(shù)據(jù)。在某些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可以包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ), 其可以由云計(jì)算機(jī)系統(tǒng)110中的任何組件訪問(wèn)。
[0056] 元數(shù)據(jù)儲(chǔ)存庫(kù)124可以存儲(chǔ)與云服務(wù)112關(guān)聯(lián)的所有元數(shù)據(jù)。這個(gè)信息可以由運(yùn)行 時(shí)和設(shè)計(jì)時(shí)數(shù)據(jù)組合,每一個(gè)具有其自己關(guān)于可用性和性能的需求。云服務(wù)112的租戶或訂 戶可以有任意數(shù)量的應(yīng)用。每個(gè)應(yīng)用可以進(jìn)行版本控制并且可以具有關(guān)聯(lián)的零個(gè)或多個(gè)版 本化的資源API以及那些資源應(yīng)用編程接口(API)接觸的零個(gè)或多個(gè)版本化的服務(wù)實(shí)現(xiàn)。這 些實(shí)體是運(yùn)行時(shí)用來(lái)將虛擬請(qǐng)求(mAPI)映射到具體服務(wù)實(shí)現(xiàn)(服務(wù))的東西。當(dāng)她設(shè)計(jì)和建 立其應(yīng)用時(shí),這種映射向手機(jī)開(kāi)發(fā)人員提供了不必知道實(shí)際的實(shí)現(xiàn)服務(wù)的便利(luxury)。 并且不需要她關(guān)于每個(gè)服務(wù)錯(cuò)誤修復(fù)重新發(fā)布新的應(yīng)用。元數(shù)據(jù)儲(chǔ)存庫(kù)124可以存儲(chǔ)一個(gè) 或多個(gè)可以由計(jì)算設(shè)備(例如,計(jì)算設(shè)備102)調(diào)用的可調(diào)用接口 114??烧{(diào)用接口 114可以由 應(yīng)用的用戶(例如,開(kāi)發(fā)人員)定制,以促進(jìn)與云服務(wù)112的通信。元數(shù)據(jù)儲(chǔ)存庫(kù)124可以存儲(chǔ) 對(duì)應(yīng)于可調(diào)用接口的一種或多種配置的元數(shù)據(jù)。元數(shù)據(jù)儲(chǔ)存庫(kù)124可被配置為存儲(chǔ)用于實(shí) 現(xiàn)一個(gè)或多個(gè)可調(diào)用接口 114,例如資產(chǎn)接口,的元數(shù)據(jù)??烧{(diào)用接口 114可被實(shí)現(xiàn)為在用于 通信的一種格式、協(xié)議或體系架構(gòu)風(fēng)格與用于通信的另一種格式、協(xié)議或體系架構(gòu)風(fēng)格之 間進(jìn)行翻譯。元數(shù)據(jù)儲(chǔ)存庫(kù)124可以由通過(guò)認(rèn)證的用戶經(jīng)由外部網(wǎng)絡(luò)可修改。云計(jì)算機(jī)系統(tǒng) 110可以包括其它數(shù)據(jù)存儲(chǔ),諸如可以存儲(chǔ)關(guān)于在云服務(wù)112中發(fā)生的處理的診斷信息的診 斷存儲(chǔ)以及可以存儲(chǔ)在系統(tǒng)中的處理期間捕獲的記錄和分析數(shù)據(jù)的分析存儲(chǔ)。
[0057]在一些實(shí)施例中,元數(shù)據(jù)儲(chǔ)存庫(kù)124可以存儲(chǔ)關(guān)于一個(gè)或多個(gè)模板執(zhí)行環(huán)境的信 息。該信息可以由用戶通過(guò)接口 114配置。關(guān)于模板執(zhí)行環(huán)境的信息可以包括模板標(biāo)識(shí)符、 模板類型、模板版本、所支持的服務(wù)/版本、名稱、描述、與模板執(zhí)行環(huán)境相關(guān)的其它屬性,或 它們的組合。
[0058]代表云服務(wù)112,云計(jì)算機(jī)系統(tǒng)110可以利用其計(jì)算資源來(lái)促進(jìn)定制可執(zhí)行指令的 執(zhí)行。計(jì)算資源可以關(guān)于與云服務(wù)112的訂戶或租戶關(guān)聯(lián)的特定用戶被分配供使用。資源可 以關(guān)于用戶、設(shè)備、應(yīng)用或與訂戶相關(guān)的其它標(biāo)準(zhǔn)來(lái)分配。依賴于移動(dòng)計(jì)算設(shè)備尋求與企業(yè) 計(jì)算機(jī)系統(tǒng)通信的需求,云服務(wù)112可以被縮小或放大。云服務(wù)112可被配置為使得它是有 彈性的,以處理高于移動(dòng)計(jì)算設(shè)備和企業(yè)計(jì)算機(jī)系統(tǒng)之間正常流量的浪涌和臨時(shí)周期。在 一些實(shí)施例中,云服務(wù)112可以包括支持可擴(kuò)展性的元件,使得組件可以被添加或代替,以 滿足通信中的需求。
[0059] 計(jì)算設(shè)備102和計(jì)算設(shè)備104可以與云服務(wù)112通信(例如,發(fā)送請(qǐng)求消息)。計(jì)算設(shè) 備102可以向云服務(wù)112發(fā)送對(duì)由企業(yè)計(jì)算機(jī)系統(tǒng)和/或云服務(wù)112提供的服務(wù)的請(qǐng)求。計(jì)算 設(shè)備104可被實(shí)現(xiàn)為向計(jì)算設(shè)備104的用戶提供一個(gè)或多個(gè)用戶接口 106,諸如圖形用戶界 面(GUI)。用戶接口 106可以是向管理員和/或開(kāi)發(fā)人員提供對(duì)云服務(wù)112的訪問(wèn)的控制臺(tái)。 計(jì)算設(shè)備104的用戶可以經(jīng)由用戶接口 106操作云服務(wù)112。云服務(wù)112可以利用用戶接口 104配置。在一些實(shí)施例中,模板執(zhí)行環(huán)境和/或定制可執(zhí)行指令可以經(jīng)由用戶接口 104被配 置或定義。用戶接口 104可被配置為經(jīng)由接口 114與云服務(wù)進(jìn)行通信,以配置云服務(wù)112的操 作。
[0060] 計(jì)算設(shè)備102(例如,移動(dòng)計(jì)算設(shè)備)和計(jì)算設(shè)備104可以利用硬件、固件、軟件或它 們的組合來(lái)實(shí)現(xiàn)。計(jì)算設(shè)備102可以經(jīng)由云服務(wù)112與企業(yè)計(jì)算機(jī)系統(tǒng)140、150通信。計(jì)算設(shè) 備102和計(jì)算設(shè)備104可以各自包括或可被實(shí)現(xiàn)為端點(diǎn)設(shè)備、個(gè)人數(shù)字助理(PDA)、平板計(jì)算 機(jī)、膝上型計(jì)算機(jī)、移動(dòng)計(jì)算設(shè)備、臺(tái)式計(jì)算機(jī)、可穿戴計(jì)算機(jī)、尋呼機(jī),等等。計(jì)算設(shè)備102 和計(jì)算設(shè)備104可以各自包括一個(gè)或多個(gè)存儲(chǔ)器存儲(chǔ)設(shè)備和一個(gè)或多個(gè)處理器。計(jì)算設(shè)備 102和計(jì)算設(shè)備104可以各自包括不同類型的操作系統(tǒng)。在一些實(shí)施例中,云服務(wù)112可以包 括一個(gè)或多個(gè)運(yùn)行時(shí)環(huán)境(例如,服務(wù)器進(jìn)程)。運(yùn)行時(shí)環(huán)境可以由云計(jì)算機(jī)系統(tǒng)110實(shí)現(xiàn)。 例如,云計(jì)算機(jī)系統(tǒng)110可以實(shí)現(xiàn)一個(gè)或多個(gè)虛擬機(jī)環(huán)境,例如,Java?虛擬機(jī)環(huán)境(JVM), 其對(duì)云服務(wù)112充當(dāng)運(yùn)行時(shí)環(huán)境。存儲(chǔ)器存儲(chǔ)設(shè)備可以讓(一個(gè)或多個(gè))處理器可訪問(wèn)并且 可以包括存儲(chǔ)在其上的指令,當(dāng)指令由(一個(gè)或多個(gè))處理器執(zhí)行時(shí),使(一個(gè)或多個(gè))處理 器實(shí)現(xiàn)本文公開(kāi)的一個(gè)或多個(gè)操作、方法或過(guò)程。存儲(chǔ)器存儲(chǔ)可以作為本地儲(chǔ)存器操作。本 地儲(chǔ)存器可以利用任何類型的持久性存儲(chǔ)設(shè)備來(lái)實(shí)現(xiàn),諸如存儲(chǔ)器存儲(chǔ)設(shè)備或其它計(jì)算機(jī) 可讀存儲(chǔ)介質(zhì)。在一些實(shí)施例中,本地儲(chǔ)存器可以包括或?qū)崿F(xiàn)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)(例如,文 檔數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù),或其它類型的數(shù)據(jù)庫(kù))、一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ),一個(gè)或多個(gè)文件存 儲(chǔ)、一個(gè)或多個(gè)文件系統(tǒng),或它們的組合。本地儲(chǔ)存器可以存儲(chǔ)企業(yè)數(shù)據(jù)。在一些實(shí)施例中, 計(jì)算設(shè)備102的本地儲(chǔ)存器可以包括可在由云服務(wù)112提供的孩子執(zhí)行環(huán)境134中執(zhí)行的一 個(gè)或多個(gè)定制可執(zhí)行指令。
[0061] 在各種實(shí)施例中,計(jì)算設(shè)備102可被配置為執(zhí)行和操作一個(gè)或多個(gè)應(yīng)用,諸如web 瀏覽器、客戶端應(yīng)用、專有客戶端應(yīng)用,等等。應(yīng)用可以包括被配置為用于由企業(yè)計(jì)算機(jī)系 統(tǒng)提供的企業(yè)數(shù)據(jù)和/或服務(wù)的特定應(yīng)用。客戶端應(yīng)用可以經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)被訪問(wèn)或 操作。應(yīng)用可以包括用于操作應(yīng)用的GUI。
[0062] 計(jì)算設(shè)備102可以利用無(wú)線通信經(jīng)由一個(gè)或多個(gè)通信網(wǎng)絡(luò)與云服務(wù)112進(jìn)行通信。 通信網(wǎng)絡(luò)的例子可以包括移動(dòng)網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、其它 無(wú)線通信網(wǎng)絡(luò),或它們的組合。在某些實(shí)施例中,計(jì)算設(shè)備102可以利用定制通信協(xié)議(例 如,定制協(xié)議)建立與云服務(wù)112的通信連接114??梢酝ㄟ^(guò)云計(jì)算機(jī)系統(tǒng)110與云服務(wù)112建 立連接114。定制協(xié)議可以是基于超文本傳輸協(xié)議(HTTP)的協(xié)議。通過(guò)利用定制通信協(xié)議, 計(jì)算設(shè)備102可以在任何計(jì)算設(shè)備平臺(tái)上操作,以便與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通信。
[0063] 計(jì)算設(shè)備102可以通過(guò)一個(gè)或多個(gè)可調(diào)用接口,例如應(yīng)用編程接口(API),諸如接 口 114,與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通信??烧{(diào)用接口可以在計(jì)算設(shè)備102上實(shí)現(xiàn)??梢詾槭箲?yīng) 用能夠與云服務(wù)112通信的那些定制應(yīng)用實(shí)現(xiàn)可調(diào)用接口。在一些實(shí)施例中,可調(diào)用接口可 以為云服務(wù)112開(kāi)發(fā)??烧{(diào)用接口可以使應(yīng)用能夠與云服務(wù)112進(jìn)行通信,而不必適應(yīng)協(xié)議 (例如,通信或開(kāi)發(fā)協(xié)議)和/或體系架構(gòu)風(fēng)格或格式的差異。
[0064] 云服務(wù)112可以由一個(gè)或多個(gè)防火墻保護(hù),以便向過(guò)程請(qǐng)求和執(zhí)行定制代碼116提 供安全的環(huán)境。計(jì)算設(shè)備102和云服務(wù)112之間消息(例如,HTTP消息或REST消息)的傳送可 以符合可以被可調(diào)用接口支持的通信協(xié)議(例如,HTTP或REST)。云計(jì)算機(jī)系統(tǒng)110和企業(yè)計(jì) 算機(jī)系統(tǒng)140、150之間的消息傳送可以符合通信協(xié)議(例如,HTTP或REST)。計(jì)算設(shè)備102和 企業(yè)計(jì)算機(jī)系統(tǒng)140、150之間的通信可以經(jīng)由云服務(wù)112是雙向的。
[0065]云計(jì)算機(jī)系統(tǒng)110還可以通過(guò)與企業(yè)計(jì)算機(jī)系統(tǒng)的通信作為居間計(jì)算環(huán)境操作, 企業(yè)計(jì)算機(jī)系統(tǒng)其中一些可以具有不同的通信協(xié)議。這種通信協(xié)議可以是定制的或特定于 與云計(jì)算機(jī)系統(tǒng)110通信的應(yīng)用或服務(wù)。另外,云計(jì)算機(jī)系統(tǒng)110可以與企業(yè)計(jì)算機(jī)系統(tǒng)通 信,以便根據(jù)企業(yè)計(jì)算機(jī)系統(tǒng)支持的格式提供企業(yè)服務(wù)和/或交換企業(yè)數(shù)據(jù)。云計(jì)算機(jī)系統(tǒng) 110可以維護(hù)企業(yè)數(shù)據(jù)的本地儲(chǔ)存器(例如,本地高速緩存)并且可以使用本地儲(chǔ)存器來(lái)管 理移動(dòng)計(jì)算設(shè)備和企業(yè)計(jì)算機(jī)系統(tǒng)140、150之間企業(yè)數(shù)據(jù)的同步。
[0066]計(jì)算設(shè)備102可以與云服務(wù)112進(jìn)行通信(例如,發(fā)送請(qǐng)求消息),以便向企業(yè)計(jì)算 機(jī)系統(tǒng)傳送消息(例如,請(qǐng)求服務(wù))和/或從定制執(zhí)行服務(wù)130請(qǐng)求服務(wù)(例如,執(zhí)行一個(gè)或多 個(gè)定制可執(zhí)行指令)。通過(guò)防火墻接收的請(qǐng)求可以被處理,以確定用于與請(qǐng)求關(guān)聯(lián)的用戶的 安全性認(rèn)證。本文所述的安全性機(jī)制可以保護(hù)客戶通信和企業(yè)數(shù)據(jù)的完整性。為了防止或 減少受損的通信和/或數(shù)據(jù)被損害,認(rèn)證可以在一開(kāi)始進(jìn)行,從而將訪問(wèn)限制到僅具有所需 憑證的那些人。服務(wù)和服務(wù)調(diào)用流被結(jié)構(gòu)化為使得,當(dāng)請(qǐng)求到達(dá)時(shí),它們只能訪問(wèn)為它們被 授權(quán)的服務(wù)。通過(guò)解耦授權(quán)與系統(tǒng)處理的其余部分,授權(quán)"可以由誰(shuí)來(lái)完成什么"的任務(wù)可 以被委派給可以被擴(kuò)展成支持特定公司客戶所需的任何附加定制安全措施的專用安全性 子系統(tǒng)(例如,身份管理系統(tǒng))。在一些實(shí)施例中,安全性認(rèn)證可以為請(qǐng)求、會(huì)話、用戶、設(shè)備、 與用戶相關(guān)的其它標(biāo)準(zhǔn)或它們的組合確定。安全性認(rèn)證可以為接收到的每個(gè)請(qǐng)求執(zhí)行。在 一些實(shí)施例中,認(rèn)證可以基于請(qǐng)求的先前驗(yàn)證來(lái)確定。安全性認(rèn)證可以為用戶或設(shè)備確定, 使得對(duì)不同企業(yè)計(jì)算機(jī)系統(tǒng)140、150的請(qǐng)求可以基于安全性的單次驗(yàn)證來(lái)認(rèn)證。
[0067]云計(jì)算機(jī)系統(tǒng)110可以包括一個(gè)或多個(gè)負(fù)載平衡器系統(tǒng)108、實(shí)現(xiàn)一個(gè)或多個(gè)負(fù)載 平衡器系統(tǒng)108和/或與一個(gè)或多個(gè)負(fù)載平衡器系統(tǒng)108通信。在確定安全性認(rèn)證時(shí),云計(jì)算 機(jī)系統(tǒng)110可以請(qǐng)求負(fù)載平衡器系統(tǒng)108中的任何一個(gè)檢查它接收到的請(qǐng)求并檢測(cè)請(qǐng)求針 對(duì)的服務(wù)。云服務(wù)112可被配置為具有負(fù)載平衡器系統(tǒng)108并利用開(kāi)始時(shí)的資源被更新,以 便當(dāng)請(qǐng)求到達(dá)時(shí),負(fù)載平衡器系統(tǒng)108可以跨不同的資源平衡所請(qǐng)求的負(fù)載。
[0068]云計(jì)算機(jī)系統(tǒng)110可以包括調(diào)度器118,其可以處理請(qǐng)求并將它們分派到適當(dāng)?shù)姆?務(wù)。請(qǐng)求可以在調(diào)度時(shí)被路由到適當(dāng)?shù)姆?wù)。在一些實(shí)施例中,服務(wù)本身可以在云服務(wù)112 中或在企業(yè)計(jì)算機(jī)系統(tǒng)中將一個(gè)內(nèi)部請(qǐng)求路由到另一個(gè)內(nèi)部服務(wù)。在一些實(shí)施例中,調(diào)度 器118可以解析請(qǐng)求,以便基于在請(qǐng)求的統(tǒng)一資源標(biāo)識(shí)符(URI)和/或統(tǒng)一資源定位符(URL) 識(shí)別出的目的地的位置(例如,地址)確定其目的地。調(diào)度器118可以解析請(qǐng)求及其報(bào)頭,以 提取以下信息中的一個(gè)或多個(gè):租戶標(biāo)識(shí)符、服務(wù)標(biāo)識(shí)符、應(yīng)用名稱、應(yīng)用版本、請(qǐng)求資源、 操作和參數(shù),等等。調(diào)度器118可以使用解析出的信息來(lái)執(zhí)行元數(shù)據(jù)儲(chǔ)存庫(kù)124中的查找。調(diào) 度器118可以為請(qǐng)求檢索對(duì)應(yīng)的數(shù)據(jù)。調(diào)度器118可以基于所請(qǐng)求的資源和數(shù)據(jù)中的映射確 定目標(biāo)服務(wù)。雖然最初是非?;镜挠成?,但是數(shù)據(jù)可以被增強(qiáng),以提供更復(fù)雜的、基于規(guī) 則的調(diào)度。調(diào)度器118可以執(zhí)行任何特定于調(diào)度的記錄、度量收集,等等。然后,調(diào)度器118可 以根據(jù)應(yīng)用元數(shù)據(jù)執(zhí)行初始授權(quán)。調(diào)度器118可以格式化呼入的請(qǐng)求和任何其它必要的信 息并把該消息放在路由總線120的隊(duì)列上,用于進(jìn)一步處理。一旦消息被放在路由總線120 的隊(duì)列上,調(diào)度器118就可以等待對(duì)應(yīng)的響應(yīng)。調(diào)度器118可以處理從路由總線120接收到的 響應(yīng)并將響應(yīng)返回到計(jì)算設(shè)備102。
[0069]除了處理對(duì)外部請(qǐng)求的調(diào)度,調(diào)度器118還可以在調(diào)度內(nèi)部請(qǐng)求時(shí)起作用。這種內(nèi) 部請(qǐng)求可以以復(fù)合服務(wù)或用于服務(wù)的定制可執(zhí)行指令的形式進(jìn)入。在這兩種情況下,主叫 方都可以使用如在應(yīng)用中定義的邏輯服務(wù)名稱。調(diào)度器118可以使用當(dāng)前執(zhí)行上下文來(lái)確 定該應(yīng)用并使用那個(gè)邏輯名來(lái)確定要調(diào)用的適當(dāng)服務(wù)。
[0070]云計(jì)算機(jī)系統(tǒng)110可以包括路由總線120,以管理消息到向路由總線120注冊(cè)的目 的地的遞送。路由總線120可以作為用于管理云服務(wù)112中的通信的中央系統(tǒng)操作。通過(guò)路 由總線120傳送的數(shù)據(jù)可以被處理,以捕獲并存儲(chǔ)數(shù)據(jù)。路由總線120可以提供框架,使得附 加的集中式服務(wù)(附加的授權(quán)、調(diào)試,等等)可以容易地根據(jù)需要被插入。由路由總線120捕 獲的數(shù)據(jù)可被存儲(chǔ)在診斷存儲(chǔ)126和/或分析存儲(chǔ)128中。
[0071 ]路由總線120可以將消息路由到一個(gè)或多個(gè)目的地。消息可以包括針對(duì)由云服務(wù) 112提供的一個(gè)或多個(gè)服務(wù)126的請(qǐng)求。消息可以為了傳送到一個(gè)或多個(gè)企業(yè)計(jì)算機(jī)系統(tǒng) 140、150而被接收。云服務(wù)可以提供服務(wù)126,諸如對(duì)象存儲(chǔ)服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、通知服務(wù)、 web服務(wù)、社交服務(wù)、資源服務(wù)、定制執(zhí)行服務(wù)130,或它們的組合。路由總線120可以處理請(qǐng) 求,以確定其目的地。針對(duì)企業(yè)計(jì)算機(jī)系統(tǒng)中的消息可被傳遞到基于消息中的信息確定的 目的地企業(yè)計(jì)算機(jī)系統(tǒng)。路由總線120可以請(qǐng)求136適配器接口 122如果必要的話就執(zhí)行翻 譯,以便將請(qǐng)求傳遞到企業(yè)計(jì)算機(jī)系統(tǒng),例如,企業(yè)計(jì)算機(jī)系統(tǒng)140或企業(yè)計(jì)算機(jī)系統(tǒng)150。 路由總線120可以將包括請(qǐng)求的消息傳遞到基于消息中所包括的信息確定的一個(gè)或多個(gè)服 務(wù)126、130。
[0072]在某些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可以包括或?qū)崿F(xiàn)適配器接口 122,以便將消息 翻譯或轉(zhuǎn)換成由接收企業(yè)計(jì)算機(jī)系統(tǒng)支持的協(xié)議。適配器接口 122可以與每個(gè)企業(yè)計(jì)算機(jī) 系統(tǒng)140、150建立單獨(dú)的通信連接。云計(jì)算機(jī)系統(tǒng)110可被配置為經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)(未 示出)與企業(yè)計(jì)算機(jī)系統(tǒng)140、150進(jìn)行通信。通信網(wǎng)絡(luò)的例子可以包括互聯(lián)網(wǎng)、移動(dòng)網(wǎng)絡(luò)、公 共網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、其它通信網(wǎng)絡(luò),或它們的組合。在 某些實(shí)施例中,通信連接可以是利用高速通信干線促進(jìn)的高速通信連接。與企業(yè)計(jì)算機(jī)系 統(tǒng)140、150的通信可以穿過(guò)防火墻,這確保與外部網(wǎng)絡(luò)的通信是安全的,以防止經(jīng)由這種通 信對(duì)云服務(wù)112的未授權(quán)訪問(wèn)。
[0073]由云服務(wù)112提供的一個(gè)服務(wù)126可以包括可以為BLOB提供存儲(chǔ)設(shè)施的對(duì)象存儲(chǔ) 服務(wù)。存儲(chǔ)的基本單元可以是文本,具有讀和寫(xiě)操作。還可以提供用于JSON對(duì)象的基本查詢 設(shè)施。
[0074]由云服務(wù)112提供的另一個(gè)服務(wù)126可以包括數(shù)據(jù)庫(kù)服務(wù),以允許到托管的數(shù)據(jù)庫(kù) 的連接,用于執(zhí)行查詢或?qū)懭搿K璧膮?shù)化可能需要用于數(shù)據(jù)庫(kù)的完整連接串、SQL串或 者所存儲(chǔ)的要執(zhí)行的過(guò)程、任何參數(shù)和可能的憑證。必要的信息可以在運(yùn)行時(shí)提供或者在 應(yīng)用元數(shù)據(jù)中被預(yù)先配置。
[0075]由云服務(wù)112提供的另一個(gè)服務(wù)126可以包括社交服務(wù),這可以提供與許多流行的 社交網(wǎng)站,諸如Facebook?、Twitter?等,的基本整合。社交服務(wù)可以允許利用來(lái)自 那些站點(diǎn)的用戶憑證的第三方認(rèn)證以及對(duì)它們的服務(wù)的訪問(wèn)。例子包括發(fā)送推文或更新您 的狀態(tài)。
[0076]由云服務(wù)112提供的另一個(gè)服務(wù)126可以包括公共云服務(wù),以便使用戶能夠簡(jiǎn)化和 優(yōu)化通信。例如,服務(wù)開(kāi)發(fā)人員可以使用云服務(wù)112的通用Web服務(wù)向利用云計(jì)算機(jī)系統(tǒng)110 的云服務(wù)托管的資源講話。
[0077] 定制執(zhí)行服務(wù)130可以建立一個(gè)或多個(gè)定制執(zhí)行環(huán)境,例如,孩子執(zhí)行環(huán)境134,以 執(zhí)行定制可執(zhí)行指令。定制可執(zhí)行指令可以在來(lái)自計(jì)算設(shè)備102的消息中被接收和/或從云 計(jì)算機(jī)系統(tǒng)110可訪問(wèn)的數(shù)據(jù)存儲(chǔ),例如,元數(shù)據(jù)儲(chǔ)存庫(kù)124,檢索。孩子執(zhí)行環(huán)境134可以基 于模板執(zhí)行環(huán)境132建立。云服務(wù)112可在元數(shù)據(jù)儲(chǔ)存庫(kù)124中管理關(guān)于一個(gè)或多個(gè)模板執(zhí) 行環(huán)境132的信息。模板執(zhí)行環(huán)境132可以是特定于代碼的虛擬機(jī)環(huán)境,例如,JVM環(huán)境。孩子 執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境來(lái)建立。孩子執(zhí)行環(huán)境可以包括或?qū)崿F(xiàn)孩子特定于代碼的 虛擬機(jī)環(huán)境,例如,孩子JVM環(huán)境。照此,孩子執(zhí)行環(huán)境134可以包括從模板執(zhí)行環(huán)境132拷 貝、繼承和/或得出的信息(例如,設(shè)置、屬性、變量、狀態(tài),等等)。基于模板執(zhí)行環(huán)境132建立 的孩子執(zhí)行環(huán)境134的例子參照?qǐng)D2和3來(lái)描述。
[0078] 定制執(zhí)行服務(wù)130可以實(shí)現(xiàn)一個(gè)或多個(gè)操作,以處理執(zhí)行定制可執(zhí)行指令的請(qǐng)求。 一個(gè)這種操作可以包括確定定制可執(zhí)行指令。定制可執(zhí)行指令可以由請(qǐng)求識(shí)別或者可以被 包括在請(qǐng)求中。
[0079] 由定制執(zhí)行服務(wù)130執(zhí)行的另一個(gè)這種操作可以包括確定從其建立孩子執(zhí)行環(huán)境 的模板執(zhí)行環(huán)境132。模板執(zhí)行環(huán)境可以基于一個(gè)或多個(gè)標(biāo)準(zhǔn)來(lái)選擇,諸如定制可執(zhí)行指令 的類型、用于定制可執(zhí)行指令的執(zhí)行的一個(gè)或多個(gè)資源、與定制可執(zhí)行指令關(guān)聯(lián)的語(yǔ)言的 類型、與定制可執(zhí)行指令的執(zhí)行相關(guān)的其它標(biāo)準(zhǔn),或它們的組合。選定的模板執(zhí)行環(huán)境可以 在接收?qǐng)?zhí)行定制執(zhí)行指令的請(qǐng)求之前、之后或同時(shí)執(zhí)行。如上面所解釋的,模板執(zhí)行環(huán)境 132可以由用戶,諸如通過(guò)計(jì)算設(shè)備104,配置。
[0080] 為了建立孩子執(zhí)行環(huán)境,定制執(zhí)行服務(wù)130可以執(zhí)行一個(gè)或多個(gè)操作。建立孩子執(zhí) 行環(huán)境的操作可以包括發(fā)出命令(例如,f〇rk()命令)或指令,這使得孩子執(zhí)行環(huán)境基于選 定的模板執(zhí)行環(huán)境被建立(例如,產(chǎn)生)。一個(gè)或多個(gè)定制可執(zhí)行指令可以被加載,用于在孩 子執(zhí)行環(huán)境中執(zhí)行。定制可執(zhí)行指令可以在孩子執(zhí)行環(huán)境被建立之前加載,以進(jìn)一步改進(jìn) 指令執(zhí)行的處理時(shí)間。孩子執(zhí)行環(huán)境可被配置為調(diào)整孩子執(zhí)行環(huán)境的環(huán)境。該環(huán)境可以包 括設(shè)置和/或訪問(wèn)許可。例如,訪問(wèn)許可可以被剝離或更改,以配置對(duì)在環(huán)境中執(zhí)行的指令 的訪問(wèn)許可。一旦配置好,定制可執(zhí)行指令就可以在孩子執(zhí)行環(huán)境中執(zhí)行。
[0081] 當(dāng)定制可執(zhí)行指令在孩子執(zhí)行環(huán)境134中執(zhí)行時(shí),結(jié)果可以由孩子執(zhí)行環(huán)境134產(chǎn) 生。結(jié)果可以被提供給定制執(zhí)行服務(wù)130。定制執(zhí)行服務(wù)130可以基于該結(jié)果執(zhí)行一個(gè)或多 個(gè)操作。結(jié)果可以包括指示執(zhí)行定制可執(zhí)行指令的結(jié)果的代碼或值。如果沒(méi)有被成功執(zhí)行, 則定制執(zhí)行服務(wù)130可以重新執(zhí)行定制執(zhí)行指令?;诮Y(jié)果,定制執(zhí)行服務(wù)130可以在路由 總線120的隊(duì)列上放置消息(例如,響應(yīng)),以便遞送到計(jì)算設(shè)備,例如請(qǐng)求定制可執(zhí)行指令 的執(zhí)行的計(jì)算設(shè)備。消息可以包括指示結(jié)果的信息。
[0082] 在一些實(shí)施例中,模板執(zhí)行環(huán)境132和/或孩子執(zhí)行環(huán)境134可以訪問(wèn)可從云計(jì)算 機(jī)系統(tǒng)110獲得的資源(例如,元數(shù)據(jù)儲(chǔ)存庫(kù)124)或服務(wù)126、130。例如,這種資源可以包括 由云計(jì)算機(jī)系統(tǒng)存儲(chǔ)的信息或數(shù)據(jù)??梢岳靡粋€(gè)或多個(gè)可調(diào)用接口和/或庫(kù)(例如,SDK 136或SDK 138)獲得訪問(wèn),這些接口和庫(kù)可以包括在環(huán)境中或者可以被環(huán)境用來(lái)訪問(wèn)資源 或服務(wù)。例如,SDK 136或SDK 138可以分別被模板執(zhí)行環(huán)境132或孩子執(zhí)行環(huán)境134調(diào)用,以 調(diào)用由云計(jì)算機(jī)系統(tǒng)110提供的服務(wù)。
[0083]在一些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可以促進(jìn)向計(jì)算設(shè)備102的用戶的通知。云計(jì) 算機(jī)系統(tǒng)110可以包括支持與用戶的有狀態(tài)交互的警報(bào)管理服務(wù),例如,基于用戶偏好通過(guò) 一個(gè)或多個(gè)信道遞送警報(bào)、等待響應(yīng),以及基于響應(yīng)采取行動(dòng)。對(duì)于在一個(gè)信道上發(fā)送的警 報(bào)的響應(yīng)可以通過(guò)另一個(gè)信道被接收,服務(wù)需要該另一個(gè)信道而能夠處理該響應(yīng)。平臺(tái)可 以附帶內(nèi)置的狀態(tài)模型,用于流行的交互模式,并且利用新的狀態(tài)模型可擴(kuò)展。一些警報(bào)信 道可以包括眾所周知的通信資源,無(wú)論是單向或者是雙向。例子包括sms、Twitter⑧、推 送通知,和谷歌云Messaging? *
[0084] 云計(jì)算機(jī)系統(tǒng),諸如本文所描述的云計(jì)算機(jī)系統(tǒng),可以向它的用戶提供許多技術(shù) 優(yōu)點(diǎn)和益處。一個(gè)技術(shù)優(yōu)點(diǎn)可以包括使移動(dòng)計(jì)算設(shè)備(例如,移動(dòng)電話)的用戶能夠在安全 的執(zhí)行環(huán)境(例如,沙箱容器)中,諸如在云計(jì)算機(jī)系統(tǒng)中,執(zhí)行定制代碼,其可以提供支持 代碼執(zhí)行的必要的計(jì)算資源。另一個(gè)技術(shù)優(yōu)點(diǎn)可以是,執(zhí)行定制代碼的安全執(zhí)行環(huán)境還可 以使得定制代碼能夠與不同的用戶(例如,訂戶或租戶)單獨(dú)且獨(dú)立地執(zhí)行。還有另一個(gè)技 術(shù)優(yōu)點(diǎn)可以是,安全執(zhí)行環(huán)境可以利用模板可定制,模板可以使執(zhí)行環(huán)境的多個(gè)實(shí)例被建 立,以便并發(fā)地執(zhí)行定制代碼。模板可被配置為運(yùn)行不同類型的定制代碼或操作。通過(guò)為定 制代碼的執(zhí)行提供安全的環(huán)境定制,用戶、管理員和開(kāi)發(fā)人員可以在不干擾或影響其它執(zhí) 行環(huán)境的操作的情況下執(zhí)行不同類型的定制代碼。還有另一個(gè)技術(shù)優(yōu)點(diǎn)可以包括改進(jìn)用于 定制代碼的執(zhí)行的處理效率,因?yàn)槟0瀛h(huán)境可以減少配置和建立定制執(zhí)行環(huán)境的時(shí)間并且 可以使不同的定制代碼能夠執(zhí)行,而不依賴于另一個(gè)環(huán)境的資源。通過(guò)建立定制執(zhí)行環(huán)境, 可以防止定制代碼耗費(fèi)用于代碼執(zhí)行的太多資源并且可以防止定制代碼產(chǎn)生可以使得能 夠?qū)υ朴?jì)算機(jī)系統(tǒng)中的未授權(quán)資源進(jìn)行訪問(wèn)的附加的過(guò)程或環(huán)境。
[0085] 現(xiàn)在轉(zhuǎn)向圖2,示出了根據(jù)本發(fā)明的一些實(shí)施例、可以為了定制可執(zhí)行指令的執(zhí)行 而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)的計(jì)算機(jī)系統(tǒng)200的框圖。計(jì)算機(jī)系統(tǒng)200可以包括云計(jì)算機(jī) 系統(tǒng)110。在某些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可被實(shí)現(xiàn)為被配置為為了促進(jìn)計(jì)算設(shè)備(例 如,移動(dòng)計(jì)算設(shè)備202和移動(dòng)計(jì)算設(shè)備212)與企業(yè)計(jì)算機(jī)系統(tǒng)(例如,企業(yè)計(jì)算機(jī)系統(tǒng)282和 企業(yè)計(jì)算機(jī)系統(tǒng)292)之間的通信而執(zhí)行各種操作的一個(gè)或多個(gè)功能塊或模塊設(shè)備。云計(jì)算 機(jī)系統(tǒng)110可以包括通信模塊230、可調(diào)用接口 250、定制執(zhí)行服務(wù)130、調(diào)度器118、路由總線 120,以及協(xié)議翻譯器252。
[0086]云計(jì)算機(jī)系統(tǒng)110可以包括一個(gè)或多個(gè)存儲(chǔ)器存儲(chǔ)設(shè)備("本地儲(chǔ)存器")。存儲(chǔ)器 存儲(chǔ)設(shè)備可以作為本地儲(chǔ)存器操作。本地儲(chǔ)存器可以利用任何類型的持久性存儲(chǔ)設(shè)備,諸 如存儲(chǔ)器存儲(chǔ)設(shè)備或其它計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),來(lái)實(shí)現(xiàn)。在一些實(shí)施例中,本地儲(chǔ)存器可以 包括或?qū)崿F(xiàn)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)(例如,文檔數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù),或其它類型的數(shù)據(jù)庫(kù))、一 個(gè)或多個(gè)文件存儲(chǔ)、一個(gè)或多個(gè)文件系統(tǒng),或它們的組合。本地儲(chǔ)存器可以存儲(chǔ)企業(yè)數(shù)據(jù)。 在一些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可以包括高速緩存220,其可被用作本地儲(chǔ)存器來(lái)存儲(chǔ) 企業(yè)數(shù)據(jù)224和一條或多條定制可執(zhí)行指令222。企業(yè)數(shù)據(jù)224可以從企業(yè)計(jì)算機(jī)系統(tǒng)282、 292或者從移動(dòng)計(jì)算設(shè)備202、212接收,或者可以包括由云計(jì)算機(jī)系統(tǒng)110轉(zhuǎn)換的企業(yè)數(shù)據(jù), 或它們的組合。一條或多條定制可執(zhí)行指令222可被存儲(chǔ)在高速緩存220中。在一些實(shí)施例 中,云計(jì)算機(jī)系統(tǒng)110可以訪問(wèn)充當(dāng)用于云計(jì)算機(jī)系統(tǒng)110的本地儲(chǔ)存器的一個(gè)或多個(gè)數(shù)據(jù) 庫(kù)294。數(shù)據(jù)庫(kù)294可以具有更大的存儲(chǔ)容量并且可以管理其儲(chǔ)存器中的數(shù)據(jù)。數(shù)據(jù)庫(kù)294可 以存儲(chǔ)(一條或多條)定制可執(zhí)行指令222,這些指令可以在從數(shù)據(jù)庫(kù)294中檢索出時(shí)被加載 到高速緩存220中。數(shù)據(jù)庫(kù)294和/或高速緩存222可以存儲(chǔ)對(duì)應(yīng)于一個(gè)或多個(gè)模板執(zhí)行環(huán)境 的信息。在一些實(shí)施例中,數(shù)據(jù)庫(kù)294可以包括或?qū)崿F(xiàn)元數(shù)據(jù)儲(chǔ)存庫(kù)124。
[0087]通信模塊230可被配置為管理云計(jì)算機(jī)系統(tǒng)110和多個(gè)企業(yè)的計(jì)算機(jī)系統(tǒng),例如, 企業(yè)計(jì)算機(jī)系統(tǒng)282、292,之間的通信。通信模塊230可被配置為管理云計(jì)算機(jī)系統(tǒng)110和一 個(gè)或多個(gè)計(jì)算設(shè)備,例如,移動(dòng)計(jì)算設(shè)備202和移動(dòng)計(jì)算設(shè)備212,之間的通信。為了促進(jìn)通 信,通信模塊230可以配備有啟用通信的硬件,諸如接收器232和發(fā)送器234,或它們的組合。 [0088] 企業(yè)計(jì)算機(jī)系統(tǒng),諸如企業(yè)計(jì)算機(jī)系統(tǒng)282、292,可以物理地位于與云計(jì)算機(jī)系統(tǒng) 110不同的地理位置(例如,遠(yuǎn)程地理位置),在一些實(shí)施例中,企業(yè)計(jì)算機(jī)系統(tǒng)282可以與企 業(yè)計(jì)算機(jī)系統(tǒng)292不同。在一些實(shí)施例中,企業(yè)計(jì)算機(jī)系統(tǒng)282和企業(yè)計(jì)算機(jī)系統(tǒng)292可以是 單個(gè)計(jì)算系統(tǒng)的一部分。企業(yè)計(jì)算機(jī)系統(tǒng)282、292當(dāng)中每一個(gè)可以利用不同的通信協(xié)議與 云計(jì)算機(jī)系統(tǒng)110通信。在一些實(shí)施例中,企業(yè)計(jì)算機(jī)系統(tǒng)282和/或企業(yè)計(jì)算機(jī)系統(tǒng)292可 被實(shí)現(xiàn)為企業(yè)計(jì)算機(jī)系統(tǒng)150,其可以包括代理系統(tǒng),以處理與多個(gè)企業(yè)計(jì)算機(jī)系統(tǒng)的通 {目。
[0089] 在某些實(shí)施例中,企業(yè)計(jì)算機(jī)系統(tǒng)282、292當(dāng)中一個(gè)或多個(gè)可以利用基于HTTP的 協(xié)議與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通信。在一些實(shí)施例中,企業(yè)計(jì)算機(jī)系統(tǒng)282、292可以利用 REST或SOAP通信協(xié)議與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通信。例如,REST協(xié)議可以支持包括URI或URL 的格式。為了利用REST協(xié)議進(jìn)行通信而格式化的企業(yè)數(shù)據(jù)可以容易地被轉(zhuǎn)換成諸如JS0N、 逗號(hào)隔開(kāi)的值(CSV)和真正簡(jiǎn)單的整合(RSS)之類的數(shù)據(jù)格式。企業(yè)計(jì)算機(jī)系統(tǒng)282、292和 云計(jì)算機(jī)系統(tǒng)110可以利用其它協(xié)議,諸如遠(yuǎn)程過(guò)程調(diào)用(RPC)(例如,XML RPC)進(jìn)行通信。
[0090] 在一些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110和企業(yè)計(jì)算機(jī)系統(tǒng)282、292可以利用支持高速 通信的通信連接進(jìn)行通信。通信模塊230可以維持高速通信連接,這可以使云計(jì)算機(jī)系統(tǒng) 110能夠維持與企業(yè)計(jì)算機(jī)系統(tǒng)282、292的持續(xù)的多個(gè)通信,用于管理和/或同步通信,以交 換企業(yè)數(shù)據(jù)或遞送所請(qǐng)求的服務(wù)。高速通信連接可以為云計(jì)算機(jī)系統(tǒng)110提供處理與企業(yè) 計(jì)算機(jī)系統(tǒng)的多個(gè)通信以完全同步企業(yè)數(shù)據(jù)的能力,而移動(dòng)計(jì)算設(shè)備可以在無(wú)線通信連接 的帶寬中受限制來(lái)不斷地接收企業(yè)數(shù)據(jù)。云計(jì)算機(jī)系統(tǒng)Iio和企業(yè)計(jì)算機(jī)系統(tǒng)之間的通信 連接可以是可靠的,使得云計(jì)算機(jī)系統(tǒng)Iio可以接收和發(fā)送通信,以便以很少或沒(méi)有中斷地 同步企業(yè)數(shù)據(jù)。
[0091]在一些實(shí)施例中,通信模塊230可以包括被配置為支持與企業(yè)的計(jì)算機(jī)系統(tǒng)的通 信的適配器接口 122,其中一些可以支持用于通信的不同協(xié)議或技術(shù)。適配器接口 122可以 包括一個(gè)或多個(gè)適配器,例如,適配器242或適配器244,其每一個(gè)可被配置為根據(jù)通信協(xié) 議、企業(yè)計(jì)算機(jī)系統(tǒng)的類型、應(yīng)用的類型、服務(wù)類型,或它們的組合進(jìn)行通信。適配器支持的 通信協(xié)議可以特定于一個(gè)或多個(gè)企業(yè)計(jì)算機(jī)系統(tǒng)。例如,通信模塊230可以包括被配置為用 于利用由企業(yè)計(jì)算機(jī)系統(tǒng)282支持的特定協(xié)議與企業(yè)計(jì)算機(jī)系統(tǒng)282進(jìn)行通信的適配器 242。在另一個(gè)例子中,通信模塊230可以包括被配置為用于利用由企業(yè)計(jì)算機(jī)系統(tǒng)292支持 的特定協(xié)議與企業(yè)計(jì)算機(jī)系統(tǒng)292進(jìn)行通信的適配器244。適配器接口 122可以與企業(yè)計(jì)算 機(jī)系統(tǒng)282、292當(dāng)中每一個(gè)建立單獨(dú)的通信連接。在一些實(shí)施例中,適配器接口 122可被配 置為與可以包括在企業(yè)計(jì)算機(jī)系統(tǒng)中或由企業(yè)計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的代理系統(tǒng)進(jìn)行通信。適配 器接口 122中的適配器可被配置為根據(jù)用于與代理系統(tǒng)通信的定制協(xié)議進(jìn)行通信。定制協(xié) 議可以特定于代理系統(tǒng)的類型或者其中代理系統(tǒng)支持的企業(yè)計(jì)算機(jī)系統(tǒng)。適配器接口可以 減少或消除對(duì)具體地為了支持與特定企業(yè)計(jì)算機(jī)系統(tǒng)的通信而被開(kāi)發(fā)的應(yīng)用,例如應(yīng)用 204或應(yīng)用214,的需求。
[0092]云計(jì)算機(jī)系統(tǒng)110可以使用通信模塊230與移動(dòng)計(jì)算設(shè)備,例如移動(dòng)計(jì)算設(shè)備202、 212,進(jìn)行通信。移動(dòng)計(jì)算設(shè)備可以位于與云計(jì)算機(jī)系統(tǒng)110不同的地理位置。例如,移動(dòng)計(jì) 算設(shè)備202、212可以物理地位于處于與云計(jì)算機(jī)系統(tǒng)110不同地理位置(例如,遠(yuǎn)程地理位 置)處的云計(jì)算機(jī)系統(tǒng)110的防火墻(例如,防火墻104)之外。移動(dòng)計(jì)算設(shè)備202、212當(dāng)中每 一個(gè)可以利用不同的通信協(xié)議與云計(jì)算機(jī)系統(tǒng)110通信。在某些實(shí)施例中,移動(dòng)計(jì)算設(shè)備 202、212當(dāng)中一個(gè)或多個(gè)可以利用基于HTTP的通信協(xié)議與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通信。在一 些實(shí)施例中,通信模塊230可以利用定制的通信協(xié)議與移動(dòng)計(jì)算設(shè)備進(jìn)行通信。定制通信協(xié) 議可以是基于HTTP的通信協(xié)議。用于移動(dòng)計(jì)算設(shè)備202、212之間的通信的通信協(xié)議可以支 持以不同格式(例如,JSON格式)結(jié)構(gòu)化的企業(yè)數(shù)據(jù)的通信,所述格式可以是移動(dòng)計(jì)算設(shè)備 202、212和云計(jì)算機(jī)系統(tǒng)110易讀的。
[0093]在某些實(shí)施例中,移動(dòng)計(jì)算設(shè)備202、212可以各自實(shí)現(xiàn)可以提供特定的用戶接口 以便與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通信的應(yīng)用("app")。特定的UI可被配置為利用特定的通信協(xié) 議進(jìn)行通信。在一些實(shí)施例中,特定的UI可以包括可被調(diào)用以便與云計(jì)算機(jī)系統(tǒng)110進(jìn)行通 信的可調(diào)用接口、函數(shù)、例程、方法和/或操作。特定的UI可以接受用于為了企業(yè)數(shù)據(jù)和/或 請(qǐng)求服務(wù)而與企業(yè)計(jì)算機(jī)系統(tǒng)進(jìn)行通信的參數(shù)作為輸入。對(duì)服務(wù)的請(qǐng)求可以包括對(duì)執(zhí)行一 條或多條定制可執(zhí)行指令,例如(一條或多條)定制可執(zhí)行指令222,的請(qǐng)求。在一些實(shí)施例 中,通過(guò)應(yīng)用204、214的通信可被轉(zhuǎn)換為利用定制通信協(xié)議的通信。應(yīng)用204、214可被配置 為處理從云計(jì)算機(jī)系統(tǒng)110接收的數(shù)據(jù)。數(shù)據(jù)可以包括指示執(zhí)行一條或多條定制可執(zhí)行指 令的結(jié)果的響應(yīng)。在某些實(shí)施例中,特定的UI可以包括在云計(jì)算機(jī)系統(tǒng)110中或由其實(shí)現(xiàn)。 在一些實(shí)施例中,特定的UI可以對(duì)應(yīng)于應(yīng)用中的定制客戶端。
[0094] 云計(jì)算機(jī)系統(tǒng)110可以包括一個(gè)或多個(gè)可調(diào)用接口 2 5 0,例如,應(yīng)用編程接口 (API)。可調(diào)用接口 250可以使移動(dòng)計(jì)算設(shè)備上的應(yīng)用能夠向云服務(wù)112傳送請(qǐng)求??烧{(diào)用接 口250可以支持公共或標(biāo)準(zhǔn)接口,其可以允許包括它們的參數(shù)的請(qǐng)求根據(jù)標(biāo)準(zhǔn)化協(xié)議、體系 架構(gòu)風(fēng)格和/或格式(例如,REST協(xié)議)從應(yīng)用被接收??烧{(diào)用接口 250可以是由計(jì)算設(shè)備 202、212當(dāng)中任何一個(gè)的用戶可配置的。可調(diào)用接口 250可以根據(jù)通信協(xié)議接收對(duì)服務(wù)的請(qǐng) 求。例如,可調(diào)用接口 250可以是支持根據(jù)REST協(xié)議的請(qǐng)求的REST API。在一些實(shí)施例中,可 調(diào)用接口 250可以從移動(dòng)計(jì)算設(shè)備接收消息??烧{(diào)用接口 250可被配置為根據(jù)由可調(diào)用接口 250支持的格式翻譯或轉(zhuǎn)換從移動(dòng)計(jì)算設(shè)備接收到的消息。設(shè)備應(yīng)用開(kāi)發(fā)人員可以連接到 用于其定制應(yīng)用的云服務(wù)112。在一些實(shí)施例中,可調(diào)用接口250可以由開(kāi)發(fā)應(yīng)用的同一個(gè) 人配置,使得該人可以實(shí)現(xiàn)與云服務(wù)112進(jìn)行通信的定制應(yīng)用。
[0095]可調(diào)用接口 250可以使企業(yè)計(jì)算機(jī)系統(tǒng)能夠根據(jù)標(biāo)準(zhǔn)化的協(xié)議或格式與云服務(wù) 112進(jìn)行通信。類似于應(yīng)用開(kāi)發(fā)人員,管理企業(yè)計(jì)算機(jī)系統(tǒng)的人可以實(shí)現(xiàn)被配置為經(jīng)由可調(diào) 用接口 250與云服務(wù)112進(jìn)行通信的代碼(例如,代理系統(tǒng))??烧{(diào)用接口 250可以基于計(jì)算設(shè) 備的類型、企業(yè)計(jì)算機(jī)系統(tǒng)的類型、應(yīng)用、代理系統(tǒng)、服務(wù)、協(xié)議、定制可執(zhí)行指令的類型、其 它標(biāo)準(zhǔn)或它們的組合來(lái)實(shí)現(xiàn)。在一些實(shí)施例中,可調(diào)用接口 250可以支持對(duì)服務(wù)的請(qǐng)求,其 中服務(wù)包括認(rèn)證、壓縮、加密、利用游標(biāo)的分頁(yè)、基于客戶端的限制、不可否認(rèn)性、記錄以及 度量收集。在一些實(shí)施例中,可調(diào)用接口 250可以為定制業(yè)務(wù)相關(guān)的服務(wù)實(shí)現(xiàn),其中服務(wù)諸 如認(rèn)證、策略執(zhí)行、響應(yīng)的高速緩存、對(duì)云服務(wù)112的調(diào)用的限制、異步和同步模式之間的轉(zhuǎn) 換、對(duì)底層服務(wù)的呼叫的記錄,或它們的組合。在一些實(shí)施例中,可調(diào)用接口250可以使用戶 能夠提供用于由云計(jì)算機(jī)系統(tǒng)110實(shí)現(xiàn)的(一條或多條)定制可執(zhí)行指令。定制可執(zhí)行指令 可以為云計(jì)算機(jī)系統(tǒng)110實(shí)現(xiàn)一個(gè)或多個(gè)可以使用戶能夠訪問(wèn)定制服務(wù)的可調(diào)用接口 250。 [0096]在一些實(shí)施例中,可調(diào)用接口 250可以包括資產(chǎn)接口(例如,資產(chǎn)目錄庫(kù)),其可以 使得能夠訪問(wèn)數(shù)據(jù)庫(kù)294。對(duì)數(shù)據(jù)庫(kù)294的訪問(wèn)可以包括對(duì)元數(shù)據(jù)儲(chǔ)存庫(kù)124的訪問(wèn)。云計(jì)算 機(jī)系統(tǒng)或外部計(jì)算設(shè)備,例如移動(dòng)計(jì)算設(shè)備202或移動(dòng)計(jì)算設(shè)備212,的任何元件可以經(jīng)由 資產(chǎn)接口訪問(wèn)元數(shù)據(jù)儲(chǔ)存庫(kù)124。例如,開(kāi)發(fā)人員或管理員可以利用應(yīng)用或用戶接口訪問(wèn)數(shù) 據(jù)庫(kù)294中的信息。在一些實(shí)施例中,調(diào)度器118可以利用可調(diào)用接口 250訪問(wèn)數(shù)據(jù)庫(kù)294,以 確定對(duì)請(qǐng)求被調(diào)用的服務(wù)(例如,定制執(zhí)行服務(wù)130)。
[0097]協(xié)議翻譯器252可以處理消息,以確定用于消息的通信協(xié)議和/或?qū)⑾⑥D(zhuǎn)換成用 于目的地的通信協(xié)議。目的地可以包括一個(gè)或多個(gè)企業(yè)計(jì)算機(jī)系統(tǒng)282、292和/或定制執(zhí)行 服務(wù)130。協(xié)議翻譯器252可以轉(zhuǎn)換從移動(dòng)計(jì)算設(shè)備202、212當(dāng)中一個(gè)接收到的請(qǐng)求。請(qǐng)求可 以從由移動(dòng)計(jì)算設(shè)備202或移動(dòng)計(jì)算設(shè)備212支持的通信協(xié)議的格式轉(zhuǎn)換成由企業(yè)計(jì)算機(jī) 系統(tǒng)282或企業(yè)計(jì)算機(jī)系統(tǒng)292支持的通信協(xié)議的格式。協(xié)議翻譯器252可以轉(zhuǎn)換從企業(yè)計(jì) 算機(jī)系統(tǒng)282、292接收到的響應(yīng)。響應(yīng)可以從由企業(yè)計(jì)算機(jī)系統(tǒng)282或企業(yè)計(jì)算機(jī)系統(tǒng)292 支持的通信協(xié)議的格式轉(zhuǎn)換成由移動(dòng)計(jì)算設(shè)備202或移動(dòng)計(jì)算設(shè)備212支持的通信協(xié)議的 格式。在一些實(shí)施例中,由協(xié)議翻譯器252執(zhí)行的操作的全部或一些可以在可調(diào)用接口 250 和/或適配器接口 222中實(shí)現(xiàn)。
[0098]定制執(zhí)行服務(wù)130可以啟用一條或多條定制可執(zhí)行指令(例如,(一條或多條)定制 可執(zhí)行指令222)在定制可執(zhí)行環(huán)境(例如,孩子執(zhí)行環(huán)境)中的執(zhí)行。定制執(zhí)行服務(wù)130可以 處理執(zhí)行定制可執(zhí)行指令的請(qǐng)求。請(qǐng)求可以被處理,以確定定制可執(zhí)行環(huán)境的類型,來(lái)執(zhí)行 定制可執(zhí)行指令并,基于定制可執(zhí)行環(huán)境的類型,建立一個(gè)或多個(gè)定制執(zhí)行環(huán)境,以執(zhí)行定 制可執(zhí)行指令。定制執(zhí)行服務(wù)130可被實(shí)現(xiàn)為一個(gè)或多個(gè)被配置為執(zhí)行認(rèn)證請(qǐng)求的安全性 的各種操作的功能塊或模塊。定制執(zhí)行服務(wù)130可以包括執(zhí)行環(huán)境管理器272、配置管理器 274、許可管理器276、指令加載器278、請(qǐng)求處理器280,以及模板環(huán)境選擇器282。
[0099]如前面所解釋的,模板執(zhí)行環(huán)境可以由用戶配置。用戶可以與移動(dòng)計(jì)算設(shè)備202、 212當(dāng)中的一個(gè)或多個(gè)關(guān)聯(lián)。定義和/或配置模板執(zhí)行環(huán)境的一個(gè)或多個(gè)標(biāo)準(zhǔn)可以經(jīng)由可調(diào) 用接口 250接收。配置管理器274可以管理模板執(zhí)行環(huán)境的配置。配置管理器274可以接收經(jīng) 由可調(diào)用接口 250配置模板執(zhí)行環(huán)境的一個(gè)或多個(gè)標(biāo)準(zhǔn)。這一個(gè)或多個(gè)標(biāo)準(zhǔn)可以存儲(chǔ)在數(shù) 據(jù)庫(kù)294中。配置管理器274可以基于一個(gè)或多個(gè)標(biāo)準(zhǔn)識(shí)別模板執(zhí)行環(huán)境。模板執(zhí)行環(huán)境可 以通過(guò)利用一個(gè)或多個(gè)標(biāo)準(zhǔn)搜索數(shù)據(jù)庫(kù)294來(lái)識(shí)別。
[0100]請(qǐng)求處理機(jī)(handler)280可以管理接收到的請(qǐng)求,以執(zhí)行定制可執(zhí)行指令。請(qǐng)求 處理機(jī)280可以處理請(qǐng)求以確定執(zhí)行定制可執(zhí)行指令要調(diào)用的模板執(zhí)行環(huán)境。請(qǐng)求可以包 括所請(qǐng)求的服務(wù)的類型、執(zhí)行環(huán)境的類型、識(shí)別一條或多條定制可執(zhí)行指令的信息、識(shí)別定 制可執(zhí)行指令的其它標(biāo)準(zhǔn),或它們的組合。請(qǐng)求可以被處理,以確定識(shí)別定制可執(zhí)行指令的 源的信息。在一些實(shí)施例中,請(qǐng)求可以被處理,以識(shí)別要在定制執(zhí)行環(huán)境中執(zhí)行的一條或多 條定制可執(zhí)行指令。從請(qǐng)求解析出的信息可以被模板環(huán)境選擇器282用來(lái)選擇一個(gè)或多個(gè) 模板執(zhí)行環(huán)境,以執(zhí)行定制可執(zhí)行指令。
[0101]在定制可執(zhí)行指令執(zhí)行時(shí),請(qǐng)求處理機(jī)280可以管理從孩子執(zhí)行環(huán)境接收到的響 應(yīng)。響應(yīng)可以被處理,以確定要在孩子執(zhí)行環(huán)境中執(zhí)行的一條或多條定制可執(zhí)行指令。孩子 執(zhí)行環(huán)境可以是已被建立的環(huán)境。結(jié)果可以被處理,以確定指示用于定制可執(zhí)行指令的執(zhí) 行的結(jié)果的結(jié)果或條件代碼。結(jié)果可以包括作為定制可執(zhí)行指令的執(zhí)行的結(jié)果而生成的其 它信息。請(qǐng)求處理機(jī)280可以確定基于從結(jié)果確定的信息要執(zhí)行的后續(xù)操作(例如,發(fā)送請(qǐng) 求)。在結(jié)果指示定制可執(zhí)行指令未被處理或遇到錯(cuò)誤的情況下,請(qǐng)求處理機(jī)280可以發(fā)起 相同的定制可執(zhí)行指令的執(zhí)行。在結(jié)果指示定制可執(zhí)行指令被執(zhí)行的情況下,請(qǐng)求處理機(jī) 280可以在路由總線120的隊(duì)列上放置要發(fā)送到發(fā)出請(qǐng)求的計(jì)算設(shè)備的消息(例如,響應(yīng))。 消息可以包括指示從孩子執(zhí)行環(huán)境接收到的響應(yīng)確定的結(jié)果的信息。在結(jié)果指示要執(zhí)行另 一定制可執(zhí)行指令的請(qǐng)求的情況下,請(qǐng)求處理機(jī)280可以生成請(qǐng)求執(zhí)行所請(qǐng)求的定制可執(zhí) 行指令的請(qǐng)求(例如,在路由總線120的隊(duì)列上放置請(qǐng)求)。
[0102] 模板環(huán)境選擇器282可以確定要用來(lái)建立孩子執(zhí)行環(huán)境的模板執(zhí)行環(huán)境。在一些 實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可以存儲(chǔ)或訪問(wèn)包括關(guān)于一個(gè)或多個(gè)模板執(zhí)行環(huán)境的信息的 數(shù)據(jù)存儲(chǔ)。模板執(zhí)行環(huán)境可以缺省地或基于一個(gè)或多個(gè)標(biāo)準(zhǔn)來(lái)選擇。一個(gè)或多個(gè)標(biāo)準(zhǔn)可以 包括定制可執(zhí)行指令的類型、執(zhí)行定制可執(zhí)行指令所需的一個(gè)或多個(gè)資源、用于定制可執(zhí) 行指令的執(zhí)行的安全性的類型、要執(zhí)行的服務(wù)的類型、用戶的類型、與定制可執(zhí)行指令的執(zhí) 行相關(guān)的其它標(biāo)準(zhǔn),或它們的組合。模板執(zhí)行環(huán)境的一個(gè)或多個(gè)屬性可以被處理,以選擇模 板執(zhí)行環(huán)境。
[0103] 基于選定的模板執(zhí)行環(huán)境,執(zhí)行環(huán)境管理器272可以建立孩子執(zhí)行環(huán)境。執(zhí)行環(huán)境 管理器272可以執(zhí)行模板執(zhí)行環(huán)境。模板執(zhí)行環(huán)境可以在請(qǐng)求被接收之前、或者與接收請(qǐng)求 并發(fā)地或者在接收請(qǐng)求之后被執(zhí)行,以執(zhí)行定制可執(zhí)行指令。孩子執(zhí)行環(huán)境可以利用模板 執(zhí)行環(huán)境來(lái)建立。建立孩子執(zhí)行環(huán)境在下面參照?qǐng)D3進(jìn)行描述。
[0104] 指令加載器278可以加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中 執(zhí)行。如以上所解釋的,定制可執(zhí)行指令可以之前準(zhǔn)備好并存儲(chǔ)在云計(jì)算機(jī)系統(tǒng)110可訪問(wèn) 的數(shù)據(jù)存儲(chǔ)中。在一些實(shí)施例中,為了提高效率,定制可執(zhí)行指令可以在不同的時(shí)間加載, 諸如在請(qǐng)求被接收之前或者在孩子執(zhí)行環(huán)境已被建立之前。這樣做可以提供提高事先加載 定制可執(zhí)行指令從而減少在請(qǐng)求這樣做時(shí)執(zhí)行指令的時(shí)間的處理效率的技術(shù)優(yōu)點(diǎn)。定制可 執(zhí)行指令可以更早加載,因?yàn)樗赡苁潜桓l繁調(diào)用的指令。
[0105] 許可管理器276可以管理用于孩子執(zhí)行環(huán)境的許可。許可管理器276可以配置對(duì)于 孩子執(zhí)行環(huán)境的訪問(wèn)許可。訪問(wèn)許可可以基于與用來(lái)建立孩子執(zhí)行環(huán)境的模板執(zhí)行環(huán)境關(guān) 聯(lián)存儲(chǔ)的信息來(lái)確定。孩子執(zhí)行環(huán)境的訪問(wèn)許可可以在定制可執(zhí)行指令的執(zhí)行之前為孩子 執(zhí)行環(huán)境配置。訪問(wèn)許可可以基于安全模型(例如,Java?安全模型)來(lái)配置。安全模型可 以是可配置的并且與模板執(zhí)行環(huán)境關(guān)聯(lián)地存儲(chǔ)。安全模型可以定義與對(duì)于孩子執(zhí)行環(huán)境的 訪問(wèn)許可相關(guān)的屬性和參數(shù)。許可管理器276可以處理安全模型的配置并且可以使用安全 模型來(lái)配置對(duì)于孩子執(zhí)行環(huán)境的訪問(wèn)許可。
[0106] 圖3示出了根據(jù)本發(fā)明的一些實(shí)施例、包括利用模板執(zhí)行環(huán)境建立以便執(zhí)行定制 可執(zhí)行指令的孩子執(zhí)行環(huán)境的系統(tǒng)400的框圖。具體而言,系統(tǒng)300示出了孩子執(zhí)行環(huán)境134 如何可以基于模板執(zhí)行環(huán)境132來(lái)建立。系統(tǒng)300示出了模板執(zhí)行環(huán)境132的配置??梢詮哪?板執(zhí)行環(huán)境建立任意數(shù)量的孩子執(zhí)行環(huán)境。每個(gè)孩子執(zhí)行環(huán)境可以是不同的執(zhí)行環(huán)境,具 有專用的資源集合和對(duì)定制可執(zhí)行指令的執(zhí)行的訪問(wèn)。
[0107] 模板執(zhí)行環(huán)境,例如模板執(zhí)行環(huán)境132,可以與配置信息302關(guān)聯(lián)。配置信息302可 以包括配置和/或執(zhí)行模板執(zhí)行環(huán)境132的信息。配置信息302可被存儲(chǔ)在元數(shù)據(jù)儲(chǔ)存庫(kù)124 中。配置信息302可以包括與模板執(zhí)行環(huán)境132的執(zhí)行相關(guān)的一個(gè)或多個(gè)環(huán)境設(shè)置。如以上 所解釋的,模板執(zhí)行環(huán)境可以是特定于代碼的虛擬機(jī)環(huán)境,例如,JVM環(huán)境。特定于代碼的虛 擬環(huán)境可以使特定類型的代碼(例如,Java?)的執(zhí)行或?qū)崿F(xiàn)能夠在環(huán)境中被執(zhí)行。環(huán)境設(shè) 置可以對(duì)應(yīng)于環(huán)境的操作。配置信息302可以包括模板執(zhí)行環(huán)境132的標(biāo)識(shí)符、一個(gè)或多個(gè) 類型、一個(gè)或多個(gè)版本、一個(gè)或多個(gè)名稱、描述,或它們的組合。一個(gè)或多個(gè)類型可以對(duì)應(yīng)于 關(guān)聯(lián)的環(huán)境的類型或者可以在基于模板執(zhí)行環(huán)境132建立的孩子執(zhí)行環(huán)境134中執(zhí)行的指 令。配置信息302可以至少基于與向云計(jì)算機(jī)系統(tǒng)110注冊(cè)的用戶(例如用戶或租戶)相關(guān)的 至少一個(gè)標(biāo)準(zhǔn)。
[0108] 模板執(zhí)行環(huán)境132可以包括安全模型304,其包括指示對(duì)基于模板執(zhí)行環(huán)境132建 立的孩子執(zhí)行環(huán)境134的一個(gè)或多個(gè)訪問(wèn)許可的信息。安全模型304可以對(duì)應(yīng)于對(duì)應(yīng)于環(huán)境 的安全模型,例如,特定于代碼的虛擬環(huán)境的安全模型。安全模型304可以指示對(duì)一個(gè)或多 個(gè)通信協(xié)議的訪問(wèn)許可(例如,套接字許可)和/或可能被允許或拒絕的通信相關(guān)的操作。
[0109] 模板執(zhí)行環(huán)境132可以包括識(shí)別與建立孩子執(zhí)行環(huán)境相關(guān)的一個(gè)或多個(gè)狀態(tài)306 的信息。一個(gè)或多個(gè)狀態(tài)306可以指示與孩子執(zhí)行環(huán)境的執(zhí)行相關(guān)的變量或設(shè)置的狀態(tài)。
[0110] 模板執(zhí)行環(huán)境132可以包括識(shí)別要為孩子執(zhí)行環(huán)境134加載的一個(gè)或多個(gè)資源308 的信息。資源可以包括類、文件、存儲(chǔ)空間、系統(tǒng)文件,等等,其中一些或全部可以在孩子執(zhí) 行環(huán)境134的執(zhí)行期間被使用。在一些實(shí)施例中,為了模板執(zhí)行環(huán)境132的執(zhí)行,一個(gè)或多個(gè) 資源308可以在模板執(zhí)行環(huán)境132被執(zhí)行之前被加載。在一些實(shí)施例中,在接收到請(qǐng)求之后, 資源308可以被加載。 定制執(zhí)行服務(wù)130可以基于模板執(zhí)行環(huán)境132建立孩子執(zhí)行環(huán)境134。下面是描述 由模板執(zhí)行環(huán)境132建立孩子執(zhí)行環(huán)境所執(zhí)行的操作類型的偽代碼的例子。
[0112] 示例偽代碼 //在模板執(zhí)行環(huán)境中的操作 while (true) { 等待請(qǐng)求/7 //從請(qǐng)求確定用戶信息 從請(qǐng)求獲得tenant丨nfo. //建立孩子執(zhí)行環(huán)境
[0113] result = priniitiveProcessFork() //驗(yàn)證孩子執(zhí)行環(huán)境是否已經(jīng)建立 if (result = childProcessResult) { 跳出循環(huán) }
[0114] 在上面的例子中,模板執(zhí)行環(huán)境132可以在從定制執(zhí)行服務(wù)130接收到請(qǐng)求時(shí)處理 請(qǐng)求。關(guān)于用戶的信息可以從請(qǐng)求中提取。然后,模板執(zhí)行環(huán)境132可以執(zhí)行建立孩子執(zhí)行 環(huán)境134的操作。這種操作可以包括發(fā)出命令,該命令可以特定于模板執(zhí)行環(huán)境132的類型。 在這個(gè)例子中,f〇rk()命令可以被發(fā)出,諸如可以在JVM環(huán)境中可用的。該操作可以導(dǎo)致孩 子執(zhí)行環(huán)境的創(chuàng)建和執(zhí)行,例如,孩子特定于代碼的虛擬環(huán)境,例如,孩子JVM環(huán)境。然后,執(zhí) 行操作的結(jié)果可以被檢查,以確定命令是否被成功地發(fā)出。
[0115] 孩子執(zhí)行環(huán)境134可以作為適于運(yùn)行一條或多條定制可執(zhí)行指令312的、安全的、 孤立的執(zhí)行環(huán)境被建立。孩子執(zhí)行環(huán)境可以是可擴(kuò)展的并且適于托管可能在將來(lái)被支持或 開(kāi)發(fā)的其它類型語(yǔ)言的定制可執(zhí)行指令。在建立孩子執(zhí)行環(huán)境時(shí),一個(gè)或多個(gè)操作可以由 孩子執(zhí)行環(huán)境執(zhí)行,如由以下偽代碼說(shuō)明的:
[0116] //在孩子執(zhí)行環(huán)境中的操作
[0117] 從用于指定租戶負(fù)載用戶代碼的代碼存儲(chǔ)中檢索用戶代碼到JVM中
[0118] 為特定于租戶的上下文初始化所有SDK狀態(tài)
[0119] 禁用對(duì)租戶用戶代碼的許可(例如,設(shè)置新的安全策略)
[0120] USerResult =調(diào)用用戶代碼入口點(diǎn)返回的結(jié)果
[0121 ]返回userResult
[0122]在建立孩子執(zhí)行環(huán)境134時(shí),一條或多條定制可執(zhí)行指令可以被加載到孩子執(zhí)行 環(huán)境134中。在一些實(shí)施例中,定制可執(zhí)行指令312可以在建立孩子執(zhí)行環(huán)境134之前被加 載??烧{(diào)用接口(例如,SDK138)的一個(gè)或多個(gè)狀態(tài)設(shè)置可以被設(shè)置(例如,禁用),使得定制 可執(zhí)行指令312可以被限制為訪問(wèn)來(lái)自云計(jì)算機(jī)系統(tǒng)110的某些服務(wù)。一個(gè)或多個(gè)訪問(wèn)許可 314可以基于模板執(zhí)行環(huán)境132中的安全模型304來(lái)配置。訪問(wèn)許可可以準(zhǔn)予或拒絕一個(gè)或 多個(gè)類型的操作在孩子執(zhí)行環(huán)境134中執(zhí)行。通過(guò)基于模板執(zhí)行環(huán)境132建立孩子執(zhí)行環(huán)境 134,孩子執(zhí)行環(huán)境134可以具有與模板執(zhí)行環(huán)境132關(guān)聯(lián)的信息(例如,配置信息302、一個(gè) 或多個(gè)狀態(tài)306,和/或資源308)的拷貝或引用(例如,指針)?;谀0鍒?zhí)行環(huán)境建立孩子執(zhí) 行環(huán)境的技術(shù)優(yōu)勢(shì)是這種技術(shù)可用于高吞吐量的情況,如果執(zhí)行定制可執(zhí)行指令的多個(gè)實(shí) 例的許多過(guò)程可以使用完全相同的環(huán)境,則這些實(shí)例可被配置為相同并并發(fā)地執(zhí)行。通過(guò) 限制訪問(wèn)許可,可以防止孩子執(zhí)行環(huán)境134訪問(wèn)云計(jì)算機(jī)系統(tǒng)110的運(yùn)行時(shí)環(huán)境的某些資源 和/或敏感部分。另外,可以防止孩子執(zhí)行環(huán)境134產(chǎn)生或建立附加的過(guò)程或其它執(zhí)行環(huán)境, 這些會(huì)消耗或阻礙云計(jì)算機(jī)系統(tǒng)110中可用的資源的使用。
[0123] 現(xiàn)在轉(zhuǎn)向圖4,示出了根據(jù)本發(fā)明的一些實(shí)施例、用于為了定制可執(zhí)行指令的執(zhí)行 而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)的過(guò)程400的序列圖。具體而言,過(guò)程400可以使得一條或多 條定制執(zhí)行指令(例如,(一條或多條)定制可執(zhí)行指令222或(一條或多條)定制可執(zhí)行指令 312)能夠在基于一個(gè)或多個(gè)模板執(zhí)行環(huán)境402、404(例如,(一個(gè)或多個(gè))模板執(zhí)行環(huán)境132) 配置的一個(gè)或多個(gè)孩子執(zhí)行環(huán)境406、408(例如,(一個(gè)或多個(gè))孩子執(zhí)行環(huán)境134)中被執(zhí) 行。如上面所解釋的,云服務(wù)的云計(jì)算機(jī)系統(tǒng)(例如,云計(jì)算機(jī)系統(tǒng)110)可以包括可以促進(jìn) 一個(gè)或多個(gè)孩子執(zhí)行環(huán)境的建立以便執(zhí)行一條或多條定制可執(zhí)行指令的定制執(zhí)行服務(wù)(例 如,定制執(zhí)行服務(wù)130)。過(guò)程400可以使計(jì)算設(shè)備(例如,計(jì)算設(shè)備102)能夠通過(guò)執(zhí)行一條或 多條定制可執(zhí)行指令來(lái)向云計(jì)算機(jī)系統(tǒng)110傳送實(shí)現(xiàn)一個(gè)或多個(gè)操作的請(qǐng)求。請(qǐng)求可以從 移動(dòng)計(jì)算設(shè)備接收,其中移動(dòng)計(jì)算設(shè)備可以位于與云計(jì)算機(jī)系統(tǒng)110和執(zhí)行環(huán)境物理分離 的不同地理位置。因此,計(jì)算設(shè)備102可以與云計(jì)算機(jī)系統(tǒng)110通信,而不管它們各自的位 置。
[0124] 云計(jì)算機(jī)系統(tǒng)110可以處理確定要執(zhí)行的一條或多條定制可執(zhí)行指令的請(qǐng)求并且 可以為那些定制可執(zhí)行指令的執(zhí)行建立執(zhí)行環(huán)境。在一些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)110可以 處理請(qǐng)求,該請(qǐng)求可能不具有執(zhí)行一條或多條定制可執(zhí)行指令的顯式請(qǐng)求,并且可以確定 是否有任何定制可執(zhí)行指令可被執(zhí)行以滿足該請(qǐng)求。在一些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)Iio可 以識(shí)別可被執(zhí)行以提供所請(qǐng)求的服務(wù)的一條或多條定制可執(zhí)行指令。如在下面進(jìn)一步詳細(xì) 解釋的,云計(jì)算機(jī)系統(tǒng)110可以基于模板執(zhí)行環(huán)境402、404建立孩子執(zhí)行環(huán)境406、408。模板 執(zhí)行環(huán)境可以基于請(qǐng)求中的信息來(lái)選擇,可以基于所請(qǐng)求的服務(wù)的類型來(lái)選擇,或它們的 組合。云計(jì)算機(jī)系統(tǒng)110可以使定制可執(zhí)行指令能夠?yàn)椴煌姆?wù)或操作類型提供,作為讓 云計(jì)算機(jī)系統(tǒng)110選擇定制可執(zhí)行指令以便向用戶提供服務(wù)的基礎(chǔ)。孩子執(zhí)行環(huán)境可以提 供支持定制可執(zhí)行指令的執(zhí)行的安全且有保障的(secure)環(huán)境。
[0125] 過(guò)程400被示為邏輯序列圖,其操作表示可以在硬件、計(jì)算機(jī)指令或它們的組合中 實(shí)現(xiàn)的操作。在計(jì)算機(jī)指令的上下文中,操作表示存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì) 上的計(jì)算機(jī)可執(zhí)行指令,當(dāng)指令由一個(gè)或多個(gè)處理器執(zhí)行時(shí),執(zhí)行所闡述的操作。一般而 言,計(jì)算機(jī)可執(zhí)行指令包括執(zhí)行特定功能或?qū)崿F(xiàn)特定數(shù)據(jù)類型的例程、程序、應(yīng)用、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。操作被描述的次序并不意在被認(rèn)為是限制,并且任何數(shù)量的所述操作可 以以任何次序和/或并行地組合,以實(shí)現(xiàn)過(guò)程。
[0126] 為了開(kāi)始過(guò)程400,計(jì)算設(shè)備102可以向云計(jì)算機(jī)系統(tǒng)110發(fā)送數(shù)據(jù)410(例如,企業(yè) 數(shù)據(jù))。數(shù)據(jù)410可以包括對(duì)服務(wù)的一個(gè)或多個(gè)請(qǐng)求,其中服務(wù)例如定制執(zhí)行服務(wù)。數(shù)據(jù)410 中的請(qǐng)求可以指示所請(qǐng)求的服務(wù)的類型、識(shí)別一條或多條定制可執(zhí)行指令的信息、識(shí)別定 制可執(zhí)行指令的類型的信息、用于執(zhí)行定制可執(zhí)行指令的其它標(biāo)準(zhǔn)(例如,條件、時(shí)間段或 環(huán)境狀態(tài)),或它們的組合。數(shù)據(jù)410可以包括來(lái)自企業(yè)計(jì)算機(jī)系統(tǒng)的對(duì)服務(wù)的請(qǐng)求。在一些 實(shí)施例中,企業(yè)數(shù)據(jù)可以包括多個(gè)請(qǐng)求。每個(gè)請(qǐng)求可以針對(duì)相同或不同的服務(wù)。數(shù)據(jù)410可 以包括認(rèn)證信息,諸如用戶識(shí)別信息、憑證、帳戶信息,等等,其中一些或全部可以對(duì)確定與 計(jì)算設(shè)備關(guān)聯(lián)的用戶的安全認(rèn)證有用。計(jì)算設(shè)備102和云計(jì)算機(jī)系統(tǒng)110之間的通信可以通 過(guò)使用定制通信協(xié)議來(lái)促進(jìn)。
[0127] 過(guò)程400可以包括在數(shù)據(jù)410接收到的、由調(diào)度器118處理的每個(gè)請(qǐng)求。調(diào)度器118 可以實(shí)現(xiàn)一個(gè)或多個(gè)處理請(qǐng)求的操作420。操作420可以包括將請(qǐng)求引導(dǎo)到云計(jì)算機(jī)系統(tǒng) 110的另一個(gè)組件。例如,調(diào)度器118可以實(shí)現(xiàn)將請(qǐng)求路由到云計(jì)算機(jī)系統(tǒng)110的一個(gè)或多個(gè) 服務(wù)的操作420,其中服務(wù)例如定制執(zhí)行服務(wù)130。調(diào)度器118可以經(jīng)由負(fù)載平衡器從計(jì)算設(shè) 備102接收請(qǐng)求。通過(guò)調(diào)度器118的另一個(gè)操作420可以包括解析請(qǐng)求,以確定請(qǐng)求中的信 息,諸如訂戶(例如,租戶ID)、服務(wù)ID、應(yīng)用名稱、應(yīng)用版本、請(qǐng)求資源、操作和參數(shù),等等。調(diào) 度器118可以基于從請(qǐng)求中解析出的信息確定目標(biāo)服務(wù)。在一些實(shí)施例中,請(qǐng)求可以包括識(shí) 另IJ要調(diào)用的定制執(zhí)行服務(wù)(例如,定制執(zhí)行服務(wù)130)的信息。在一些實(shí)施例中,調(diào)度器118可 以接收由云計(jì)算機(jī)系統(tǒng)110中的組件,諸如服務(wù),在內(nèi)部發(fā)送的請(qǐng)求。在確定目標(biāo)服務(wù)時(shí),調(diào) 度器118可以在路由總線120的隊(duì)列上存儲(chǔ)數(shù)據(jù)422。數(shù)據(jù)422可以包括從數(shù)據(jù)410識(shí)別的請(qǐng) 求。數(shù)據(jù)422可以包括指示基于識(shí)別出的請(qǐng)求選擇的服務(wù)的消息。在路由總線120的隊(duì)列上 放置消息之后,調(diào)度器118可以等待其它請(qǐng)求,或者來(lái)自路由總線120的對(duì)所請(qǐng)求的服務(wù)的 響應(yīng)。
[0128] 過(guò)程400可以包括路由總線120實(shí)現(xiàn)一個(gè)或多個(gè)操作430。操作430可以包括處理隊(duì) 列上的消息并把消息遞送到由該消息中的信息識(shí)別出的服務(wù)。另一個(gè)操作430可以包括處 理從服務(wù)接收到的一個(gè)或多個(gè)響應(yīng)。響應(yīng)可以針對(duì)從計(jì)算設(shè)備102請(qǐng)求的服務(wù)被接收。過(guò)程 400可以包括路由總線120向定制執(zhí)行服務(wù)130發(fā)送請(qǐng)求440。從隊(duì)列被處理掉的請(qǐng)求可以被 引導(dǎo)到由該請(qǐng)求識(shí)別出的服務(wù)。
[0129] 過(guò)程400可以包括為執(zhí)行定制可執(zhí)行指令的每個(gè)請(qǐng)求實(shí)現(xiàn)一個(gè)或多個(gè)操作442的 定制執(zhí)行服務(wù)130。從路由總線120被指引的請(qǐng)求可以包括識(shí)別定制可執(zhí)行指令的源的信 息。在一些實(shí)施例中,請(qǐng)求可以包括可被定制執(zhí)行服務(wù)130用來(lái)識(shí)別要在定制執(zhí)行環(huán)境中執(zhí) 行的一條或多條定制可執(zhí)行指令的信息。請(qǐng)求可以包括所請(qǐng)求的服務(wù)的類型、執(zhí)行環(huán)境的 類型、識(shí)別一條或多條定制可執(zhí)行指令的信息、識(shí)別定制可執(zhí)行指令的其它標(biāo)準(zhǔn),或它們的 組合。
[0130]由定制執(zhí)行服務(wù)130實(shí)現(xiàn)的一個(gè)操作442可以包括處理識(shí)別要被用來(lái)為所請(qǐng)求的 定制可執(zhí)行指令配置定制可執(zhí)行環(huán)境(例如,孩子執(zhí)行環(huán)境)的一個(gè)或多個(gè)模板執(zhí)行環(huán)境 402、404的請(qǐng)求。在一些實(shí)施例中,模板執(zhí)行環(huán)境可以是特定于代碼的虛擬機(jī)環(huán)境(例如, JVM環(huán)境)。模板執(zhí)行環(huán)境可以基于定制可執(zhí)行指令的類型、所請(qǐng)求的服務(wù)類型、用戶的類型 或它們的組合來(lái)選擇。例如,可以為請(qǐng)求定制可執(zhí)行指令的執(zhí)行的用戶選擇模板執(zhí)行環(huán)境。 模板執(zhí)行環(huán)境可針對(duì)用戶被配置和/或被配置為執(zhí)行特定類型的指令。在一些實(shí)施例中,請(qǐng) 求可以包括多個(gè)請(qǐng)求或者定制執(zhí)行服務(wù)130可以識(shí)別要被用來(lái)建立在其中執(zhí)行所請(qǐng)求的定 制可執(zhí)行指令的一個(gè)或多個(gè)定制可執(zhí)行環(huán)境(例如,孩子執(zhí)行環(huán)境)的多個(gè)模板執(zhí)行環(huán)境。
[0131] 另一個(gè)操作442可以包括配置模板執(zhí)行環(huán)境。例如,模板執(zhí)行環(huán)境可以基于被請(qǐng)求 執(zhí)行的定制可執(zhí)行指令的類型來(lái)配置。在一些實(shí)施例中,模板執(zhí)行環(huán)境402、404可以在接收 到執(zhí)行定制可執(zhí)行指令的請(qǐng)求之前被配置。在一些實(shí)施例中,定制執(zhí)行服務(wù)130可以為被識(shí) 別為建立定制執(zhí)行環(huán)境的每個(gè)模板執(zhí)行環(huán)境實(shí)現(xiàn)一個(gè)或多個(gè)操作446。一個(gè)或多個(gè)操作446 可以類似于一個(gè)或多個(gè)操作442。操作446可以包括配置模板執(zhí)行環(huán)境,例如,模板執(zhí)行環(huán)境 404 〇
[0132] 過(guò)程400可以包括執(zhí)行模板執(zhí)行環(huán)境的定制執(zhí)行服務(wù)130,其中模板執(zhí)行環(huán)境例如 模板執(zhí)行環(huán)境402或模板執(zhí)行環(huán)境404。模板執(zhí)行環(huán)境可以是被識(shí)別為用于為所請(qǐng)求的定制 可執(zhí)行指令建立定制執(zhí)行環(huán)境的環(huán)境。在圖4所示的例子中,過(guò)程400可以包括定制執(zhí)行服 務(wù)130實(shí)現(xiàn)要執(zhí)行模板執(zhí)行環(huán)境402以便建立孩子執(zhí)行環(huán)境406的一個(gè)或多個(gè)操作444。執(zhí)行 模板執(zhí)行環(huán)境可以對(duì)應(yīng)于執(zhí)行特定于代碼的虛擬環(huán)境(例如JVM環(huán)境)。過(guò)程400可以包括 定制執(zhí)行服務(wù)130實(shí)現(xiàn)要執(zhí)行模板執(zhí)行環(huán)境404以便建立孩子執(zhí)行環(huán)境408的一個(gè)或多個(gè)操 作448。一個(gè)或多個(gè)操作444和一個(gè)或多個(gè)操作448可以并發(fā)執(zhí)行。因此,模板執(zhí)行環(huán)境402和 模板執(zhí)行環(huán)境404可以并發(fā)地建立。在一些實(shí)施例中,用于另一個(gè)模板執(zhí)行環(huán)境404的一個(gè) 或多個(gè)操作448可以在一個(gè)或多個(gè)操作446(例如,配置模板執(zhí)行環(huán)境404)被實(shí)現(xiàn)之后實(shí)現(xiàn)。 被實(shí)現(xiàn)為執(zhí)行模板執(zhí)行環(huán)境(例如,模板執(zhí)行環(huán)境402或模板執(zhí)行環(huán)境404)的操作(例如,操 作444或操作448)可以包括實(shí)現(xiàn)使模板執(zhí)行環(huán)境被執(zhí)行的一條或多條指令。例如,操作可以 包括:初始化模板執(zhí)行環(huán)境(例如,特定于代碼的虛擬機(jī))和執(zhí)行模板執(zhí)行環(huán)境。如前面所解 釋的,模板執(zhí)行環(huán)境可以在模板執(zhí)行環(huán)境被用來(lái)建立孩子執(zhí)行環(huán)境之前被執(zhí)行。
[0133] 過(guò)程400可以包括實(shí)現(xiàn)基于模板執(zhí)行環(huán)境建立孩子執(zhí)行環(huán)境的一個(gè)或多個(gè)操作。 例如,過(guò)程400可以包括實(shí)現(xiàn)為了定制可執(zhí)行指令的執(zhí)行而在模板執(zhí)行環(huán)境402中建立孩子 執(zhí)行環(huán)境406的一個(gè)或多個(gè)操作450。在另一個(gè)例子中,過(guò)程400可以包括實(shí)現(xiàn)為了定制可執(zhí) 行指令的執(zhí)行而在模板執(zhí)行環(huán)境404中建立孩子執(zhí)行環(huán)境408的一個(gè)或多個(gè)操作460。建立 孩子執(zhí)行環(huán)境的一個(gè)操作(例如,操作450或操作460)可以包括實(shí)現(xiàn)或執(zhí)行使孩子執(zhí)行環(huán)境 基于模板執(zhí)行環(huán)境被建立的指令或命令。例如,特定于代碼的指令,諸如JVM模板執(zhí)行環(huán)境 中的f〇rk()命令,可以被執(zhí)行,這將造成(例如,產(chǎn)生)孩子執(zhí)行環(huán)境被建立?;谀0鍒?zhí)行 環(huán)境的孩子執(zhí)行環(huán)境建立可以繼承模板執(zhí)行環(huán)境的配置。所繼承的配置可以包括以下一個(gè) 或多個(gè):設(shè)置、變量、參數(shù)、狀態(tài)、規(guī)則、與孩子執(zhí)行環(huán)境的操作或?qū)崿F(xiàn)相關(guān)的其它標(biāo)準(zhǔn),或它 們的組合。建立孩子執(zhí)行環(huán)境的另一個(gè)操作(例如,操作450或操作460)可以包括在其實(shí)現(xiàn) 或執(zhí)行之前配置指令或命令的一個(gè)或多個(gè)參數(shù)。在一些實(shí)施例中,模板執(zhí)行環(huán)境可以通過(guò) 在建立孩子執(zhí)行環(huán)境的命令或指令的執(zhí)行之前改變?cè)O(shè)置來(lái)配置。
[0134] 過(guò)程400可以包括在孩子執(zhí)行環(huán)境中實(shí)現(xiàn)一個(gè)或多個(gè)操作。一個(gè)或多個(gè)操作可以 包括在孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。例如,一個(gè)或多個(gè)操作452可以在孩 子執(zhí)行環(huán)境406中實(shí)現(xiàn)。在另一個(gè)例子中,一個(gè)或多個(gè)操作462可以在孩子執(zhí)行環(huán)境408中實(shí) 現(xiàn)。在孩子執(zhí)行環(huán)境中實(shí)現(xiàn)的一個(gè)操作(例如,操作452或操作462)可以包括加載由計(jì)算設(shè) 備102請(qǐng)求的定制可執(zhí)行指令。定制可執(zhí)行指令可以由定制執(zhí)行服務(wù)130基于從計(jì)算設(shè)備 102接收到的請(qǐng)求來(lái)識(shí)別。定制可執(zhí)行指令可以從與云計(jì)算機(jī)系統(tǒng)110關(guān)聯(lián)的數(shù)據(jù)庫(kù)加載。 加載可執(zhí)行指令可以包括基于一個(gè)或多個(gè)標(biāo)準(zhǔn)(例如,所請(qǐng)求的服務(wù)的類型或定制可執(zhí)行 指令的類型)從數(shù)據(jù)庫(kù)搜索指令并且檢索識(shí)別出的定制可執(zhí)行指令。在孩子執(zhí)行環(huán)境中實(shí) 現(xiàn)的另一個(gè)操作配置以下一個(gè)或多個(gè):變量、設(shè)置、狀態(tài)、訪問(wèn)許可、與孩子執(zhí)行環(huán)境的配置 相關(guān)的其它標(biāo)準(zhǔn),或它們的組合。例如,過(guò)程400可以包括配置對(duì)于孩子執(zhí)行環(huán)境的訪問(wèn)許 可。訪問(wèn)許可可被配置為讓孩子執(zhí)行環(huán)境除去訪問(wèn)許可或限制定制可執(zhí)行指令獲得在指令 執(zhí)行過(guò)程中配置孩子執(zhí)行環(huán)境的訪問(wèn)。另一個(gè)操作可以包括在孩子執(zhí)行環(huán)境的配置之后在 孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。過(guò)程400可以包括與在不同的孩子執(zhí)行環(huán) 境408中執(zhí)行不同的孩子可執(zhí)行指令并發(fā)地在孩子執(zhí)行環(huán)境406中執(zhí)行定制可執(zhí)行指令。
[0135] 在一些實(shí)施例中,被描述為在孩子執(zhí)行環(huán)境中執(zhí)行的一個(gè)或多個(gè)操作可以在模板 執(zhí)行環(huán)境中執(zhí)行。例如,定制可執(zhí)行指令可以在孩子執(zhí)行環(huán)境被建立之前在模板執(zhí)行環(huán)境 中加載。類似地,孩子執(zhí)行環(huán)境的配置可以在孩子執(zhí)行環(huán)境的建立之前被執(zhí)行。在孩子執(zhí)行 環(huán)境建立之前,孩子執(zhí)行環(huán)境可被配置和/或定制可執(zhí)行指令可被加載,因?yàn)檫@樣做可以改 善用于執(zhí)行定制可執(zhí)行指令的執(zhí)行時(shí)間。這種技術(shù)可以為更頻繁地被執(zhí)行的定制可執(zhí)行指 令實(shí)現(xiàn),從而減少執(zhí)行指令的處理時(shí)間。
[0136] 在一些實(shí)施例中,所請(qǐng)求的定制可執(zhí)行指令可以是網(wǎng)關(guān)指令或者可以是使一個(gè)或 多個(gè)其它定制可執(zhí)行指令被執(zhí)行的網(wǎng)關(guān)模塊的一部分。例如,定制可執(zhí)行指令的執(zhí)行會(huì)導(dǎo) 致另一定制可執(zhí)行指令被加載用于在孩子執(zhí)行環(huán)境中執(zhí)行。
[0137] 過(guò)程400可以包括孩子執(zhí)行環(huán)境向定制執(zhí)行服務(wù)130返回結(jié)果。例如,孩子執(zhí)行環(huán) 境406可以向定制執(zhí)行服務(wù)130返回結(jié)果454并且孩子執(zhí)行環(huán)境408可以向定制執(zhí)行服務(wù)130 返回結(jié)果464。結(jié)果可以響應(yīng)于一條或多條定制可執(zhí)行指令的執(zhí)行而被返回或者可以在所 請(qǐng)求的定制可執(zhí)行指令的處理完成后返回。結(jié)果可以包括指示執(zhí)行定制執(zhí)行指令的條件或 結(jié)果的值。在一些實(shí)施例中,結(jié)果可以包括指示或識(shí)別要執(zhí)行的一條或多條其它定制可執(zhí) 行指令的信息。
[0138] 過(guò)程400可以包括定制執(zhí)行服務(wù)130基于從孩子執(zhí)行環(huán)境接收到的結(jié)果執(zhí)行一個(gè) 或多個(gè)操作。例如,定制執(zhí)行服務(wù)130可以基于從孩子執(zhí)行環(huán)境406接收到的結(jié)果454執(zhí)行一 個(gè)或多個(gè)操作456。在另一個(gè)例子中,定制執(zhí)行服務(wù)可以基于從孩子執(zhí)行環(huán)境408接收到的 結(jié)果464執(zhí)行一個(gè)或多個(gè)操作466。在一些實(shí)施例中,定制執(zhí)行服務(wù)130可以基于從不同的孩 子執(zhí)行環(huán)境接收到的多個(gè)結(jié)果執(zhí)行一個(gè)或多個(gè)操作(例如,操作456和操作466)。一個(gè)這種 操作(例如,操作456或操作466)可以包括處理結(jié)果,以確定要在孩子執(zhí)行環(huán)境中執(zhí)行的一 條或多條定制可執(zhí)行指令。孩子執(zhí)行環(huán)境可以是已被建立的環(huán)境。另一個(gè)操作可以包括處 理結(jié)果,以確定指示用于定制可執(zhí)行指令的執(zhí)行的結(jié)果的結(jié)果或狀態(tài)代碼。結(jié)果可以包括 作為定制可執(zhí)行指令的執(zhí)行的結(jié)果而生成的其它信息。還有另一操作可以包括生成用于遞 送到計(jì)算設(shè)備(例如,計(jì)算設(shè)備102)的消息。計(jì)算設(shè)備可以是請(qǐng)求定制可執(zhí)行指令的執(zhí)行的 設(shè)備。消息可以包括指示執(zhí)行定制可執(zhí)行代碼的結(jié)果的信息。定制執(zhí)行服務(wù)130可以為每個(gè) 結(jié)果生成一個(gè)或多個(gè)消息。在一些實(shí)施例中,可以為多個(gè)結(jié)果生成單個(gè)消息。
[0139] 過(guò)程400可以包括定制執(zhí)行服務(wù)130將消息放在路由總線120的隊(duì)列上。定制執(zhí)行 服務(wù)130可以把它生成的每個(gè)消息放在路由總線的隊(duì)列上。例如,定制執(zhí)行服務(wù)130可以把 消息458放在路由總線120的隊(duì)列上。消息458可以包括指示定制可執(zhí)行指令在孩子執(zhí)行環(huán) 境406中的執(zhí)行結(jié)果的信息。例如,定制執(zhí)行服務(wù)130可以把消息468放在路由總線120的隊(duì) 列上。消息468可以包括指示定制可執(zhí)行指令在孩子執(zhí)行環(huán)境408中的執(zhí)行結(jié)果的信息。
[0140] 過(guò)程400可以包括路由總線120處理離開(kāi)隊(duì)列的消息,例如消息458或消息468。當(dāng) 消息被處理時(shí),它可以被指引到調(diào)度器118,用于遞送到計(jì)算設(shè)備102。調(diào)度器118可以執(zhí)行 把消息458、468拉離路由總線120的操作470。隨后,調(diào)度器118可以向計(jì)算設(shè)備102發(fā)送指示 包括在從隊(duì)列中提取的消息中的信息的一個(gè)或多個(gè)響應(yīng)(例如,響應(yīng)472或響應(yīng)482)。該響 應(yīng)可以指示執(zhí)行定制可執(zhí)行指令的結(jié)果。
[0141] 應(yīng)當(dāng)認(rèn)識(shí)到,過(guò)程400是說(shuō)明性的,并且變化和修改是可能的。被描述為順序的步 驟可以并行地執(zhí)行,并且步驟的次序可以變化,并且步驟可以被修改、組合、添加或省略。
[0142] 通過(guò)在孩子執(zhí)行環(huán)境中執(zhí)行定制可執(zhí)行指令,定制可執(zhí)行指令可以在沙箱環(huán)境 (例如,孩子執(zhí)行環(huán)境)中執(zhí)行,以便不干擾在為其用戶(例如,租戶)執(zhí)行的云計(jì)算機(jī)系統(tǒng)中 的其它操作(例如,租戶操作)。通過(guò)修改(例如,限制)孩子執(zhí)行環(huán)境中的訪問(wèn)許可,可以防 止定制可執(zhí)行指令生成不被為了在孩子執(zhí)行環(huán)境中執(zhí)行而支持的附加操作或線程。通過(guò)防 止不被支持的線程或操作被執(zhí)行,計(jì)算資源可以為云計(jì)算機(jī)系統(tǒng)減少或保留。
[0143] 在圖5中,示出了示出根據(jù)本發(fā)明的一些實(shí)施例、用于為了定制可執(zhí)行指令的執(zhí)行 而提供對(duì)定制執(zhí)行環(huán)境的訪問(wèn)的過(guò)程500的流程圖。具體而言,過(guò)程500使用戶能夠在云服 務(wù)的定制執(zhí)行環(huán)境中執(zhí)行定制可執(zhí)行指令。過(guò)程500建立被配置為執(zhí)行定制可執(zhí)行指令的 孩子執(zhí)行環(huán)境。孩子執(zhí)行環(huán)境是基于被配置為用于一個(gè)或多個(gè)標(biāo)準(zhǔn)的模板執(zhí)行環(huán)境設(shè)置 的。在某些實(shí)施例中,云計(jì)算機(jī)系統(tǒng)(例如,云計(jì)算機(jī)系統(tǒng)110)可以實(shí)現(xiàn)過(guò)程500。
[0144] 過(guò)程500被示為邏輯流程圖,其操作表示可以在硬件、計(jì)算機(jī)指令或它們的組合中 實(shí)現(xiàn)的操作。在計(jì)算機(jī)指令的上下文中,操作表示存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì) 上的計(jì)算機(jī)可執(zhí)行指令,當(dāng)指令由一個(gè)或多個(gè)處理器執(zhí)行時(shí),執(zhí)行所闡述的操作。一般而 言,計(jì)算機(jī)可執(zhí)行指令包括執(zhí)行特定功能或?qū)崿F(xiàn)特定數(shù)據(jù)類型的例程、程序、應(yīng)用、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。操作被描述的次序并不意在被認(rèn)為是限制,并且任何數(shù)量的所述操作可 以以任何次序和/或并行地組合,以實(shí)現(xiàn)過(guò)程。
[0145] 在方框505開(kāi)始,過(guò)程500可以包括在云計(jì)算機(jī)系統(tǒng)中執(zhí)行模板執(zhí)行環(huán)境。模板執(zhí) 行環(huán)境可被配置為建立孩子執(zhí)行環(huán)境,每個(gè)孩子執(zhí)行環(huán)境可被配置為執(zhí)行一條或多條定制 可執(zhí)行指令。模板執(zhí)行環(huán)境可以在執(zhí)行模板執(zhí)行環(huán)境之前被配置。如前面參照?qǐng)D3所解釋 的,配置模板執(zhí)行環(huán)境可以包括初始化模板執(zhí)行環(huán)境的設(shè)置和/或初始化模板執(zhí)行環(huán)境的 狀態(tài)。
[0146] 在方框510,過(guò)程500可以包括接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求。例如,云計(jì)算機(jī)系 統(tǒng)110可以從計(jì)算設(shè)備102接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求。在一些實(shí)施例中,請(qǐng)求可以包 括多條定制可執(zhí)行指令,其中全部或一些可以對(duì)應(yīng)于一種或多種類型的定制可執(zhí)行指令。 在方框515,過(guò)程500可以包括建立執(zhí)行所請(qǐng)求的定制可執(zhí)行指令的孩子執(zhí)行環(huán)境。孩子執(zhí) 行環(huán)境可以在云計(jì)算機(jī)系統(tǒng)中建立。孩子執(zhí)行環(huán)境可以基于模板執(zhí)行環(huán)境來(lái)建立。孩子執(zhí) 行環(huán)境可以被建立,以便如果被請(qǐng)求的話就運(yùn)行多條定制可執(zhí)行指令。在一些實(shí)施例中,模 板執(zhí)行環(huán)境可以基于定制可執(zhí)行指令的類型來(lái)選擇。照此,不同的模板執(zhí)行環(huán)境可以被選 擇,以便為特定類型的定制可執(zhí)行指令建立孩子執(zhí)行環(huán)境。
[0147] 在方框520,一旦孩子執(zhí)行環(huán)境被建立,所請(qǐng)求的定制可執(zhí)行指令就可以被加載, 用于在孩子執(zhí)行環(huán)境中執(zhí)行。在方框525,過(guò)程500可以包括配置用于所建立的孩子執(zhí)行環(huán) 境的一個(gè)或多個(gè)設(shè)置。設(shè)置可以包括一個(gè)或多個(gè)訪問(wèn)許可,諸如調(diào)整用于孩子執(zhí)行環(huán)境的 一個(gè)或多個(gè)環(huán)境或執(zhí)行變量的狀態(tài)的許可。訪問(wèn)許可可被配置為防止定制可執(zhí)行指令超出 對(duì)環(huán)境允許的資源的訪問(wèn)之外的對(duì)環(huán)境的不想要的操縱。例如,對(duì)系統(tǒng)文件的訪問(wèn)可以在 定制可執(zhí)行指令的執(zhí)行過(guò)程中受到限制。通過(guò)這樣做,對(duì)資源(例如,存儲(chǔ)器或處理資源)的 訪問(wèn)或者產(chǎn)生附加線程的能力可以被控制(例如,限制或允許)以創(chuàng)建期望的環(huán)境。訪問(wèn)許 可可以被調(diào)整,從而確保孩子執(zhí)行環(huán)境被適當(dāng)?shù)厣诚浠虮Wo(hù)和/或防止定制可執(zhí)行指令 干擾在其它執(zhí)行環(huán)境中執(zhí)行的指令。最后,在方框530,過(guò)程500可以包括在為指令建立的孩 子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。過(guò)程500可以在方框535結(jié)束。
[0148] 應(yīng)當(dāng)認(rèn)識(shí)到,過(guò)程500是說(shuō)明性的,并且變化和修改是可能的。被描述為順序的步 驟可以并行地執(zhí)行,并且步驟的次序可以變化,并且步驟可以被修改、組合、添加或省略。在 某些實(shí)施例中,當(dāng)企業(yè)數(shù)據(jù)經(jīng)由到網(wǎng)絡(luò)的無(wú)線通信連接被接收時(shí),過(guò)程500可以被實(shí)現(xiàn)。例 如,過(guò)程500可以對(duì)執(zhí)行一條或多條定制可執(zhí)行指令的每個(gè)請(qǐng)求執(zhí)行。應(yīng)當(dāng)指出的是,過(guò)程 500可以對(duì)在來(lái)自計(jì)算設(shè)備的多個(gè)通信中接收到的請(qǐng)求并發(fā)地執(zhí)行。在某些實(shí)施例中,方框 505可以對(duì)每個(gè)模板執(zhí)行環(huán)境執(zhí)行。方框510可以在方框505被執(zhí)行之后立即執(zhí)行,或者可以 稍后被執(zhí)行。模板執(zhí)行環(huán)境可在方框510實(shí)現(xiàn)之后并且在方框515之前當(dāng)孩子執(zhí)行環(huán)境基于 模板執(zhí)行環(huán)境被建立時(shí)被配置。在一些實(shí)施例中,方框520可以在孩子執(zhí)行環(huán)境在方框515 被建立之前實(shí)現(xiàn)。
[0149] 圖6繪出了用于實(shí)現(xiàn)其中一種實(shí)施例的分布式系統(tǒng)600的簡(jiǎn)化圖。分布式系統(tǒng)600 可以實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)100、計(jì)算機(jī)系統(tǒng)200的全部或一些元件,或它們的組合。分布式系統(tǒng) 600可以實(shí)現(xiàn)操作、方法和/或過(guò)程(例如,圖4的過(guò)程400和圖5的過(guò)程500)。在所示出的實(shí)施 例中,分布式系統(tǒng)600包括一個(gè)或多個(gè)客戶端計(jì)算設(shè)備602、604、606和608,這些客戶端計(jì)算 設(shè)備被配置為經(jīng)一個(gè)或多個(gè)網(wǎng)絡(luò)610執(zhí)行并操作諸如web瀏覽器、專屬客戶端(例如,Oracle Forms)等的客戶端應(yīng)用。在某些實(shí)施例中,一個(gè)或多個(gè)客戶端計(jì)算設(shè)備602-608可以包括或 實(shí)現(xiàn)圖1的云計(jì)算機(jī)系統(tǒng)110或計(jì)算設(shè)備102。服務(wù)器612可以經(jīng)由網(wǎng)絡(luò)610與遠(yuǎn)程客戶端計(jì) 算設(shè)備602、604、606和608通信耦合。服務(wù)器612可以包括計(jì)算設(shè)備102或云計(jì)算機(jī)系統(tǒng)110。
[0150] 在各種實(shí)施例中,服務(wù)器612可以適于運(yùn)行由系統(tǒng)的一個(gè)或多個(gè)組件提供的一個(gè) 或多個(gè)服務(wù)或軟件應(yīng)用。服務(wù)或軟件應(yīng)用可以包括非虛擬和虛擬環(huán)境。虛擬環(huán)境可以包括 用于虛擬事件、展示(tradeshow)、模擬器、教室、購(gòu)物交流和企業(yè)的那些環(huán)境,無(wú)論是二維 還是三維(3D)表示、基于頁(yè)面的邏輯環(huán)境,或以其它方式。在一些實(shí)施例中,這些服務(wù)可以 作為基于web的或云服務(wù)依據(jù)軟件即服務(wù)(SaaS)模型向客戶計(jì)算設(shè)備602、604、606和/或 608的用戶提供。操作客戶端計(jì)算設(shè)備602、604、606和/或608的用戶又可以利用一個(gè)或多個(gè) 客戶端應(yīng)用與服務(wù)器612交互,以利用由這些組件提供的服務(wù)。
[0151] 在該圖中所繪出的配置中,系統(tǒng)600的軟件組件618、620和622被示為在服務(wù)器612 上實(shí)現(xiàn)。在其它實(shí)施例中,系統(tǒng)600的一個(gè)或多個(gè)組件和/或由這些組件提供的服務(wù)也可以 由一個(gè)或多個(gè)客戶端計(jì)算設(shè)備602、604、606和/或608實(shí)現(xiàn)。然后,操作客戶端計(jì)算設(shè)備的用 戶可以利用一個(gè)或多個(gè)客戶端應(yīng)用來(lái)使用由這些組件提供的服務(wù)。這些組件可以在硬件、 固件、軟件或其組合中實(shí)現(xiàn)。應(yīng)當(dāng)認(rèn)識(shí)到的是,各種不同的系統(tǒng)配置是可能的,這些配置可 以與分布式系統(tǒng)600不同。因此,該圖中所示的實(shí)施例是用于實(shí)現(xiàn)實(shí)施例系統(tǒng)的分布式系統(tǒng) 的一個(gè)例子并且不是要限制。
[0152] 客戶端計(jì)算設(shè)備60 2、604、60 6和/或60 8可以是便攜式手持設(shè)備(例如, iPhone?、蜂窩電話、iP.ad?_、計(jì)算平板、個(gè)人數(shù)字助理(pda))或可穿戴設(shè)備(例如, GoogluG丨ass?頭戴式顯示器),運(yùn)行諸如Microsoft Windows.Mobile?:的軟件,和/或諸 如iOS、Windows Phone、Android,BlackBerry 10、Palm OS等各種移動(dòng)操作系統(tǒng),并且啟用 互聯(lián)網(wǎng)、電子郵件、短消息服務(wù)(SMS)、BlackBerry?或其它的通信協(xié)議??蛻舳擞?jì)算設(shè) 備可以是通用個(gè)人計(jì)算機(jī),作為例子,包括運(yùn)行各種版本的Microsof t ^?η?ΙΟΜβ?、 Apple Macintostl?·/或Linux操作系統(tǒng)的個(gè)人計(jì)算機(jī)和/或便攜式計(jì)算機(jī)。客戶端計(jì) 算設(shè)備可以是運(yùn)行任何各種市售UNIX?或類UNIX操作系統(tǒng)當(dāng)中任意一種,包括但不限 于各種GNU/Linux操作系統(tǒng),諸如像Google Chrome OS,的工作站計(jì)算機(jī)。作為替代,或附加 地,客戶端計(jì)算設(shè)備602、604、606和608可以是任何其它電子設(shè)備,諸如能夠經(jīng)(一個(gè)或多 個(gè))網(wǎng)絡(luò)610通信的瘦客戶端計(jì)算機(jī)、啟用互聯(lián)網(wǎng)的游戲系統(tǒng)(例如,具有或不具有 Kin.ect?手勢(shì)輸入設(shè)備的Microsoft Xbox游戲控制臺(tái)),和/或個(gè)人消息傳送設(shè)備。
[0153] 雖然示例性分布式系統(tǒng)600被示為具有四個(gè)客戶端計(jì)算設(shè)備,但任何數(shù)量的客戶 端計(jì)算設(shè)備可以被支持。其它設(shè)備,諸如具有傳感器的設(shè)備等,可以與服務(wù)器612交互。
[0154] 分布式系統(tǒng)600中的(一個(gè)或多個(gè))網(wǎng)絡(luò)610可以是本領(lǐng)域技術(shù)人員熟悉的、可以利 用各種市售協(xié)議當(dāng)中任意一種支持?jǐn)?shù)據(jù)通信的任何類型的網(wǎng)絡(luò),其中協(xié)議包括但不限于 TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)、SNA(系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu))、IPX(互聯(lián)網(wǎng)數(shù)據(jù)包交換)、 AppleTalk,等等。僅僅作為例子,(一個(gè)或多個(gè))網(wǎng)絡(luò)610可以是局域網(wǎng)(LAN),諸如基于以太 網(wǎng)、令牌環(huán)等的LAN。(一個(gè)或多個(gè))網(wǎng)絡(luò)610可以是廣域網(wǎng)和互聯(lián)網(wǎng)。它可以包括虛擬網(wǎng)絡(luò), 包括但不限于虛擬專用網(wǎng)(VPN)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、公共交換電話網(wǎng)(PSTN)、紅外網(wǎng)絡(luò)、無(wú)線 網(wǎng)絡(luò)(例如,依據(jù)電氣和電子學(xué)研究所(ieee)8〇2. Ii協(xié)議套件、Bluetooth⑧和/或任何其 它無(wú)線協(xié)議當(dāng)中任意一種操作的網(wǎng)絡(luò));和/或這些和/或其它網(wǎng)絡(luò)的任意組合。
[0155] 服務(wù)器612可以由一個(gè)或多個(gè)通用計(jì)算機(jī)、專用服務(wù)器計(jì)算機(jī)(作為例子,包括PC (個(gè)人計(jì)算機(jī))服務(wù)器、UNIX?服務(wù)器、中檔服務(wù)器、大型計(jì)算機(jī)、機(jī)架式服務(wù)器,等等)、 服務(wù)器群、服務(wù)器集群,或者任何其它適當(dāng)?shù)牟贾煤?或組合組成。服務(wù)器612可以包括運(yùn)行 虛擬操作系統(tǒng)的一個(gè)或多個(gè)虛擬機(jī),或涉及虛擬化的其它計(jì)算體系架構(gòu)。邏輯存儲(chǔ)設(shè)備的 一個(gè)或多個(gè)柔性池可以被虛擬化,以維護(hù)用于服務(wù)器的虛擬存儲(chǔ)設(shè)備。虛擬網(wǎng)絡(luò)可以由服 務(wù)器612利用軟件定義的聯(lián)網(wǎng)來(lái)控制。在各種實(shí)施例中,服務(wù)器612可以適于運(yùn)行在前面公 開(kāi)內(nèi)容中所描述的一個(gè)或多個(gè)服務(wù)或軟件應(yīng)用。例如,服務(wù)器612可以對(duì)應(yīng)于用于執(zhí)行上面 根據(jù)本公開(kāi)內(nèi)容的實(shí)施例所描述的處理的服務(wù)器。
[0156] 服務(wù)器612可以運(yùn)行包括上面討論的操作系統(tǒng)當(dāng)中任意一種在內(nèi)的操作系統(tǒng),以 及任何市售的服務(wù)器操作系統(tǒng)。服務(wù)器612還可以運(yùn)行各種附加的服務(wù)器應(yīng)用和/或中間層 應(yīng)用當(dāng)中任意一種,包括http服務(wù)器、ftp服務(wù)器、CGi(公共網(wǎng)關(guān)接口)服務(wù)器、Java?服務(wù) 器、數(shù)據(jù)庫(kù)服務(wù)器,等等。示例性數(shù)據(jù)庫(kù)服務(wù)器包括但不限于從0ra Cle、Micr〇S〇ft、SybaSe、 IBM(國(guó)際商業(yè)機(jī)器)等等可商購(gòu)的那些。
[0157] 在一些實(shí)現(xiàn)中,服務(wù)器612可以包括一個(gè)或多個(gè)應(yīng)用,以分析和合并從客戶端計(jì)算 設(shè)備602、604、606和608的用戶接收的數(shù)據(jù)饋送和/或事件更新。作為例子,數(shù)據(jù)饋送和/或 事件更新可以包括,但不限于,Twitter?饋送、Faeebook?更新或者從一個(gè)或多個(gè)第三 方信息源和連續(xù)數(shù)據(jù)流接收到的實(shí)時(shí)更新,其可以包括與傳感器數(shù)據(jù)應(yīng)用、金融報(bào)價(jià)機(jī)、網(wǎng) 絡(luò)性能測(cè)量工具(例如,網(wǎng)絡(luò)監(jiān)視和流量管理應(yīng)用)、點(diǎn)擊流分析工具、汽車(chē)交通監(jiān)視等相關(guān) 的實(shí)時(shí)事件。服務(wù)器612還可以包括一個(gè)或多個(gè)應(yīng)用,以經(jīng)由客戶端計(jì)算設(shè)備602、604、606 和608的一個(gè)或多個(gè)顯示設(shè)備顯示數(shù)據(jù)饋送和/或?qū)崟r(shí)事件。
[0158] 分布式系統(tǒng)600還可以包括一個(gè)或多個(gè)數(shù)據(jù)庫(kù)614和616。數(shù)據(jù)庫(kù)614和616可以駐 留在各個(gè)位置。作為例子,數(shù)據(jù)庫(kù)614和616中的一個(gè)或多個(gè)可以駐留在服務(wù)器612本地的非 臨時(shí)性存儲(chǔ)介質(zhì)上(和/或駐留在服務(wù)器612中)。作為替代,數(shù)據(jù)庫(kù)614和616可以遠(yuǎn)離服務(wù) 器612,并且經(jīng)基于網(wǎng)絡(luò)的或?qū)S玫倪B接與服務(wù)器612通信。在一組實(shí)施例中,數(shù)據(jù)庫(kù)614和 616可以駐留在存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)中。類似地,用于執(zhí)行服務(wù)器612所具有的功能的任何必 要的文件都可以適當(dāng)?shù)乇镜卮鎯?chǔ)在服務(wù)器612上和/或遠(yuǎn)程存儲(chǔ)。在一組實(shí)施例中,數(shù)據(jù)庫(kù) 614和616可以包括適于響應(yīng)于SQL格式的命令而存儲(chǔ)、更新和檢索數(shù)據(jù)的關(guān)系數(shù)據(jù)庫(kù),諸如 由Oracle提供的數(shù)據(jù)庫(kù)。一個(gè)或多個(gè)數(shù)據(jù)庫(kù)614和616可以包括或?qū)崿F(xiàn)為數(shù)據(jù)庫(kù)114。
[0159]圖7是根據(jù)本公開(kāi)內(nèi)容的實(shí)施例的系統(tǒng)環(huán)境700的一個(gè)或多個(gè)組件的簡(jiǎn)化框圖,通 過(guò)其,由實(shí)施例系統(tǒng)的一個(gè)或多個(gè)組件提供的服務(wù)可以作為云服務(wù)被提供。系統(tǒng)環(huán)境700可 以包括或?qū)崿F(xiàn)計(jì)算機(jī)系統(tǒng)100的全部或一些元件、計(jì)算機(jī)系統(tǒng)200的全部或一些元件,或它 們的組合。系統(tǒng)環(huán)境700可以實(shí)現(xiàn)操作、方法和/或過(guò)程(例如,圖4的過(guò)程400和圖5的過(guò)程 500)。在所示出的實(shí)施例中,系統(tǒng)環(huán)境700包括一個(gè)或多個(gè)可以被用戶用來(lái)與提供云服務(wù)的 云基礎(chǔ)設(shè)施系統(tǒng)702交互的客戶端計(jì)算設(shè)備704、706和708??蛻舳擞?jì)算設(shè)備可被配置為操 作客戶端應(yīng)用,諸如web瀏覽器、專用客戶端應(yīng)用(例如,Oracle Forms),或某種其它應(yīng)用, 其可以被客戶端計(jì)算設(shè)備的用戶用來(lái)與基礎(chǔ)設(shè)施系統(tǒng)702交互,以使用由云基礎(chǔ)設(shè)施系統(tǒng) 70 2提供的服務(wù)。
[0160] 應(yīng)當(dāng)認(rèn)識(shí)到,該圖中所繪出的云基礎(chǔ)設(shè)施系統(tǒng)702可以具有除繪出的那些之外的 其它組件。另外,圖中所繪出的實(shí)施例中只是可以結(jié)合本發(fā)明的實(shí)施例的云基礎(chǔ)設(shè)施系統(tǒng) 的一個(gè)例子。例如,云基礎(chǔ)設(shè)施系統(tǒng)702可以包括或?qū)崿F(xiàn)計(jì)算機(jī)系統(tǒng)110的全部或部分。在一 些其它的實(shí)施例中,云基礎(chǔ)設(shè)施系統(tǒng)702可以具有比圖中所示更多或更少的組件、可以組合 兩個(gè)或更多個(gè)組件,或者可以具有組件的不同配置或布置。
[0161] 客戶端計(jì)算設(shè)備704、706和708可以是類似于上面對(duì)602、604、606和608所描述的 設(shè)備。
[0162] 雖然示例性系統(tǒng)環(huán)境700被示為具有三個(gè)客戶端計(jì)算設(shè)備,但是任何數(shù)量的客戶 端計(jì)算設(shè)備都可以被支持。諸如具有傳感器的設(shè)備等的其它設(shè)備可以與云基礎(chǔ)設(shè)施系統(tǒng) 702交互。
[0163] (一個(gè)或多個(gè))網(wǎng)絡(luò)710可以促進(jìn)客戶端704、706和708與云基礎(chǔ)設(shè)施系統(tǒng)702之間 的通信和數(shù)據(jù)交換。每個(gè)網(wǎng)絡(luò)可以是本領(lǐng)域技術(shù)人員熟悉的、可以支持利用任何各種商業(yè) 協(xié)議的任何類型的網(wǎng)絡(luò),包括上面對(duì)(一個(gè)或多個(gè))網(wǎng)絡(luò)710所描述的網(wǎng)絡(luò)。
[0164] 云基礎(chǔ)設(shè)施系統(tǒng)702可以包括一個(gè)或多個(gè)計(jì)算機(jī)和/或服務(wù)器,這可以包括以上對(duì) 服務(wù)器712所描述的服務(wù)器。
[0165] 在某些實(shí)施例中,由云基礎(chǔ)設(shè)施系統(tǒng)提供的服務(wù)可以包括可以讓云基礎(chǔ)設(shè)施系統(tǒng) 的用戶按需使用的服務(wù)的托管,諸如在線數(shù)據(jù)存儲(chǔ)和備份解決方案、基于web的電子郵件服 務(wù)、托管的辦公套件和文檔協(xié)作服務(wù)、數(shù)據(jù)庫(kù)處理、管理的技術(shù)支持服務(wù)等。由云基礎(chǔ)設(shè)施 系統(tǒng)提供的服務(wù)可以動(dòng)態(tài)地?cái)U(kuò)展,以滿足其用戶的需求。由云基礎(chǔ)設(shè)施系統(tǒng)提供的服務(wù)的 具體實(shí)例在本文中稱作為"服務(wù)實(shí)例"。一般而言,來(lái)自云服務(wù)提供商系統(tǒng)的、經(jīng)由諸如互聯(lián) 網(wǎng)的通信網(wǎng)絡(luò)對(duì)用戶可用的任何服務(wù)被稱為"云服務(wù)"。通常,在公共云環(huán)境中,構(gòu)成云服務(wù) 提供商的系統(tǒng)的服務(wù)器和系統(tǒng)與客戶自己的辦公場(chǎng)所服務(wù)器和系統(tǒng)不同。例如,云服務(wù)提 供商的系統(tǒng)可以托管應(yīng)用,并且用戶可以經(jīng)由諸如互聯(lián)網(wǎng)的通信網(wǎng)絡(luò)按需訂閱和使用應(yīng) 用。
[0166] 在一些例子中,在計(jì)算機(jī)網(wǎng)絡(luò)云基礎(chǔ)設(shè)施中的服務(wù)可以包括對(duì)由云供應(yīng)商提供給 用戶的存儲(chǔ)、托管數(shù)據(jù)庫(kù)、托管web服務(wù)器、軟件應(yīng)用或其它服務(wù)的受保護(hù)的計(jì)算機(jī)網(wǎng)絡(luò)訪 問(wèn),或者如以其它方式在本領(lǐng)域中已知的。例如,服務(wù)可以包括通過(guò)互聯(lián)網(wǎng)對(duì)云上遠(yuǎn)程存儲(chǔ) 的密碼保護(hù)的訪問(wèn)。作為另一個(gè)例子,服務(wù)可以包括用于被聯(lián)網(wǎng)開(kāi)發(fā)人員私人使用的基于 web服務(wù)的托管關(guān)系數(shù)據(jù)庫(kù)和腳本語(yǔ)言中間件引擎。作為另一個(gè)例子,服務(wù)可以包括對(duì)在云 供應(yīng)商的網(wǎng)站上托管的電子郵件軟件應(yīng)用的訪問(wèn)。
[0167] 在某些實(shí)施例中,云基礎(chǔ)設(shè)施系統(tǒng)702可以包括以自助服務(wù)、基于訂閱、彈性可擴(kuò) 展、可靠、高可用性并且安全的方式交付給客戶的一套應(yīng)用、中間件和數(shù)據(jù)庫(kù)服務(wù)產(chǎn)品。這 種云基礎(chǔ)設(shè)施系統(tǒng)的例子是由本受讓人提供的Oracle Public Cloud。
[0168] 大容量數(shù)據(jù),有時(shí)被稱為大數(shù)據(jù),可以在許多層面上和在不同規(guī)模由基礎(chǔ)設(shè)施系 統(tǒng)托管和/或操縱。這種數(shù)據(jù)可以包括如此大而復(fù)雜以至于難以利用典型的數(shù)據(jù)庫(kù)管理工 具或傳統(tǒng)的數(shù)據(jù)處理應(yīng)用來(lái)處理的數(shù)據(jù)集。例如,百萬(wàn)兆字節(jié)的數(shù)據(jù)利用個(gè)人計(jì)算機(jī)或他 們的基于機(jī)架的對(duì)等體可能是難以存儲(chǔ)、檢索和處理的。這種尺寸的數(shù)據(jù)會(huì)難以利用最當(dāng) 前的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)和桌面統(tǒng)計(jì)和可視化包工作。它們會(huì)要求運(yùn)行幾千臺(tái)服務(wù)器計(jì)算 機(jī)的大規(guī)模并行處理軟件,超出常用軟件工具的結(jié)構(gòu),以便在可容忍的經(jīng)過(guò)時(shí)間內(nèi)捕獲、安 排、管理和處理數(shù)據(jù)。
[0169] 極其大的數(shù)據(jù)集可以由分析師和研究人員存儲(chǔ)并操縱,以可視化大量數(shù)據(jù)、檢測(cè) 趨勢(shì),和/或以其它方式與數(shù)據(jù)進(jìn)行交互。數(shù)十、數(shù)百或數(shù)千并行連接的處理器可以對(duì)這些 數(shù)據(jù)采取行動(dòng),以便呈現(xiàn)它或模擬對(duì)數(shù)據(jù)的外力或它代表什么。這些數(shù)據(jù)集可以涉及結(jié)構(gòu) 化數(shù)據(jù),諸如在數(shù)據(jù)庫(kù)中或根據(jù)結(jié)構(gòu)化模型以其它方式組織的結(jié)構(gòu)化數(shù)據(jù),和/或非結(jié)構(gòu)化 數(shù)據(jù)(例如,電子郵件、圖像、數(shù)據(jù)blob(二進(jìn)制大對(duì)象)、網(wǎng)頁(yè)、復(fù)雜事件處理)。通過(guò)充分利 用實(shí)施例相對(duì)快速地將更多(或更少)計(jì)算資源聚焦到目標(biāo)上的能力,云基礎(chǔ)設(shè)施系統(tǒng)可以 更好地可用于基于來(lái)自企業(yè)、政府機(jī)構(gòu)、研究機(jī)構(gòu)、私營(yíng)個(gè)體、意見(jiàn)相同的個(gè)人或組織,或其 它實(shí)體的需求對(duì)大數(shù)據(jù)集執(zhí)行任務(wù)。
[0170] 在各種實(shí)施例中,云基礎(chǔ)設(shè)施系統(tǒng)702可以適于自動(dòng)供給、管理和跟蹤客戶對(duì)由云 基礎(chǔ)設(shè)施系統(tǒng)702提供的服務(wù)的訂閱。云基礎(chǔ)設(shè)施系統(tǒng)702可以經(jīng)由不同的部署模型提供云 服務(wù)。例如,服務(wù)可以根據(jù)公共云模型來(lái)提供,其中云基礎(chǔ)設(shè)施系統(tǒng)702由銷售云服務(wù)的組 織擁有(例如,被Oracle擁有)并且使得服務(wù)對(duì)一般公眾和不同行業(yè)的企業(yè)可用。作為另一 個(gè)例子,服務(wù)可以根據(jù)私有云模型來(lái)提供,其中云基礎(chǔ)設(shè)施系統(tǒng)702只為單個(gè)組織運(yùn)營(yíng)并且 可以為該組織內(nèi)的一個(gè)或多個(gè)實(shí)體提供服務(wù)。云服務(wù)也可以根據(jù)社區(qū)云模型來(lái)提供,其中 云基礎(chǔ)設(shè)施系統(tǒng)702和由云基礎(chǔ)設(shè)施系統(tǒng)702提供的服務(wù)被相關(guān)社區(qū)中的若干個(gè)組織共享。 云服務(wù)也可以根據(jù)混合云模型來(lái)提供,它是兩種或更多種不同模型的組合。
[0171] 在一些實(shí)施例中,由云基礎(chǔ)設(shè)施系統(tǒng)702提供的服務(wù)可以包括根據(jù)軟件即服務(wù) (SaaS)類別、平臺(tái)即服務(wù)(PaaS)類別、基礎(chǔ)設(shè)施即服務(wù)(IaaS)類別、或包括混合服務(wù)的其它 服務(wù)類別提供的一個(gè)或多個(gè)服務(wù)??蛻艚?jīng)由訂閱訂單可以訂閱由云基礎(chǔ)設(shè)施系統(tǒng)702提供 的一個(gè)或多個(gè)服務(wù)。云基礎(chǔ)設(shè)施體系702然后執(zhí)行處理,以提供在客戶的訂閱訂單中的服 務(wù)。
[0172] 在一些實(shí)施例中,由云基礎(chǔ)設(shè)施系統(tǒng)702提供的服務(wù)可以包括但不限于,應(yīng)用服 務(wù)、平臺(tái)服務(wù)和基礎(chǔ)設(shè)施服務(wù)。在一些實(shí)例中,應(yīng)用服務(wù)可以經(jīng)由SaaS平臺(tái)由云基礎(chǔ)設(shè)施系 統(tǒng)提供。SaaS平臺(tái)可被配置為提供屬于SaaS類別的云服務(wù)。例如,SaaS平臺(tái)可以提供在集成 開(kāi)發(fā)和部署平臺(tái)上構(gòu)建和交付一套按需應(yīng)用的能力。SaaS平臺(tái)可以管理和控制用于提供 SaaS服務(wù)的底層軟件和基礎(chǔ)設(shè)施。通過(guò)利用由SaaS平臺(tái)提供的服務(wù),客戶可以利用在云基 礎(chǔ)設(shè)施系統(tǒng)上執(zhí)行的應(yīng)用??蛻艨梢垣@取應(yīng)用服務(wù),而無(wú)需客戶購(gòu)買(mǎi)單獨(dú)的許可和支持。可 以提供各種不同的SaaS服務(wù)。例子包括但不限于,提供用于大型企業(yè)的銷售績(jī)效管理、企業(yè) 整合和業(yè)務(wù)靈活性的解決方案的服務(wù)。
[0173] 在一些實(shí)施例中,平臺(tái)服務(wù)可以經(jīng)由PaaS平臺(tái)由云基礎(chǔ)設(shè)施系統(tǒng)提供。PaaS平臺(tái) 可被配置為提供屬于PaaS類別的云服務(wù)。平臺(tái)服務(wù)的例子可以包括但不限于,使組織(諸如 Oracle)能夠在共享、公共的體系架構(gòu)上整合現(xiàn)有應(yīng)用,以及利用由平臺(tái)提供的共享服務(wù)構(gòu) 建新應(yīng)用的能力的服務(wù)。PaaS平臺(tái)可以管理和控制用于提供PaaS服務(wù)的底層軟件和基礎(chǔ)設(shè) 施??蛻艨梢垣@得由云基礎(chǔ)設(shè)施系統(tǒng)提供的PaaS服務(wù),而無(wú)需客戶購(gòu)買(mǎi)單獨(dú)的許可和支持。 平臺(tái)服務(wù)的例子包括但不限于,Oracle Java云服務(wù)(Oracle Java Cloud Service,JCS)、 Oracle數(shù)據(jù)庫(kù)云服務(wù)(Oracle Database Cloud Service,DBCS)以及其它服務(wù)。
[0174] 通過(guò)利用由PaaS平臺(tái)提供的服務(wù),客戶可以采用由云基礎(chǔ)設(shè)施系統(tǒng)支持的編程語(yǔ) 言和工具并且也可以控制所部署的服務(wù)。在一些實(shí)施例中,由云基礎(chǔ)設(shè)施系統(tǒng)提供的平臺(tái) 服務(wù)可以包括數(shù)據(jù)庫(kù)云服務(wù)、中間件云服務(wù)(例如,Oracle Fusion Middleware服務(wù))和 Java云服務(wù)。在一種實(shí)施例中,數(shù)據(jù)庫(kù)云服務(wù)可以支持使組織能夠集中數(shù)據(jù)庫(kù)資源并且以 數(shù)據(jù)庫(kù)云的形式為客戶提供數(shù)據(jù)庫(kù)即服務(wù)的共享服務(wù)部署模型。中間件云服務(wù)可以為客戶 提供平臺(tái)來(lái)開(kāi)發(fā)和部署各種商業(yè)應(yīng)用,并且Java云服務(wù)可以為客戶提供在云基礎(chǔ)設(shè)施系統(tǒng) 中部署Java應(yīng)用的平臺(tái)。
[0175] 各種不同的基礎(chǔ)設(shè)施服務(wù)可以由云基礎(chǔ)設(shè)施系統(tǒng)中的IaaS平臺(tái)提供?;A(chǔ)設(shè)施服 務(wù)促進(jìn)對(duì)諸如存儲(chǔ)、網(wǎng)絡(luò)和其它基本計(jì)算資源的底層計(jì)算資源的管理和控制,以便讓客戶 利用由SaaS平臺(tái)和PaaS平臺(tái)提供的服務(wù)。
[0176] 在某些實(shí)施例中,云基礎(chǔ)設(shè)施系統(tǒng)702也可以包括用于提供用來(lái)向云基礎(chǔ)設(shè)施系 統(tǒng)的客戶提供各種服務(wù)的資源的基礎(chǔ)設(shè)施資源730。在一種實(shí)施例中,基礎(chǔ)設(shè)施資源730可 以包括諸如服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò)資源的硬件的預(yù)先集成和優(yōu)化組合,以便執(zhí)行由PaaS平臺(tái) 和SaaS平臺(tái)提供的服務(wù)。
[0177] 在一些實(shí)施例中,在云基礎(chǔ)設(shè)施系統(tǒng)702中的資源可以被多個(gè)用戶共享并且動(dòng)態(tài) 地按需重新分配。此外,資源可以被分配給在不同時(shí)區(qū)的用戶。例如,云基礎(chǔ)設(shè)施系統(tǒng)730可 以使在第一時(shí)區(qū)的第一組用戶能夠利用云基礎(chǔ)設(shè)施系統(tǒng)的資源指定的小時(shí)數(shù),并且然后使 相同資源重新分配給位于不同時(shí)區(qū)的另一組用戶,從而最大化資源的利用率。
[0178] 在某些實(shí)施例中,可以提供由云基礎(chǔ)設(shè)施系統(tǒng)702的不同組件或模塊以及由云基 礎(chǔ)設(shè)施系統(tǒng)702提供的服務(wù)共享的多個(gè)內(nèi)部共享服務(wù)732。這些內(nèi)部共享服務(wù)可以包括,但 不限于,安全和身份服務(wù)、集成服務(wù)、企業(yè)信息庫(kù)服務(wù)、企業(yè)管理服務(wù)、病毒掃描和白名單服 務(wù)、高可用性、備份和恢復(fù)服務(wù)、用于啟用云支持的服務(wù)、電子郵件服務(wù)、通知服務(wù)、文件傳 輸服務(wù),等等。
[0179] 在某些實(shí)施例中,云基礎(chǔ)設(shè)施系統(tǒng)702可以提供在云基礎(chǔ)設(shè)施系統(tǒng)中云服務(wù)(例 如,SaaS、PaaS和IaaS服務(wù))的綜合管理。在一種實(shí)施例中,云管理功能可以包括用于供給、 管理和跟蹤由云基礎(chǔ)設(shè)施系統(tǒng)702接收到的客戶的訂閱等能力。
[0180] 在一種實(shí)施例中,如該圖中所繪出的,云管理功能可以由一個(gè)或多個(gè)模塊提供,諸 如訂單管理模塊720、訂單編制模塊722、訂單供給模塊724、訂單管理和監(jiān)視模塊726、以及 身份管理模塊728。這些模塊可以包括一個(gè)或多個(gè)計(jì)算機(jī)和/或服務(wù)器或者利用一個(gè)或多個(gè) 計(jì)算機(jī)和/或服務(wù)器來(lái)提供,該一個(gè)或多個(gè)計(jì)算機(jī)和/或服務(wù)器可以是通用計(jì)算機(jī)、專用服 務(wù)器計(jì)算機(jī)、服務(wù)器群、服務(wù)器集群、或任何其它適當(dāng)?shù)牟贾煤?或組合。
[0181] 在示例性操作734中,使用客戶端設(shè)備,諸如客戶端設(shè)備704、706或708,的客戶可 以通過(guò)請(qǐng)求由云基礎(chǔ)設(shè)施系統(tǒng)702提供的一個(gè)或多個(gè)服務(wù)和為由云基礎(chǔ)設(shè)施系統(tǒng)702提供 的一個(gè)或多個(gè)服務(wù)下訂閱訂單來(lái)與云基礎(chǔ)設(shè)施系統(tǒng)702交互。在某些實(shí)施例中,客戶可以訪 問(wèn)云用戶界面(UI)、云UI 712、云UI 714和/或云UI 716并且經(jīng)由這些UI下訂閱訂單。響應(yīng) 于客戶下訂單而被云基礎(chǔ)設(shè)施系統(tǒng)602接收到的訂單信息可以包括識(shí)別客戶和客戶想要訂 閱的由云基礎(chǔ)設(shè)施系統(tǒng)702提供的一個(gè)或多個(gè)服務(wù)的信息。
[0182] 在客戶下訂單之后,訂單信息經(jīng)由云UI 712、714和/或716被接收。
[0183] 在操作736,訂單被存儲(chǔ)在訂單數(shù)據(jù)庫(kù)718中。訂單數(shù)據(jù)庫(kù)718可以是由云基礎(chǔ)設(shè)施 系統(tǒng)718操作并且結(jié)合其它系統(tǒng)元素一起操作的若干個(gè)數(shù)據(jù)庫(kù)之一。
[0184]在操作738,訂單信息被轉(zhuǎn)發(fā)到訂單管理模塊720。在一些情況下,訂單管理模塊 720可被配置為執(zhí)行與訂單相關(guān)的計(jì)費(fèi)和記帳功能,諸如驗(yàn)證訂單,以及在驗(yàn)證后預(yù)訂訂 單。
[0185] 在操作740,關(guān)于訂單的信息被傳送到訂單編制模塊722。訂單編制模塊722可以利 用訂單信息來(lái)編制用于由客戶所下訂單的服務(wù)和資源的供給。在一些情況下,訂單編制模 塊722可以編制資源的供給,以利用訂單供給模塊724的服務(wù)支持訂閱的服務(wù)。
[0186] 在某些實(shí)施例中,訂單編制模塊722使得能夠管理與每個(gè)訂單相關(guān)聯(lián)的業(yè)務(wù)流程 并且應(yīng)用業(yè)務(wù)邏輯,以確定訂單是否應(yīng)該繼續(xù)供給。在操作742,當(dāng)接收到新訂閱的訂單時(shí), 訂單編制模塊722發(fā)送請(qǐng)求到訂單供給模塊724,以分配資源和配置履行訂閱訂單所需的那 些資源。訂單供給模塊724使得能夠分配用于客戶訂閱的服務(wù)的資源。訂單供給模塊724在 由云基礎(chǔ)設(shè)施系統(tǒng)700提供的云服務(wù)和用于為了提供所請(qǐng)求的服務(wù)供給資源的物理實(shí)現(xiàn)層 之間提供一層抽象。訂單編制模塊722可以因此與實(shí)現(xiàn)細(xì)節(jié)隔離,諸如服務(wù)和資源是實(shí)際上 在運(yùn)行中被供給還是預(yù)先被供給并且只在請(qǐng)求時(shí)被分配/指定。
[0187] 在操作744,一旦服務(wù)和資源被供給,所提供的服務(wù)的通知就可以通過(guò)云基礎(chǔ)設(shè)施 系統(tǒng)702的訂單供給模塊724發(fā)送給在客戶端設(shè)備704、706和/或708的客戶。
[0188] 在操作746,客戶的訂閱訂單可以被訂單管理和監(jiān)視模塊726管理和跟蹤。在一些 情況下,訂單管理和監(jiān)視模塊726可被配置為收集訂閱訂單中的服務(wù)的使用統(tǒng)計(jì)數(shù)據(jù),諸如 使用的存儲(chǔ)量、傳送的數(shù)據(jù)量、用戶的數(shù)量、以及系統(tǒng)上線時(shí)間和系統(tǒng)停機(jī)時(shí)間的量。
[0189] 在某些實(shí)施例中,云基礎(chǔ)設(shè)施系統(tǒng)700可以包括身份管理模塊728。身份管理模塊 728可被配置為提供身份服務(wù),諸如在云基礎(chǔ)設(shè)施系統(tǒng)700中的訪問(wèn)管理和授權(quán)服務(wù)。在一 些實(shí)施例中,身份管理模塊728可以控制關(guān)于希望利用由云基礎(chǔ)設(shè)施系統(tǒng)702提供的服務(wù)的 客戶的信息。這種信息可以包括驗(yàn)證這種客戶的身份的信息和描述這些客戶被授權(quán)相對(duì)于 各種系統(tǒng)資源(例如,文件、目錄、應(yīng)用、通信端口、存儲(chǔ)器段、等等)執(zhí)行哪些行為的信息。身 份管理模塊728也可以包括關(guān)于每個(gè)客戶的描述性信息和關(guān)于描述性信息可以如何以及由 誰(shuí)來(lái)訪問(wèn)和修改的管理。
[0190]圖8示出了其中可以實(shí)現(xiàn)本發(fā)明的各種實(shí)施例的示例性計(jì)算機(jī)系統(tǒng)800。計(jì)算機(jī)系 統(tǒng)800可以被用來(lái)實(shí)現(xiàn)上述任何計(jì)算機(jī)系統(tǒng)。例如,計(jì)算機(jī)系統(tǒng)100的全部或一些元件、計(jì)算 機(jī)系統(tǒng)200的全部或一些元件或它們的組合可以包括在計(jì)算機(jī)系統(tǒng)800中或在其中實(shí)現(xiàn)。計(jì) 算機(jī)系統(tǒng)800可以實(shí)現(xiàn)操作、方法和/或過(guò)程(例如,圖4的過(guò)程400或圖5的過(guò)程500)。如該圖 中所示出的,計(jì)算機(jī)系統(tǒng)800包括經(jīng)由總線子系統(tǒng)802與多個(gè)外圍子系統(tǒng)通信的處理單元 804。這些外圍子系統(tǒng)可以包括處理加速單元806、I/O子系統(tǒng)808、存儲(chǔ)子系統(tǒng)818和通信子 系統(tǒng)824。存儲(chǔ)子系統(tǒng)818包括有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)822和系統(tǒng)存儲(chǔ)器810。
[0191] 總線子系統(tǒng)802提供了用于讓計(jì)算機(jī)系統(tǒng)800的各種組件和子系統(tǒng)按意圖彼此通 信的機(jī)制。雖然總線子系統(tǒng)802被示意性地示為單條總線,但是總線子系統(tǒng)的備選實(shí)施例可 以利用多條總線。總線子系統(tǒng)802可以是若干種類型的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器 總線或存儲(chǔ)器控制器、外圍總線、以及利用任何各種總線體系結(jié)構(gòu)的局部總線。例如,這種 體系結(jié)構(gòu)可以包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA (EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍組件互連(PCI)總線,其可以被實(shí)現(xiàn) 為按IEEE P1386.1標(biāo)準(zhǔn)制造的Mezzanine總線。
[0192] 可以被實(shí)現(xiàn)為一個(gè)或多個(gè)集成電路(例如,常規(guī)微處理器或微控制器)的處理單元 804控制計(jì)算機(jī)系統(tǒng)800的操作。一個(gè)或多個(gè)處理器可以被包括在處理單元804中。這些處理 器可以包括單核或多核處理器。在某些實(shí)施例中,處理單元804可以被實(shí)現(xiàn)為一個(gè)或多個(gè)獨(dú) 立的處理單元832和/或834,其中在每個(gè)處理單元中包括單核或多核處理器。在其它實(shí)施例 中,處理單元804也可以被實(shí)現(xiàn)為通過(guò)將兩個(gè)雙核處理器集成到單個(gè)芯片中形成的四核處 理單元。
[0193] 在各種實(shí)施例中,處理單元804可以響應(yīng)于程序代碼執(zhí)行各種程序并且可以維護(hù) 多個(gè)并發(fā)執(zhí)行的程序或進(jìn)程。在任何給定的時(shí)間,要被執(zhí)行的程序代碼中的一些或全部代 碼可以駐留在(一個(gè)或多個(gè))處理器804中和/或存儲(chǔ)子系統(tǒng)818中。通過(guò)適當(dāng)?shù)木幊?,(一個(gè) 或多個(gè))處理器804可以提供上述各種功能。計(jì)算機(jī)系統(tǒng)800可以附加地包括處理加速單元 806,其可以包括數(shù)字信號(hào)處理器(DSP)、專用處理器,等等。
[0194] I/O子系統(tǒng)808可以包括用戶接口輸入設(shè)備和用戶接口輸出設(shè)備。用戶接口輸入設(shè) 備可以包括鍵盤(pán)、諸如鼠標(biāo)或軌跡球的定點(diǎn)設(shè)備、結(jié)合到顯示器中的觸摸板或觸摸屏、滾動(dòng) 輪、點(diǎn)擊輪、撥盤(pán)、按鈕、開(kāi)關(guān)、鍵盤(pán)、具有語(yǔ)音命令識(shí)別系統(tǒng)的音頻輸入設(shè)備、麥克風(fēng)以及其 它類型的輸入設(shè)備。用戶接口輸入設(shè)備可以包括,例如,運(yùn)動(dòng)感測(cè)和/或手勢(shì)識(shí)別設(shè)備,諸如 的Mi cr〇s〇ftK;ineet_?運(yùn)動(dòng)傳感器,其使得用戶能夠通過(guò)利用手勢(shì)和語(yǔ)音命令的自然用戶 接口控制諸如的Microsoft XboxwSeo游戲控制器的輸入設(shè)備并與之交互。用戶接口輸入 設(shè)備也可以包括眼睛姿勢(shì)識(shí)別設(shè)備,諸如從用戶檢測(cè)眼睛活動(dòng)(例如,當(dāng)拍拍攝照片和/或 做出菜單選擇時(shí)的"眨眼")并且將眼睛姿勢(shì)轉(zhuǎn)換為到輸入設(shè)備(例如,GoogleGlass?)中 的輸入的GoogleGlass?眨眼檢測(cè)器。此外,用戶接口輸入設(shè)備可以包括使用戶能夠通過(guò)語(yǔ) 音命令與語(yǔ)音識(shí)別系統(tǒng)(例如,iSiri?導(dǎo)航器)交互的語(yǔ)音識(shí)別感測(cè)設(shè)備
[0195] 用戶接口輸入設(shè)備也可以包括,但不限于,三維(3D)鼠標(biāo)、操縱桿或指向棒、游戲 面板和繪圖板,以及音頻/視頻設(shè)備,諸如揚(yáng)聲器、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、便攜式媒體播放 器、網(wǎng)絡(luò)攝像頭、圖像掃描儀、指紋掃描儀、條形碼閱讀器3D掃描儀、3D打印機(jī)、激光測(cè)距儀 和視線跟蹤設(shè)備。此外,用戶接口輸入設(shè)備可以包括,例如,醫(yī)學(xué)成像輸入設(shè)備,諸如計(jì)算機(jī) 斷層掃描、磁共振成像、正電子發(fā)射斷層攝影術(shù)、醫(yī)療超聲設(shè)備。用戶接口輸入設(shè)備也可以 包括,例如,諸如MIDI鍵盤(pán)、數(shù)字樂(lè)器等的音頻輸入設(shè)備。
[0196] 用戶接口輸出設(shè)備可以包括顯示子系統(tǒng)、指示燈,或者諸如音頻輸出設(shè)備的非視 覺(jué)顯示器,等等。顯示子系統(tǒng)可以是陰極射線管(CRT)、諸如利用液晶顯示器(LCD)或等離子 顯示器的平板設(shè)備、投影設(shè)備、觸摸屏,等等。一般而言,術(shù)語(yǔ)"輸出設(shè)備"的使用意在包括用 于從計(jì)算機(jī)系統(tǒng)800向用戶或其它計(jì)算機(jī)輸出信息的所有可能類型的設(shè)備和機(jī)制。例如,用 戶接口輸出設(shè)備可以包括,但不限于,在視覺(jué)上傳達(dá)文字、圖形和音頻/視頻信息的各種顯 示設(shè)備,諸如監(jiān)視器、打印機(jī)、揚(yáng)聲器、耳機(jī)、汽車(chē)導(dǎo)航系統(tǒng)、繪圖儀、語(yǔ)音輸出設(shè)備,以及調(diào) 制解調(diào)器。
[0197] 計(jì)算機(jī)系統(tǒng)800可以包括包含軟件元素、被示為當(dāng)前位于系統(tǒng)存儲(chǔ)器810中的存儲(chǔ) 子系統(tǒng)818。系統(tǒng)存儲(chǔ)器810可以存儲(chǔ)可加載并且可在處理單元804上執(zhí)行的程序指令,以及 在這些程序執(zhí)行期間所產(chǎn)生的數(shù)據(jù)。
[0198] 依賴于計(jì)算機(jī)系統(tǒng)800的配置和類型,系統(tǒng)存儲(chǔ)器810可以是易失性的(諸如隨機(jī) 存取存儲(chǔ)器(RAM))和/或非易失性的(諸如只讀存儲(chǔ)器(R0M)、閃存存儲(chǔ)器,等等)AAM通常 包含可被處理單元80位即訪問(wèn)和/或目前正被處理單元804操作和執(zhí)行的數(shù)據(jù)和/或程序 模塊。在一些實(shí)現(xiàn)中,系統(tǒng)存儲(chǔ)器810可以包括多種不同類型的存儲(chǔ)器,例如靜態(tài)隨機(jī)存取 存儲(chǔ)器(SRAM)或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。在一些實(shí)現(xiàn)中,諸如在啟動(dòng)期間,包含有助于 在計(jì)算機(jī)系統(tǒng)800的元件之間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS),通常可以 被存儲(chǔ)在ROM中。作為例子,但不是限制,系統(tǒng)存儲(chǔ)器810也示出了可以包括客戶端應(yīng)用、web 瀏覽器、中間層應(yīng)用、關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)等的應(yīng)用程序812,程序數(shù)據(jù)814,以及操 作系統(tǒng)816。作為例子,操作系統(tǒng)816可以包括各種版本的Microsof tWindOWsiApple IVladntosh?和/或Linux操作系統(tǒng)、各種商用UNIX?或類UNIX操作系統(tǒng)(包括但不限于 各種GNU/Linux操作系統(tǒng)、G〇〇gieCh:r〇m.<e fe操作系統(tǒng),等等)和/或諸如i〇s、_Win.d:ow_s? Phone、 Aitdmid?os、B】ackBerry?Io os和Palm?os操作系統(tǒng)的移動(dòng)操作系統(tǒng)。
[0199] 存儲(chǔ)子系統(tǒng)818也可以提供用于存儲(chǔ)提供一些實(shí)施例的功能的基本編程和數(shù)據(jù)結(jié) 構(gòu)的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。當(dāng)被處理器執(zhí)行時(shí)提供上述功能的軟件(程序、代碼模塊、 指令)可以被存儲(chǔ)在存儲(chǔ)子系統(tǒng)818中。這些軟件模塊或指令可以被處理單元804執(zhí)行。存儲(chǔ) 子系統(tǒng)818也可以提供用于存儲(chǔ)根據(jù)本發(fā)明被使用的數(shù)據(jù)的儲(chǔ)存庫(kù)。
[0200] 存儲(chǔ)子系統(tǒng)818也可以包括可被進(jìn)一步連接到計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)822的計(jì)算機(jī) 可讀存儲(chǔ)介質(zhì)讀取器820。與系統(tǒng)存儲(chǔ)器810-起并且,可選地,與其相結(jié)合,計(jì)算機(jī)可讀存 儲(chǔ)介質(zhì)822可以全面地表示用于臨時(shí)和/或更持久地包含、存儲(chǔ)、發(fā)送和檢索計(jì)算機(jī)可讀信 息的遠(yuǎn)程、本地、固定和/或可移動(dòng)存儲(chǔ)設(shè)備加存儲(chǔ)介質(zhì)。
[0201] 包含代碼或代碼的部分的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)822也可以包括本領(lǐng)域已知或使用 的任何適當(dāng)?shù)慕橘|(zhì),包括存儲(chǔ)介質(zhì)和通信介質(zhì),諸如但不限于,以用于信息的存儲(chǔ)和/或傳 輸?shù)娜魏畏椒ɑ蚣夹g(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。這可以包括有形 的、非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),諸如RAM、R0M、電可擦除可編程ROM(EEPROM)、閃存存儲(chǔ) 器或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光學(xué)儲(chǔ)存器、磁帶盒、磁帶、磁盤(pán) 儲(chǔ)存器或其它磁存儲(chǔ)設(shè)備,或者其它有形的計(jì)算機(jī)可讀介質(zhì)。當(dāng)被指定時(shí),這也可以包括非 有形的、臨時(shí)性計(jì)算機(jī)可讀介質(zhì),諸如數(shù)據(jù)信號(hào)、數(shù)據(jù)傳輸,或者可以被用來(lái)發(fā)送期望信息 并且可以被計(jì)算系統(tǒng)700訪問(wèn)的任何其它介質(zhì)。
[0202] 作為例子,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)822可以包括從不可移動(dòng)的非易失性磁介質(zhì)讀取 或?qū)懙狡涞挠脖P(pán)驅(qū)動(dòng)器、從可移動(dòng)的非易失性磁盤(pán)讀取或?qū)懙狡涞拇疟P(pán)驅(qū)動(dòng)器、以及從可 移動(dòng)的非易失性光盤(pán),諸如CD rom、dvd和Bhi-Ray_?盤(pán)或其它光學(xué)介質(zhì),讀取或?qū)懙狡涞?光盤(pán)驅(qū)動(dòng)器。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)822可以包括,但不限于,Zip?驅(qū)動(dòng)器、閃存卡、通用串行 總線(USB)閃存驅(qū)動(dòng)器、安全數(shù)字(SD)卡、DVD盤(pán)、數(shù)字音頻帶,等等。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì) 722也可以包括基于非易失性存儲(chǔ)器的固態(tài)驅(qū)動(dòng)器(SSD),諸如基于閃存存儲(chǔ)器的SSD、企業(yè) 閃存驅(qū)動(dòng)器、固態(tài)ROM等,基于易失性存儲(chǔ)器的SSD,諸如固態(tài)RAM、動(dòng)態(tài)RAM、靜態(tài)RAM,基于 DRAM的SSD,磁阻RAM(MRAM)SSD,以及使用基于DRAM和閃存存儲(chǔ)器的SSD的組合的混合SSD。 盤(pán)驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)可以為計(jì)算機(jī)系統(tǒng)800提供計(jì)算機(jī)可讀指令、數(shù)據(jù) 結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的非易失性存儲(chǔ)。
[0203]通信子系統(tǒng)824提供到其它計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)的接口。通信子系統(tǒng)824用作用于從 其它系統(tǒng)接收數(shù)據(jù)和從計(jì)算機(jī)系統(tǒng)800向其它系統(tǒng)發(fā)送數(shù)據(jù)的接口。例如,通信子系統(tǒng)824 可以使計(jì)算機(jī)系統(tǒng)800能夠經(jīng)由互聯(lián)網(wǎng)連接到一個(gè)或多個(gè)設(shè)備。在一些實(shí)施例中,通信子系 統(tǒng)824可以包括用于訪問(wèn)無(wú)線語(yǔ)音和/或數(shù)據(jù)網(wǎng)絡(luò)的射頻(RF)收發(fā)器組件(例如,利用蜂窩 電話技術(shù),諸如3G、4G或EDGE(用于全球演進(jìn)的增強(qiáng)型數(shù)據(jù)速率)的先進(jìn)數(shù)據(jù)網(wǎng)絡(luò)技術(shù),WiFi (IEEE 802.11系列標(biāo)準(zhǔn)),或其它移動(dòng)通信技術(shù),或其任意組合)、全球定位系統(tǒng)(GPS)接收 器組件和/或其它組件。在一些實(shí)施例中,作為無(wú)線接口的附加或者替代,通信子系統(tǒng)824可 以提供有線網(wǎng)絡(luò)連接(例如,以太網(wǎng))。
[0204]在一些實(shí)施例中,通信子系統(tǒng)824也可以代表可以使用計(jì)算機(jī)系統(tǒng)800的一個(gè)或多 個(gè)用戶接收結(jié)構(gòu)化和/或非結(jié)構(gòu)化數(shù)據(jù)饋送826、事件流828、事件更新830等形式的輸入通 {目。
[0205] 作為例子,通信子系統(tǒng)824可被配置為實(shí)時(shí)地從社交媒體網(wǎng)絡(luò)和/或其它通信服務(wù) 的用戶接收數(shù)據(jù)饋送8 2 6,諸如TwIttefii饋送、Facebook?更新、諸如豐富站點(diǎn)摘要 (RSS)饋送的web饋送和/或來(lái)自一個(gè)或多個(gè)第三方信息源的實(shí)時(shí)更新。
[0206] 此外,通信子系統(tǒng)824也可被配置為接收連續(xù)數(shù)據(jù)流形式的數(shù)據(jù),這可以包括本質(zhì) 上可以是連續(xù)的或無(wú)界的沒(méi)有明確終止的實(shí)時(shí)事件的事件流828和/或事件更新830。產(chǎn)生 連續(xù)數(shù)據(jù)的應(yīng)用的例子可以包括,例如,傳感器數(shù)據(jù)應(yīng)用、金融報(bào)價(jià)機(jī)、網(wǎng)絡(luò)性能測(cè)量工具 (例如,網(wǎng)絡(luò)監(jiān)視和流量管理應(yīng)用)、點(diǎn)擊流分析工具、汽車(chē)流量監(jiān)視,等等。
[0207] 通信子系統(tǒng)824也可被配置為向一個(gè)或多個(gè)數(shù)據(jù)庫(kù)輸出結(jié)構(gòu)化和/或非結(jié)構(gòu)化數(shù) 據(jù)饋送826、事件流828、事件更新830,等等,這一個(gè)或多個(gè)數(shù)據(jù)庫(kù)可以與耦合到計(jì)算機(jī)系統(tǒng) 800的一個(gè)或多個(gè)流式數(shù)據(jù)源計(jì)算機(jī)通信。
[0208] 計(jì)算機(jī)系統(tǒng)800可以是各種類型之一,包括手持便攜式設(shè)備(例如,iPhone'?蜂窩 電話、iPad?計(jì)算平板、PDA)、可穿戴設(shè)備(例如,GoogleCiass?頭戴式顯示器)、pc、工作 站、大型機(jī)、信息站,服務(wù)器機(jī)架,或任何其它數(shù)據(jù)處理系統(tǒng)。
[0209] 由于計(jì)算機(jī)和網(wǎng)絡(luò)的不斷變化的本質(zhì),在圖中繪出的計(jì)算機(jī)系統(tǒng)800的描述僅僅 要作為具體的例子。具有比圖中繪出的系統(tǒng)更多或更少組件的許多其它配置是可能的。例 如,定制的硬件也可以被使用和/或特定的元素可以用硬件、固件、軟件(包括applets)或它 們的組合來(lái)實(shí)現(xiàn)。另外,也可以采用到諸如網(wǎng)絡(luò)輸入/輸出設(shè)備之類的其它計(jì)算設(shè)備的連 接。基于本文提供的公開(kāi)內(nèi)容和示教,本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到實(shí)現(xiàn)各種實(shí)施例的其 它方式和/或方法。
[0210] 根據(jù)一些實(shí)施例,圖9繪出了如上所述根據(jù)本發(fā)明的原理配置的示例性計(jì)算機(jī)系 統(tǒng)900的功能框圖。計(jì)算機(jī)系統(tǒng)900的功能塊可以由硬件、軟件或硬件和軟件的組合來(lái)實(shí)現(xiàn), 以執(zhí)行本發(fā)明的原理。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖9中所描述的功能塊可以被組合或分離 為子塊,以實(shí)現(xiàn)如上所述根據(jù)本發(fā)明的原理。因此,本文的描述可以支持本文所描述的功能 塊的任何可能的組合或分離或者進(jìn)一步定義。
[0211] 參照?qǐng)D9,計(jì)算機(jī)系統(tǒng)900可以包括第一接收器902和第二接收器904。第一接收器 902可以接收用于配置多個(gè)模板執(zhí)行環(huán)境的模板執(zhí)行環(huán)境的標(biāo)準(zhǔn)。多個(gè)模板執(zhí)行環(huán)境中的 每個(gè)模板執(zhí)行環(huán)境可以建立孩子執(zhí)行環(huán)境,并且多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模板執(zhí)行環(huán)境 可被配置為執(zhí)行不同類型的定制可執(zhí)行指令。第二接收器904可以利用第一通信協(xié)議從計(jì) 算設(shè)備(未示出)接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求。
[0212] 計(jì)算機(jī)系統(tǒng)900還可以包括分類單元906。分類單元906可以分類對(duì)應(yīng)于所請(qǐng)求的 定制可執(zhí)行指令的定制可執(zhí)行指令的類型。然后,計(jì)算機(jī)系統(tǒng)900的選擇單元908可以基于 分類的定制可執(zhí)行指令的類型從多個(gè)模板執(zhí)行環(huán)境中選擇第一模板執(zhí)行環(huán)境。如圖所示, 第一執(zhí)行單元910可以執(zhí)行第一模板執(zhí)行環(huán)境。
[0213] 計(jì)算機(jī)系統(tǒng)還可以包括可以建立第一孩子執(zhí)行環(huán)境以便執(zhí)行所請(qǐng)求的定制可執(zhí) 行指令的建立單元912。第一孩子執(zhí)行環(huán)境可以基于第一模板執(zhí)行環(huán)境被建立。加載單元 914可以加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行。然后,配置單元 916可以配置對(duì)于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可,并且第二執(zhí)行單元918可以在第一孩子執(zhí) 行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令。所請(qǐng)求的定制可執(zhí)行指令可以在為第一孩子執(zhí)行 環(huán)境配置訪問(wèn)許可之后執(zhí)行。
[0214] 在某些實(shí)施例中,計(jì)算機(jī)系統(tǒng)900可以是移動(dòng)云計(jì)算機(jī)系統(tǒng),并且計(jì)算設(shè)備(未示 出)可以是移動(dòng)計(jì)算設(shè)備。
[0215] 在某些實(shí)施例中,第一孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán)境的配置。
[0216] 在某些實(shí)施例中,配置單元916還包括被配置為調(diào)整用于訪問(wèn)所請(qǐng)求的定制可執(zhí) 行指令的許可的調(diào)整單元917。許可可以被調(diào)整,以防止所請(qǐng)求的定制可執(zhí)行指令從第一孩 子執(zhí)行環(huán)境中被訪問(wèn)。
[0217]在前述的說(shuō)明書(shū)中,本發(fā)明的各方面參照其具體實(shí)施例進(jìn)行了描述,但本領(lǐng)域技 術(shù)人員將認(rèn)識(shí)到,本發(fā)明不限于此。上述發(fā)明的各個(gè)特征和各方面可以被單獨(dú)或聯(lián)合使用。 另外,在不背離本說(shuō)明書(shū)的更廣泛精神和范圍的情況下,實(shí)施例可以在除本文所述的那些 之外的任何數(shù)目的環(huán)境和應(yīng)用中被使用。相應(yīng)地,本說(shuō)明書(shū)和附圖應(yīng)當(dāng)被認(rèn)為是說(shuō)明性而 不是限制性的。
【主權(quán)項(xiàng)】
1. 一種方法,包括: 在云計(jì)算機(jī)系統(tǒng)中,執(zhí)行模板執(zhí)行環(huán)境,其中模板執(zhí)行環(huán)境被配置為建立孩子執(zhí)行環(huán) 境,每個(gè)孩子執(zhí)行環(huán)境被配置為執(zhí)行一條或多條定制可執(zhí)行指令; 由云計(jì)算機(jī)系統(tǒng),接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求; 在云計(jì)算機(jī)系統(tǒng)中,建立第一孩子執(zhí)行環(huán)境,以執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中第 一孩子執(zhí)行環(huán)境是基于模板執(zhí)行環(huán)境建立的; 由云計(jì)算機(jī)系統(tǒng),加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行;然 后 由云計(jì)算機(jī)系統(tǒng),配置對(duì)于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可;及 由云計(jì)算機(jī)系統(tǒng),在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中所請(qǐng)求 的定制可執(zhí)行指令在配置訪問(wèn)許可之后執(zhí)行。2. 如權(quán)利要求1所述的方法,其中模板執(zhí)行環(huán)境是Java虛擬機(jī)(JVM)環(huán)境并且其中第一 孩子執(zhí)行環(huán)境是孩子JVM環(huán)境。3. 如權(quán)利要求1或2所述的方法,其中建立第一孩子執(zhí)行環(huán)境包括執(zhí)行fork命令,以從 模板執(zhí)行環(huán)境創(chuàng)建第一孩子執(zhí)行環(huán)境。4. 如權(quán)利要求1至3中任何一項(xiàng)所述的方法,其中第一孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán)境 的配置。5. 如權(quán)利要求1至4中任何一項(xiàng)所述的方法,其中配置訪問(wèn)許可包括調(diào)整用于訪問(wèn)不在 第一孩子執(zhí)行環(huán)境中的資源的許可,并且其中許可被調(diào)整,以防止所述資源從第一孩子執(zhí) 行環(huán)境中被訪問(wèn)。6. 如權(quán)利要求1至5中任何一項(xiàng)所述的方法,其中訪問(wèn)許可是通過(guò)用于模板執(zhí)行環(huán)境的 安全模型配置的。7. 如權(quán)利要求1至6中任何一項(xiàng)所述的方法,其中模板執(zhí)行環(huán)境是基于用于向計(jì)算機(jī)系 統(tǒng)注冊(cè)的租戶的至少一個(gè)標(biāo)準(zhǔn)來(lái)配置的。8. 如權(quán)利要求1至7中任何一項(xiàng)所述的方法,還包括: 從多個(gè)模板執(zhí)行環(huán)境中選擇模板執(zhí)行環(huán)境,其中所述多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模板 執(zhí)行環(huán)境建立孩子執(zhí)行環(huán)境,并且其中所述多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模板執(zhí)行環(huán)境被配 置為執(zhí)行不同類型的定制可執(zhí)行指令。9. 如權(quán)利要求8所述的方法,還包括: 分類對(duì)應(yīng)于所請(qǐng)求的定制可執(zhí)行指令的定制可執(zhí)行指令的類型,其中模板執(zhí)行環(huán)境基 于分類的定制可執(zhí)行指令的類型來(lái)選擇。10. 如權(quán)利要求1至9中任何一項(xiàng)所述的方法,還包括: 加載用于模板執(zhí)行環(huán)境的執(zhí)行的資源; 其中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令的請(qǐng)求在加載用于模板執(zhí)行環(huán)境的執(zhí)行的資源之 后被接收。11. 如權(quán)利要求1至10中任何一項(xiàng)所述的方法,還包括: 在執(zhí)行模板執(zhí)行環(huán)境之前配置模板執(zhí)行環(huán)境。12. 如權(quán)利要求11所述的方法,其中配置模板執(zhí)行環(huán)境包括初始化用于模板執(zhí)行環(huán)境 的設(shè)置和初始化用于模板執(zhí)行環(huán)境的狀態(tài)。13. 如權(quán)利要求1至12中任何一項(xiàng)所述的方法,還包括: 在云計(jì)算機(jī)系統(tǒng)中,建立附加的孩子執(zhí)行環(huán)境,以執(zhí)行附加的客戶可執(zhí)行指令,其中附 加的孩子執(zhí)行環(huán)境基于模板執(zhí)行環(huán)境來(lái)建立; 加載附加的定制可執(zhí)行指令,用于在附加的孩子執(zhí)行環(huán)境中執(zhí)行; 設(shè)置用于附加的孩子執(zhí)行環(huán)境的訪問(wèn)許可;及 在附加的孩子執(zhí)行環(huán)境中執(zhí)行附加的定制可執(zhí)行指令。14. 如權(quán)利要求1至13中任何一項(xiàng)所述的方法,還包括: 加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行。15. -種計(jì)算機(jī)系統(tǒng),包括: 一個(gè)或多個(gè)處理器;及 一個(gè)或多個(gè)存儲(chǔ)器設(shè)備,耦合到一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)存儲(chǔ)器設(shè)備包含 指令,當(dāng)指令在一個(gè)或多個(gè)處理器上執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器: 接收用于配置多個(gè)模板執(zhí)行環(huán)境中的模板執(zhí)行環(huán)境的標(biāo)準(zhǔn),其中所述多個(gè)模板執(zhí)行環(huán) 境中的每個(gè)模板執(zhí)行環(huán)境建立孩子執(zhí)行環(huán)境,并且其中所述多個(gè)模板執(zhí)行環(huán)境中的每個(gè)模 板執(zhí)行環(huán)境被配置為執(zhí)行不同類型的定制可執(zhí)行指令; 從計(jì)算設(shè)備利用第一通信協(xié)議接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求; 分類對(duì)應(yīng)于所請(qǐng)求的定制可執(zhí)行指令的定制可執(zhí)行指令的類型; 從所述多個(gè)模板執(zhí)行環(huán)境中選擇第一模板執(zhí)行環(huán)境,其中第一模板執(zhí)行環(huán)境基于分類 的定制可執(zhí)行指令的類型來(lái)選擇; 執(zhí)行第一模板執(zhí)行環(huán)境; 建立第一孩子執(zhí)行環(huán)境,以執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中第一孩子執(zhí)行環(huán)境基 于第一模板執(zhí)行環(huán)境來(lái)建立; 加載用于在第一孩子執(zhí)行環(huán)境中執(zhí)行的所請(qǐng)求的定制可執(zhí)行指令;然后 配置對(duì)于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可;及 在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中所請(qǐng)求的定制可執(zhí)行指令 在為第一孩子執(zhí)行環(huán)境配置訪問(wèn)許可后被執(zhí)行。16. 如權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其中所述一個(gè)或多個(gè)處理器和所述一個(gè)或多個(gè) 存儲(chǔ)器設(shè)備包括在移動(dòng)云計(jì)算機(jī)系統(tǒng)中,并且其中計(jì)算設(shè)備是移動(dòng)計(jì)算設(shè)備。17. 如權(quán)利要求15或16所述的計(jì)算機(jī)系統(tǒng),其中第一孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán)境 的配置。18. 如權(quán)利要求15至17中任何一項(xiàng)所述的計(jì)算機(jī)系統(tǒng),其中配置訪問(wèn)許可包括調(diào)整用 于訪問(wèn)所請(qǐng)求的定制可執(zhí)行指令的許可,并且其中許可被調(diào)整,以防止所請(qǐng)求的定制可執(zhí) 行指令從第一孩子執(zhí)行環(huán)境中被訪問(wèn)。19. 一種存儲(chǔ)一組指令的計(jì)算機(jī)可讀存儲(chǔ)器,當(dāng)指令被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使一 個(gè)或多個(gè)處理器: 執(zhí)行模板執(zhí)行環(huán)境,其中模板執(zhí)行環(huán)境被配置為建立孩子執(zhí)行環(huán)境,每個(gè)孩子執(zhí)行環(huán) 境被配置為執(zhí)行一條或多條定制可執(zhí)行指令; 接收?qǐng)?zhí)行定制可執(zhí)行指令的請(qǐng)求; 建立第一孩子執(zhí)行環(huán)境,以執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中第一孩子執(zhí)行環(huán)境基 于模板執(zhí)行環(huán)境來(lái)建立; 加載所請(qǐng)求的定制可執(zhí)行指令,用于在第一孩子執(zhí)行環(huán)境中執(zhí)行;然后 配置對(duì)于第一孩子執(zhí)行環(huán)境的訪問(wèn)許可;及 在第一孩子執(zhí)行環(huán)境中執(zhí)行所請(qǐng)求的定制可執(zhí)行指令,其中所請(qǐng)求的定制可執(zhí)行指令 在配置訪問(wèn)許可之后執(zhí)行。20.如權(quán)利要求19所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中第一孩子執(zhí)行環(huán)境繼承模板執(zhí)行環(huán) 境的配置。
【文檔編號(hào)】H04L29/06GK105917627SQ201480073135
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2014年9月17日
【發(fā)明人】M·凱斯, W·B·基爾戈雷, K·范德洛
【申請(qǐng)人】甲骨文國(guó)際公司