TW201203934A - Message broadcasting in a clustered computing environment - Google Patents
Message broadcasting in a clustered computing environment Download PDFInfo
- Publication number
- TW201203934A TW201203934A TW100117862A TW100117862A TW201203934A TW 201203934 A TW201203934 A TW 201203934A TW 100117862 A TW100117862 A TW 100117862A TW 100117862 A TW100117862 A TW 100117862A TW 201203934 A TW201203934 A TW 201203934A
- Authority
- TW
- Taiwan
- Prior art keywords
- message
- single node
- computing environment
- listeners
- nodes
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012384 transportation and delivery Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 abstract description 7
- 230000004044 response Effects 0.000 abstract description 4
- 238000012790 confirmation Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 15
- 238000007726 management method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000030279 gene silencing Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/308—Route determination based on user's profile, e.g. premium users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/234—Monitoring or handling of messages for tracking messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Description
201203934 六、發明說明: 【發明所屬之技術領域】 本發明大體上係關於叢集計算環境(諸如,雲端計算環 境(Cloud computing environment))。特定言之,本發明係 關於在叢集計算環境内之訊息廣播。 【先前技術】 發佈/訂用傳訊(messaging)為一種用於向許多接聽者 (listener)散佈訊息之有效方法。當需要支援橫越許多接聽 者(例如,橫越叢集計算環境)之傳訊時,此方法係理想 的。然而,在許多叢集計算環境中,提供具有實質上相同 或相似軟體實作(software impiementati〇n)之多個異質節 點。在典型傳訊做法中,將向所有或許多此類節點遞送一 給定訊息。接收一訊息之每一節點接著將處理該訊息且向 適用接聽者發佈該訊息。此類重複經常導致遞送多個實質 上相同訊息(例如,向同一接聽者)。此外,此類處理所需 要之資源的消耗不必要地高。 【發明内容】 一般而言,本發明之實施例提供在一叢集計算環境(諸 如,一雲端計算環境)内之訊息廣播。特定言之,根據本 發明,將一訊息接收於一訊息佇列(例如,在一訊息佇列 伺服器上)中。自該訊息佇列,向在該叢集計算環境内之 複數個異質節點中之一單一節點發送該訊息。可基於任何 因素(諸如,在該複數個節點内之一最佳可用節點)來選取 該單一節點。此單一節點將處理該訊息且識別應被廣播該 Λ息之一訊息接聽者集合。通常,基於該訊息之一主題及 156300.doc 201203934 該主題與該矾息接聽者集合之一關聯(例如,如在—表格 或其類似者中所闡述)來識別該訊息接聽者集合。在任何 隋兄下該單一節點接著將向該訊息接聽者集合發佈該訊 心接著將藉由該單一節點來追蹤、處理及/或路由與該 訊息相關聯之遞送確認、回應,等等。因此,本發明之實 施例消除對於必須向多個節點遞送一給定訊息及/或藉由 該多個節'點來處理該、給s訊息之需要。 本發明之一第一態樣提供一種用於在一叢集計算環境中 之訊息廣播之方法,該方法包含:將一訊息接收於一訊息 佇列中’自該叢集計算環境中之複數個節點選取一單一節 點;在該單一節點上處理該訊息;使用該單一節點而基於 該訊息之一主題來識別用以接收該訊息之一訊息接聽者集 合;及自該單一節點向該訊息接聽者集合廣播該訊息。 本發明之一第二態樣提供一種用於在一叢集計算環境中 之訊息廣播之系統,該系統包含:一匯流排;一處理器, 其麵接至該匯流排;及一記憶體媒體,其耦接至該匯流 排’該記憶體媒體包含用以進行以下動作之指令:將一訊 息接收於一訊息佇列中;自該叢集計算環境中之複數個節 點選取一單一節點;在該單一節點上處理該訊息;使用該 單一節點而基於該訊息之一主題來識別用以接收該訊息之 一訊息接聽者集合;及自該單一節點向該訊息接聽者集合 廣播該訊息。 本發明之一第三態樣提供一種用於在一叢集計算環境中 之訊息廣播之電腦程式產品,該電腦程式產品包含:一電 腦可讀儲存媒體;及程式指令,其儲存於該電腦可讀儲存 156300.doc 201203934 媒體上,該等程式指令係用以:將一訊息接收於一訊息佇 列中,自该叢集計算環境中之複數個節點選取一單一節 點;在該單一節點上處理該訊息;使用該單一節點而基於 該訊息之一主題來識別用以接收該訊息之一訊息接聽者集 合;及自該單一節點向該訊息接聽者集合廣播該訊息。 本發明之一第四態樣提供一種用於部署用於在一叢集計 算環境中之訊息廣播之一系統的方法,該方法包含提供具 有功忐性之一電腦基礎結構,該功能性係用以:將一訊息 接收於一訊息佇列中;自該叢集計算環境中之複數個節點 選取一單一節點;在該單一節點上處理該訊息;使用該單 一節點而基於該訊息之一主題來識別用以接收該訊息之一 λ息接聽者集合;卩自該單一節點向該訊息接聽者集合廣 播該訊息。 【實施方式】 自結合隨附圖式所進行的本發明之各種態樣之以下詳細 描述,將更易於理解本發明之此等及其他特徵。 該等圖式未必按比例^該等圖式僅僅為示意性表示,其 不意ϋ田寫本發明之特定參數。該等圖式意欲僅描繪本發 明之典型貫施例,且因此不應被視為限制本發明之範疇。 在該等圖式中,類似編號表示類似元件。 出於便利起見,[實施方式]具有以下章節: ι_雲端計算定義 II.本發明之實施例之詳細實施 I·雲端計算定義 應預先理解,儘管本發明包括關於雲端計算之詳細描 述,但本文中所敍述之教示的實施不限於雲端計算環境。 156300.doc 201203934 實情為’本發明之實施例能夠結合現在已知或以後開發的 任何類型之叢集計算環境予以實施。 在任何情況下,以下定義係引自2009年1〇月7曰之peter Mell及Tim如⑽的「Draft順丁 w〇rking⑽仏⑹
Clcnul Computing」,其在同此申請之ms上被引用且其複 本附加於此處。 雲端計算為用於啟用對可組態計算資源(例如,網路、 飼服器、儲存體、應用程式及服務)之共用集區之便利隨 選網路存取的模型,該等可組態計算資源可以最小管理努 力或服務提供者互動而得讀速地佈建(Pn)visiGning)及釋 放。此雲端模型促進可用性,且包含至少五個特性、至少 三個服務模型及至少四個部署模型。 特性如下: 隨選自助服務(On-demand self-service):消費者可在不 焦要與每一服務之提供者進行人力互動的情況下自動地根 據需要而單方面地佈建計算能力(諸如,伺服器時間及網 路儲存體 廣泛網路存取(Broad network access):能力在網路上係 可用的,且經由標準機制而存取該等能力,該等標準機制 促進由異質精簡型用戶端平台或複雜型用戶端平台(例 如,行動電話、膝上型電腦及PDA)所進行之使用。 資源集區共用(Resource p〇〇ling):使用多租用戶模型而 對提供者之計算資源進行集區共用以伺服多個消費者,其 中不同實體資源及虛擬資源係根據消費者需求予以動態地 156300.doc 201203934 指派及重新指派。存在位置獨立性之意義,此在於:消費 者通常不具有對已提供資源之確切位置的控制或知識,但 可能能夠指定在較高抽象層級(例如,國家、州或資料中 心)處之位置。資源之實例包括儲存體、處理、記憶體、 網路頻寬及虛擬機器。 快速彈性(Rapid elasticity):可快速地且彈性地(在一些 狀況下,自動地)佈建能力以快速地向外延展(scale 〇ut), 且可快速地釋放該等能力以快速地向内縮回(scale丨幻。對 於消費者而言,可用於佈建之能力經常顯現為無限制的且 可在任何時間以任何量予以購買。 量測服務(Measured service):雲端系統藉由在適於服務 類型(例如,儲存體、處理、頻寬及作用中使用者帳戶)之 某抽象層級處充分利用計量能力而自動地控制及最佳化資 源使用。可監視、控制及報告資源使用率,從而向已利用 服務之提供者及消費者均提供透明度。 服務模型如下: (Cloud software as a Service, SaaS): 提供給消費者之能力係使用在雲端基礎結構上執行的㈣ 者之應用程式。可經由精簡型用戶端介面(諸如, 器(例如,以Web為基礎之電子郵件))而自各種用戶端器令 存取5亥等應用程式。消費者不營理丨士 有+官理或控制底層雲端基礎裔 構(包括網路、祠服器、作章系站、她—_ 系糸統儲存體,或甚至個另| 應用程式能力),其中可能的例外Α Α j r马又限使用者特定應用 程式組態設定。 156300.doc
S 201203934 农端平台代管服務(Cloud Platform as a Service,PaaS): 提仏給4費者之能力係部署至使用由提供者所支援之程式 設計語言及工具所建立的雲端基礎結構消f者建立或取得 之應用程式上。消費者不管理或控制底層雲端基礎結構 (包括網路、伺服器、作業系統或儲存體),但具有對已部 署應用程式及(可能地)應用程式主控環境組態之控制。 雲端基礎結構代管服務(cl〇ud Infrastructure as &
Service,iaaS):提供給消費者之能力係在消費者能夠部署 及執行任意軟體(其可包括作業系統及應用程式)時佈建處 理、儲存體、網路及其他基本計算資源。消費者不管理或 控制底層雲端基礎結構,但具有對作業系統、儲存體、已 部署應用程式之控制,且可能地具有對選取網路連接組件 (例如’主機防火牆)之受限控制。 部署模型如下: 私人雲端(Private Cloud):雲端基礎結構係單獨地針對 一組織予以操作。該雲端基礎結構可藉由該組織或第三方 管理且可存在於現場内或現場外。 社群雲端(Community Cloud):雲端基礎結構為若干組織 所共用且支援具有共用關注(例如,使命、安全性要求、 原則及法務遵循考量)之特定社群❶該雲端基礎結構可藉 由該等組織或第三方管理且可存在於現場内或現場外。 公用雲端(Public Cloud):雲端基礎結構被使得可用於公 眾或大型工業群組且為銷售雲端服務之組織所擁有。 混合雲端(Hybrid Cloud):雲端基礎結構為兩個或兩個 156300.doc 201203934 以上雲端(私人、社群或公用)之綜合,該等雲端保持獨特 實體,但藉由啟用資料及應用程式攜帶性之標準化或專屬 技術(用於雲端之間負載平衡之雲端爆發(cl〇ud buming)) 而繫結在一起。 雲端計算環境為定向致力於無國界、低耦合、模組性及 語意互通性之服務。 II.本發明之實施例之詳細實施 如上文所指示,本發明之實施例提供在一叢集計算環境 (諸如,一雲端計算環境)内之訊息廣播。特定言之,根據 本發明,將一訊息接收於一訊息佇列(例如,在一訊息佇 列伺服器上)中。自該訊息佇列,向在該叢集計算環境内 之複數個異質節點中之一單一節點發送該訊息。可基於任 何因素(諸如,在該複數個節點内之一最佳可用節點)來選 取該單一節點。此單一節點將處理該訊息且識別應被廣播 該訊息之一訊息接聽者集合。通常,基於該訊息之一主題 及該主題與該訊息接聽者集合之一關聯(例如,如在一表 格或其類似者中所闡述)來識別該訊息接聽者集合。在任 何情況T,該單一節點接著將向該m息接聽者集合發佈該 訊息。接著將藉由該單一節點來追蹤、處理及/或路由與 該訊息相關聯之遞送確認、回應,等等。因此,本發明之 實施例消除對於必須向多個節點遞送一給定訊息及/或藉 由該多個節點來處理該給定訊息之需要。 現在參看圖1,展示例示性雲端計算節點之示意圖。雲 端計算節點10僅為合適雲端計算節點之一實例且不意欲暗 156300.doc •10- 201203934 不關於本文中所描述的本發明之使用或功能性範疇的任何 限制°無論如何,雲端計算節點ίο能夠被實施及/或執行 在上述章節I中所闡述之功能中之任一者。 在雲端計算節點10中,存在電腦系統/伺服器12,電腦 系統/伺服器12係以眾多其他一般用途或特殊用途計算系 統環境或組態進行操作。可適於供電腦系統/伺服器以使 用之熟知計算系統、環境及/或組態之實例包括(但不限於) 個人電腦系統、伺服器電腦系統、精簡型用戶端' 複雜型 用戶端+持型或膝上型器件、多處理器系統、以微處理 器為基礎之系統、視訊轉換器、可程式化消費型電子裝 置,周路PC、迷你電腦系統、大型主機電腦系統,及包括 述系’先或H件及其類似者中之任—者的分散式雲端計算 環境。 可在藉由電腦系統執行之電腦系統可執行指令(諸如, 程式模組)的—以m巾描料«統/伺服器12。通 常,程式模組包括執行特定任務或實作特定抽象資料類型 之吊式程式、物件、組件、邏輯、資料結構,等等。可 路而連結之遠端處理器件執行任務的分 狀式…“境中實踐例示性電腦系統/ 純式雲端計算環境中,程式模組可位於包括記憶體= 中。 料統料媒體 如圖!所示,以一般用途計算器件之形式展 山 舁節點10中之電腦系統/飼服以 …十 电細糸統/伺服器12之 156300.doc 201203934 組件可包括(但不限於)一或多個處理器或處理單元丨6、系 統記憶體28及匯流排18,匯流排18將包括系統記憶體。之 各種系統組件耦接至處理器16。 匯流排18表示若干類型之匯流排結構中之任何類型中的 一或多個匯流排結構,包括記憶體匯流排或記憶體控制 器、周邊匯流排、加速圖形埠,及使用各種匯流排架構中 之任一者的處理器或本端匯流排。藉由實例而非限制,此 類架構包括工業標準架構(ISA)匯流排、微通道架構(mca) 匯流排、增強型ISA(EISA)匯流排、視訊電子標準協會 (VESA)本端匯流排,及周邊組件互連(pci)匯流排。 電腦系統/伺服器12通常包括各種電腦系統可讀媒體。 此類媒體可為可藉由電腦系統/伺服器12存取之任何可用 媒體,且其包括揮發性媒體及非揮發性媒體以及可抽換式 媒體及不可抽換式媒體。 系統記憶體28可包括呈揮發性記憶體(諸如,隨機存取 記憶體(RAM)30及/或快取記憶體32)之形 < 的電腦系統可 讀媒體。電腦系統/籠!i12可進-步包括其他可抽換式/ 不可抽換式電腦系統儲存媒體及揮發性/非揮發性電腦系 統儲存媒體。僅藉由實例,可提供用於自不可抽換式非揮 發性磁性媒體(未㈣且通常被稱作「硬碟機」)進行讀取 及向該不可抽換式非揮發性磁性媒體進行寫入之儲存系統 34。儘管未圖示,但可提供用於自可抽換式非揮發性磁碟 (例如,「軟碟」)進行讀取及向該可抽換式非揮發性磁碟進 行寫入之磁碟機,及用於自可抽換式非揮發性光碟(諸 I56300.doc
S 201203934 如,CD-ROM、DVD-ROM或其他光學媒體)進行讀取或向 該可抽換式非揮發性光碟進行寫入之光碟機。在此類例項 中,每一例項可藉由一或多個資料媒體介面而連接至匯流 排1 8。如下文將進一步描繪及描述,記憶體可包括至 一程式產品,該至少一程式產品具有經組態以實行本發明 之功能的程式模組集合(例如,至少一程式模組)。 電腦可4媒體可為電腦可讀信號媒體或電腦可讀儲存媒 體。電腦可讀儲存媒體可為(例如(但不限於))電子、磁 性、光學、電磁、紅外線或半導體系統、裝置或器件,或 前述各者之任何合適組合。電腦可讀儲存媒體之更特定實 例(非詳盡清單)將包括以下各者:具有—或多個導線之電 連線、攜帶型電腦磁片、硬碟、隨機存取記憶體(ram)、
唯讀記憶體(ROM)、T抹除可程式化唯讀記憶體(EpR〇M 或Flash記憶體)、光纖、攜帶型光碟唯讀記憶體(cd_ ROM)、光學儲存器件、磁性儲存器卩,或前述各者之任 何合適組合。在此文件之内容背景中,電腦可讀儲存媒體 可為可含有或儲存供指令執行系統、裝置或器件使用或結 合指令執行系統、裝置或器件而使用之程式的任何有形媒 體。 ' ‘電腦可讀信號媒體可包括經體現有電腦可讀程式碼之傳 播資料信號(例如’以基頻或作為載波之部分此類傳播 信號可採取各種形式令之任一者,包括(但不限於)電磁、 光學或其任何合適組合。電腦可讀信號媒體可為並非電腦 可讀儲存媒體且可傳達、傳播或傳輸供指令執行系統、裝 156300.doc 201203934 置或器件使用或結合指令執行系统、裝置或器件而使用之 程式的任何電腦可讀媒體。 可使用包括(但不限於)無線、有線、光纖纜線、射頻 (RF)等等或前述各者之任何合適組合來傳輸體現於電腦可 讀媒體上之程式碼。 藉由實例而非限制,具有程式模組42集合(至少一程式 模組42)之程式/公用程式40可儲存於記憶體28以及作業系 統 或多個應用程式、其他程式模組及程式資料中。作 業系統、一或多個應用程式、其他程式模組及程式資料中 之每一者或其某種組合可包括一網路連接環境之實施。程 式模組42通常實行如本文中所描述的本發明之功能及/或 方法。 電腦系統/伺服器12亦可與一或多個外部器件丨4(諸如, 鍵盤、指標器件、顯示器24,等等)通信;與使得使用者 月b夠與電腦系統/伺服器丨2互動之一或多個器件通信;及/ 或與使得電腦系統/伺服器12能夠與一或多個其他計算器 件通信之任何器件(例如,網路卡、數據機,等等)通信。 此類通信可經由I/O介面22而發生。另外,電腦系統/伺服 器12可經由網路配接器2〇而與一或多個網路(諸如,區域 網路(LAN)、一般廣域網路(WAN)及/或公用網路(例如,網 際網路))通信。如所描繪,網路配接器2〇經由匯流排丨8而 與電腦系統/伺服器丨2之其他組件通信。應理解,儘管未 圖示’但可結合電腦系統/伺服器12來使用其他硬體及/或 軟體組件。實例包括(但不限於):微碼、器件驅動器、冗 156300.doc 201203934 餘處理單元、外部磁碟機陣列、RAID系,统、磁帶機,及 資料封存儲存系統,等等。 現在參看圖2,描繪說明性雲端計算環境5〇。如所展 =,雲端計算環境5〇包含一或多個雲端計算節點1〇,計算 器件(諸如,個人數位助理(PDA)或蜂巢式電話54A、桌上 型電腦54B、膝上型電腦“(^及/或汽車電腦系統54N)與該 或多個雲端計算節點10通信。此情形允許將基礎結構、 平台及/或軟體自雲端計算環境5〇提供為服務(如上文在章 節Ϊ中所描述)’使得每一用戶端不必分離地維護此類資 源。應理解’圖2所示之計算器件54A至54N之類型僅意欲 係說明性的’且雲端計算環境5〇可在任何類型之網路及/ 或網路/可定址連線上與任何類型之電腦化器件通信(例 如,使用web瀏覽器)。 現在參看圖3 ’展示藉由雲端計算環境50(圖2)提供之功 能抽象層集合。應預先理解,圖3所示之組件、層及功能 僅意欲係說明性的,且本發明不限於此情形。如所描繪, 提供以下層及對應功能: 硬體及軟體層60包括硬體及軟體組件。硬體組件之實例 包括大型主機。在一實例中,以IBM® zSeries®系統及 RISC(精簡指令集電腦)架構為基礎之伺服器。在一實例 中,IBM pSeries® 系統;IBm xSedes® 系統;IBM BladeCenter®系統;儲存器件;網路;及網路連接組件。 軟體組件之實例包括網路應用程式伺服器軟體。在一實例 中’ IBM WebSphere®應用程式伺服器軟體及資料庫軟 156300.doc •15· 201203934 體。在一實例中,IBM DB2®資料庫軟體。(IBM、 zSeries、pSeries、xSeries、BladeCenter、WebSphere 及 DB 2為在美國、其他國家或此兩者的國際商用機器公司 (International Business Machines Corporation)之商標)。 虛擬化層62提供一抽象層,自該抽象層可提供以下例示 性虛擬實體:虛擬伺服器;虛擬儲存體;虛擬網路,包括 虛擬私人網路;虛擬作業系統;虛擬應用程式;及虛擬用 戶端。 管理層64提供下文所描述之例示性功能。資源佈建 (Resource Provisioning)提供用以在雲端計算環境内執行任 務之計算資源及其他資源的動態採購。計量及定價提供隨 著在雲端計算環境内利用資源而追蹤之成本,及針對此等 資源之消耗的帳單或發票。在一實例中,此等資源可包含 應用程式軟體授權。安全性提供針對消費者/使用者及任 務之身分識別驗證,以及針對資料及其他資源之保護。使 用者入口向使用者及系統管理員兩者提供對雲端計算環境 之存取。服務等級管理提供雲端計算資源分派及管理,使 得滿足所需服務等級。服務等級協議(SLA)計劃及履行提 供針對根據SLA被預期未來要求之雲端計算資源的預配置 及其採購。 工作負載層66提供利用雲端計算環境所實現之功能性。 可自此層提供之工作負载及功能之實例包括:映射及導 覽;軟體開發及生命週期管理;虛擬教室教育遞送;資料 分析處理;交易處理;及訊息廣播》如上文所提及,關於 156300.doc -16 - 201203934 圖3所描述之所有前述實例均僅係說明性的,且本發明不 限於此等實例。 應理解’如本文中所描述的本發明之所有功能通常均係 藉由訊息廣播功能執行’該訊息廣播功能可有形地體現為 程式/公用程式40之程式碼模組42(圖1)。 應重申,儘管本發明包括關於雲端計算之詳細描述,但 本文中所敍述之教示的實施不限於雲端計算環境。實情 為,本發明之實施例意欲以現在已知或以後開發的任何類 型之叢集計算環境予以實施^ 用於縮放應用程式之主要設計型樣中之一者係具有執行 相同功能之實質上相同之節點。區分程式碼保持相同的類 似節點為應用此型樣之任何人所面臨的挑戰,且因而,該 問題之解決方案具有可觀價值。本發明之實施例提供一種 用於藉由在其他方面實質上相同之節點之叢集中進行僅僅 -次遞达來執行局域化訊息發佈/訂用的解決方案。此情 形允許在-叢集之每—節點處存在—對多傳訊,但該一對 多傳訊具有訊息之局域化(亦即,該訊息係在單—節點處 被處理)。 雲端計算環境可包括至少三個部分:豐富web體驗;商 務服務:及雲端管理系統。本發明之實施例可提供一種非 5步'去且因而’需要遞送豐富web體驗及商務系統可 利用的來自雲端管理純之事件。web制程式組件可以 ^複製。。方式(其中多個相似節點提供針對請求之服務)進 灯縮放。—次僅藉由—個節點來處置根據本發明之實施例 156300.doc 17 201203934 的事件處理。换 如,「成 1而言,若在雲端資源上更新狀態(例 資訊。事實上::不需要藉由叢集令之每-節點來處理彼 處理該m ’右藉由每一節點(潛在地由許多消費者)來 了^則可能會發生不良效應1 了使得此模型 = 息需要到達一叢集中之任-節點且接著向該節 背景進行局域廣播,且接著由尋找彼等訊息之任 ㈣料㈣費。此情形意謂訊息「成功」可觸發許多動 作’但在事先無實際區分之情況下被局域化至一節點而非 该叢集。本發明之實施例以與具有在一叢集中之類似節點 之系統相似的方式進行部署及縮放,但藉由進行僅僅一次 遞送來支援局域化廣播傳訊。 現在參看圖4 ’將更詳細地描述此等概念。如所描输, 訊息發佈者80A至娜集合(至少一訊息發佈者)可向訊息仔 列飼服器82之仵列83發佈訊息。根據本發明之-實施例, m宁列伺服器82將自複數個類似/異f節點84A至剛(出 於說明性目的而亦被稱作訊息消費者84八至8仰)選取單一 節點(例如’節點84A)。在一典型實靖,節點84A至 84N為諸如應用程式伺服器之電腦化器件。在此程度上, 節點84A至84N通常具有實作於其上之相似或實質上相同 之軟體。在任何情況下,藉由訊息佇列伺服器82自複數個 節點84A至84N選取單一節點(例如,節點84A)可基於任何 方法。舉例而言,該選取可基於輪流(next_in_Une)或循環 (round-robin)方式。或者,特定節點之選取可基於最佳可 用節點(例如,具有最多可用資源之節點)。無論如何,在 156300.doc •18· 201203934 此實例中假定選取節點84A,則將自訊息佇列83僅向節點 84A發送訊息。 旦接收到該訊息,節點84A隨即將處理該訊息且識別 應被廣播該δίΐ息之讯息接聽者集合。在一典型實施例_, 基於sil息之主題來識別接聽者集合。亦即,—旦確定訊息 之主題,隨即存取主題與對應訊息接聽者之關聯(例如, 表格或其類似者)8 6且使用關聯(例如,表格或其類似者)$ 6 以確定應接收該訊息之訊息接聽者。一旦確定此情形,隨 即將向彼寺sfl息接聽者90A至90B廣播訊息。訊息之廣播 可直接自節點84A發生,或藉由充分利用廣播組件88A至 88N而發生。在發佈訊息時,節點84a可執行所有處理功 能而不需要藉由其他節點之重複。沿著此等線,節點84A 將追縱訊息之遞送、處理及路由任何回應,等等。如圖4 所示,當向單一節點84A發送訊息時,不需要使節點 84N、sfL息廣播功能88N或訊息接聽者90C至90N參與該程 序(除非需要其參與)。此情形允許向僅僅一個節點84A遞 送訊息及處理該訊息。 藉由圖5之方法流程圖來進一步說明此等概念。如步驟 si所示,將一訊息接收於一訊息佇列中。在步驟82中,自 複數個節點選取單一節點。在步驟S3中,在該單一節點上 處理該訊息。在步驟S4中,使用該單一節點而基於該訊息 之主題來識別用以接收該訊息之訊息接聽者集合。在步驟 S5中,自該單一節點向該訊息接聽者集合廣播該訊息。 雖然本發明在本文中被展示及描述為訊息廣播解決方 156300.doc -19· 201203934 案,但應理紐 , 牌’本發明進一步提供各種替代實施例。舉例 ° —實施例中’本發明提供一種電腦可讀/可用媒 體,雷聰 ° &可讀/可用媒體包括用以使得電腦基礎結構能 夠提供如太令士 乂甲所論述之訊息廣播功能性的電腦程式碼。 在此程麿卜 ’電腦可讀/可用媒體包括實施本發明之各種 程序中之每. 有的程式碼。應理解,術語「電腦可讀媒 」或電%可用媒體」包含程式碼之任何類型之實體實 施例中之—岑容本 ^ ^ ^ a多者。之’電腦可讀/可用媒體可包含 程式馬.該程式碼體現於一或多個攜帶型儲存製品 (例如,光碟、磁碟、磁帶,等等)上、體現於—計算器件 之或夕個資料儲存部分(諸如,記憶體28(圖1}及/或儲存 系’充34(圖1)(例如,固定式磁碟、唯讀記憶體、隨機存取 記憶體、快取記憶體,等等)上。 在另一實施例中,本發明提供一種基於訂用、廣告及/ 或付費來執行本發明之程序的方法。亦即,諸如解決方案 整合者(Solution Integrat()r)之服務提供者可提供訊息廣 播。在此狀況下’服務提供者可針對—或多個消費者建 立、維護、支援等等執行本發明之程序的電腦基礎結構 (諸如,電腦系統12(D)e作為報答,服務提供者可在訂 用及/或付費協議下自消費者收取付款,及/或服務提供者 可自向m固第三方廣告内容之銷售收取付款。 在又-實施例中,本發明提供一種用於提供訊息廣播功 能性之電腦實施方法。在此狀況下’可提供一電腦基礎結 構(諸如’電腦系統12(圖1)),且可獲取(例如,建立、蹲 156300.doc -20· 201203934 買、使用、修改,等等)用於執行本發明之程序的一或多 個系統且將其部署至該電腦基礎結構。在此程度上,一系 統之部署可包含以下各者中之—或多者:⑴自—電腦可讀 媒體將程式碼安裝於—計算器件(諸&,電腦系統叫圖⑶ 上,(2)將一或多個計算器件添加至該電腦基礎結構;及 (3 )併入及/或修改該電腦基礎結構之一或多個現有系統以 使得s亥電腦基礎結構能夠執行本發明之程序。 如不文中所使 - Ά、π」汉,1;腦程 j碼」係同義的’且意謂意欲使具有資訊處理能力之計算 器件直接或在以下各者中之任_者或其兩者之後執行特定 功能之指令集的呈任何語言、程式碼或標記法形式之任何 表達:⑷轉換成另一語言、程式碼或標記法;及/或㈨以 2同材料形式重現。在此程度上,程式碼可體現為以下 庙、或多者:應用程式/軟體程式、組件軟體/函式 庫、作業系統、針對特定計算器件其 器,及其類似者。 件之基“件系統/驅動 存及/或執行程式碼之資料處理系統可提供於下 :至由系流排而直接或間接以通信方式輕 不限於广、之至^ 一處理器。記憶體元件可包括(但 (;)在程式碼之實際執行期間所 大容量儲存體及快取記憶體’快取記憶體提供至:二 =時儲存,以便減少在執行期間必須自大容量儲存: 擷取程式⑽讀。〜/㈣W他 (但不限於)鍵般as _ ^ ^ 邛冲态件(包括 )鍵盤、顯不卜指標器件,等等)可直接輕接至 156300.doc -21 - 201203934 系統或經由介入器件控制器而耦接至系統。 網路配接器亦可耦接至系統以使得資料處理系統能夠經 由”入私人或公用網路之任何組合而耦接至其他資料處理 系統、遠端印表機、儲存器件及/或其類似者。說明性網 路配接器包括(但不限於)數據機、電纜數據機及乙太網路 卡。 已出於說明及描述之目的而呈現本發明之各種態樣的前 述描述。其不意欲係詳盡的或將本發明限於所揭示之確切 形式,且明顯地,許多修改及變化係可能的。可對熟習此 項技術者顯而易見之此類修改及變化意欲包括於如藉由隨 附申請專利範圍界定的本發明之範疇内。 【圖式簡單說明】 圖1描續' 根據本發明之一實施例的雲端計算節點。 圖2描綠根據本發明之一實施例的雲端計算環境。 圖3描繪根據本發明之一實施例的雲端抽象模型層。 圖4描繪根據本發明之一實施例的用於在叢集計算環境 内廣播訊息之系統。 兄 【主要元件符號說明】 圖5¾繪根據本發明之一實施例的方法流程圖。 10 雲端計算節點 12 電腦系統/伺服器 14 外部器件 16 處理器或處理單元 18 匯流排 156300.doc 201203934 20 網路配接器 22 I/O介面 24 顯示器 28 系統記憶體 30 隨機存取記憶體(RAM) 32 快取記憶體 34 儲存系統 40 程式/公用程式 42 程式模組/程式碼模組 50 雲端計算環境 54A 蜂巢式電話/計算器件 54B 桌上型電腦/計算器件 54C 膝上型電腦/計算器件 54N 汽車電腦系統/計算器件 60 硬體及軟體層 62 虛擬化層 64 管理層 66 工作負載層 80A 訊息發佈者 80N 訊息發佈者 82 訊息佇列伺服器 83 訊息佇列 84A 節點/訊息消費者 84N 節點/訊息消費者 156300.doc -23- 201203934 86 主題與對應訊息接聽者之關聯 88A 廣播組件 88N 廣播組件/訊息廣播功能 90A 訊息接聽者 90B 訊息接聽者 90C 訊息接聽者 90N 訊息接聽者 •24- 156300.doc
Claims (1)
- 201203934 七、申請專利範圍: ι_. 一種用於在一叢集計算環境中之訊息廣播之方法,其 含: t 將一訊息接收於一訊息仵列中; - 自6亥叢集§十异環境中之複數個節點選取—單一節點. . 在該單一節點上處理該訊息; 使用該單一節點而基於該訊息之一主題來識別用以接 收该訊息之一訊息接聽者集合;及 自該單一節點向該訊息接聽者集合廣播該訊息。 2·如响求項1之方法,其進一步包含在該單一節點處追蹤 由該訊息接聽者集合對該訊息之一接收。 3· 士叫求項1之方法,該單—節點為一應用程式伺服器, 且該複數個節點為複數個應用程式伺服器。 4. 如响求項丨之方法,其進一步包含使該主題與該訊息接 聽者集合相關聯。 5. 如請求項1之方法,該複數個節點中之每一者具有安裝 於其上之一共同應用程式集合。 6·如叫求項1之方法,該叢集計算環境為一雲端計算環 * 境。 ,7.如明求項1之方法,基於在該複數個節點内之一最佳可 用性來識別該單一節點。 種用於在-叢集計算環境中之訊息廣播之系統,其包 一匯流排; 156300.doc 201203934 一處理器,其耦接至該匯流排;及 一記憶體媒體,其耦接至該匯流排,該記憶體媒體包 含用以進行以下動作之指令: 將一 sfl息接收於一訊息仔列中; 自該叢集計算環境中之複數個節點選取一單一節 點; 在該單一節點上處理該訊息; 使用忒單一節點而基於該訊息之一主題來識別用以 接收該訊息之一訊息接聽者集合;及 自該單一節點向該訊息接聽者集合廣播該訊息。 9. 10. 11. 12. 13. 14. 如請求項8之系統,該記憶體媒體進一步包含用以在該 單一節點處追蹤由該訊息接聽者集合對該訊息之一接收 之指令。 如4求項8之系統’該單—節點為__應用程式伺服器, 且·»玄複數個郎點為複數個應用程式伺服器。 如請求項8之系統,該記憶體媒體進一步包含用以使該 主題與該訊息接聽者集合相關聯之指令。 如明求項8之系統,該複數個節點中之每一者具有安裝 於其上之一共同應用程式集合。 如叫求項8之系統,該叢集計算環境為一雲端計算環 扰,或基於在該複數個節點内之一最佳可用性來識別該 單一節點。 種用於在一叢集計算環境中之訊息廣播之電腦程式產 °亥電腦程式產品包含:一電腦可讀儲存媒體;及程 156300.doc S 201203934 式指令,其儲存於該電腦可讀儲存媒體上,該等程式於 令係用以實施請求項1至7中任—項之步驟。 曰 15. 一種用於部署用於在一叢集計算環境中之訊息廣播之— 系統的方法,其包含: 提供具有功能性之一電腦基礎結構,該功能性係用 以: 將一訊息接收於一訊息佇列中; 自該叢集計算環境中之複數個節點選取一單一節 *點, 在該單一節點上處理該訊息; 使用邊單一節點而基於該m息之一主題來識別用以 接收該訊息之一訊息接聽者集合;及 自該單一節點向該訊息接聽者集合廣播該訊息。 156300.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/783,946 US9191236B2 (en) | 2010-05-20 | 2010-05-20 | Message broadcasting in a clustered computing environment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201203934A true TW201203934A (en) | 2012-01-16 |
Family
ID=44357928
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100117862A TW201203934A (en) | 2010-05-20 | 2011-05-20 | Message broadcasting in a clustered computing environment |
Country Status (3)
| Country | Link |
|---|---|
| US (4) | US9191236B2 (zh) |
| TW (1) | TW201203934A (zh) |
| WO (1) | WO2011144560A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI549454B (zh) * | 2014-06-17 | 2016-09-11 | One - to - many message allocation method |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9191236B2 (en) | 2010-05-20 | 2015-11-17 | International Business Machines Corporation | Message broadcasting in a clustered computing environment |
| US8800055B2 (en) * | 2010-10-20 | 2014-08-05 | International Business Machines Corporation | Node controller for an endpoint in a cloud computing environment |
| US9929998B1 (en) | 2012-08-24 | 2018-03-27 | Vmware, Inc. | Tagged messages to facilitate administration of a virtualization infrastructure |
| US9923859B1 (en) | 2013-06-25 | 2018-03-20 | Vmware, Inc. | Creating a group of members based on monitoring a social network |
| US9736254B1 (en) | 2012-06-25 | 2017-08-15 | Vmware, Inc. | Administration of a member of a network |
| US9189758B2 (en) * | 2012-06-25 | 2015-11-17 | Vmware, Inc. | Administration of a network |
| CN103118138B (zh) * | 2013-03-04 | 2016-02-10 | 中国信息安全测评中心 | 一种基于云服务的消息队列流处理方法 |
| CN103312808B (zh) * | 2013-06-24 | 2017-06-30 | 浪潮电子信息产业股份有限公司 | 一种云操作系统总线及通信方法 |
| US10382307B1 (en) * | 2016-12-22 | 2019-08-13 | Amazon Technologies, Inc. | Transmission of subscription-based messages to Internet of Things (IoT) devices |
| CN111787058A (zh) * | 2020-05-26 | 2020-10-16 | 北京航空航天大学 | 跨域虚拟数据空间中轻量级信息订阅和推送方法 |
| CN114338769B (zh) * | 2021-12-22 | 2024-04-12 | 浙江中控技术股份有限公司 | 访问请求的处理方法及装置 |
| CN115296943B (zh) * | 2022-07-18 | 2024-04-16 | 杭州趣链科技有限公司 | 一种消息广播方法、装置、服务器和存储介质 |
| CN115421883B (zh) * | 2022-08-25 | 2026-01-02 | 阿里云计算有限公司 | 一种任务调度方法、设备、系统及存储介质 |
| CN119938363B (zh) * | 2025-04-07 | 2025-09-09 | 广东博众智能科技投资有限公司 | 广播消息处理方法、系统、服务器、存储介质及程序产品 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5245607A (en) | 1990-03-05 | 1993-09-14 | At&T Bell Laboratories | Data network message broadcast arrangement |
| US7080385B1 (en) * | 1997-08-18 | 2006-07-18 | Tibco Software Inc. | Certified message delivery and queuing in multipoint publish/subscribe communications |
| IL153454A0 (en) * | 2000-06-26 | 2003-07-06 | Ibm | Data management application programming interface for a parallel file system |
| US7013330B1 (en) * | 2000-10-03 | 2006-03-14 | Networks Associates Technology, Inc. | Downloading a computer file from a source computer to a target computer |
| US6590537B2 (en) * | 2001-07-09 | 2003-07-08 | Fm Bay | Local wireless digital tracking network |
| US7400624B2 (en) * | 2003-05-27 | 2008-07-15 | Sun Microsystems, Inc. | Hashing based messaging approach to a cluster |
| US7454716B2 (en) | 2003-12-22 | 2008-11-18 | Microsoft Corporation | Clustering messages |
| US7624144B1 (en) | 2004-04-29 | 2009-11-24 | Sap Ag | System and method for reducing data traffic associated with a messaging service in a clustered server environment |
| US7539150B2 (en) * | 2004-11-16 | 2009-05-26 | International Business Machines Corporation | Node discovery and communications in a network |
| US20060184694A1 (en) | 2005-02-14 | 2006-08-17 | Sylvain Monette | Method and nodes for handling broadcast messages over an access domain |
| US7467388B2 (en) * | 2005-11-22 | 2008-12-16 | Microsoft Corporation | Monitoring message queues and starting processing applications |
| GB0615508D0 (en) | 2006-08-04 | 2006-09-13 | Ibm | A method, apparatus and computer program for redistributing messages in a clustered messaging environment |
| US7734960B2 (en) | 2006-08-14 | 2010-06-08 | Hewlett-Packard Development Company, L.P. | Method of managing nodes in computer cluster |
| US7996849B2 (en) * | 2007-02-14 | 2011-08-09 | International Business Machines Corporation | Method, apparatus and software for managing a transactional message queue |
| US7921427B2 (en) * | 2007-03-27 | 2011-04-05 | Oracle America, Inc. | Method and system for processing messages in an application cluster |
| US7904551B2 (en) | 2007-03-29 | 2011-03-08 | Oracle International Corporation | Unicast clustering messaging |
| US7788334B2 (en) | 2007-06-26 | 2010-08-31 | International Business Machines Corporation | Multiple node remote messaging |
| US8117304B2 (en) | 2007-10-25 | 2012-02-14 | International Business Machines Corporation | Processing event notifications with an event sink |
| US8762285B2 (en) | 2008-01-06 | 2014-06-24 | Yahoo! Inc. | System and method for message clustering |
| US8819701B2 (en) * | 2009-12-12 | 2014-08-26 | Microsoft Corporation | Cloud computing monitoring and management system |
| US9191236B2 (en) | 2010-05-20 | 2015-11-17 | International Business Machines Corporation | Message broadcasting in a clustered computing environment |
-
2010
- 2010-05-20 US US12/783,946 patent/US9191236B2/en not_active Expired - Fee Related
-
2011
- 2011-05-16 WO PCT/EP2011/057860 patent/WO2011144560A1/en not_active Ceased
- 2011-05-20 TW TW100117862A patent/TW201203934A/zh unknown
-
2015
- 2015-10-06 US US14/875,810 patent/US9444636B2/en active Active
-
2016
- 2016-06-15 US US15/182,838 patent/US9634848B2/en not_active Expired - Fee Related
-
2017
- 2017-01-12 US US15/404,267 patent/US10205601B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI549454B (zh) * | 2014-06-17 | 2016-09-11 | One - to - many message allocation method |
Also Published As
| Publication number | Publication date |
|---|---|
| US9444636B2 (en) | 2016-09-13 |
| WO2011144560A1 (en) | 2011-11-24 |
| US20170126604A1 (en) | 2017-05-04 |
| US10205601B2 (en) | 2019-02-12 |
| US20160028555A1 (en) | 2016-01-28 |
| US9191236B2 (en) | 2015-11-17 |
| US20160301537A1 (en) | 2016-10-13 |
| US9634848B2 (en) | 2017-04-25 |
| US20110289159A1 (en) | 2011-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201203934A (en) | Message broadcasting in a clustered computing environment | |
| US12333404B2 (en) | Virtual assistant in a communication session | |
| US8271655B2 (en) | Cloud computing roaming services | |
| US20180047038A1 (en) | Leveraging hashtags to dynamically scope a target audience for a social network message | |
| US10044837B2 (en) | Generation and distribution of named, definable, serialized tokens | |
| US9225662B2 (en) | Command management in a networked computing environment | |
| US9762527B2 (en) | Following/subscribing for productivity applications | |
| US8448258B2 (en) | Security classification based on user interaction | |
| US20150113376A1 (en) | Document revision via social media | |
| US8949556B2 (en) | Cloud management of device memory based on geographical location | |
| US10082933B2 (en) | Context sensitive active fields in user interface | |
| US20130254681A1 (en) | Proxying an active link from a shared computer | |
| US20160323390A1 (en) | Condition-based online communication collaboration | |
| JP7788562B2 (ja) | 群メンバー追加方法、装置、デバイス、及び媒体 | |
| US9456024B1 (en) | Content sharing in mobile ad hoc networks |