TWI802310B - 用於針對服務交易達成共識之請求促進 - Google Patents

用於針對服務交易達成共識之請求促進 Download PDF

Info

Publication number
TWI802310B
TWI802310B TW111107911A TW111107911A TWI802310B TW I802310 B TWI802310 B TW I802310B TW 111107911 A TW111107911 A TW 111107911A TW 111107911 A TW111107911 A TW 111107911A TW I802310 B TWI802310 B TW I802310B
Authority
TW
Taiwan
Prior art keywords
service
components
request
service component
component
Prior art date
Application number
TW111107911A
Other languages
English (en)
Other versions
TW202307688A (zh
Inventor
雅拉 S 約瑟夫
吉姆 艾倫 拉瑞多
Original Assignee
美商萬國商業機器公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商萬國商業機器公司 filed Critical 美商萬國商業機器公司
Publication of TW202307688A publication Critical patent/TW202307688A/zh
Application granted granted Critical
Publication of TWI802310B publication Critical patent/TWI802310B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5048Automatic or semi-automatic definitions, e.g. definition templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本發明提供一或多個系統、電腦實施方法及電腦程式產品,以促進關於處理一交易之一請求達成共識的一程序。一種系統可包含儲存電腦可執行組件之一記憶體及執行儲存於該記憶體中之該等電腦可執行組件的一處理器。該等電腦可執行組件可包含操作一交易之一服務的一服務組件,其中該服務組件藉由與一或多個其他服務組件通信而關於該交易之一請求達成共識,該一或多個其他服務組件操作該交易中緊接在該服務上游或下游之一或多個其他服務。該服務組件可藉由僅與該一或多個其他服務組件通信而達成該共識。為達成該共識,該服務組件可傳達包括一或多個請求、投票或最終決策之一或多個訊息。

Description

用於針對服務交易達成共識之請求促進
本文中所描述之一或多個實施例係關於針對交易之請求達成共識,且更具體而言,係關於經由使用分散式協定促進關於處理交易之請求達成共識。
現今,諸如雲端原生運算應用程式之許多運算應用程式並未展現單體架構。實情為,此類運算應用程式可展現分佈式架構,該等分佈式架構可包括大量鬆散耦合之服務組件,諸如用於操作一或多個服務及/或微服務,其中服務組件可為諸如容器化之離散應用程式,其可執行離散服務及/或微服務。由於相較於使用單體架構,提供了改良之可縮放性、靈活性、可維護性及加快的開發者生產力,因此鬆散耦合之服務可為吸引人的。為了促進對包括此等鬆散耦合之服務中之一或多者的交易之請求,可在此等一或多個服務之間尋求關於回應於請求而持續或中止交易之命令的共識。
下文呈現提供對本文中所描述之一或多個實施例之基本理解的概述。此概述並不意欲識別關鍵或重要元件,或劃定特定實施例之任何範疇及/或申請專利範圍之任何範疇。概述之唯一目的在於以簡化形式呈現概念作為稍後呈現之更詳細描述的序言。在本文中所描述之一或多個實施例中,描述可促進關於處理包括一或多個服務之交易之請求達成共識的裝置、系統、電腦實施方法、設備及/或電腦程式產品。
根據一實施例,一種系統可包含執行儲存於記憶體中之電腦可執行組件的處理器,其中該等電腦可執行組件包含操作交易之服務的服務組件,其中該服務組件藉由與一或多個其他服務組件通信而關於交易之請求達成共識,該一或多個其他服務組件操作交易中緊接在該服務上游或下游之一或多個其他服務。
根據另一實施例,一種電腦實施方法可包含:對於操作交易之服務的服務組件,該服務組件屬於可操作地耦接至處理器之系統,藉由該服務組件關於交易之請求達成共識,達成共識包括藉由服務組件與一或多個其他服務組件通信,該一或多個其他服務組件操作交易中緊接在該服務上游或下游之一或多個其他服務。
根據又一實施例,一種電腦程式產品可促進關於處理交易之請求達成共識的程序,該電腦程式產品包含電腦可讀儲存媒體,該電腦可讀儲存媒體具有藉由其體現之程式指令,該等程式指令可由處理器執行以使得處理器進行以下操作:對於操作交易之服務的服務組件,該服務組件屬於可操作地耦接至處理器之系統,藉由處理器,藉由該服務組件關於交易之請求達成共識;及藉由處理器,藉由該服務組件與一或多個其他服務組件通信,該一或多個其他服務組件操作交易中緊接在該服務上游或下游之一或多個其他服務。
此系統、電腦實施方法及/或電腦程式產品之優點可為在分散式環境中快速且高效地執行共識實現,諸如在對通信不使用全域管理之情況下。可消除至/自集中式交易實體及/或通信實體之通信的長延遲,此可在諸如包括一或多個雲端之分散式環境中係有益的,該一或多個雲端包含參與端對端交易之一或多個服務組件。
在以上系統、電腦程式產品及/或方法之一或多個實施例中,服務組件可藉由僅與一或多個其他服務組件通信而達成共識。此系統、電腦實施方法及/或電腦程式產品之優點可為避免在任何服務組件處獲得關於服務組件集合中之每一服務組件的全域知識。亦即,可避免共用關於任何服務組件皆非執行交易之操作之下一個/前一個的服務組件之知識。因而,所關注之一個服務組件處的信任及/或安全性之破壞可限於僅相對於在所關注服務之後/之前的一或多個服務組件之知識。
在以上系統、電腦程式產品及/或方法、服務組件之一或多個實施例中,服務組件可在不對服務組件與一或多個其他服務組件之間的通信進行全域管理的情況下關於請求達成共識。此系統、電腦實施方法及/或電腦程式產品之優點可為在不對通信使用全域管理之情況下執行共識實現。確切而言,通信可藉由交易之服務組件集合中的每一個別服務組件管理。另外,亦可避免將處理能力及記憶體用於全域通信管理器。因為不使用集中式交易實體及/或通信實體及/或提供相對於交易的減少操作,所以可避免集中式交易實體及/或通信實體處之高儲存及持久性成本。
以下詳細描述僅為說明性的且並不意欲限制實施例及/或實施例之應用或使用。此外,並不意欲受在前述先前技術或發明內容部分中或在此實施方式部分中呈現的任何明示或暗示資訊約束。
鑒於愈來愈多地使用交易微服務或服務,而非單體架構之現有使用,需要提供一種方法來達成及/或最終實現交易之服務之間的共識,諸如關於交易之請求達成共識。此可尤其為參與交易(例如,執行交易之一或多個服務)的一或多個服務組件係以分散式方式分佈的情況。此分佈可為本端及/或全域的。亦即,分佈可包括參與交易之組件位於及/或運行於相對於彼此分散的複數個不同系統上。
分佈式協定可用於分散式通信以在參與交易(諸如,端對端交易)之一或多個服務組件之間實現共識。亦即,可請求執行交易。每一服務組件可執行所請求交易之服務。除非及/或直至交易中所涉及的所有其他服務組件亦成功執行其各別服務,否則所執行服務之各種效應無法永久。
分佈式協定可為輕量型的。分佈式協定可消除使用及/或依賴全域或中央管理器來管理關於交易之初始請求實現共識。本文中提供可使用分佈式協定來促進在參與交易之複數個分散式服務組件上達成共識及/或最終共識的系統、設備、電腦實施方法或電腦程式產品之一或多個實施例。
亦即,一或多個實施例可包括藉由一或多個服務組件以不使用交易中之所有參與者服務中之任何參與者服務的總體知識的方式執行一或多個服務組件之間的通信。實情為,協定可規定一或多個服務組件僅與操作交易中緊接在由一或多個服務組件操作之服務上游或下游之一或多個其他服務的一或多個其他服務組件通信。亦即,對於個別服務組件,可僅與操作交易中緊接在由個別服務組件操作之服務上游或下游之一或多個其他服務的一或多個其他服務組件執行通信,諸如其中對於參與交易之其他個別服務組件,遵循同一協定。
一或多個實施例亦不使用所有參與者服務組件之間的通信之集中式日誌。實情為,參與者服務組件中之個別者可維護僅維護日誌之個別者所參與的通信之個別日誌。亦即,對於個別服務組件,個別服務組件可僅維護個別服務組件所參與之訊息通信的個別持久日誌,諸如其中對於參與交易之其他個別服務組件,遵循同一協定。
一或多個實施例亦不使用通信之諸如管理器、協調器及/或控制器的集中式交易及/或通信實體來達成及/或實現共識。確切而言,參與交易之一或多個參與服務組件中之個別者僅將交易內之上游或下游通信傳播至一或多個其他服務組件,該一或多個其他服務組件操作交易中緊接在由該等個別者操作之服務上游或下游的一或多個其他服務。以此方式,交易可包括自彼此向外延伸之多個路徑(例如,一或多個服務組件之路徑),但仍可以前述緊接上游或下游之限制方式實現區域化通信控制。
又,以此方式,在分散但鬆散耦合之服務組件的主要分散式環境中,可消除設置集中式交易實體及/或通信實體之額外負荷。又,以此方式,可消除至/自集中式交易實體及/或通信實體之通信的長延遲,此可為有益的,諸如在包括一或多個雲端之分散式環境中。又,以此方式,可避免集中式交易實體及/或通信實體處之高儲存及持久性成本,此係因為不使用集中式交易實體及/或通信實體及/或提供相對於交易的減少操作。又,以此方式,可避免集中式交易實體及/或通信實體之信任問題,諸如相對於參與者服務組件之總體知識之丟失及/或安全漏洞,此係因為不使用集中式交易實體及/或通信實體及/或提供相對於交易的減少操作。
現參看圖式描述一或多個實施例,其中相同的附圖標號始終用於指相同的元件。如上文及下文兩者中所使用,術語「實體」可指機器、裝置、智慧型裝置、組件、硬體、軟體及/或人類。在以下描述中,為達成解釋之目的,闡述許多特定細節以便提供對一或多個實施例之更透徹理解。然而,顯然,在各種情況下,可在無此等特定細節之情況下實踐一或多個實施例。
另外,應瞭解,本文中所描述之一或多個圖中描繪之實施例僅用於說明,且因而,實施例之架構不限於本文中所描繪之系統、裝置及/或組件,亦不限於本文中所描繪之系統、裝置及/或組件之任何特定次序、連接及/或耦接。舉例而言,在一或多個實施例中,如在圖1、圖3及/或圖4處所示出之非限制性系統100、300及/或400及/或其系統可進一步包含本文中參考操作環境(諸如,圖14處所示出之操作環境1400)所描述的一或多個電腦及/或基於運算之元件。在一或多個所描述實施例中,可結合實施結合圖1、圖3及/或圖4及/或本文中所描述之其他圖展示及/或描述的系統、裝置、組件及/或電腦實施操作中之一或多者而使用電腦及/或基於運算之元件。
首先大體上轉向圖1及圖2,示出根據本文中所描述之一或多個實施例的實例非限制性系統100之方塊圖,該實例非限制性系統促進關於處理交易之請求達成共識的程序。
非限制性系統100可包含請求促進系統102。如所示出,請求促進系統102可包含任何合適類型之組件、機器、裝置、設施、設備及/或儀器,其包含處理器及/或可能夠與有線及/或無線網路進行有效及/或可操作的通信。設想到所有此類實施例。舉例而言,請求促進系統102可包含伺服器裝置、運算裝置、通用電腦、專用電腦、量子運算裝置(例如,量子電腦)、平板運算裝置、手持型裝置、伺服器類運算機器及/或資料庫、膝上型電腦、筆記型電腦、桌上型電腦、蜂巢式電話、智慧型手機、消費者電器及/或儀器、工業及/或商業裝置、數位助理、具備多媒體網際網路能力之電話、多媒體播放器及/或另一類型之裝置及/或運算裝置。同樣地,請求促進系統102可在任何合適裝置處安置及/或運行,該裝置諸如但不限於伺服器裝置、運算裝置、通用電腦、專用電腦、量子運算裝置(例如,量子電腦)、平板運算裝置、手持型裝置、伺服器類運算機器及/或資料庫、膝上型電腦、筆記型電腦、桌上型電腦、蜂巢式電話、智慧型手機、消費者電器及/或儀器、工業及/或商業裝置、數位助理、具備多媒體網際網路能力之電話、多媒體播放器及/或另一類型之裝置及/或運算裝置。
請求促進系統102可與雲端運算環境相關聯,諸如可經由雲端運算環境存取。舉例而言,請求促進系統102可與下文參看圖15所描述之雲端運算環境1550及/或下文參看圖16所描述之一或多個功能抽象層(例如,硬體及軟體層1660、虛擬化層1670、管理層1680及/或工作負載層1690)相關聯。
應瞭解,非限制性系統100及/或請求促進系統102之操作不限於執行單個交易及/或一次實現一個請求。確切而言,非限制性系統100及/或請求促進系統102之操作可為可擴展的。舉例而言,與執行一或多個其他交易及/或促進就一或多個其他請求達成共識至少部分並行地,非限制性系統100及/或請求促進系統102可執行一或多個交易及/或可促進就一或多個請求達成及/或實現共識。在一或多個實施例中,非限制性系統100及/或請求促進系統102之一或多個服務組件可用於同時執行包括一或多個服務組件之兩個或多於兩個交易。在一或多個實施例中,非限制性系統100及/或請求促進系統102之一或多個服務組件可用於通信以促進同時關於兩個或多於兩個請求達成共識。
請求促進系統102可包含一或多個組件,諸如記憶體104、處理器106、匯流排105、服務組件107及/或服務組件108。
一般而言,請求促進系統102可促進關於對參與交易之服務組件集合中之初始服務組件的初始請求103達成及/或實現共識。舉例而言,請求促進系統102之服務組件107及108可參與例示性交易200 (例如,圖2),其將在下文詳細論述。
應瞭解,本文中所描述之一或多個實施例不限於使用一或多個服務組件及/或與、用於及/或相對於任何一或多個特定交易類型之通信。確切而言,設想到所有合適之交易類型,包括但不限於金融、購買、預訂、醫療及/或資訊請求交易。
如本文中所使用,由服務組件操作之服務可為微服務。另外及/或替代地,服務組件可包括一或多個態樣,包括但不限於任何合適之一或多個應用程式、微應用程式、演算法、程式、資料及/或資料庫。另外及/或替代地,服務組件可容器化或以容器化格式提供。
可分離地及/或組合地使用服務組件之一或多個態樣,諸如使用包括服務組件之系統的記憶體或處理器中之一或多者以藉此操作服務。舉例而言,如所示出,服務組件108可執行服務108A,且服務組件107可執行服務107A。服務組件108及/或服務組件107可使用處理器106及/或記憶體104。另外及/或替代地,處理器106可執行一或多個程式指令以使得處理器藉由各別服務組件107或服務組件108來執行服務107A及/或服務108A。
應瞭解,服務組件、容器、服務態樣及/或程式指令可儲存於任何合適位置處,諸如系統記憶體、另一內部記憶體及/或記憶體及/或在包含服務組件之系統外部的其他位置處。舉例而言,服務組件108、服務組件108之態樣、服務組件108之容器及/或用於操作及/或執行服務組件108之程式指令可儲存於任何合適位置處,諸如記憶體104、另一內部記憶體、外部記憶體及/或另一外部位置處。任何服務組件之所有服務態樣可儲存於同一或單獨的位置中。任何服務組件之所有服務態樣可儲存於一個或複數個系統處。服務組件、容器、服務態樣及/或程式指令可藉由請求促進系統102及/或處理器106經由任何合適方法存取,諸如經由一或多個通信、電氣、操作、光學及/或其他連接,諸如有線或無線連接。
相對於交易,交易之服務組件集合中的服務組件各自可操作交易之一或多個服務,以促進執行交易。亦即,一或多個服務可按次序(諸如,預設次序、所判定次序、選擇性地判定之次序、實體判定之次序及/或其類似者)執行。此次序可包括一或多個並行路徑,及/或可與交易之一或多個其他服務至少部分並行地操作的一或多個服務。
相對於已建立之交易,諸如圖2之交易200,一或多個服務組件可在彼此之間建立信任。舉例而言,參與交易200之操作彼此緊接在上游及/或下游之服務的服務組件可彼此建立信任,諸如用於遞送及/或接收通信。
如圖1處所展示,參與交易之服務組件集合中之一或多個服務組件可相對於彼此分散。同樣地,包含一個交易之一或多個服務組件的一或多個系統(例如,請求促進系統)亦可包含另一交易之一或多個服務組件。替代地及/或另外,參與一個交易之一或多個服務組件可參與一或多個其他交易。
舉例而言,具體簡要地參看圖2,執行服務208A之服務組件208可包括於交易200中。應注意,如所示出,不同於請求促進系統102且相對於該請求促進系統分散的系統可包含服務組件208。如所示出,請求促進系統202可包含服務組件208。請求促進系統202可相對於請求促進系統102非本端地安置。亦即,交易200之執行可包括由相對於彼此分散之服務組件執行的服務。如圖2處所展示,交易200可由可執行複數個服務(例如,服務108A、208A及107A)之複數個服務組件(例如,服務組件108、208及107)執行。如所示出,交易200在由箭頭220表示之下游方向上進行。亦即,交易200之執行自服務組件108之初始及/或最上游服務108A進行至服務組件208之服務208A,進行至服務組件107之最下游服務107A。
現具體地看向圖1處之第二請求促進系統202,包括處理器206、記憶體204、匯流排205、服務組件208及執行服務207A之服務組件207。類似於請求促進系統102,第二請求促進系統202包括操作用於執行圖2處之交易200之服務的一或多個服務組件。因此,如上文所指示,交易200包含相對於彼此分散之服務組件及/或服務。
現轉向使用交易200、服務組件107及/或108及/或服務107A及/或108A之請求促進系統102之一或多個操作,請求促進系統102可接收初始請求103。應瞭解,初始請求103可針對特定交易,諸如為及/或包括執行特定交易之請求。初始請求103可以任何合適之格式提供,諸如文字格式、二進位格式及/或另一合適之格式。
在一或多個實施例中,初始請求103可由請求促進系統102接收,諸如由請求促進系統102之除服務組件107及108以外的組件及/或態樣接收,諸如記憶體104、郵件組件及/或下載組件。在一或多個實施例中,初始請求103可由服務組件107及/或服務組件108接收。在一或多個實施例中,接收初始請求103之服務組件可為執行初始請求103所針對之交易中之最上游服務的最上游組件。
接收(例如,最初及/或間接地)初始請求103之組件、服務組件、系統及/或其他態樣可使用操作環境,諸如操作環境1400 (圖14)之任何一或多個態樣,以接收及/或擷取初始請求103。作為非限制性實例,初始請求103可自HDD 1414上傳,經由WAN 1456自記憶體/儲存器1452接收及/或經由WAN 1456自諸如雲端運算環境1550 (圖15)之雲端運算節點1510的節點下載。
可促進參與各別交易之服務組件(此處指交易200之服務組件108、208及107)之間的通信以在服務組件之間關於如何處理初始請求達成及/或實現共識。亦即,可進行服務組件108、208及107之間的通信以在此等服務組件之間關於回應於初始請求103持續抑或中止交易200之執行達成及/或實現共識。
在一或多個實施例中,參與各別交易之服務組件之間的通信各自可包括交易ID,其可促進確認及/或驗證通信服務組件為特定交易之參與者,且因此在一或多種情況下,所接收之一或多個訊息與彼特定交易相關。
一或多個通信可由一或多個服務組件促進。舉例而言,可藉由包括但不限於使用蜂巢式網路、廣域網路(WAN) (例如,網際網路)及/或區域網路(LAN)之有線及/或無線方式促進通信。用於促進通信之合適有線或無線技術可包括但不限於無線保真(Wi-Fi)、全球行動通信系統(GSM)、通用行動電信系統(UMTS)、微波存取全球互通(WiMAX)、增強型通用封包無線電服務(增強型GPRS)、第三代合作夥伴計劃(3GPP)長期演進(LTE)、第三代合作夥伴計劃2 (3GPP2)超行動寬頻(UMB)、高速封包存取(HSPA)、Zigbee及其他802.XX無線技術及/或傳統電信技術、BLUETOOTH®、會話起始協定(SIP)、ZIGBEE®、RF4CE協定、WirelessHART協定、6LoWPAN (低功率無線區域網路上之IPv6)、Z-Wave、ANT、超寬頻(UWB)標準協定及/或其他專有及/或非專有通信協定。
此等通信可根據分散式協定執行及/或以其他方式促進,諸如在不使用任何集中式通信管理器及/或控制器的情況下。實情為,現僅參考請求促進系統102,但相對於包含參與交易200之服務組件的任何其他系統(例如,第二請求促進系統202),執行交易200之服務的服務組件集合中之一或多個服務組件108及107可個別地控制及/或記錄通信。
一或多個服務組件108及107可根據分散式協定操作,諸如以藉由與一或多個其他服務組件通信而關於交易200之初始請求103達成及/或實現共識,該一或多個其他服務組件操作交易中緊接在由服務組件108及107執行之服務上游或下游的一或多個其他服務。亦即,服務組件108可與諸如服務組件107之一或多個其他服務組件通信,該一或多個其他服務組件操作交易中緊接在由服務組件108執行之服務上游或下游的一或多個其他服務。同樣地,服務組件107可與諸如服務組件108之一或多個其他服務組件通信,該一或多個其他服務組件操作交易中緊接在由服務組件107執行之服務上游或下游的一或多個其他服務。亦即,通信可繼續進行,而非藉由中央通信管理器及/或控制器來回通信。確切而言,通信可在執行交易之服務的服務組件之間進行。
在一或多個實施例中,此類通信可僅在執行交易之緊接在彼此下游及/或上游之服務的服務組件之間進行。亦即,在不執行緊接在彼此下游及/或上游之服務的服務組件之間不進行通信。又另外,在達成及/或實現共識時,可能不對用於達成及/或實現共識之通信進行全域管理。
另外,鑒於此協定僅關於執行交易之緊接在彼此下游及/或上游之服務的服務組件之間的通信,可避免在服務組件處獲得關於服務集合中之每一服務組件的總體知識。亦即,可避免共用關於在針對交易執行之各別服務的次序上並非緊接著的下一個及/或緊接著的前一個的服務組件之知識。因而,所關注之一個服務組件處的信任及/或安全性之破壞可限於僅相對於與所關注之服務組件通信及/或操作緊接在由所關注之服務組件操作之服務上游及/或下游的服務之一或多個服務組件的知識。
舉例而言,相對於圖2處之交易200,服務108A進行至服務208A,至服務107A,以執行交易200。因此,僅服務組件208緊接在服務組件108之後/之前,僅服務組件208緊接在服務組件107之後/之前,且服務組件108及107中之每一者在交易200之服務次序上緊接在服務組件208之後/之前。因而,為了關於如何處理初始請求103達成及/或實現共識,服務組件108僅與服務組件208通信,服務組件208以上游及下游方式與服務組件108及107兩者通信,且服務組件107僅與服務組件208通信。服務組件108並不與服務組件107通信以關於初始請求103達成及/或實現共識。
應瞭解,可設想到,諸如出於並非及/或並非用於關於初始請求103達成/實現共識之一或多個其他目的,一或多個服務組件可與交易之服務組件集合中的一或多個非下一個/非前一個服務組件通信。舉例而言,在一或多個實施例中,諸如在達成共識以持續(例如,執行)交易之後,一或多個服務組件可與交易之非下一個/非前一個服務組件的集合中之一或多個非下一個/非前一個服務組件通信以執行交易。舉例而言,可出於此交易執行之目的而在非下一個/非前一個服務組件之間共用資料。
另外及/或替代地,應瞭解,可設想到一或多個實施例,其中可跳過及/或忽略交易之執行次序上的一或多個服務組件以用於特定共識實現,諸如其中自此類交易之特定執行省略所跳過及/或忽略的服務組件。另外及/或替代地,應瞭解,可設想到一或多個實施例,其中交易之一或多個服務組件可與不執行交易中之緊接在上游或下游之服務的一或多個服務組件通信。舉例而言,在一或多個此類實施例中,中央控制器可用於交易之服務組件集合的子集。然而,為在交易中實現共識之快速及/或高效實現,應瞭解,在一或多個實施例中,所有及/或至少大部分服務組件可僅與各別交易之服務組件集合中的下一個/前一個服務組件通信。
接下來轉向圖3,該圖示出根據本文中所描述之一或多個實施例的實例非限制性系統300之圖,該非限制性系統可促進關於處理交易之請求達成共識的程序。為簡潔起見,省略各別實施例中所使用的相同元件及/或程序之重複描述。
如所示出,非限制性系統300包括複數個系統,諸如三個系統,其各自可包含用於執行未展示之交易A之一或多個服務組件。在一或多個實施例中,三個系統可安置於單獨裝置(諸如,裝置W、裝置X及裝置Y)處及/或在單獨裝置上運行,如所示出。裝置W、X、Y中之每一者可為及/或可包含伺服器裝置、運算裝置、通用電腦、專用電腦、量子運算裝置(例如,量子電腦)、平板運算裝置、手持型裝置、伺服器類運算機器及/或資料庫、膝上型電腦、筆記型電腦、桌上型電腦、蜂巢式電話、智慧型手機、消費者電器及/或儀器、工業及/或商業裝置、數位助理、具備多媒體網際網路能力之電話、多媒體播放器及/或另一類型之裝置及/或運算裝置。在一或多個實施例中,三個裝置W、X及Y可相對於彼此分散。因此,例如,三個裝置W、X及Y可經由WAN及/或雲端環境通信。
第一請求促進系統302可安置於裝置W處及/或在該裝置上運行。第二請求促進系統312可安置於裝置X處及/或在該裝置上運行。第三請求促進系統322可安置於裝置Y處及/或在該裝置上運行。三個系統中之任何一或多者可包括可執行交易A之一或多個服務的一或多個服務組件。因此,交易A可包含相對於彼此分散的服務組件及/或服務。
如所示出,第一請求促進系統302可包括處理器306、記憶體304、匯流排305、服務組件308及第二服務組件358。服務組件308可諸如經由服務組件308所包含之一或多個服務態樣建構以執行服務308A。服務組件308亦可包含日誌組件309,但日誌組件309在一或多個其他實施例中可與服務組件308分離地安置。服務組件358可諸如經由服務組件358所包含之一或多個服務態樣建構以執行服務358A。服務組件358亦可包含日誌組件359,但日誌組件359在一或多個其他實施例中可與服務組件358分離地安置。
如所示出,第二請求促進系統312可包括處理器316、記憶體314、匯流排315及服務組件318。服務組件318可諸如經由服務組件318所包含之一或多個服務態樣建構以執行服務318A。服務組件318亦可包含日誌組件319,但日誌組件319在一或多個其他實施例中可與服務組件318分離地安置。
如所示出,第三請求促進系統322可包括處理器326、記憶體324、匯流排325及服務組件328。服務組件328可諸如經由服務組件328所包含之一或多個服務態樣建構以執行服務328A。服務組件328亦可包含日誌組件329,但日誌組件329在一或多個其他實施例中可與服務組件328分離地安置。
因此,相對於交易A,服務組件308、358及318中之每一者可由交易A包含及/或參與交易A。舉例而言,相對於另一交易B,服務組件308、358、318及328中之每一者可由交易B包含及/或參與交易B。
論述現轉向非限制性系統300之三個請求促進系統之處理器、記憶體及匯流排。雖然提供僅關於第一請求促進系統302之處理器306、記憶體304及匯流排305的論述,但該論述同樣適用於第二請求促進系統312及第三請求促進系統322之類似組件。亦應瞭解,論述同樣適用於請求促進系統102及請求促進系統202之類似組件。
舉例而言,在一或多個實施例中,請求促進系統302可包含處理器306 (例如,電腦處理單元、微處理器、經典處理器、量子處理器及/或類似處理器)。在一或多個實施例中,如本文中參看或不參看一或多個實施例之一或多個圖所描述,與請求促進系統302相關聯之組件可包含一或多個電腦及/或機器可讀、可寫及/或可執行組件及/或指令,該等組件及/或指令可由處理器306執行以促進執行由此(類)組件及/或指令定義之一或多個程序。在一或多個實施例中,處理器306可包含服務組件307、服務組件358、觀測組件354及/或協定管理組件356。
在一或多個實施例中,請求促進系統302可包含可操作地連接至處理器306之電腦可讀記憶體304。記憶體304可儲存電腦可執行指令,該等電腦可執行指令在由處理器306執行時可使處理器306及/或請求促進系統302之其他組件(例如,服務組件307、服務組件358、觀測組件354及/或協定管理組件356)執行一或多個動作。在一或多個實施例中,記憶體304可儲存電腦可執行組件(例如,服務組件307、服務組件358、觀測組件354及/或協定管理組件356)。
如本文中所描述之請求促進系統302及/或其組件可經由匯流排305以通信方式、以電氣方式、以操作方式、以光學方式及/或以其他方式彼此耦接,以執行非限制性系統300、請求促進系統302及/或其一或多個組件及/或與其耦接之一或多個組件的功能。匯流排305可包含以下各者中之一或多者:記憶體匯流排、記憶體控制器、周邊匯流排、外部匯流排、區域匯流排、量子匯流排及/或可使用一或多個匯流排架構之另一類型的匯流排。匯流排305之此等實例中之一或多者可用以實施本文中所描述之一或多個實施例。
在一或多個實施例中,請求促進系統302可諸如經由網路耦接(例如,以通信方式、以電氣方式、以操作方式、以光學方式及/或類似功能)至一或多個外部系統(例如,請求促進系統312及/或請求促進系統322)、源及/或裝置(例如,經典及/或量子運算裝置、通信裝置及/或類似裝置)。在一或多個實施例中,非限制性系統300之組件中之一或多者可駐留於雲端中,及/或可在本端駐留於本端運算環境中(例如,所要位置處)。
除上文所描述之處理器306及/或記憶體304以外,請求促進系統302亦可包含一或多個電腦及/或機器可讀、可寫及/或可執行組件及/或指令,該等組件及/或指令在由處理器306執行時可促進執行由此類組件及/或指令定義之一或多個操作。
日誌組件309、359、319及329各自可為包含日誌組件309、359、319及329之各個服務(例如,分別為服務組件308、358、318及328)執行一或多個日誌產生功能。應瞭解,儘管在圖3處示出單獨日誌組件,但在一或多個其他實施例中,一或多個日誌組件可替代地為諸如同一系統或本端環境之兩個或多於兩個服務組件執行一或多個日誌產生功能。
現參考日誌組件309,但與所示出日誌組件中之任一者相關,日誌組件309可為一或多個服務組件中之個別者(例如,服務組件308)僅維護個別者(例如,服務組件308)所參與之訊息通信的個別持久日誌。舉例而言,日誌組件309可產生一或多個通信之一或多個記錄及/或關於一或多個通信之資料及/或後設資料,該等記錄及/或資料及/或後設資料可諸如以日誌形式儲存在一起。日誌可為矩陣、庫及/或其他資料庫。一或多個記錄可以任何合適格式儲存,諸如文字、二進位及/或其他合適格式。日誌可儲存於各別服務組件(例如,服務組件308)處、各別請求促進系統(例如,請求促進系統302)處,及/或各別請求促進系統內部或外部之任何其他位置處,諸如各別記憶體(例如,記憶體304)處。一或多個記錄至日誌之傳送可藉由任何合適之通信方法進行,不論係有線抑或無線的,諸如包括上文參考訊息/通信之傳送所描述的用於促進相對於圖1及圖2之共識實現的方法中之一或多者。
個別日誌可藉由請求促進系統302、服務組件308、觀測組件354 (將在下文詳細描述)及/或非限制性系統300觀測、審查及/或以其他方式利用,諸如在發生相對於包含服務組件308及/或服務308A之交易的共識實現的通信錯誤及/或逾時之情況下。亦即,可經由任何合適之電腦組件及/或態樣促進觀測及/或審查,諸如為了載入已崩潰及/或重新啟動之服務/服務組件相對於一或多個請求、投票及/或相對於各別共識實現之最終決策的歷史位置。
現轉向非限制性系統300之一或多個額外組件,且仍參看圖3,請求促進系統302、312及322中之一者可包括觀測組件354及/或協定管理組件356。如所示出,請求促進系統302可包含觀測組件354及協定管理組件356。在一或多個其他實施例中,服務組件308及/或服務組件358可包含協定管理組件356。同樣地,相對於請求促進系統312及322,服務組件318及/或服務組件328可另外及/或替代地包含協定管理組件356。
首先轉向觀測組件354,觀測組件354可促進系統管理實體在通信發生時及/或在通信發生之後觀測通信。如上文所指示,觀測組件354可用於促進載入及/或判定已崩潰及/或重新啟動之服務/服務組件的歷史位置。觀測組件354同樣可監視服務組件之間的通信。該監視可為被動的,諸如僅觀測及/或記錄,而不干擾一或多個服務組件對分散式協定之分散式操作。亦即,在一或多個實施例中,觀測組件354可監視參與交易之服務組件集合中的任何服務組件之間及/或當中的通信。在一或多個實施例中,觀測組件354可判定已經或將不會就交易達成共識。舉例而言,觀測組件354可觀測迄今為止傳達的投票之子集,投票之該子集可包括一或多個否定投票,藉此指示將不會實現提交所請求交易之共識。另外及/或替代地,經由監視,觀測組件354可判定及/或驗證服務組件集合中之服務組件之間的通信限於該服務組件集合中之下一個/前一個(例如,相對於彼此操作緊接在上游及/或下游之服務的彼等服務組件)。
在一或多個實施例中,應瞭解,可包括零個或多個觀測組件及/或在由任何一或多個此類觀測組件執行之觀測程序中,可能不觀測相對於一或多個服務組件之通信。
接下來轉向協定管理組件356,此組件可諸如最初傳送、推送、上傳及/或以其他方式發送協定350,從而將根據如本文所描述之一或多個實施例的用於實現共識之一或多個通信限制及/或規則提供至交易之服務組件集合中的一或多個服務組件。一或多個通信限制可包括將服務組件之間的通信訊息限於相對於彼此為下一個/前一個的彼等服務組件。在一或多個實施例中,協定350可定義及/或促進判定哪些服務組件將被識別為相對於彼此之下一個/前一個。在一或多個實施例中,協定350可包括用於促進特定類型之訊息之通信的程式指令及/或決策之集合,該等訊息諸如包括請求、投票及/或最終決策,如將在下文詳細描述之圖5之通信圖500處所示出。在一或多個實施例中,可以圖解方式示出此類規則,諸如將在下文詳細描述之圖6之狀態圖600。
協定350可經由任何合適之通信方法進行傳送,不論係有線抑或無線的,諸如包括上文參考訊息/通信之傳送描述的用於促進相對於圖1及圖2之共識實現的方法中之一或多者。另外及/或替代地,在一或多個實施例中,請求促進系統302、312及322及/或服務組件308、358、318及328中之任何一或多者可能已包含及/或經建構以根據請求協定350及/或根據本文中所描述之一或多個實施例的另一協定而操作。舉例而言,一或多個服務組件可經分離地建構以根據協定350操作,諸如在服務組件之初始建構期間,諸如在未將協定350傳送至一或多個服務組件之情況下。
現簡要地轉向圖4,該圖示出根據本文中所描述之一或多個實施例的實例非限制性系統400之圖,該非限制性系統可促進關於處理交易之請求達成共識的程序。為簡潔起見,省略各別實施例中所使用的相同元件及/或程序之重複描述。
非限制性系統400實質上類似於非限制性系統300。不同於非限制性系統300,應瞭解,諸如協定促進系統332之單獨系統可包含觀測組件354及/或協定管理組件356,連同各別處理器336、記憶體334及匯流排335。亦即,應瞭解,在一或多個實施例中,除包含參與交易之服務組件之系統(例如,請求促進系統302、312及322)以外的系統可包含觀測組件354及/或協定管理組件356。
可在裝置Z處包含協定促進系統332。裝置Z可為及/或可包含一或多個伺服器裝置、運算裝置、通用電腦、專用電腦、量子運算裝置(例如,量子電腦)、平板運算裝置、手持型裝置、伺服器類運算機器及/或資料庫、膝上型電腦、筆記型電腦、桌上型電腦、蜂巢式電話、智慧型手機、消費者電器及/或儀器、工業及/或商業裝置、數位助理、具備多媒體網際網路能力之電話、多媒體播放器及/或另一類型之裝置及/或運算裝置。裝置Z相對於裝置W、X及/或Y中之任何一或多者可為本端及/或分散的。舉例而言,裝置Z與裝置W、X及/或Y中之任何一或多者之間的通信可藉由任何合適方式進行,諸如藉由LAN、WAN及/或雲端環境。
現具體地轉向圖5以及圖3,為流程圖之通信圖500示出交易A之服務組件集合中的服務組件中之下一個/前一個之間的通信之例示性流程,參看圖3。如上文所指示,交易A包含服務組件308、358及318中之每一者。應瞭解,服務組件308可為接收初始請求303之初始服務。應瞭解,時間點502表示合適通信方法,且「xid」表示每一通信中包括的交易ID。
如上文所指示,一或多個服務組件308、358及318可傳達訊息,該等訊息可包括一或多個請求、投票或最終決策。亦如上文所指示,此等訊息類型中之每一者可為文字、二進位及/或任何其他格式。
請求(例如,不同於圖3之初始請求303之次要請求)可為請求執行相關服務組件之服務的訊息,以藉此促進交易執行之最終傳播。該等請求通常可在交易內向下游(例如,在交易之正常執行的方向上,其在圖5處為自左向右)傳播。一或多個服務組件可朝向服務組件集合中執行交易之一或多個最下游服務的一或多個服務組件(例如,在圖5處之服務組件318的方向上)傳播請求之通信。
投票可為對請求之回應,且通常可包括是/否、進行/不進行及/或持續/中止之指示。投票通常可在交易內向上游傳播(例如,在交易之正常執行的相反方向上,其在圖5處為自右向左)。一或多個服務組件可朝向服務組件集合中執行交易之一或多個最上游服務的一或多個服務組件(例如,在服務組件308之方向上)傳播接受或中止初始請求或一或多個次要請求之一或多個投票的通信。
在中間服務組件既發送投票又接收投票之情況下,諸如服務組件358,該中間服務組件可使用各個日誌以基於已向下游發送請求而認識到其正等待自下游參與者服務組件(例如,服務組件318)接收投票。因此,中間服務組件可在自下游參與者接收到投票後向上游發送組合投票。由中間服務組件發送之組合投票可為具有單個投票之通信,使得任何人反對、不進行及/或中止投票皆可導致組合投票亦為反對、不進行及/或中止。應注意,由中間服務組件接收到之投票自身可為組合投票。
另外,在投票通信服務組件為中間服務組件且因此正等待下游投票之情況下,投票通信服務組件可諸如經由協定350建構以在自下游接收投票之前向上游發送投票,其中自提供的投票為否定的(例如,反對、不進行及/或中止)。以此方式,投票之傳播可更快速地推進,而無需等待不會改變組合投票之結果的下游投票(例如,此係因為單個否定投票已包括於將變為組合投票之內容中)。亦應注意,向上游傳達之每一投票可為單個投票,不論係組合投票抑或非組合否定投票。亦即,根據本文中所描述之一或多個實施例,投票通信通常不包括多於單個通信。在向上游傳達早期否定投票之情況下,可記錄但忽略稍後接收到之下游投票。
最終決策通常在下游方向上自執行一或多個最上游服務之一或多個服務組件(例如,圖5處之服務組件308)朝向執行一或多個最下游服務之一或多個服務組件(例如,圖5處之服務組件318)傳播。最終決策可為自下游參與者接收到之所有投票的組合投票。亦即,最上游服務組件可接收包括所有下游參與者之組合投票或來自下游參與者服務組件之至少單個否定投票的單個投票通信。因此,在接收到投票通信後,最上游服務組件可將單個最終決策(在本文中亦被稱作「完成」)傳達至每一下游的下一個/前一個服務組件。彼同一最終決策可傳播至最下游服務組件。在接收到肯定的最終決策通信後,任何個別服務組件皆可起始執行由交易之一個個別服務組件執行的各別服務。
在一或多個其他實施例中,一或多個額外訊息類型可用以達成及/或實現共識,諸如根據本文中之一或多個限制及/或規則,諸如將通信限於下一個/前一個服務組件之間的彼等通信,以相對於交易之初始請求實現共識。
現參看圖6,狀態圖600以圖解方式示出根據本文中所描述之一或多個實施例的單個服務組件之訊息及/或狀態的實例可能傳播。亦即,狀態圖600提供不同格式以示出請求、投票及最終決策訊息之通信,但相對於單個服務組件602。在狀態圖600處,通信由箭頭表示,其中已執行之動作由圓形物件表示。
作為實例,可在交易不包括相對於服務組件602之下一個/前一個下游服務組件的情況下,或在服務組件602之投票為否定的情況下發送通信604。作為實例,逾時606可在向下游傳達請求但服務組件602在所判定時間窗口內未接收到投票通信之情況下發生。應瞭解,逾時窗口可經由協定350判定,諸如在預設情況下,及/或可藉由實體選擇性地判定。應瞭解,逾時窗口時間長度可特定於交易或交易類型。應瞭解,逾時窗口長度可特定於通信類型。亦即,請求、投票及最終決策之不同通信類型各自可使用不同逾時窗口時間長度。作為另一實例,逾時608可在服務組件602已發送投票通信但尚未接收到最終決策之情況下發生。下文將關於圖9及圖10進一步描述在逾時之情況下共識實現的進展。
接下來看向圖7以及圖3,為另一流程圖之另一通信圖700示出交易B之服務組件集合中的服務組件中之下一個/前一個之間的通信之例示性流程,亦參看圖3。如上文所指示,交易B包含服務組件308、358、318及328中之每一者。查看圖7,通信圖600之下部部分(包括服務組件308、358及318)等同於通信圖500。此外,通信圖600示出用於共識達成/實現的通信之傳播,且因此用於交易之服務的執行之傳播亦可沿著兩個或多於兩個並行路徑進行。亦即,交易B之服務執行及通信傳播可自服務組件308分支。舉例而言,起始者(最上游)服務組件308可將請求通信發送至服務組件358及328中之每一者。請求通信可包括相對於由特定服務組件358及328操作之特定服務的至少部分不同之資料及/或請求。同樣地,服務組件308可接收多個投票通信(例如,自服務組件358及自服務組件328),其中同樣發送多個請求通信。
現參看圖8,示出提供與圖7之通信圖700處所示出相同的通信傳播之替代表示的額外方塊圖800。
現看向圖9及圖10,本文中所描述之用於促進關於處理交易之請求達成共識之程序的一或多個實施例亦可考慮相對於實現共識之通信中的一或多個錯誤及/或逾時。如在圖9之流程圖900的通信失敗902處所示出,其中通信未完成或由用於關於處理交易B之完成訊息達成共識之程序諸如在日誌中登記為未接收到,應已提示遺失及/或未接收到之通信906的先前通信904可作為重新發送通信908來重新發送。此重新發送可藉由未接收通信906之服務組件318促進。在一或多個實施例中,在服務組件318及/或由此操作之服務重新啟動或逾時從而記錄錯誤之後,可促進此重新發送/重新通信。亦即,服務組件及/或由此操作之服務的崩潰及/或錯誤可至少部分地導致無法接收遺失及/或未接收到之訊息。
另外及/或替代地,在重新發送通信並不促進接收先前遺失及/或未接收到之通信的情況下,可記載錯誤訊息或記錄。在一或多個實施例中,且可將為本文中所論述之第四類型之訊息的錯誤訊息自記錄錯誤之服務組件(例如,服務組件318)發送至先前服務組件(例如,服務組件358),提示重新啟動先前服務組件(例如,服務組件358)且重新發送在先前服務組件(例如,服務組件358)之個別日誌中指示為已發送的一或多個最近通信。
如圖10之圖1000之通信失敗1002處所示出,錯誤可能由已崩潰或發生錯誤之服務組件(例如,服務組件358)及/或由此操作之服務引起。在發生錯誤之服務組件358及/或由此操作之服務逾時後,為了重新啟動或以其他方式修復及/或修正服務組件358中之一或多個錯誤,發生錯誤之服務組件358的個別日誌可用以判定一或多個遺失及/或未接收到之通信1004且作為回應,發送一或多個重複通信1006。
接下來看向圖11,邊車(sidecar)或其他輔助應用程式及/或程式可由任何個別服務組件使用以卸載一或多個通信及/或待執行之其他動作。以此方式,服務組件自身可限制所使用之大小及/或記憶體,諸如藉由將分散式通信協定之某一實施邏輯卸載至邊車。在一或多個實施例中,邊車可為容器化應用程式。在一或多個實施例中,邊車或相關聯容器可安置於使用邊車之各別服務組件之容器內。應瞭解,相對於使用邊車應用程式之各別服務組件的儲存,邊車應用程式可儲存於任何合適位置中。
在圖11處,三個圖1100、1130及1160示出邊車應用程式之不同使用。在圖1100處,邊車應用程式可用以接收及組合投票通信且亦判定及發送最終決策通信。在圖1100處,服務組件為初始或起始者服務組件(例如,交易之最上游服務組件)。在圖1100處之邊車應用程式亦可用以為圖1100處之各別服務組件產生及/或儲存個別通信日誌(例如,本端日誌)。在圖1130處,邊車應用程式可僅用以為圖1130處之各別服務組件產生及/或儲存個別通信日誌(例如,本端日誌)。在圖1160處,邊車應用程式可用以為圖1160處之各別服務組件產生及/或儲存個別通信日誌(例如,本端日誌)。亦在圖1160處,邊車應用程式可用以接收、組合及發送投票通信。應注意,在圖1160處之邊車應用程式不用以亦發送最終決策通信。
現轉向圖12及圖13,此等圖一起示出根據本文中關於非限制性系統300所描述之一或多個實施例的實例非限制性電腦實施方法1200之流程圖,該方法可促進關於處理交易之請求達成共識的程序。應瞭解,雖然相對於非限制性系統300描述電腦實施方法1200,但電腦實施方法1200亦可適用於非限制性系統100及/或非限制性系統400。亦應瞭解,電腦實施方法1200之許多流程區塊係相對於單個服務組件308執行。然而,電腦實施方法1200可與特定交易之非限制性系統300之一或多個其他服務相關。另外,一或多個流程區塊係針對單個服務組件308並不否認各別交易可包括一或多個額外服務組件及/或服務。為簡潔起見,省略各別實施例中所使用的相同元件及/或程序之重複描述。
首先看向圖12處之1202,電腦實施方法1200可包含藉由可操作地耦接至處理器(例如,處理器306)之系統(例如,經由服務組件308及/或請求促進系統302)在初始服務組件(例如,交易A之服務組件308)處接收初始請求(例如,初始請求303)。
在1204處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)將次要請求(例如,請求服務308A之操作的通信)傳播至下一個/前一個服務組件(例如,執行交易的緊接在由服務組件308執行之服務下游之服務的服務組件)。
在1206處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)判定對執行由服務組件(例如,服務組件308)操作之服務(例如,服務308A)之請求的投票(例如,是/否)。
在1208處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)判定將投票發送至下一個/前一個服務組件(例如,操作交易的緊接在由服務組件308執行之服務下游之服務的服務組件)抑或記錄投票(諸如,在服務組件308之個別日誌處,諸如使用各別日誌組件309)。舉例而言,在服務組件308為最上游服務之情況下,不發送投票,且確切而言,方法進行至區塊1212。舉例而言,在服務組件308之投票為否投票之情況下,則方法可進行至區塊1212。舉例而言,在服務組件308之投票為是投票之情況下,或在尚未自服務組件308將請求通信所發送至的下游參與者服務接收到投票之情況下,方法可替代地進行至區塊1210。
在1210處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)等待來自下游參與者(例如,交易A之服務組件358)之投票(例如,投票通信)。
在1212處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308及/或日誌組件309)發送或記錄投票(例如,投票通信或投票決策)。
在1214處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)判定或接收最終決策(例如,最終決策通信)。亦即,在服務組件308為起始者服務組件之情況下,服務組件308可判定最終決策通信。替代地,在服務組件308為中間服務組件之情況下,服務組件308可自交易(例如,交易A)中之緊接上游者接收最終決策。
接下來,圖13示出部分地在圖12之流程圖處示出的方法1200之替代延續部分。在圖13處,圖12之方法1200繼續,由在圖12及圖13中之每一者處示出的延續三角形「B」 1220表示。為簡潔起見,省略各別實施例中所使用的相同元件及/或程序之重複描述。
在1302處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)發送最終決策(例如,最終決策通信),例如在交易(例如,交易A)中向下游。
在1304處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308及/或日誌組件309)記錄服務組件(例如,服務組件308)參與(例如,發送及/或接收)之一或多個通信。
在1306處,電腦實施方法1200可包含藉由系統(例如,經由觀測組件354)觀測通信。
在1308處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)操作服務(例如,服務308A)以執行交易(例如,交易A)之至少一部分。
在1310處,電腦實施方法1200可包含藉由系統(例如,經由服務組件308)提供所執行服務(例如,服務308A)之輸出。
為解釋簡單起見,將本文中所提供之電腦實施方法描繪及/或描述為一系列動作。應理解且瞭解,本創新不受所說明之動作及/或動作次序限制,例如,動作可以一或多個次序及/或同時發生,且與本文中未呈現及描述之其他動作一起發生。此外,並非所有的所說明動作皆可用以實施根據所描述主題之電腦實施方法。此外,熟習此項技術者將理解並瞭解,可替代地經由狀態圖或事件將電腦實施方法表示為一系列相互關聯之狀態。另外,應進一步瞭解,在下文中且貫穿本說明書所描述之電腦實施方法能夠儲存於製品上,以促進將電腦實施方法輸送及傳送至電腦。如本文中所使用,術語製品意欲涵蓋可自任何電腦可讀裝置或儲存媒體存取之電腦程式。
概括而言,相較於現有技術,本文中所描述之一或多個實施例可使得能夠改良相對於由交易接收之請求的共識實現之效能。此改良效能可經由將用於達成及/或實現共識之通信限於在交易之服務組件集合中的服務組件中之下一個/前一個服務組件之間執行來實現,其中下一個/前一個服務組件為操作交易之緊接在上游或下游之服務(例如,相對於由通信服務執行之服務)的彼等服務組件。在一或多個實施例中,此通信可在不對通信使用全域管理之情況下進行。確切而言,通信由交易之服務組件集合中的每一個別服務組件管理。
鑒於此受限通信方式,可避免在任何服務組件及/或其他組件處獲得關於服務組件集合中之每一服務組件的總體知識。亦即,可避免共用關於任何服務組件皆非下一個/前一個之服務組件的知識。因而,所關注之一個服務組件處的信任及/或安全性之破壞可限於僅相對於在所關注服務之後/之前的一或多個服務組件之知識。另外,亦可避免將處理能力及記憶體用於全域通信管理器。
在一或多種情況下,鑒於相較於現有技術,本文中所描述之一或多個實施例的執行時間增加及/或執行品質提高,本文中所描述之一或多個實施例可允許增加一或多個交易共識實現及/或請求促進之執行規模。另外及/或替代地,根據所描述之主題,至少鑒於避免使用全域通信管理器,使用所描述之主題可允許降低用以執行交易共識實現及/或請求促進之系統的成本及/或複雜度。
本文中所描述之請求促進系統之實際應用為,此系統可實施於一或多個域中以實現縮放之程式執行,諸如共識執行。實際上,如本文中所描述之請求促進系統之使用可為可縮放的,諸如其中相對於同一或不同交易,請求促進系統可同時與另一共識達成/實現至少部分並行地執行至少一個共識達成/實現。本文中所描述之一或多個實施例之另一實際應用可為一或多個執行指令之個別控制執行,例如在交易之一或多個服務組件處,以用於執行一或多個個別地管理之通信。在另一實例中,本文中所描述之一或多個實施例之另一實際應用可為一或多個執行指令之受控執行,以用於藉由一或多個真實世界電腦及/或電腦輔助及/或電腦促進裝置,例如藉由一或多個服務組件,來執行一或多個操作,該一或多個服務組件用於操作具有一或多個真實世界結果(諸如,金融、貨幣、預訂及/或購買結果)之一或多個服務。
此外,本文中所描述之請求促進系統可促進操作及/或包含此請求促進系統之電腦及/或電腦系統的一或多項技術改良。舉例而言,如本文中所描述之請求促進系統可在不使用全域通信管理器之情況下提供個別通信管理。以此方式,相較於現有技術,可促進減少所使用及/或利用之記憶體、時間及/或運算能力。因此,相較於現有技術,如本文中所描述之請求促進可促進更快及/或更高效的共識達成/實現。
系統及/或裝置已(及/或將進一步)在本文中關於一或多個組件之間的互動進行描述。應瞭解,此類系統及/或組件可包括本文中所指定之彼等組件或子組件、所指定組件及/或子組件中之一或多者及/或額外組件。子組件可實施為通信耦接至其他組件而非包括於親代組件內的組件。可將一或多個組件及/或子組件組合成提供聚合功能性之單個組件。組件可與出於簡潔起見而在本文中未具體描述但熟習此項技術者已知之一或多個其他組件互動。
應瞭解,本文中所描述之一或多個實施例固有地及/或不可避免地與電腦技術相關且不可在運算環境外實施。舉例而言,相較於現有系統及/或技術,由本文中所描述之一或多個實施例執行的一或多個程序可更高效且甚至更可行地提供程式及/或程式指令執行。促進此等程序之執行的系統、電腦實施方法及/或電腦程式產品在服務及/或微服務交易及/或相關運算領域中非常有用,且無法在運算環境外以合理方式同樣切實可行地實施。
亦應瞭解,本文中所描述之一或多個實施例可使用硬體及/或軟體來解決本質上高度技術性(例如,與複數個資料之數位至類比轉換及/或二進位搜尋相關)的問題,該等問題並非抽象的且無法作為人類之一組心理行為來執行。舉例而言,在本文中所描述之一或多個實施例可促進此程序的時間內,一個人或甚至數千人無法高效地、準確地及/或有效地運算複數個資料之數位至類比轉換及/或二進位搜尋。且,人的大腦以及使用筆及紙的人均無法以電子方式運算如由本文中所描述之一或多個實施例進行的複數個資料之數位至類比轉換及/或二進位搜尋。
在一或多個實施例中,本文中所描述之程序中之一或多者可藉由一或多個專用電腦(例如,專用處理單元、專用經典電腦、專用量子電腦、專用混合經典/量子系統及/或另一類型之專用電腦)執行,以執行與上文所描述之一或多種技術相關的所定義任務。本文中所描述之一或多個實施例及/或其組件可用以解決由於上文所提及技術之進步、量子運算系統、雲端運算系統、電腦架構及/或另一種技術之使用而出現的新問題。
本文中所描述之一或多個實施例可完全操作以執行一或多個其他功能(例如,完全通電、完全執行及/或另一功能),同時亦執行本文中所描述之一或多個操作。
接下來轉向圖14至圖16,提供本文中在圖1至圖13處所描述之一或多個實施例的額外上下文的詳細描述。
圖14及以下論述意欲提供對可實施本文中在圖1至圖13處所描述之一或多個實施例的合適操作環境1400之簡要的一般描述。舉例而言,本文中所描述之實施例的一或多個組件及/或其他態樣可實施於操作環境1400中或與該操作環境相關聯,諸如可經由該操作環境存取。另外,雖然上文已在可在一或多個電腦上運行之電腦可執行指令之一般上下文中描述一或多個實施例,但熟習此項技術者將認識到,一或多個實施例亦可結合其他程式模組及/或作為硬體與軟體之組合來實施。
一般而言,程式模組包括執行特定任務及/或實施特定抽象資料類型之常式、程式、組件、資料結構及/或其類似者。此外,熟習此項技術者應瞭解,本發明方法可運用其他電腦系統組態來實踐,該等組態包括單處理器或多處理器電腦系統、小型電腦、大型電腦、物聯網(IoT)裝置、分佈式運算系統以及個人電腦、手持型運算裝置、基於微處理器的或可程式化的消費型電子裝置及/或其類似者,其中之每一者可操作地耦接至一或多個相關聯裝置。
運算裝置通常包括多種媒體,其可包括電腦可讀儲存媒體、機器可讀儲存媒體及/或通信媒體,兩個術語如下在本文中彼此不同地使用。電腦可讀儲存媒體或機器可讀儲存媒體可為可由電腦存取且包括揮發性媒體及非揮發性媒體、抽取式媒體及非抽取式媒體兩者之任何可用儲存媒體。作為實例而非限制,電腦可讀儲存媒體及/或機器可讀儲存媒體可結合用於儲存諸如電腦可讀及/或機器可讀指令、程式模組、結構化資料及/或非結構化資料之資訊的任何方法或技術實施。
電腦可讀儲存媒體可包括但不限於隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、光碟唯讀記憶體(CD ROM)、數位化通用光碟(DVD)、藍光光碟(BD)及/或其他光碟儲存器、匣式磁帶、磁帶、磁碟儲存器及/或其他磁性儲存裝置、固態磁碟機或其他固態儲存裝置及/或可用於儲存所要資訊之其他有形及/或非暫時性媒體。就此而言,本文中如應用於儲存器、記憶體或電腦可讀媒體之術語「有形」或「非暫時性」應理解為排除僅傳播暫時性信號本身作為修飾符,且並不放棄對並非僅傳播暫時性信號本身之所有標準儲存器、記憶體及/或電腦可讀媒體的權利。
電腦可讀儲存媒體可由一或多個本端或遠端運算裝置存取,例如經由存取請求、查詢及/或其他資料擷取協定存取,以進行關於由媒體儲存之資訊的多種操作。
通信媒體通常在諸如經調變資料信號(例如,載波或其他輸送機制)之資料信號中體現電腦可讀指令、資料結構、程式模組或其他結構化或非結構化資料,且包括任何資訊遞送或輸送媒體。術語「經調變資料信號」或信號係指以使得在一或多個信號中編碼資訊之方式設定或改變特性中之一或多者的信號。作為實例而非限制,通信媒體可包括有線媒體,諸如有線網路、直接有線連接及/或無線媒體,諸如聲波、RF、紅外線及/或其他無線媒體。
再次參看圖14,用於實施本文中所描述之態樣之一或多個實施例的實例操作環境1400可包括電腦1402,電腦1402包括處理單元1406、系統記憶體1404及/或系統匯流排1408。應瞭解,系統記憶體1404或處理單元1406之一或多個態樣可分別應用於非限制性系統100、300及/或400之記憶體,諸如104、304及/或404,及/或處理器,諸如106、306及/或406。亦應瞭解,可結合及/或替代諸如104、304及/或404之記憶體來實施系統記憶體1404。同樣地,亦應瞭解,可結合及/或替代諸如106、306及/或406之處理器來實施處理單元1406。
記憶體1404可儲存一或多個電腦及/或機器可讀、可寫及/或可執行組件及/或指令,該等組件及/或指令在由處理單元1406 (例如,經典處理器、量子處理器及/或類似處理器)執行時可促進執行由可執行組件及/或指令定義之操作。舉例而言,記憶體1404可儲存電腦及/或機器可讀、可寫及/或可執行組件及/或指令,該等組件及/或指令在由處理單元1406執行時可促進執行本文中關於非限制性系統100、300及/或400及/或諸如102、202、302及/或402之請求促進系統所描述的一或多個功能,如本文中參看或不參看一或多個實施例之一或多個圖所描述。
記憶體1404可包含可使用一或多個記憶體架構之揮發性記憶體(例如,隨機存取記憶體(RAM)、靜態RAM (SRAM)、動態RAM (DRAM)及/或其類似者)及/或非揮發性記憶體(例如,唯讀記憶體(ROM)、可程式化ROM (PROM)、電可程式化ROM (EPROM)、電可抹除可程式化ROM (EEPROM)及/或其類似者)。
處理單元1406可包含一或多種類型之處理器及/或電子電路系統(例如,經典處理器、量子處理器及/或類似處理器),其可實施可儲存於記憶體1404處之一或多個電腦及/或機器可讀、可寫及/或可執行組件及/或指令。舉例而言,處理單元1406可執行可由電腦及/或機器可讀、可寫及/或可執行組件及/或指令指定之一或多個操作,包括但不限於邏輯、控制、輸入/輸出(I/O)、算術及/或其類似者。在一或多個實施例中,處理單元1406可為一或多個市售處理器中之任一者。在一或多個實施例中,處理單元1406可包含一或多個中央處理單元、多核處理器、微處理器、雙微處理器、微控制器、系統單晶片(SOC)、陣列處理器、向量處理器、量子處理器及/或另一類型之處理器。處理單元1406之實例可用以實施本文中所描述之一或多個實施例。
系統匯流排1408可將包括但不限於系統記憶體1404之系統組件耦接至處理單元1406。系統匯流排1408可包含一或多種類型之匯流排結構,其可使用多種市售匯流排架構中之一或多者進一步互連至記憶體匯流排(在具有或不具有記憶體控制器之情況下)、周邊匯流排及/或區域匯流排。系統記憶體1404可包括ROM 1410及/或RAM 1412。基本輸入/輸出系統(BIOS)可儲存於諸如ROM、可抹除可程式化唯讀記憶體(EPROM)及/或EEPROM之非揮發性記憶體中,該BIOS含有諸如在啟動期間幫助在電腦1402內之元件之間傳送資訊的基本常式。RAM 1412可包括高速RAM,諸如用於快取資料之靜態RAM。
電腦1402可包括內部硬碟驅動機(HDD) 1414 (例如,EIDE、SATA)、一或多個外部儲存裝置1416 (例如,磁性軟碟驅動機(FDD)、記憶棒或快閃驅動機讀取器、記憶卡讀取器及/或其類似者)及/或驅動機1420,例如固態磁碟機或光碟驅動機,其可自磁碟1422 (諸如,CD-ROM碟、DVD、BD及/或其類似者)讀取或寫入。另外及/或替代地,在涉及固態磁碟機之情況下,除非分離,否則不包括磁碟1422。雖然內部HDD 1414示出為位於電腦1402內,但內部HDD 1414亦可經組態以用於在合適底座(未展示)中供外部使用。另外,雖然未在操作環境1400中展示,但除HDD 1414之外或代替HDD,亦可使用固態磁碟機(SSD)。HDD 1414、外部儲存裝置1416及驅動機1420可分別藉由HDD介面1424、外部儲存介面1426及驅動機介面1428連接至系統匯流排1408。用於外部驅動機實施方案的HDD介面1424可包括通用串列匯流排(USB)及電機電子工程師學會(IEEE) 1394介面技術中之至少一或兩者。其他外部驅動機連接技術在本文中所描述之實施例的考慮範圍內。
驅動機及其相關聯之電腦可讀儲存媒體提供對資料、資料結構、電腦可執行指令等之非揮發性儲存。對於電腦1402,驅動機及儲存媒體適應以合適數位格式儲存任何資料。儘管上述電腦可讀儲存媒體之描述涉及各別類型之儲存裝置,但熟習此項技術者應瞭解,電腦可讀之其他類型之儲存媒體,不論係當前存在抑或未來開發的,亦可用於實例操作環境中,及/或任何此類儲存媒體可含有用於執行本文中所描述之方法的電腦可執行指令。
數個程式模組可儲存於驅動機及RAM 1412中,包括作業系統1430、一或多個應用程式1432、其他程式模組1434及/或程式資料1436。作業系統、應用程式、模組及/或資料之全部或部分亦可快取於RAM 1412中。本文中所描述之系統及/或方法可利用一或多個市售作業系統及/或作業系統之組合而實施。
電腦1402可視情況包含仿真技術。舉例而言,超管理器(未展示)或其他中間件可仿真用於作業系統1430之硬體環境,且經仿真硬體可視情況不同於圖14中所示出之硬體。在相關實施例中,作業系統1430可包含在電腦1402處代管之多個虛擬機(VM)中的一個VM。此外,作業系統1430可為應用程式1432提供運行時環境,諸如JAVA運行時環境或.NET架構。運行時環境為一致的執行環境,其可允許應用程式1432在包括運行時環境之任何作業系統上運行。類似地,作業系統1430可支援容器,且應用程式1432可呈容器之形式,該等容器為軟體之輕量型、獨立、可執行封裝,該等封裝包括例如程式碼、運行時、系統工具、系統程式庫及/或應用程式之設定。
另外,電腦1402可藉由諸如受信任處理模組(TPM)之安全模組啟用。舉例而言,使用TPM,啟動組件散列在時間上接下來之啟動組件且在載入下一啟動組件之前等待結果與安全值之匹配。此程序可發生於電腦1402之程式碼執行堆疊中的任何層處,例如在應用程式執行層級及/或作業系統(OS)核心層級處應用,藉此實現任何程式碼執行層級處之安全性。
實體可經由一或多個有線/無線輸入裝置,例如鍵盤1438、觸控螢幕1440及/或諸如滑鼠1442之指標裝置,將命令及/或資訊鍵入及/或傳輸至電腦1402中。其他輸入裝置(未展示)可包括麥克風、紅外線(IR)遙控器、射頻(RF)遙控器及/或其他遙控器、操縱桿、虛擬實境控制器及/或虛擬實境耳機、遊戲板、觸控筆、影像輸入裝置(例如,攝影機)、示意動作感測器輸入裝置、視覺移動感測器輸入裝置、情緒或面部偵測裝置、生物識別輸入裝置(例如,指紋)及/或虹膜掃描器及/或其類似者。此等及其他輸入裝置可經由輸入裝置介面1444連接至處理單元1406,該輸入裝置介面可耦接至系統匯流排1408,但可藉由其他介面連接,諸如平行埠、IEEE 1394串列埠、遊戲埠、USB埠、IR介面、BLUETOOTH®介面及/或其類似者。
監視器1446或其他類型之顯示裝置可替代地及/或另外經由諸如視訊配接器1448之介面連接至系統匯流排1408。除監視器1446之外,電腦通常亦包括其他周邊輸出裝置(未展示),諸如揚聲器、印表機及/或其類似者。
電腦1402可使用經由有線及/或無線通信至一或多個遠端電腦(諸如,遠端電腦1450)之邏輯連接在網路連接環境中操作。遠端電腦1450可為工作站、伺服器電腦、路由器、個人電腦、攜帶型電腦、基於微處理器之娛樂設備、同級裝置及/或其他共同網路節點,且通常包括相對於電腦1402所描述之許多或所有元件,但出於簡潔之目的,僅示出記憶體/儲存裝置1452。另外及/或替代地,電腦1402可經由資料纜線(例如,高清晰度多媒體介面(HDMI)、推薦標準(RS) 232、乙太網路纜線及/或其類似者)耦接(例如,以通信方式、以電氣方式、以操作方式、以光學方式及/或其類似方式)至一或多個外部系統、源及/或裝置(例如,經典及/或量子運算裝置、通信裝置及/或類似裝置)。
在一或多個實施例中,網路可包含一或多個有線及/或無線網路,包括但不限於蜂巢式網路、廣域網路(WAN) (例如,網際網路)或區域網路(LAN)。舉例而言,本文中所描述之一或多個實施例可使用幾乎任何所要有線或無線技術與一或多個外部系統、源及/或裝置(例如,運算裝置)通信(且反之亦然),該等所要有線或無線技術包括但不限於:無線保真(Wi-Fi)、全球行動通信系統(GSM)、通用行動電信系統(UMTS)、微波存取全球互通(WiMAX)、增強型通用封包無線電服務(增強型GPRS)、第三代合作夥伴計劃(3GPP)長期演進(LTE)、第三代合作夥伴計劃2 (3GPP2)超行動寬頻(UMB)、高速封包存取(HSPA)、Zigbee及其他802.XX無線技術及/或傳統電信技術、BLUETOOTH®、會話起始協定(SIP)、ZIGBEE®、RF4CE協定、WirelessHART協定、6LoWPAN (低功率無線區域網路上之IPv6)、Z-Wave、ANT、超寬頻(UWB)標準協定及/或其他專有及/或非專有通信協定。在相關實例中,本文中所描述之一或多個實施例可包括硬體(例如,中央處理單元(CPU)、收發器、解碼器、量子硬體、量子處理器及/或其類似者)、軟體(例如,一組執行緒、一組程序、執行中軟體、量子脈衝排程、量子電路、量子閘及/或其類似者)及/或促進在本文中所描述之一或多個實施例與外部系統、源及/或裝置(例如,運算裝置、通信裝置及/或其類似者)之間傳達資訊的硬體及/或軟體之組合。
所描繪之邏輯連接包括至區域網路(LAN) 1454及/或例如廣域網路(WAN) 1456之更大網路的有線/無線連接性。LAN及WAN網路連接環境可常見於辦公室及公司中,且可促進企業範圍之電腦網路,諸如企業內部網路,所有此等網路皆可連接至全球通信網路,例如網際網路。
當用於LAN網路連接環境中時,電腦1402可經由有線及/或無線通信網路介面或配接器1458連接至區域網路1454。配接器1458可促進至LAN 1454之有線及/或無線通信,該LAN亦可包括安置於其上之無線存取點(AP)以用於在無線模式下與配接器1458通信。
當用於WAN網路連接環境中時,電腦1402可包括數據機1460及/或可經由用於在WAN 1456上建立通信之其他方式(諸如,藉助於網際網路)連接至WAN 1456上之通信伺服器。可為內部及/或外部及有線及/或無線裝置之數據機1460可經由輸入裝置介面1444連接至系統匯流排1408。在網路連接環境中,相對於電腦1402或其部分所描繪之程式模組可儲存於遠端記憶體/儲存裝置1452中。應瞭解,所展示之網路連接僅為例示性的,且可使用在電腦之間建立通信鏈路之一或多種其他方式。
當用於LAN或WAN網路連接環境中時,除如上文所描述之外部儲存裝置1416之外及/或代替該外部儲存裝置,電腦1402亦可存取雲端儲存系統或其他基於網路之儲存系統,諸如但不限於提供資訊之儲存及/或處理之一或多個態樣的網路虛擬機。一般而言,電腦1402與雲端儲存系統之間的連接可例如分別藉由配接器1458或數據機1460在LAN 1454或WAN 1456上建立。在將電腦1402連接至相關聯之雲端儲存系統後,外部儲存介面1426可諸如藉助於配接器1458及/或數據機1460如同管理其他類型之外部儲存一般來管理由雲端儲存系統提供之儲存。舉例而言,外部儲存介面1426可經組態以提供對雲端儲存源之存取,如同彼等源實體地連接至電腦1402一般。
電腦1402可操作以與可操作地安置於無線通信中之任何無線裝置及/或實體通信,該等無線裝置及/或實體例如為印表機、掃描器、桌上型及/或攜帶型電腦、攜帶型資料助理、通信衛星、電話及/或與無線可偵測標籤相關聯之任何設備或位置(例如,資訊站、報攤、商店貨架及/或其類似者)。此可包括無線保真(Wi-Fi)及BLUETOOTH®無線技術。因此,通信可為如同習知網路之預定義結構或簡單地為至少兩個裝置之間的特用通信。
本文中所描述之所說明實施例可在分佈式運算環境(例如,雲端運算環境)中實踐,諸如下文關於圖15之區塊圖1500所描述,其中某些任務係藉由經由通信網路鏈接之遠端處理裝置執行。在分佈式運算環境中,程式模組可位於本端及/或遠端記憶體儲存裝置兩者中。
舉例而言,本文中所描述之一或多個實施例及/或其一或多個組件可使用下文參看圖15及/或參考一或多個功能抽象層(例如,量子軟體及/或其類似者)所描述之雲端運算環境1550之一或多個運算資源,以執行根據本文中所描述之一或多個實施例的一或多個操作,該一或多個功能抽象層係在下文參看圖16進行描述。舉例而言,雲端運算環境1550及/或功能抽象層1660、1670、1680及/或1690中之一或多者可包含一或多個經典運算裝置(例如,經典電腦、經典處理器、虛擬機、伺服器及/或其類似者)、量子硬體及/或量子軟體(例如,量子運算裝置、量子電腦、量子處理器、量子電路模擬軟體、超導電路及/或其類似者),其可由本文中所描述之一或多個實施例及/或其組件使用以執行根據本文中所描述之一或多個實施例的一或多個操作。舉例而言,本文中所描述之一或多個實施例及/或其組件可使用此類一或多個經典及/或量子運算資源來執行一或多個經典及/或量子:數學函數、運算及/或等式;運算及/或處理指令碼;演算法;模型(例如,人工智慧(AI)模型、機器學習(ML)模型及/或類似模型);及/或根據本文中所描述之一或多個實施例的其他操作。
應理解,儘管本文中所描述之一或多個實施例包括關於雲端運算之詳細描述,但本文中所敍述之教示的實施不限於雲端運算環境。確切而言,本文中所描述之一或多個實施例能夠結合現在已知或稍後開發之任何其他類型之運算環境來實施。
雲端運算為用於使得能夠對可組態運算資源(例如,網路、網路頻寬、伺服器、處理、記憶體、儲存器、應用程式、虛擬機及服務)之共用集區進行便利之按需網路存取的服務遞送之模型,該等可組態運算資源可藉由最少的管理工作或與服務提供者之互動而快速地佈建及釋放。此雲端模型可包括至少五個特性、至少三個服務模型及至少四個部署模型。
特性如下:
隨選自助服務:雲端消費者可在需要時自動單方面地佈建運算能力,諸如伺服器時間及網路儲存,而無需與服務提供者之人為互動。
廣泛網路存取:可經由網路獲得能力且經由標準機制存取能力,該等標準機制藉由異質精簡型或複雜型用戶端平台(例如,移動電話、膝上型電腦及PDA)促進使用。
資源集用:提供者之運算資源經集用以使用多租戶模型為多個消費者服務,其中根據需求動態地指派及重新指派不同的實體及虛擬資源。存在一種位置獨立感,此係因為消費者通常無法控制或瞭解所提供資源之確切位置,但可在較高抽象層級(例如,國家、州及/或資料中心)指定位置。
快速彈性:可快速且彈性地佈建能力(在一或多種狀況下,自動地)以迅速地擴展,且可快速地釋放能力以迅速地縮減。對於消費者而言,可用於佈建之能力可能看起來為無限的且可在任何時間以任何數量來購買。
量測服務:雲端系統藉由在適於服務類型(例如,儲存、處理、頻寬及/或作用中使用者帳戶)之一或多個抽象層級充分利用計量能力而自動控制及最佳化資源使用。可監視、控制及/或報告資源使用情況,從而為所利用服務之提供者及消費者兩者提供透明度。
服務模型如下:
軟體即服務(SaaS):提供給消費者之能力係使用在雲端基礎架構上運行之提供者之應用程式。可經由諸如網頁瀏覽器(例如,基於網頁之電子郵件)之精簡型用戶端介面自各種用戶端設備存取應用程式。消費者並不管理或控制包括網路、伺服器、作業系統、儲存器及/或個別應用程式能力之底層雲端基礎架構,其中可能的例外狀況為有限的使用者特定應用程式組態設定。
平台即服務(PaaS):提供給消費者之能力係將使用由提供者所支援之程式設計語言及工具建立的消費者建立或獲取之應用程式部署至雲端基礎架構上。消費者並不管理或控制包括網路、伺服器、作業系統及/或儲存器之底層雲端基礎架構,但控制所部署之應用程式及可能的代管環境組態之應用程式。
基礎架構即服務(IaaS):提供給消費者之能力係佈建處理、儲存、網路及/或其他基礎運算資源,其中消費者可部署及運行可包括作業系統及應用程式之任意軟體。消費者並不管理或控制底層雲端基礎架構,但控制作業系統、儲存器、所部署應用程式,及/或可能有限地控制選定網路連接組件(例如,主機防火牆)。
部署模型如下:
私有雲端:僅針對組織操作雲端基礎架構。私有雲端可由組織或第三方來管理且可存在於內部部署(on-premise)或外部部署(off-premise)。
社群雲端:雲端基礎架構由若干組織共用且支援具有共同關注事項(例如,任務、安全要求、政策及/或法規遵循性考量)的特定社群。社群雲端可由組織或第三方來管理且可存在內部部署或外部部署。
公共雲端:雲端基礎架構可用於公眾或大型工業集團且由出售雲端服務之組織所擁有。
混合雲端:雲端基礎架構為兩個或多於兩個雲端(私有、社群或公共)之組合物,該等雲端仍為唯一的實體,但藉由實現資料及應用程式可攜性之標準化或專屬技術系結在一起(例如,用於在雲端之間實現負載平衡的雲端爆發)。
雲端運算環境面向服務,集中於無狀態、低耦合、模組化及/或語義互操作性。雲端運算之核心在於包括互連節點之網路的基礎架構。
此外,非限制性系統100、300及/或400及/或實例操作環境1400可與以下各者相關聯及/或包括於以下各者中:資料分析系統、資料處理系統、圖形處理系統、大數據系統、社交網路系統、語音辨識系統、影像辨識系統、圖形模型化系統、生物資訊系統、資料壓縮系統、人工智慧系統、鑑認系統、語法圖案辨識系統、醫療系統、健康監測系統、網路系統、電腦網路系統、通信系統、路由器系統、伺服器系統、高可用性伺服器系統(例如,電信伺服器系統)、Web伺服器系統、檔案伺服器系統、資料伺服器系統、磁碟陣列系統、電動插入板系統、基於雲端的系統及/或其類似者。據此,非限制性系統100、300及/或400及/或實例操作環境1400可用於使用硬體及/或軟體來解決本質上高度技術性的問題,該等問題並非抽象的及/或無法作為人類之一組心理動作來執行。
現參考圖15處所示出之一或多個態樣之細節,描繪說明性雲端運算環境1550。如所展示,雲端運算環境1550包括一或多個雲端運算節點1510,雲端消費者所使用之本端運算裝置,諸如個人數位助理(PDA)或蜂巢式電話1554A、桌上型電腦1554B、膝上型電腦1554C及/或汽車電腦系統1554N,可與該一或多個雲端運算節點通信。儘管圖15中未示出,但雲端運算節點1510可進一步包含量子平台(例如,量子電腦、量子硬體、量子軟體及/或其類似者),雲端消費者所使用之本端運算裝置可與該量子平台通信。雲端運算節點1510可彼此通信。可在一或多個網路(諸如,如上文所描述之私有、社群、公共或混合雲端或其組合)中將該等節點實體地或虛擬地分組(未展示)。此情形允許雲端運算環境1550提供基礎結構、平台及/或軟體作為雲端消費者不需要在本端運算裝置上維護資源之服務。應理解,圖15中所展示之運算裝置1554A至1554N之類型意欲僅為說明性的,且雲端運算節點1510及雲端運算環境1550可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化裝置通信。
現參考圖16處所示出之一或多個態樣之細節,展示功能抽象層之集合1600,諸如由雲端運算環境1550 (圖15)提供。本文中所描述之一或多個實施例可與下文參看圖16所描述之一或多個功能抽象層(例如,硬體及軟體層1660、虛擬化層1670、管理層1680及/或工作負載層1690)相關聯,諸如可經由該一或多個功能抽象層存取。應事先理解,圖16中所展示之組件、層及/或功能僅意欲為說明性的且本文中所描述之實施例不限於此。如所描繪,提供以下層及/或對應功能:
硬體及軟體層1660可包括硬體及軟體組件。硬體組件之實例包括:大型電腦1661;基於精簡指令集電腦(RISC)架構之伺服器1662;伺服器1663;刀鋒伺服器1664;儲存裝置1665;及/或網路及/或網路連接組件1666。在一或多個實施例中,軟體組件可包括網路應用程式伺服器軟體1667、量子平台路由軟體1668;及/或量子軟體(圖16中未示出)。
虛擬化層1670可提供抽象層,可自該抽象層提供虛擬實體之以下實例:虛擬伺服器1671;虛擬儲存器1672;虛擬網路1673,其包括虛擬私有網路;虛擬應用程式及/或作業系統1674;及/或虛擬用戶端1675。
在一個實例中,管理層1680可提供下文所描述之功能。資源佈建1681可提供運算資源及可用以執行雲端運算環境內之任務之其他資源的動態採購。當在雲端運算環境內利用資源時,計量及定價1682可提供成本追蹤,及/或對此等資源之消耗之帳務處理及/或發票開立。在一個實例中,此等資源可包括一或多個應用程式軟體執照。安全性可為雲端消費者及/或任務提供身分驗證,以及保護資料及/或其他資源。使用者(或實體)入口網站1683可為消費者及系統管理者提供對雲端運算環境之存取。服務等級管理1684可提供雲端運算資源分配及/或管理使得滿足所需服務等級。服務等級協議(SLA)規劃及履行1685可為根據SLA預計未來要求之雲端運算資源提供預先配置及採購。
工作負載層1690可提供可利用雲端運算環境之功能性之實例。可自此層提供的工作負載及功能之非限制性實例包括:地圖繪製及導航1691;軟體開發及生命週期管理1692;虛擬教室教育遞送1693;資料分析處理1694;異動處理1695;及/或應用程式變換軟體1696。
本文中所描述之實施例可針對任何可能之技術細節整合層級處的系統、方法、設備及/或電腦程式產品中之一或多者。電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上具有電腦可讀程式指令以使處理器進行本文中所描述之一或多個實施例之態樣。電腦可讀儲存媒體可為有形裝置,其可持留及儲存指令以供指令執行裝置使用。電腦可讀儲存媒體可為例如但不限於電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置及/或前述各者之任何合適組合。電腦可讀儲存媒體之更特定實例之非詳盡清單亦可包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位化通用光碟(DVD)、記憶棒、軟碟、機械編碼裝置(諸如,上面記錄有指令之凹槽中的打孔卡或凸起結構)及/或前述各者之任何合適組合。如本文中所使用,不應將電腦可讀儲存媒體本身解釋為暫時性信號,諸如無線電波及/或其他自由傳播之電磁波、經由波導及/或其他傳輸媒體傳播之電磁波(例如,經由光纖纜線傳遞之光脈衝),及/或經由導線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別運算/處理裝置及/或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存裝置。網路可包含銅傳輸纜線、傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一運算/處理裝置中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別運算/處理裝置內之電腦可讀儲存媒體中。用於進行本文中所描述之一或多個實施例之操作的電腦可讀程式指令可為以一或多種程式設計語言之任何組合編寫的組譯器指令、指令集架構(ISA)指令、機器指令、機器相依指令、微碼、韌體指令、狀態設定資料、積體電路系統之組態資料及/或原始程式碼及/或目標程式碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者的物件導向式程式設計語言,及/或諸如「C」程式設計語言及/或類似程式設計語言的程序性程式設計語言。電腦可讀程式指令可完全在電腦上執行、部分地在電腦上執行、作為獨立套裝軟體執行、部分地在電腦上執行及/或部分地在遠端電腦上執行或完全在遠端電腦及/或伺服器上執行。在後一種情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)及/或廣域網路(WAN))連接至電腦,及/或可連接至外部電腦(例如,使用網際網路服務提供者經由網際網路)。在一或多個實施例中,包括例如可程式化邏輯電路系統、場可程式化閘陣列(FPGA)及/或可程式化邏輯陣列(PLA)之電子電路系統可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路系統而執行電腦可讀程式指令,以便執行本文中所描述之一或多個實施例之態樣。
本文中所描述之一或多個實施例之態樣係參考根據本文中所描述之一或多個實施例的方法、設備(系統)及電腦程式產品之流程圖說明及/或方塊圖進行描述。應理解,可藉由電腦可讀程式指令來實施流程圖說明及/或方塊圖中之每一區塊以及流程圖說明及/或方塊圖中之區塊之組合。可將此等電腦可讀程式指令提供至通用電腦、專用電腦及/或其他可程式化資料處理設備之處理器以產生機器,使得經由電腦或其他可程式化資料處理設備之處理器執行的指令可建立用於實施一或多個流程圖及/或方塊圖區塊中所指定之功能/動作的構件。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,該等指令可指導電腦、可程式化資料處理設備及/或其他裝置以特定方式起作用,使得儲存有指令之電腦可讀儲存媒體可包含製品,該製品包括可實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之態樣的指令。電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理設備及/或其他裝置上,以使一系列操作步驟在該電腦、其他可程式化設備及/或其他裝置上執行以產生電腦實施程序,使得在該電腦、其他可程式化設備及/或其他裝置上執行之指令實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖示出根據本文中所描述之一或多個實施例的系統、電腦可實施方法及/或電腦程式產品之可能實施方案的架構、功能性及/或操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、片段及/或部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一或多個替代實施方案中,區塊中所提到之功能可能不以諸圖中所提到之次序發生。舉例而言,取決於所涉及之功能性,依次展示的兩個區塊可實質上同時執行,及/或該等區塊有時可以相反次序執行。亦將注意,可藉由可執行指定功能及/或動作及/或進行專用硬體及/或電腦指令之一或多個組合的基於專用硬體之系統來實施方塊圖及/或流程圖說明之每一區塊,及/或方塊圖及/或流程圖說明中之區塊之組合。
雖然上文已在運行於一台電腦及/或多台電腦上之電腦程式產品的電腦可執行指令之一般上下文中描述主題,但熟習此項技術者將認識到,本文中之一或多個實施例亦可結合一或多個其他程式模組來實施。一般而言,程式模組包括執行特定任務及/或實施特定抽象資料類型之常式、程式、組件、資料結構及/或其類似者。此外,熟習此項技術者應瞭解,本發明之電腦實施方法可運用其他電腦系統組態來實踐,該等組態包括單處理器及/或多處理器電腦系統、小型運算裝置、大型電腦以及電腦、手持型運算裝置(例如,PDA、電話)、基於微處理器的或可程式化的消費型及/或工業電子裝置及/或其類似者。所說明態樣亦可在分佈式運算環境中實踐,其中任務係藉由經由通信網路鏈接之遠端處理裝置執行。然而,本文中所描述之一或多個實施例的一或多個(若非全部)態樣可在單獨電腦上實踐。在分佈式運算環境中,程式模組可位於本端及遠端記憶體儲存裝置兩者中。
如本申請案中所使用,術語「組件」、「系統」、「平台」、「介面」及/或其類似者可指及/或可包括電腦相關實體或與具有一或多個特定功能性之操作機器相關的實體。本文中所描述之實體可為硬體、硬體與軟體之組合、軟體,或執行中軟體。舉例而言,組件可為但不限於在處理器上執行之程序、處理器、物件、可執行檔、執行緒、程式及/或電腦。作為說明,在伺服器上運行之應用程式以及伺服器兩者均可為組件。一或多個組件可駐留於程序及/或執行緒內,且一組件可位於一台電腦上及/或分佈於兩台或多於兩台電腦之間。在另一實例中,各別組件可自上面儲存有各種資料結構的各種電腦可讀媒體執行。組件可諸如根據具有一或多個資料封包之信號經由本端及/或遠端程序進行通信(例如,來自一個組件之資料與本端系統、分佈式系統中之另一組件互動,及/或經由信號跨越諸如網際網路之網路而與其他系統互動)。作為另一實例,組件可為具有由電氣或電子電路系統操作之機械零件所提供之特定功能性的設備,該設備由處理器所執行之軟體及/或韌體應用程式來操作。在此情況下,處理器可在設備內部及/或外部且可執行軟體及/或韌體應用程式之至少一部分。作為又一實例,組件可為經由無機械零件之電子組件提供特定功能性的設備,其中電子組件可包括處理器及/或其他構件以執行至少部分地賦予電子組件之功能性的軟體及/或韌體。在一態樣中,組件可經由虛擬機仿真電子組件,例如在雲端運算系統內。
此外,術語「或」欲意謂包括性「或」而非排他性「或」。亦即,除非另外指定或自上下文顯而易見,否則「X使用A或B」欲意謂自然包括性排列中之任一者。亦即,若X使用A;X使用B;或X使用A及B兩者,則在前述情況中之任一者下皆滿足「X使用A或B」。此外,除非另外指定或自上下文顯而易見係針對單數形式,否則如在本說明書及隨附圖式中所使用之詞「一(a/an)」通常應解釋為意謂「一或多個」。如本文中所使用,術語「實例」及/或「例示性」用以意謂充當實例、例項或說明。為避免疑問,本文中所描述之主題不受此類實例限制。此外,本文中描述為「實例」及/或「例示性」之任何態樣或設計未必解釋為比其他態樣或設計較佳或有利,亦不意謂排除一般熟習此項技術者已知之等效例示性結構及技術。
如本說明書中所使用,術語「處理器」可實質上指任何運算處理單元及/或裝置,其包含但不限於單核處理器;具有軟體多執行緒執行能力之單處理器;多核處理器;具有軟體多執行緒執行能力之多核處理器;具有硬體多執行緒技術之多核處理器;並行平台;及/或具有分佈式共用記憶體之並行平台。另外,處理器可指積體電路、特殊應用積體電路(ASIC)、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、可程式化邏輯控制器(PLC)、複雜可程式化邏輯裝置(CPLD)、離散閘或電晶體邏輯、離散硬體組件,及/或其經設計以執行本文中所描述之功能的任何組合。另外,處理器可採用奈米級架構,諸如但不限於基於分子及量子點之電晶體、開關及/或閘,以便最佳化空間使用及/或增強相關設備之效能。處理器可實施為運算處理單元之組合。
在本文中,諸如「儲存區」、「儲存器」、「資料儲存區」、「資料儲存器」、「資料庫」以及與組件之操作及功能性相關的實質上任何其他資訊儲存組件的術語用以指「記憶體組件」、體現於「記憶體」中之實體或包含記憶體之組件。應瞭解,本文中所描述之記憶體及/或記憶體組件可為揮發性記憶體或非揮發性記憶體,或可包括揮發性記憶體及非揮發性記憶體兩者。作為說明而非限制,非揮發性記憶體可包括唯讀記憶體(ROM)、可程式化ROM (PROM)、電可程式化ROM (EPROM)、電可抹除ROM (EEPROM)、快閃記憶體及/或非揮發性隨機存取記憶體(RAM) (例如,鐵電RAM (FeRAM))。揮發性記憶體可包括RAM,其可充當例如外部快取記憶體。作為說明而非限制,RAM可以許多形式可用,諸如同步RAM (SRAM)、動態RAM (DRAM)、同步DRAM (SDRAM)、雙資料速率SDRAM (DDR SDRAM)、增強型SDRAM (ESDRAM)、同步鏈路(Synchlink)DRAM (SLDRAM)、直接Rambus RAM (DRRAM)、直接Rambus動態RAM (DRDRAM)及/或Rambus動態RAM (RDRAM)。另外,本文中之系統及/或電腦實施方法的所描述記憶體組件意欲包括但不限於包括此等記憶體及/或任何其他合適類型之記憶體。
上文已描述之內容僅包括系統及電腦實施方法之實例。當然,出於描述一或多個實施例之目的,不可能描述組件及/或電腦實施方法之每個可想到的組合,但一般熟習此項技術者可認識到,一或多個實施例之許多其他組合及/或排列係可能的。此外,在實施方式、申請專利範圍、附錄及附圖中使用術語「包括」、「具有」、「擁有」及其類似者的範圍內,此類術語意欲以類似於術語「包含」在申請專利範圍中用作過渡詞解譯「包含」之方式而為包括性的。
一或多個實施例之描述已出於說明之目的呈現,但不意欲為詳盡的或限於本文中所描述之實施例。在不脫離所描述實施例之範疇及精神的情況下,許多修改及變化對一般熟習此項技術者而言將顯而易見。本文中所使用之術語經選擇以最佳解釋實施例的原理、實際應用及/或對市場中發現之技術的技術改良,及/或使得其他一般熟習此項技術者能夠理解本文中所描述之實施例。
100:非限制性系統 102:請求促進系統 103:初始請求 104:記憶體 105:匯流排 106:處理器 107:服務組件 107A:最下游服務 108:服務組件 108A:最上游服務 200:交易 202:第二請求促進系統 204:記憶體 205:匯流排 206:處理器 207:服務組件 207A:服務 208:服務組件 208A:服務 220:箭頭 300:非限制性系統 302:第一請求促進系統 303:初始請求 304:電腦可讀記憶體 305:匯流排 306:處理器 308:服務組件 308A:服務 309:日誌組件 312:第二請求促進系統 314:記憶體 315:匯流排 316:處理器 318:服務組件 318A:服務 319:日誌組件 322:第三請求促進系統 324:記憶體 325:匯流排 326:處理器 328:服務組件 328A:服務 329:日誌組件 332:協定促進系統 334:記憶體 335:匯流排 336:處理器 350:協定 354:觀測組件 356:協定管理組件 358:第二服務組件 358A:服務 359:日誌組件 400:非限制性系統 500:通信圖 502:時間點 600:狀態圖 602:服務組件 604:通信 606:逾時 608:逾時 700:通信圖 800:方塊圖 900:圖 902:通信失敗 904:先前通信 906:遺失及/或未接收到之通信 908:重新發送通信 1000:圖 1002:通信失敗 1004:遺失及/或未接收到之通信 1006:重複通信 1100:圖 1130:圖 1160:圖 1200:非限制性電腦實施方法 1202:步驟 1204:步驟 1206:步驟 1208:步驟 1210:步驟 1212:步驟 1214:步驟 1220:延續三角形 1302:步驟 1304:步驟 1306:步驟 1308:步驟 1310:步驟 1400:操作環境 1402:電腦 1404:系統記憶體 1406:處理單元 1408:系統匯流排 1410:唯讀記憶體(ROM) 1412:隨機存取記憶體(RAM) 1414:內部硬碟驅動機(HDD) 1416:外部儲存裝置 1420:驅動機 1422:磁碟 1424:HDD介面 1426:外部儲存介面 1428:驅動機介面 1430:作業系統 1432:應用程式 1434:其他程式模組 1436:程式資料 1438:鍵盤 1440:觸控螢幕 1442:滑鼠 1444:輸入裝置介面 1446:監視器 1448:視訊配接器 1450:遠端電腦 1452:儲存器/遠端記憶體/儲存裝置 1454:區域網路(LAN) 1456:廣域網路(WAN) 1458:有線及/或無線通信網路介面或配接器 1460:數據機 1500:區塊圖 1510:雲端運算節點 1550:雲端運算環境 1554A:個人數位助理(PDA)或蜂巢式電話/運算裝置 1554B:桌上型電腦/運算裝置 1554C:膝上型電腦/運算裝置 1554N:汽車電腦系統/運算裝置 1600:功能抽象層之集合 1660:功能抽象層/硬體及軟體層 1661:大型電腦 1662:基於精簡指令集電腦(RISC)架構之伺服器 1663:伺服器 1664:刀鋒伺服器 1665:儲存裝置 1666:網路連接組件 1667:網路應用程式伺服器軟體 1668:量子平台路由軟體 1670:虛擬化層/功能抽象層 1671:虛擬伺服器 1672:虛擬儲存器 1673:虛擬網路 1674:作業系統 1675:虛擬用戶端 1680:管理層/功能抽象層 1681:資源佈建 1682:計量及定價 1683:使用者(或實體)入口網站 1684:服務等級管理 1685:服務等級協議(SLA)規劃及履行 1690:工作負載層/功能抽象層 1691:地圖繪製及導航 1692:軟體開發及生命週期管理 1693:虛擬教室教育傳遞 1694:資料分析處理 1695:交易處理 1696:應用程式變換軟體
圖1示出根據本文中所描述之一或多個實施例的促進關於處理交易之請求達成共識之程序的實例非限制性系統之方塊圖。
圖2示出根據本文中所描述之一或多個實施例的圖1之服務組件在交易中之次序的方塊圖。
圖3示出根據本文中所描述之一或多個實施例的包括相依拓樸之實例非限制性系統之另一方塊圖,該相依拓樸促進關於處理交易之請求達成共識的程序。
圖4示出根據本文中所描述之一或多個實施例的包括相依拓樸之實例非限制性系統之又一方塊圖,該相依拓樸促進關於處理交易之請求達成共識的程序。
圖5示出根據本文中所描述之一或多個實施例的由圖1之非限制性系統提供的圖3之交易之實例共識促進的流程圖。
圖6示出根據本文中所描述之一或多個實施例的狀態圖,該狀態圖為以圖解方式示出單個服務之實例可能訊息傳播及/或狀態的流程圖。
圖7示出根據本文中所描述之一或多個實施例的具有並行進行路徑之交易之實例共識促進的流程圖。
圖8示出根據本文中所描述之一或多個實施例的圖7之實例共識促進的另一方塊圖。
圖9示出根據本文中所描述之一或多個實施例的圖7之實例共識促進的又一方塊圖。
圖10示出根據本文中所描述之一或多個實施例的圖7之實例共識促進的再一方塊圖。
圖11示出根據本文中所描述之一或多個實施例的用於促進關於處理交易之請求達成共識之程序的邊車(sidecar)之實例使用的三個例示性方塊圖。
圖12示出根據本文中所描述之一或多個實施例的可促進關於處理交易之請求達成共識之程序的實例非限制性電腦實施方法之流程圖。
圖13示出根據本文中所描述之一或多個實施例的圖12之流程圖(其為可促進關於處理交易之請求達成共識之程序的實例非限制性電腦實施方法)的延續部分。
圖14示出可促進本文中所描述之一或多個實施例的實例非限制性操作環境之方塊圖。
圖15示出根據本文中所描述之一或多個實施例的實例非限制性雲端運算環境之方塊圖。
圖16示出根據本文中所描述之一或多個實施例的複數個實例非限制性抽象模型層之方塊圖。
1200:非限制性電腦實施方法
1202:步驟
1204:步驟
1206:步驟
1208:步驟
1210:步驟
1212:步驟
1214:步驟
1220:延續三角形

Claims (20)

  1. 一種請求促進系統,其包含:一處理器,其執行儲存於記憶體中之電腦可執行組件,其中該等電腦可執行組件包含:一服務組件,其:操作用於一交易之一服務,其中該交易之不同部分藉由一組服務組件之各別服務按一順序被操作,且該組服務組件包含該服務組件,以及實施一共識協定之一部分而判定關於一請求之一共識,該請求藉由僅與該組服務組件之一或多個其他服務組件通信與判定關於該請求之該共識相關聯之一或多個訊息以啟始該交易,該組服務組件之該一或多個其他服務組件按該順序操作緊接在該服務之上游或下游之一或多個其他服務。
  2. 如請求項1之請求促進系統,其中該服務組件回應於向下游寄送一訊息至按該順序緊接在下游之一第一服務組件,在寄送該服務組件之一投票至按該順序緊接在上游之一第二服務組件之前等待自該第一服務組件之一回應。
  3. 如請求項1之請求促進系統,其中該服務組件在不對該組服務組件之間的通信進行全域管理的情況下關於該請求達成共識。
  4. 如請求項1之請求促進系統,其中該一或多個訊息包含該請求、一投票或一最終決策之至少一者。
  5. 如請求項4之請求促進系統,其中該服務組件:朝向自該服務按該順序執行在下游之該等各別服務之一第一子集之該組服務組件之一第一子組傳播包含該請求或一或多個次要請求之一第一訊息;朝向自該服務按該順序執行在上游之該等各別服務之一第二子集之該組服務組件之一第二子組傳播包括一或多個投票之一第二訊息,以接受或中止該請求或該一或多個次要請求;且朝向該組服務組件之該第二子組傳播包含關於該共識的一最終決策之一第三訊息。
  6. 如請求項1之請求促進系統,其中該服務組件包含:一日誌組件,其針對該服務組件僅維護該服務組件所參與之訊息通信的一個別持久日誌。
  7. 如請求項1之請求促進系統,其中該等可執行組件進一步包含:一觀測組件,其促進一系統管理實體在該組服務組件之間的通信發生時觀測該等通信。
  8. 一種電腦實施方法,其包含:藉由可操作地耦接至一處理器的一系統之一服務組件操作用於一交易之一服務,其中該交易之不同部分藉由一組服務組件之各別服務按一順序被操作,且該組服務組件包含該服務組件,藉由該服務組件實施一共識協定之一部分以判定關於一請求之共識,該請求藉由僅與該組服務組件之一或多個其他服務組件通信與判定關於該請求之該共識相關聯之一或多個訊息以啟始該交易,該組服務組件之該一或多個其他服務組件按該順序操作緊接在該服務之上游或下游之一或多個其他服務。
  9. 如請求項8之電腦實施方法,其進一步包含:回應於向下游寄送一訊息至按該順序緊接在下游之一第一服務組件,在寄送該服務組件之一投票至按該順序緊接在上游之一第二服務組件之前藉由該服務組件等待自該第一服務組件之一回應。
  10. 如請求項8之電腦實施方法,其進一步包含:藉由該服務組件在不對該組服務組件之間的通信進行全域管理的情況下關於該請求達成共識。
  11. 如請求項8之電腦實施方法,其中該一或多個訊息包含該請求、一投票或一最終決策之至少一者。
  12. 如請求項11之電腦實施方法,其進一步包含:藉由該服務組件朝向自該服務按該順序執行在下游之該等各別服務之一第一子集之該組服務組件之一第一子組傳播包含該請求或一或多個次要請求之一第一訊息,藉由該服務組件朝向自該服務按該順序執行在上游之該等各別服務之一第二子集之該組服務組件之一第二子組傳播包含一或多個投票之一第二訊息,以接受或中止該請求或該一或多個次要請求,及藉由該服務組件朝向該組服務組件之該第二子組傳播關於該共識的一最終決策之一第三訊息。
  13. 如請求項8之電腦實施方法,其進一步包含:藉由該服務組件僅維護該服務組件所參與之訊息通信的一個別持久日誌。
  14. 如請求項8之電腦實施方法,其進一步包含:藉由該系統促進藉由一管理實體在該組服務組件之間的通信發生時觀測該等通信。
  15. 一種電腦程式產品,其促進關於用於執行一交易之一請求達成共識的一程序,該電腦程式產品包含一非暫態電腦可讀媒體,該電腦可讀儲存媒體具有藉由其體現之程式指令,該等程式指令可由一處理器執行以使該處理器進行以下操作:藉由一服務組件操作針對該交易之一服務,其中該交易之不同部分 藉由一組服務組件之各別服務按一順序被操作,且該組服務組件包含該服務組件;以及藉由該服務組件實施一共識協定之一部分以判定關於該請求之該共識,該請求藉由僅與該組服務組件之一或多個其他服務組件通信與判定關於該請求之該共識相關聯之一或多個訊息以執行該交易,該組服務組件之該一或多個其他服務組件按該順序操作緊接在該服務之上游或下游之一或多個其他服務。
  16. 如請求項15之電腦程式產品,其中該等程式指令可進一步由一處理器執行以使得該處理器進行以下操作:回應於向下游寄送一訊息至按該順序緊接在下游之一第一服務組件,在寄送該服務組件之一投票至按該順序緊接在上游之一第二服務組件之前藉由該服務組件等待自該第一服務組件之一回應。
  17. 如請求項15之電腦程式產品,其中該等程式指令可進一步由一處理器執行以使得該處理器進行以下操作:藉由該服務組件在不對該組服務組件之間的通信進行全域管理的情況下關於該請求達成共識。
  18. 如請求項15之電腦程式產品,其中該一或多個訊息包含該請求、一投票或一最終決策之至少一者。
  19. 如請求項18之電腦程式產品,其中該等程式指令可進一步由一處理 器執行以使得該處理器進行以下操作:藉由該服務組件朝向自該服務按該順序執行在下游之該等各別服務之一第一子集之該組服務組件之一第一子組傳播包含該請求或一或多個次要請求之一第一訊息,及藉由該服務組件朝向自該服務按該順序執行在上游之該等各別服務之一第二子集之該組服務組件之一第二子組傳播包含一或多個投票之一第二訊息,以接受或中止該請求或該一或多個次要請求;及藉由該服務組件朝向該組服務組件之該第二子集傳播包含關於該共識的一最終決策之一第三訊息。
  20. 如請求項15之電腦程式產品,其中該等程式指令可進一步由一處理器執行以使得該處理器進行以下操作:藉由該服務組件僅維護該服務組件所參與之訊息通信的一個別持久日誌。
TW111107911A 2021-08-04 2022-03-04 用於針對服務交易達成共識之請求促進 TWI802310B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/394,119 US11528197B1 (en) 2021-08-04 2021-08-04 Request facilitation for approaching consensus for a service transaction
US17/394,119 2021-08-04

Publications (2)

Publication Number Publication Date
TW202307688A TW202307688A (zh) 2023-02-16
TWI802310B true TWI802310B (zh) 2023-05-11

Family

ID=84426707

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111107911A TWI802310B (zh) 2021-08-04 2022-03-04 用於針對服務交易達成共識之請求促進

Country Status (4)

Country Link
US (1) US11528197B1 (zh)
JP (1) JP2023024357A (zh)
CN (1) CN115705256A (zh)
TW (1) TWI802310B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777815B1 (en) * 2022-03-02 2023-10-03 Servicenow, Inc. Techniques for dynamically configuring service availability

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201937379A (zh) * 2017-12-05 2019-09-16 美商敏捷棧公司 用於管理資料中心與雲端應用程式基礎架構之系統、方法及非暫態計算機可讀介質
US20190349426A1 (en) * 2016-12-30 2019-11-14 Intel Corporation The internet of things
CN110633247A (zh) * 2018-06-25 2019-12-31 国际商业机器公司 利用物联网环境的认知计算系统和服务
CN112527725A (zh) * 2019-09-19 2021-03-19 百度(美国)有限责任公司 用于边缘计算的分布式基础设施和移动架构
US20210184833A1 (en) * 2019-12-13 2021-06-17 DLT Global Inc. Blockchain transaction manager

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478400B1 (en) 2003-12-31 2009-01-13 Symantec Operating Corporation Efficient distributed transaction protocol for a distributed file sharing system
US7257605B2 (en) 2004-02-09 2007-08-14 International Busniess Machines Corporation System for heterogeneous distributed transaction management in database systems
US8380679B2 (en) 2008-02-11 2013-02-19 Infosys Technologies Limited Method of handling transaction in a service oriented architecture environment
GB2472620B (en) 2009-08-12 2016-05-18 Cloudtran Inc Distributed transaction processing
US8356007B2 (en) 2010-10-20 2013-01-15 Microsoft Corporation Distributed transaction management for database systems with multiversioning
US8442962B2 (en) 2010-12-28 2013-05-14 Sap Ag Distributed transaction management using two-phase commit optimization
US10296371B2 (en) 2014-03-17 2019-05-21 International Business Machines Corporation Passive two-phase commit system for high-performance distributed transaction execution
EP3326065B1 (en) 2015-07-23 2023-05-31 Telefonaktiebolaget LM Ericsson (publ) Leaderless consistency protocol
US10083201B2 (en) 2015-09-22 2018-09-25 Walmart Apollo, Llc System for maintaining consistency across a decentralized database cluster and method therefor
US10025346B2 (en) 2015-12-09 2018-07-17 Red Hat, Inc. Timestamp alignment across a plurality of computing devices
US10235440B2 (en) 2015-12-21 2019-03-19 Sap Se Decentralized transaction commit protocol
US10572510B2 (en) 2015-12-21 2020-02-25 Sap Se Distributed database transaction protocol
US10379775B2 (en) 2016-06-28 2019-08-13 Vmware, Inc. Notification service in a decentralized control plane of a computing system
US10666495B2 (en) 2017-08-22 2020-05-26 International Business Machines Corporation Transaction processing
US20210319436A1 (en) * 2018-04-24 2021-10-14 Duvon Corporation Autonomous exchange via entrusted ledger wallet administration tool
US11899817B2 (en) * 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11431486B2 (en) * 2019-05-22 2022-08-30 Salesforce.Com, Inc. System or method to implement consensus on read on distributed ledger/blockchain
US11126593B2 (en) * 2019-06-15 2021-09-21 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
US20200394648A1 (en) * 2019-06-15 2020-12-17 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
US20210099313A1 (en) * 2019-09-26 2021-04-01 Here Global B.V. Method, apparatus, and system for providing a consent management system on a crytographic ledger
KR20220100971A (ko) * 2019-11-26 2022-07-18 제우 테크놀로지스, 인크. 데이터베이스 애플리케이션들을 블록체인 애플리케이션들로 변환하는 방법 및 시스템
US11824970B2 (en) * 2020-01-20 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
US11611560B2 (en) * 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190349426A1 (en) * 2016-12-30 2019-11-14 Intel Corporation The internet of things
TW201937379A (zh) * 2017-12-05 2019-09-16 美商敏捷棧公司 用於管理資料中心與雲端應用程式基礎架構之系統、方法及非暫態計算機可讀介質
CN110633247A (zh) * 2018-06-25 2019-12-31 国际商业机器公司 利用物联网环境的认知计算系统和服务
CN112527725A (zh) * 2019-09-19 2021-03-19 百度(美国)有限责任公司 用于边缘计算的分布式基础设施和移动架构
US20210184833A1 (en) * 2019-12-13 2021-06-17 DLT Global Inc. Blockchain transaction manager

Also Published As

Publication number Publication date
CN115705256A (zh) 2023-02-17
US11528197B1 (en) 2022-12-13
JP2023024357A (ja) 2023-02-16
TW202307688A (zh) 2023-02-16

Similar Documents

Publication Publication Date Title
US20190378016A1 (en) Distributed computing architecture for large model deep learning
JP7049300B2 (ja) 顧客コミュニケーションおよびワークフローを管理するインテリジェント仮想エージェント
US20200074347A1 (en) Suggestion and Completion of Deep Learning Models from a Catalog
US11409564B2 (en) Resource allocation for tuning hyperparameters of large-scale deep learning workloads
TWI802310B (zh) 用於針對服務交易達成共識之請求促進
US20170161301A1 (en) Generation of graphical maps based on text content
US11736423B2 (en) Automated conversational response generation
CN112528678A (zh) 基于上下文信息的对话系统
WO2023051527A1 (en) Transformation of data from legacy architecture to updated architecture
US20240020569A1 (en) Dynamic adaptive thresholding for qubit reset
US20230012699A1 (en) Uncertainty aware parameter provision for a variational quantum algorithm
US20230186145A1 (en) Knowledge augmented sequential decision-making under uncertainty
EP4392908A1 (en) Providing a machine learning model based on desired metric values
US20220358182A1 (en) Scalable error mitigation
US20220044766A1 (en) Class-dependent machine learning based inferences
JP2023543704A (ja) 機械学習を用いたシフトレフトトポロジ構築および情報拡張
US20230208761A1 (en) Ai-based compensation of resource constrained communication
US12020117B2 (en) Enhanced quantum circuit operation via a universally implementable 4X4 unitary matrix decomposition
US12015397B2 (en) High connectivity parametric gate
US20230229812A1 (en) Ai-assisted compliance mapping
WO2023109134A1 (en) Quantum circuit buffering
US11990949B2 (en) Radio frequency signal integrity verification
US20220374747A1 (en) Updating of a statistical set for decentralized distributed training of a machine learning model
US20240054375A1 (en) Circuit reduction for exponentials of pauli operators
US20230169252A1 (en) Quantum logic circuit qubit layouts