TW201535131A - 關聯於視圖來儲存服務項目 - Google Patents

關聯於視圖來儲存服務項目 Download PDF

Info

Publication number
TW201535131A
TW201535131A TW104101537A TW104101537A TW201535131A TW 201535131 A TW201535131 A TW 201535131A TW 104101537 A TW104101537 A TW 104101537A TW 104101537 A TW104101537 A TW 104101537A TW 201535131 A TW201535131 A TW 201535131A
Authority
TW
Taiwan
Prior art keywords
service
view
views
email
user interface
Prior art date
Application number
TW104101537A
Other languages
English (en)
Inventor
Amit K Sinha
Kavitha Balasubramanian
Dawid Kozlowski
Michael I Borysenko
Stephen Thomas Wells
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW201535131A publication Critical patent/TW201535131A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Abstract

在此描述系統、方法及軟體以支援基於視圖的儲存。提供至服務的使用者介面之服務應用程式接收由該服務溝通的資料,且識別至少一個服務項目以在表現於該使用者介面中的各種視圖之至少一者中呈現。該服務應用程式接著識別該等視圖何者與該服務項目相關聯並儲存與經識別的視圖或多個視圖相關聯的該服務項目。

Description

關聯於視圖來儲存服務項目
本揭示的態樣有關於計算硬體與軟體技術,特別是有關於基於視圖的服務項目之儲存。
計算硬體與軟體技術的領域中,使用者增加地在日常基礎上存取及從事各種線上服務。該等使用者的存取至少部份由使用者介面的方式提供,該等使用者介面包含該等使用者可互動的各種物件與其他介面元素。舉例而言,至電子郵件服務的使用者介面可包含各種物件與代表電子郵件、選單物件與及其他介面元素的其他元素。
使用者介面可表現於合適的計算裝置,使得使用者可與其介面元素互動,作為與服務的部份使用者經驗。某些案例中,該使用者介面由客戶應用程式表現,該客戶應用程式執行於瀏覽器應用程式的主體中或其他執行環境中,該執行環境回應於使用者互動而協助驅動該使用者介面。舉例而言,電子郵件信箱可呈現於使用者介面中,該使用者介面包含電子郵件的清單,使用者可捲動該清單,因此將該應用程 式的焦點偏移至該信箱中的其他位置。在客戶應用程式內表現這樣的狀態轉移涉及客戶資源之間的協調,有時候該協調可能導致次佳的使用者經驗。
簡要的範例中,與電子郵件應用程式接觸的使用者 可跳至新的資料夾,而在幾乎同時新的電子郵件從電子郵件服務被接收。為了在新的資料夾中顯示該等電子郵件,該客戶應用程式對該新資料夾中指定的每個電子郵件啟動個別資料請求。此外,圖形物件與其他內容必須被取回。該電子郵件資料被轉換成適合在使用者介面中與圖形物件表現的格式。
取回每個個別電子郵件並轉換該等電子郵件成為適 合呈現的格式可能需要如此大量的時間,使得在該使用者介面中之該新資料夾的表現被明顯地延遲。此外,該客戶應用程式可能因為新抵達的電子郵件而緩慢表現在該使用者介面中的該新資料夾與其內容。該等新抵達的電子郵件必須處理且儲存,此舉可能耗費本來專用於表現該新資料夾的資源。
在此提供用於實作基於視圖的資料儲存之系統、方法及軟體,該等系統、方法及軟體允許服務項目被儲存及取回,該儲存及取回與識別視圖相關聯且增進使用者經驗。
在至少一個實作中,支援至服務的使用者介面之服務應用程式接收由該服務溝通的資料,且識別至少一個服務項目以呈現於該使用者介面中表現的各種視圖的至少一者。該服務應用程式接著識別哪些該等視圖將與該服務項目作關 聯,並儲存與識別的視圖或多個視圖相關聯的服務項目。
此「發明內容」被提供以用簡化的形式介紹挑選的 概念,該等概念在以下「實施方式」中進一步描述。可理解到此「發明內容」並非意於識別所請求之標的的關鍵特徵或必要特徵,「發明內容」亦非意於用來限制請求標的之範疇。
100A‧‧‧運作情境
100B‧‧‧運作情境
101‧‧‧應用程式平台
102‧‧‧服務應用程式
103‧‧‧使用者介面
105‧‧‧服務項目
107‧‧‧服務項目
111‧‧‧服務平台
112‧‧‧服務
121‧‧‧事件
131‧‧‧視圖
133‧‧‧資料結構
135‧‧‧元件
141‧‧‧視圖
143‧‧‧資料結構
145‧‧‧元件
147‧‧‧元件
151‧‧‧視圖
153‧‧‧資料結構
155‧‧‧元件
157‧‧‧元件
159‧‧‧元件
161‧‧‧視圖
165‧‧‧元件
167‧‧‧元件
169‧‧‧元件
200‧‧‧流程
201‧‧‧步驟
203‧‧‧步驟
205‧‧‧步驟
300‧‧‧流程
301‧‧‧步驟
303‧‧‧步驟
305‧‧‧步驟
400‧‧‧電子郵件環境
401‧‧‧客戶裝置
402‧‧‧電子郵件應用程式
404‧‧‧使用者
410‧‧‧溝通網路
411‧‧‧客戶裝置
412‧‧‧電子郵件應用程式
421‧‧‧資料中心
422‧‧‧電子郵件服務
440‧‧‧應用程式架構
443‧‧‧使用者介面模組
445‧‧‧服務模組
447‧‧‧儲存模組
450‧‧‧視圖
451‧‧‧信箱視圖
452‧‧‧已發送項目視圖
453‧‧‧訊息預覽視圖
454‧‧‧對話視圖
455‧‧‧對話視圖
456‧‧‧已刪除項目視圖
457‧‧‧資料夾視圖
458‧‧‧資料夾視圖
459‧‧‧資料夾視圖
500‧‧‧運作序列
700‧‧‧流程
701‧‧‧步驟
703‧‧‧步驟
705‧‧‧步驟
707‧‧‧步驟
709‧‧‧步驟
711‧‧‧步驟
712‧‧‧步驟
713‧‧‧步驟
715‧‧‧步驟
717‧‧‧步驟
800‧‧‧資料結構模型
801‧‧‧視圖
803‧‧‧描述符表
805‧‧‧頁面
807‧‧‧頁面
809‧‧‧頁面
900‧‧‧計算系統
901‧‧‧處理系統
903‧‧‧儲存系統
905‧‧‧軟體
907‧‧‧溝通介面系統
909‧‧‧使用者介面系統
910‧‧‧服務應用程式
本揭示的許多態樣可參考以下繪圖而更佳地理解。雖然多個實作連同該等繪圖描述,然本揭示並非受限於在此揭示的實作。反而,目的是為了涵蓋所有替代物、修改及等效物。
第1A圖繪示實作中的服務環境及運作情境,其中服務項目與視圖關聯地接收及儲存。
第1B圖繪示實作中的服務環境及運作情境,其中用於視圖的服務項目與元件從儲存器取回。
第2圖繪示實作中基於視圖的儲存流程。
第3圖繪示實作中基於視圖的取回流程。
第4圖繪示實作中的電子郵件環境與應用程式架構。
第5圖繪示實作中的運作序列。
第6圖繪示實作中的運作序列。
第7A圖繪示實作中基於視圖的儲存流程且第7B圖繪示實作中用於處置事件及電子郵件更新的狀態察覺流程。
第8圖繪示實作中的資料結構。
第9圖繪示實作中計算系統。
在此揭示的實作包含服務項目(例如電子郵件項目、預約及工作)如何被儲存及取回的增進。著重於視圖的手段被取用,其中服務項目與視圖相關聯地儲存,使得當視圖將載入至使用者介面中時,與該視圖相關聯的資料結構可被取回,且各種服務項目可從其存取。如此,對每個個別服務項目的重複且昂貴的存取嘗試可被減少或緩和,此舉可加速視圖之間的轉換流程及載入視圖的流程。
至少一個實作中,服務應用程式促成至服務的使用者介面。與該使用者介面接觸的使用者可導覽於各種視圖內及各種視圖之間。舉例而言,使用者可導覽於電子郵件應用程式中之信箱的視圖與送出訊息資料夾的視圖之間,或對話視圖之間。另一個範例中,使用者可導覽於日曆的每月、每週及每日視圖之間。又另一個範例中,使用者可在給定視圖中捲動,例如藉由向上或向下捲動信箱中的電子郵件清單或部落格中的動態消息(news feed)或社交網路應用程式。
背景中,該服務應用程式與服務溝通以交換服務相關的資訊。電子郵件應用程式可與電子郵件服務溝通以發送及接收電子郵件,舉例而言,或更新已接收的電子郵件之狀態(例如更新該等電子郵件是否被標記、移動、刪除或類者)。另一個範例中,日曆應用程式可與日曆服務作介面以發送及接收預約或發送及接收對已存在預約的更新。在該等情境及其他情境中,該服務應用程式從該服務接收資料並從該服務中識別至少一個服務項目以最終呈現於各種視圖之至少一者 中,該視圖表現於至該服務的該使用者介面中。
該服務應用程式並非將該服務項目儲存為基於個體 存取的自含式資料結構,而是將該服務項目與視圖或多個視圖作關聯而儲存,該視圖可與該服務項目對應。藉由存取與該視圖相關聯的同調(coherent)資料結構,該服務項目接著可連同與該視圖相關聯的其他服務項目取回。從而,該服務應用程式識別該服務項目與哪個視圖或多個視圖相關聯且儲存該服務項目於其對應的資料結構。其他元素可包含於該資料結構中,例如表現對應視圖時所使用的其他服務項目與其他元件。因此,為了使視圖存取其資料結構,較少的存取運作可被行使,而非在表現該視圖時對每個視圖中的服務項目重複個別存取運作。
某些情境中,給定的資料結構可能為檔案,各種元 件與服務項目可寫入至該檔案。服務應用程式可對檔案系統啟動請求以開啟開該檔案,該服務應用程式可從該檔案讀出用以表現視圖的該等元件與服務項目,而非對每個服務項目做重複的讀取請求。對檔案系統的這樣請求可能回應於各種事件而發生,例如回應於使用者導覽於使用者介面中,從上一個視圖至另一個視圖。某些實作中,單一視圖儲存於單一資料結構或檔案中,使得一對一的關係存在於視圖與資料結構之間。然而,某些實作中多個視圖可儲存於單一資料結構中。應意識到視圖與資料結構之間的各種關係為可能的,且可被認定為本揭示的範疇內。
某些實作中,儲存於與視圖相關聯的資料結構中之 該等元件可儲存於呈現格式,當該呈現格式表現於至服務的使用者介面中時已準備好呈現於視圖中。為了進一步加速視圖的載入,儲存於該資料結構中的服務項目可從該呈現格式之外的格式轉換為呈現格式。該服務項目接著可加至該資料結構中的其他元件,且可以相同於其他元件的格式儲存於該資料結構中。應意識到將服務項目轉換為呈現格式可發生於儲存該服務項目於識別資料結構中之前。該服務項目因此準備好被處理以在對應視圖由使用者選擇或者因某些其他原因而浮現的事件中用於表現在使用者介面中。
某些實作中,個別服務項目可與多個視圖相關聯。 此外,視圖集合的每個視圖可對應至資料結構集合的不同者。換言之,每個視圖可給定自己的資料結構。因此,與一個以上的視圖或視圖子集合相關聯的服務項目可儲存於一個以上的資料結構,或資料結構子集合。
對基於視圖的儲存進一步的增進可藉由優先化服務 項目與視圖相關聯的儲存順序而提供。範例中,視圖集合的每個視圖可指定優先權。服務項目集合接著可依該優先權衍生的順序而儲存於對應至該等視圖的該等資料結構中。舉例而言,信箱視圖可在自定資料夾的視圖上優先化。如此,進入的服務項目較可能可用於立即查看。
另一個增進中,當平衡事件對新服務項目之抵達 時,應用程式狀態可被考量。服務應用程式的狀態可屬於使用者目前如何與使用者介面互動。若該使用者捲動通過視圖或主動移動於視圖之間,處置這樣的活動所需的資料運作可 優先於儲存新抵達的服務項目所需之資料運作。反之,若服務應用程式的狀態相對穩定,或也許對於使用者介面為休眠的,則進入的服務項目可被優先化。
現在參考繪圖,第1A圖與第1B圖繪示服務環境與 運作情境,其中服務應用程式採用基於視圖的服務項目之儲存,以增進服務資料的儲存。第2圖繪示由客戶應用程式跟隨的流程以儲存資料於視圖中,而第3圖繪示用於取回資料的流程。第4圖繪示可用以促成與電子郵件服務的使用者經驗之電子郵件環境與模範應用程式架構。第5圖及第6圖繪示各種實作中的模範資料流程,而第7A圖及第7B圖再繪示兩個用於增進資料儲存以改善該使用者經驗的流程。第8圖繪示資料結構的模型,該資料結構與實作中的視圖相關聯。 第9圖繪示計算系統,該計算系統代表在此探討的各種應用程式平台及服務平台。
轉至第1A圖,運作情境100A涉及應用程式平台 101,服務應用程式102在該應用程式平台上執行。服務應用程式102與服務112溝通,執行於服務平台111上,以透過使用者介面103提供使用者或多個使用者至服務112的存取(繪示於第1B圖中)。使用者介面103包含各種介面元素,使用者可由使用者輸入的方式與該等介面元素互動,該使用者輸入例如滑鼠點擊、觸摸、手勢、口述指令,或任何其他使用者輸入種類。可意識到額外的應用程式平台及額外的客戶應用程式可包含於運作情境100A中。
應用程式平台101代表能夠執行服務應用程式102 且實作流程200、流程300或兩者的任何實體或虛擬計算系統、裝置或其集合。應用程式平台101包含,但不受限於,智慧型手機、膝上型電腦、平板電腦、桌上型電腦、混合式電腦、遊戲機、智慧型電視及虛擬機器,以及其任何變化或組合,其中繪示於第9圖中的計算系統900係代表性的。
服務應用程式102代表能夠實作流程200、流程300 或兩者以增進服務資料如何被儲存及取回的任何軟體應用程式、模組、元件或其集合。服務應用程式102的範例包含,但不受限於,電子郵件應用程式、日曆應用程式、即時通訊應用程式、部落格及微部落格應用程式、社交網路應用程式、電子商務應用程式,及遊戲應用程式以及任何能夠表現使用者介面且採用流程200或流程300的其他應用程式種類。服務應用程式102可為局部安裝且執行的應用程式、串流應用程式、行動應用程式,或其任何組合或變化。某些實作中,服務應用程式102可為執行於瀏覽器應用程式主體中的基於瀏覽器之應用程式。服務應用程式102可實作為單機應用程式或可分佈橫越多個應用程式。
服務平台111代表能夠代管(hosting)全部或部份服務112的任何實體或虛擬計算系統、裝置或其集合。服務平台111的範例包括,但不受限於,伺服器電腦、網路伺服器、應用程式伺服器、機架伺服器、刀鋒伺服器、虛擬機器伺服器,或直立式伺服器(tower servers),以及任何其他種類的計算系統,其中繪示於第9圖中的計算系統900係代表性的。某些情境中,服務112可實作於資料中心、虛擬資料中心, 或某些其他適合的計算設施中。服務112的範例包含,但不受限於,網路服務、電子郵件服務、即時通訊服務、部落格及微部落格服務、社交網路服務、電子商務服務,及遊戲應用,以及任何其他種類的服務、服務之組合或其變化。服務112有時可稱為雲端服務、線上服務、網際網路服務,或類者。
運作中,當服務應用程式102執行於應用程式平台 101時,該服務應用程式與服務112溝通,以促成服務的各種態樣。舉例而言,服務應用程式102可與服務112溝通以發送及接收電子郵件、排程預約、從事線上遊戲、在社交網路或部落格上公告及消耗內容,或為了任何其他服務相關的原因。服務應用程式102亦表現使用者介面103,使用者可透過該使用者介面與服務112接觸。使用者可導覽過服務112的畫面、選單或其他態樣、消耗或編著內容、參與遊戲、瀏覽線上商品、從事溝通或以某種其他方式體驗服務112。
為了促成使用者經驗,各種視圖呈現於使用者介面 103中,該使用者介面可包含使用者介面元素,例如圖像、影像、選單或該使用者可與之互動的其他物件。使用者介面103亦可包含與服務112相關聯的服務項目(或其圖示)。但在該等服務項目可呈現於使用者介面103之前,該等服務項目由服務112溝通至服務應用程式102。舉例而言,電子郵件更新可發生於新電子郵件傳遞至服務應用程式102的時候。其他範例中,新預約可被傳遞、新聯絡人被下載、新遊戲簡介被產生,及類者。
在處置進入的服務項目時,服務應用程式102採用 流程200,該服務項目在第1A圖中以服務項目105及服務項目107代表。電子郵件、日曆項目、部落格公告、新聞剪輯,及即時訊息為服務項目的非限制性範例。服務項目105及服務項目107依據服務112及服務應用程式102兩者皆理解的服務協定而格式化,以允許資料的交換。服務應用程式102接收服務項目105及服務項目107且識別每個該等服務項目係與哪個視圖相關聯。此情境中,各種模範視圖包含視圖131、視圖141及視圖151。視圖可為視角、視窗或範型的代表,使用者透過該視圖以透過使用者介面103與服務112接觸。視圖的範例包含,但不受限於,信箱視圖、已發送訊息視圖、自定資料夾視圖、訊息預覽面板、每月日曆視圖、每週視圖,及每日視圖。其他視圖種類係可能的且可被認定為在本揭示的範疇內。
在對每個服務項目105及服務項目107識別相關聯 的視圖或多個視圖後,服務應用程式102將該服務項目儲存於與每個視圖相關聯的給定資料結構中。在運作情境100A中,資料結構133與視圖131相關聯,資料結構143與視圖141相關聯,資料結構153與視圖151相關聯。此外在運作情境100A中,為了例示之目的,假設服務項目105與視圖131及視圖141相關聯,而服務項目107僅與視圖131相關聯。 該等服務項目皆不與視圖151相關聯。如此,服務項目105連同元件135儲存於資料結構133中,該元件代表可儲存於資料結構133中且可在表現視圖131時使用的其他元件。服務項目107亦儲存於資料結構133中。
服務項目105亦儲存於資料結構143中,因為服務 項目105除了視圖131之外亦與視圖141相關聯。服務項目105加至元件145及147,該等元件代表可儲存於資料結構143中且可用以表現視圖141的其他元件。資料結構153包含元件155、元件157,及元件159,該等元件代表可在表現視圖151時使用的其他元件。
某些實作中,服務應用程式102亦可將服務項目105 及服務項目107從該服務格式轉換或變換至適合在使用者介面103中呈現的呈現格式,該等服務項目以該服務格式由服務112溝通。服務項目105及服務項目107可接著以該等服務項目表現於使用者介面103中的格式或協定而儲存於資料結構133及資料結構143中。如此,在請求視圖的時刻轉換該等服務項目可被避免,進一步增進使用者經驗。關於服務項目105及服務項目107的格式改變係從其被服務應用程式102接收時,相對於儲存於資料結構133及143時的填充型樣(fill pattern)之改變所代表。亦可意識到服務項目105及服務項目107的該填充型樣(或缺乏該填充型樣)係相同於儲存於資料結構133及143中的其他元件。
第1B圖繪示運作情境100B,其中發生從一個視圖 161轉移至另一個視圖131,從而需要從儲存器取回資料結構133。運作中,使用者透過使用者介面103體驗視圖161。視圖161可代表任何由服務應用程式102表現的視圖,且該使用者可透過該視圖與服務112接觸。視圖161包含使用者可與之互動的各種元件,由元件165、元件167及元件169代表。 元件165、167及169可為,舉例而言,提供視圖161的邊界、佈局、導覽工具,及結構的影像、連結,或其他圖像項目。 元件165、167及169亦可為資料項目,例如包含給使用者消耗之內容的電子郵件或預約。各種元件係可能的且可被認定為在本揭示的範疇中。
運作情境100B中,事件121相對於元件167發生, 元件167觸發轉移至視圖131。事件121可為滑鼠點擊、觸摸、手勢、口述指令,或透過顯示使用者介面103之使用者介面系統的某種其他使用者指令輸入種類。事件121亦可代表背景處理或某種自動觸發轉移至視圖131的其他事件。
回應於事件121的發生,服務應用程式102識別哪 個視圖由該事件牽連。舉例而言,服務應用程式102可識別視圖161的哪個部分或元件為事件121的主體(subject)且接著識別哪個視圖與該元件相關聯。為事件121的該主體之該元件可包含連結或某種驅動後續視圖之識別的其他指令。
此範例中,事件121相對於元件167發生,此舉為 了例示之目的假設為觸發從視圖161至視圖131的轉移。從而,資料結構143從儲存器取回且包含元件145、元件147,及服務項目105。元件145、元件147及服務項目105呈現於視圖131中且表現於使用者介面103中。
從前述的運作情境可意識到,服務項目之基於視圖 的儲存允許服務應用程式在使用者介面中比以往更快地浮現視圖。與其作多個讀取請求以取得相對於視圖的服務項目,且接著必需將該等服務項目轉換成合適的呈現格式,基於視 圖的儲存允許服務項目僅取回同調的資料結構,該資料結構包含用於給定視圖的元件及服務項目。此外,該等服務項目可能已經以呈現友善(presentation-friendly)的格式儲存,使得轉換其格式的步驟可被避免。該等技巧限制服務應用程式所作的讀取請求的數量並加速視圖的載入。
雖然前述的範例繪示服務項目與視圖相關聯地儲存 於同調資料結構中,可意識到某些情境中該服務項目仍可儲存於其他種類的資料結構中或個別儲存。服務項目舉例而言可儲存於與視圖相關聯的資料結構中且在呈現友善的格式中,而同時該服務項目的副本(copy)可以其原本格式儲存於不同的資料結構中或個別地儲存為自己的資料結構。
第2圖更詳細地繪示流程200,該流程可由服務應 用程式102於處置來自服務112的進入資料時所採用。服務112項目在提供服務至服務應用程式102的過程中溝通資料,該資料可包含新的服務項目。隨著新的服務項目抵達,該等服務項目寫入至儲存器。然而與其僅將每個服務項目儲存為個別資料結構(且以該等服務項目溝通的格式儲存),服務應用程式102儲存該等服務項目於與視圖相關聯的同調資料結構中。
從而,服務應用程式102識別哪個視圖或多個視圖與給定的服務項目相關聯(步驟201)。服務項目可僅與一個視圖相關聯,但某些情境中該服務項目可與多個視圖相關聯。一個範例包含可與信箱視圖及對話視圖兩者相關聯的電子郵件。另一個範例包含可與日曆的每月視圖及該日曆的每週視 圖相關聯的預約。
接著,每個服務項目的格式轉換或變換成適合在使 用者介面中表現的呈現格式(步驟203)。此舉被行使,使得服務項目從儲存器取回以用於表現在使用者介面中時不需要重新格式化。某些情境中,服務項目可依據溝通協定而格式化,該溝通協定例如電子郵件、及時訊息或部落格協定。呈現友善的格式因此可為適合呈現協定處置且最終呈現於使用者介面中的格式。
服務應用程式102接著儲存每個與對該服務項目識 別的視圖或多個視圖相關聯的服務項目(步驟205)。儲存服務項目可涉及開啟與視圖相關聯的資料結構且將該服務項目寫入至該資料結構。其他實作中,服務項目可寫入至與視圖相關聯的記憶體中之區塊或範圍,即使不是定義為離散資料結構。其他用於儲存服務項目的機制係可能的且可認定為在本揭示的範疇內。
第3圖繪示流程300,該流程可在從儲存器取回資 料時由服務應用程式102採用。運作中,事件可能發生以觸發服務應用程式102從儲存器取回資料。該事件可為,舉例而言,參考項目、資料夾、模組或服務應用程式102的某種其他態樣以指示其導覽該態樣之期望而行使的滑鼠點擊、觸摸、手勢、口述指令,或其他使用者輸入。其他的事件係可能的,例如由背景處理啟動的觸發。
回應於該事件發生,服務應用程式102識別哪個視圖與該事件相關聯(步驟301)。某些案例中與事件相關聯的該 視圖可能從該事件顯得自明。舉例而言,資料夾的選擇指示導覽該資料夾的意圖。其他案例可從事件牽連的物件或元件而程式地判定。舉例而言,在信箱中的訊息上徘徊或者選擇該訊息可觸發服務應用程式在預覽面板中表現訊息預覽。任何案例中,服務應用程式102識別該相關的視圖。
在識別相關視圖後,服務應用程式102取回相關聯 的資料結構,該資料結構包含將在該視圖中表現的各種服務項目與其他元件(步驟303)。取回該資料結構可能涉及作檔案開啟請求以開啟記憶體中的該資料結構。該等服務項目與元件接著可依據使用者介面協定而從該資料結構讀取且處理,以為了在使用者介面中表現該視圖。
最後,服務應用程式102在使用者介面中表現該等 服務項目與元件以為了呈現該視圖(305)。該等服務項目與元件一起形成該視圖。舉例而言,電子郵件的清單以及影像及其他圖像可一起表現以形成信箱視圖。類似地,預約、影像及其他圖像的清單可一起表現以形成日曆的每月視圖。在社交網路的範例中,公告、影像及其他圖像的集合可一起表現以形成人物之社交網路的動態消息視圖。在又另一個範例中,部落格公告、影像及其他圖像的集合可表現以形成部落格的視圖。
第4圖繪示實作中的電子郵件環境400,其中增進 的資料儲存與取回可被採用。電子郵件環境400包含客戶裝置401與客戶裝置411,電子郵件應用程式402與電子郵件應用程式412在該等客戶裝置上分別實作。使用者404與客戶 裝置401及411及電子郵件應用程式402及412的至少一者相關聯。電子郵件環境400亦包含資料中心421及溝通網路410,資料中心421透過該溝通網路藉由客戶裝置401與客戶裝置411的方式與電子郵件應用程式402與電子郵件應用程式412溝通。電子郵件服務422代管(hosted)於資料中心421中。
客戶裝置401代表能夠執行電子郵件應用程式402 且透過溝通網路410溝通以允許電子郵件應用程式402與電子郵件服務422互動的任何實體或虛擬計算裝置。客戶裝置401的範例包含,但不受限於,智慧型手機、平板電腦、膝上型電腦、桌上型電腦、跨類別的混合式電腦及虛擬機器,以及其變化或組合。繪示於第9圖中的計算系統900係代表一種這樣的計算裝置。
電子郵件應用程式402代表能夠執行於客戶裝置 401上且透過溝通網路410與電子郵件服務422溝通的任何電子郵件應用程式、模組、元件或其集合。電子郵件應用程式402亦能夠實作繪示於第7A圖及第7B圖中的流程700、流程710或兩者。電子郵件應用程式402可整合於另一個應用程式中,或可在另一個應用程式提供的執行環境中執行,例如瀏覽器應用程式。然而,某些情境中電子郵件應用程式402亦可為局部安裝且執行的單機應用程式。電子郵件應用程式402亦可代表任何個人資訊管理應用程式,該個人資訊管理應用程式包含電子郵件功能之外或額外的功能,例如日曆功能、工作功能及類者。
客戶裝置411代表能夠執行電子郵件應用程式412 且透過溝通網路410溝通以允許電子郵件應用程式412與電子郵件服務422互動的任何實體或虛擬計算裝置。客戶裝置411的範例包含,但不受限於,智慧型手機、平板電腦、膝上型電腦、桌上型電腦、跨類別的混合式電腦及虛擬機器,以及其變化或組合。繪示於第9圖中的計算系統900係代表一種這樣的計算裝置。
電子郵件應用程式412代表能夠執行於客戶裝置 411上且透過溝通網路410與電子郵件服務422溝通的任何電子郵件應用程式、模組、元件或其集合。電子郵件應用程式412亦能夠實作繪示於第7A圖及第7B圖中的流程700、流程710或兩者。電子郵件應用程式412可整合於另一個應用程式中,或可在另一個應用程式提供的執行環境中執行,例如瀏覽器應用程式。然而,某些情境中電子郵件應用程式412亦可為局部安裝且執行的單機應用程式。電子郵件應用程式412亦可代表任何個人資訊管理應用程式,該個人資訊管理應用程式包含電子郵件功能之外或額外的功能,例如日曆功能、工作功能及類者。
資料中心421代表任何能夠代管電子郵件服務422 的計算設備之集合。資料中心421可代表實體資料中心、虛擬資料中心、單一資料中心、多個資料中心,或其任何組合或變化。電子郵件服務422代表實作於軟體中且可在資料中心421中代管的任何電子郵件服務。電子郵件服務422可提供為單機服務或可連同其他服務提供或提供為其他服務的整 合部件,該其他服務例如日曆服務、統一的溝通服務、社交網路服務、電子商務服務、生產率服務,及遊戲服務,以及任何其他合適的服務,其所有可代管於資料中心421中。
溝通網路410代表任何網路或網路集合,客戶裝置 401與客戶裝置411可透過該網路或網路集合與資料中心421溝通。溝通網路410的範例包含,但不受限於,有線及無線網路、網際網路與網內網路,以及任何其他種類的網路、網路組合或其變化。
第4圖亦繪示應用程式架構440,該應用程式架構 代表用於電子郵件應用程式402與電子郵件應用程式412的可能架構。應用程式架構440包含使用者介面模組443、服務模組445及儲存模組447。應用程式架構440亦包含視圖450、信箱視圖451、已發送項目視圖452、訊息預覽視圖453、對話視圖454、對話視圖455、已刪除項目視圖456及資料夾視圖457、458及459。
服務模組445為能夠與電子郵件服務422、使用者 介面模組443及儲存模組447溝通的任何軟體元件、模組或其集合。服務模組445處置電子郵件的發送與接收、與儲存模組447溝通以儲存及取回資料,及與使用者介面模組443溝通以表現使用者介面。
使用者介面模組443為能夠與作用以提供使用者介 面的服務模組445及各種其他軟體元件溝通的任何軟體元件、模組或其集合。舉例而言,使用者介面模組443可與作業系統元件溝通以驅動使用者介面系統。
儲存模組447為能夠與服務模組445及檔案系統或 其他作業系統元件溝通以促成資料之儲存與取回的任何軟體元件、模組或其集合。
運作中,使用者介面模組443從指示使用者輸入的 下層元件接收使用者輸入資訊,且將該事件溝通至服務模組445。服務模組445分析該事件以判定關於電子郵件或多個電子郵件發生了什麼動作。該動作可報告至電子郵件服務422,使得電子郵件服務422可維持同步或主台(master)版本的郵件儲存、郵箱或其他電子郵件集合給使用者404。服務模組445亦可溝通更新至儲存模組447以更新被該動作影響的視圖。 儲存模組447透過檔案系統與視圖450介面,以實作該更新。
除了回應透過使用者介面模組443溝通的事件外,服務模組445亦可回應由電子郵件422溝通的電子郵件更新。該等電子郵件更新可包含將被儲存且可能表現於視圖中的新電子郵件,但亦可包含對已存在電子郵件的更新,其中特性改變或其他更新將實作於該儲存器中。
第5圖繪示運作序列500,該運作序列代表當使用者輸入發生時可能發生的一個模範資料流程。運作中,使用者介面模組443在使用者介面中表現視圖。該視圖可為第4圖中繪示的各種視圖450之任何一者,例如信箱視圖451。使用者404透過該使用者介面提供關於包含在該視圖中的個別電子郵件之使用者輸入,例如由使用者介面443認定為事件的滑鼠點擊、觸摸、手勢或指令。使用者介面模組443將該事件溝通至服務模組445。
回應於該事件,服務模組445判定對該相關的電子 郵件做什麼樣的改變(若有的話)。此範例中,服務模組445判定已準備好特性改變。舉例而言,電子郵件的狀態可能已經從標記狀態改變至未標記狀態,從已讀取狀態改變至未讀取狀態等等。服務模組445將該特性改變溝通至儲存模組447以用於儲存於視圖450中。
儲存模組447從服務模組445接收該特性改變並判 定那些視圖可能受到該特性改變的影響。由於標的電子郵件可儲存於多個視圖中,一或更多個視圖可能受影響。儲存模組447接著開啟與每個經識別視圖相關聯的資料結構,並儲存該特性改變。某些案例中,實作該特性改變可涉及設定位元、改變變數的數值,或對儲存於該資料結構中之指示電子郵件狀態的一件資料做某種其他的改變。然而,實作該特性改變亦可能涉及更改特定於呈現格式的影像資料其他呈現相關的資料,該標的電子郵件以該呈現格式儲存在該資料結構中。該特性改變可藉由視圖更新的方式浮現於表現的視圖中,該視圖更新由儲存模組447溝通至使用者介面模組443,假設相關聯的視圖目前載入於該使用者介面中。
除了溝通該特性改變至儲存模組447外,服務模組 445亦將該動作報告至電子郵件服務422。舉例而言,服務模組445可報告該標的電子郵件被標記或去標記,或從已讀取狀態改變成未讀取狀態。其他範例包含報告電子郵件在局部被刪除、移動至另一個資料夾及類者。與電子郵件服務422這樣的溝通係依據動作報告典範,該動作報告典範呼叫報告 在該使用者介面中局部發生的動作,而非溝通整個物件與其特性。作為回覆,電子郵件服務422向下溝通可能包含物件與其特性的資料。雖然不繪示於第5圖,但任何新資料可被處理以用於儲存在相關聯的一或更多個視圖450。
第6圖繪示另一個運作序列,但屬於取回視圖的一 個運作序列。運作中,使用者介面443驅動視圖在使用者介面中的表現,例如信箱視圖451。使用者404與該使用者介面互動以提供使用者輸入,該使用者輸入指示導覽離開初始視圖至另一個不同視圖的意圖。舉例而言,使用者404可點擊、觸摸或者選擇另一個資料夾、電子郵件項目或某種其他觸發視圖之間轉移的物件或元件。使用者介面443將該事件溝通至服務模組445,該服務模組接著識別哪個視圖被選擇。
服務模組445接著與儲存模組447溝通以請求該經 識別的視圖。這樣的請求可藉由指定特定視圖而行使。儲存模組447必須接著識別哪個資料結構與該請求的視圖相關聯。儲存模組447將檔案開啟請求溝通至檔案系統以開啟資料結構,該資料結構持有用於該經視別視圖的各種電子郵件項目與其他元件。該等服務項目與元件被讀出該資料結構且被提供以藉由使用者介面模組443表現於該使用者介面中。 雖然第6圖繪示新的視圖直接從儲存模組447溝通至使用者介面膜組443,可意識到服務模組445可做為中介。此外,指標或其他資料轉移存取技術可被利用,使得新視圖的元件不需要實際被移動,反而至相關資料結構的存取係給予至使用者介面模組443。
第7A圖繪示應用程式架構440及藉由延伸電子郵 件應用程式402或電子郵件應用程式412可採用的流程700,以促成增進的資料儲存。運作中,服務模組445接收來自電子郵件服務422的電子郵件更新(步驟701)。服務模組445接著對每個電子郵件識別相關視圖或多個視圖(步驟703)。替代地,儲存模組447可負責行使此步驟。一旦經識別,該等電子郵件轉換成適合表現在視圖中的呈現格式(步驟705)。
視圖的優先權接著被識別,該優先權有關於電子郵 件將被儲存的順序(707)。給定至一個視圖的優先權可在另一個視圖或其他視圖之上,使得與該視圖相關聯的電子郵件係在與其他視圖相關聯的其他電子郵件之前寫入至其相關聯的資料結構(檔案)。此舉使得高優先權的視圖相較於其他較低優先權的視圖準備好用於表現。舉例而言,因為信箱趨於比自定資料夾更常使用,故信箱視圖可被給定該自定資料夾視圖之上的優先權。另一個範例中,由於日曆的每月視圖比該日曆的每日視圖更常使用,故該每月視圖可被給定優先權。如此,與該信箱視圖相關聯的電子郵件將在與較低優先權視圖相關聯的電子郵件之前被寫入至其相關聯的資料結構。
基於分配至每個視圖的優先權順序,每個新電子郵件接著可對每個相關聯的視圖而儲存於資料結構中(步驟709)。因此,與信箱視圖相關聯的所有電子郵件可儲存於其對應的資料結構中,接著儲存與下一個視圖相關聯的所有電子郵件,該下一個視圖儲存於其對應的資料結構中,依此類推。如同其他範例,可意識到給定的電子郵件可能屬於多個視 圖,且因此可儲存於多個資料結構中。
第7B圖繪示應用程式架構440及藉由延伸電子郵件 應用程式402及電子郵件應用程式412可採用的流程710,以改善資料儲存及取回運作。運作中,事件可發生於使用者介面中(步驟711)。在幾乎相同的時間,電子郵件更新可從電子郵件服務422接收(步驟712)。過去,這樣的發生可導致次佳的使用者經驗,因為視圖或其他使用者介面運作之間的轉移可能因為電子郵件儲存至磁碟而延遲。離題中,在判定該事件優先於該電子郵件更新或者該電子郵件更新優先於該事件時,應用程式狀態被考量。從而,應用程式狀態由應用程式架構440判定(步驟713)。該事件與該電子郵件的相對優先權係基於應用程式狀態判定(步驟715),該事件與該電子郵件接著依其優先權順序處理(步驟717)。
一個範例中,該事件可包含向下捲動或捲動通過使 用者介面中的視圖。某些情境中捲動可涉及快速移動通過電子郵件清單。隨著使用者捲動過電子郵件清單,她可停止於任何給定的一者。因此,給至表現與該捲動相關聯的視圖之優先權可在儲存新電子郵件之上。然而,儲存進入之電子郵件仍然係重要的。因此,若該電子郵件應用程式大致在休息,則優先權可給至儲存新電子郵件。另一個範例中,當接收新預約時,使用者可能在導覽日曆中的天數。優先權可給至取回與該天數相關聯的視圖,而非儲存該預約。又另一個範例中,使用者可能在新訊息或動態消息接收時在社交網路網站上瀏覽照片。優先權可給至取回與該等照片相關聯的視圖, 而非儲存該等新訊息或動態消息。
第8圖繪示依據某些實作中視圖可與之儲存的資料結構模型800。資料結構模型800僅允許部分視圖被取回且載入至記憶體中,而非處置整個視圖。視圖801可包含由描述符表(descriptor table)803參考的頁面805、807、809之集合。描述符表803描述那些頁面有關於那些項目。當在視圖中項目被選擇或導覽發生而引動尚未從磁碟取回的項目時,視圖描述符表803可被存取以判定載入那些頁面。當與該視圖相關聯的項目被引動時,頁面致使部分視圖從磁碟載入至記憶體中,而非載入整個視圖。
在電子郵件相關的範例中,信箱視圖可包含十五頁的項目,但僅有少數的頁面需要同時載入至記憶體中。因此,信箱視圖的前三個頁面可從磁碟取回且載入。隨著使用者捲動過信箱視圖至新項目,包含該等項目的頁面將需要被取得並載入至記憶體中。如此,項目可從頁面載入且基於每頁地呈現於使用者介面中,而非等待整個視圖被載入。可意識到關於各種以上探討的實作,從儲存器載入或取回視圖可涉及取回整個視圖或僅取回視圖(或頁面集合)的一部分,如在此關於第8圖所探討。
第9圖繪示計算系統900,該計算系統包含服務應用程式910,該計算系統代表應用程式平台101、客戶裝置401及客戶裝置411,以及適合實作服務應用程式或電子郵件應用程式的任何其他種類之裝置、系統或其集合。計算系統900的範例包含,但不受限於,桌上型電腦、膝上型電腦、平板 電腦、筆記型電腦、行動計算裝置、智慧型手機、行動電話、媒體裝置及遊戲裝置,以及能夠實現服務應用程式910的任何其他種類的實體或虛擬計算機器。
計算系統900可實作為單一設備、系統或裝置,或 可以分佈的方式實作為多個設備、系統或裝置。計算系統900包含,但不受限於,處理系統901、儲存系統903、軟體905、溝通介面系統907及使用者介面系統909。處理系統901運作地與儲存系統903、溝通介面系統907及使用者介面系統909耦合。
處理系統901從儲存系統903載入並執行軟體905。 當由處理系統901執行時,軟體905導引處理系統901對服務應用程式102、電子郵件應用程式402、電子郵件應用程式412及應用程式架構440如在此所述地運作。計算系統900可選擇地包含為了簡要之目的而不探討的額外裝置、特徵或功能。
仍參考第9圖,處理系統901可包括從儲存系統903 取回且執行軟體905的微處理器與其他電路。處理系統901可實作於單一處理裝置中,但亦可分佈於合作執行程式指令的多個處理裝置或子系統。處理系統901的範例包含通用中央處理單元、應用程式特定處理器,及邏輯裝置,以及任何其他種類的處理裝置、組合或其變化。
儲存系統903可包括任何電腦可讀取儲存媒體,該 電腦可讀取儲存媒體可由處理系統901讀取且能夠儲存軟體905。儲存系統903可包含以任何方式或技術實作以儲存資訊 的揮發及非揮發、可移除及不可移除媒體,例如電腦可讀取指令、資料結構、程式模組或其他資料。儲存媒體的範例包含隨機存取記憶體、唯讀記憶體、磁碟、光碟、快閃記憶體、虛擬記憶體及非揮發記憶體、磁卡匣、磁帶、磁碟儲存器或其他磁性儲存裝置,或任何其他合適的儲存媒體。該電腦可讀取儲存媒體在所有案例中皆不為傳播信號。
除了電腦可讀取儲存媒體外,某些實作中儲存系統 903亦可包含電腦可讀取溝通媒體,軟體905可透過該電腦可讀取溝通媒體而內部地或外部地溝通。儲存系統903可實作為單一儲存裝置,但亦可實作橫跨共同定位或相對於彼此分佈的多個儲存裝置或子系統。儲存系統903可包括能夠與處理系統901或可能其他系統溝通的額外元件,例如控制器。
軟體905可實作於程式指令中,且除了其他功能之 外可在由處理系統901執行時,導引處理系統901如在此所述地關於各種在此揭示的運作情境而運作。具體而言,該程式指令可包含各種元件或模組,該等元件或模組合作或者互動以實現在此描述的各種流程與運作情境。該各種元件或模組可體現於編譯(compiled)或直譯(interpreted)的指令中,或指令的某種其他變化或組合中。該各種元件或模組可以同步或非同步的方式執行、序列或平行執行、在單一執行緒(singled threaded)環境或多執行緒中執行,或依據任何其他合適的執行典範、變化或其組合而執行。軟體905可包含額外的流程、程式或元件,例如作業系統軟體或其他應用程式軟體。軟體905亦可包括處理系統901可執行的韌體或某種其他形式的 機器可讀取處理指令。
一般而言,軟體905在載入至處理系統901中且執 行時,可將合適的設備、系統或裝置(其中計算系統900係代表性的)整體從通用計算系統轉換成特殊用途計算系統,該特殊用途計算系統經自定以促成服務項目基於視圖的儲存,如在此對每個實作所描述。確實,將軟體905編碼於儲存系統903上可轉換儲存系統903的實體結構。該實體結構的特定轉換可取決於此描述之不同實作中的各種因素。這樣的因素之範例可包含,但不受限於,用以實作儲存系統903之儲存媒體的技術,及該電腦儲存媒體是否特徵為主要儲存或次要儲存,以及其他因素。
舉例而言,若該電腦可讀取儲存媒體實作為基於半 導體的記憶體,則軟體905可在軟體指令編碼於其中時轉換該半導體記憶體的該實體狀態,例如藉由轉換構成半導體記憶體的電晶體、電容或其他離散電路元件之狀態。類似的轉換可對於磁性或光學媒體發生。在不背離本描述的範疇下,實體媒體的其他轉換係可能的,其中前述範例之提供僅為了促成本探討。
再次參考第1A圖作為範例,透過計算系統900所 代表的計算系統或多個計算系統之運作,轉換可相對於資料結構133及資料結構143而行使。作為範例,與視圖131及視圖141相關聯的元件分別儲存於資料結構133及資料結構143中。新的服務項目接收於服務應用程式102中且回應地儲存於資料結構133及資料結構143中,從而改變該等資料結 構至第二個不同的狀態。繪示於第1B圖中的另一個範例中,使用者介面103起初包含視圖161但回應於事件121而轉移至視圖131。轉換的其他範例係可能的且可認定為在本揭示的範疇內。
應理解到計算系統900大致係意於代表軟體905可 部署且執行於其上的計算系統或多個計算系統,以為了實作基於視圖的儲存。然而,計算系統900亦可適合作為軟體905可在其上分階(staged)的任何計算系統,且軟體905可從該計算系統分佈、傳送、下載或者提供至又另一個計算系統以用於部署及執行,或又額外的分佈。
溝通介面系統907可包含溝通連接及裝置,該溝通 連接及裝置允許透過溝通網路或網路集合(未顯示)與其他計算系統(未顯示)溝通。一起允許系統內部溝通的連接及裝置之範例可包含網路介面卡、天線、功率放大器、RF電路、收發器及其他溝通電路。該等連接及裝置可透過溝通媒體溝通,以與其他計算系統或系統網路交換溝通,例如金屬、玻璃、空氣或任何其他合適的溝通媒體。前述的媒體、連接及裝置係廣為人知的且在此不需要詳細探討。
計算系統900與任何其他計算系統(未顯示)之間的 溝通可發生於溝通網路或多個溝通網路上且依據各種溝通協定、協定之組合或其變化。計算系統900可與其他計算系統交換資訊的溝通網路之範例包含網內網路、網際網路、區域網路、廣域網路、無線網路、有線網路、虛擬網路、軟體定義的網路、資料中心匯流排、計算背板、網路或其任何組合 或變化。前述的溝通網路及協定係廣為人知的且在此不需要詳細探討。然而,可使用的某些溝通協定包含,但不受限於,網路協定(IP、IPv4、IPv6等等)、傳輸控制協定(TCP)及使用者資料報協定(UDP),以及任何其他合適的溝通協定、變化或其組合。
在前述的任何資訊交換之範例中,該資訊之交換可 依據任何種類的協定而發生,該協定包含FTP(檔案傳輸協定)、HTTP(超文件傳輸協定)、REST(表示狀態傳輸)、WebSocket、DOM(文件物件模型)、HTML(超文件標示語言)、CCS(級聯式樣表單)、HTML5、XML(可延伸性標示語言)、JavaScript、JSON(JavaScript物件表示法)、及AJAX(非同步JavaScript及XML),以及任何其他合適的協定、變化或其組合。某些實作中,資訊可依據任何種類的電子郵件協定而交換,該電子郵件協定不受限制地包含POP(郵件協定)、IMAP(網際網路訊息存取協定)、MAPI(訊息應用程式設計介面)、HTTP郵件,或任何其他合適的電子郵件協定。
使用者介面909可包含鍵盤、滑鼠、語音輸入裝置、 用於從使用者接收觸摸手勢的觸摸輸入裝置、用於偵測使用者的非觸摸手勢及其他動態之動態輸入裝置,及能夠從使用者接收使用者輸入的其他可比較之輸入裝置及相關聯之處理元件。例如顯示器、揚聲器、觸覺裝置(haptic devices)及其他種類的輸出裝置亦可包含於使用者介面系統909中。某些案例中,該輸入裝置與輸出裝置可在單一裝置中結合,例如能夠顯示影像及接收觸摸手勢的顯示器。前述的使用者輸入裝 置及輸出裝置在本領域中廣為人知且在此不需要詳細探討。
使用者介面系統909亦可包含可由處理系統901執行的相關聯使用者介面軟體,以支援以上探討的各種使用者輸入裝置及輸出裝置。與彼此及其他硬體及軟體元件分離或聯結地,該使用者介面軟體與使用者介面裝置可支援圖像使用者介面、自然使用者介面或任何其他種類的使用者介面。舉例而言,使用者介面103可透過使用者介面系統909呈現。此外,對於該使用者介面所作的使用者輸入可透過使用者介面系統909而輸入。
提供於該等圖式的功能性方塊圖、運作情境及序列,及流程圖代表用於行使本揭示之新穎態樣的模範系統、環境及方法。雖然為了簡單說明之目的,包含在此的方法可為功能圖表、運作情境或序列,或流程圖的形式且可被描述為一系列的動作,應理解到且意識到該等方法不受限於動作的順序,因為某些動作可能據此與在此所顯示及描述的其他動作以不同的順序發生及/或同時發生。舉例而言,熟知技藝者將理解且意識到方法可替代地表示為一系列的相關狀態或事件,例如在狀態圖中。此外,新穎實作可不要求所有繪示於方法中的動作。
所包含的描述及圖式描繪特定的實作以教示熟知技藝者如何做出及使用最佳的選擇。為了教示發明原理之目的,某些習知態樣被簡化或忽略。熟知技藝者將意識到落入本發明之範疇內的該等實作之變化。熟知技藝者將亦意識到以上描述的該等特徵可以各種方式結合以形成多種實作。作 為結果,本發明並不受限於以上描述的特定實作,但僅受限於請求項與該等請求項的等同物。
100A‧‧‧運作情境
101‧‧‧應用程式平台
102‧‧‧服務應用程式
103‧‧‧使用者介面
105‧‧‧服務項目
107‧‧‧服務項目
111‧‧‧服務平台
112‧‧‧服務
131‧‧‧視圖
133‧‧‧資料結構
135‧‧‧元件
141‧‧‧視圖
143‧‧‧資料結構
145‧‧‧元件
147‧‧‧元件
151‧‧‧視圖
153‧‧‧資料結構
155‧‧‧元件
157‧‧‧元件
159‧‧‧元件
200‧‧‧流程

Claims (20)

  1. 一種電腦可讀取儲存媒體,該電腦可讀取儲存媒體具有儲存於其上的程式指令,該等程式指令包括一服務應用程式,該服務應用程式用於促成至一服務的一使用者介面,當該服務應用程式由一處理系統執行時,導引該處理系統至少行使以下步驟:從該服務溝通的資料而識別至少一個服務項目以呈現於複數個視圖的至少一者,該等視圖表現於至該服務的該使用者介面中;識別該複數個視圖的哪一者與該服務項目相關聯;及儲存與該複數個視圖的至少一個視圖相關聯的該服務項目,該至少一個視圖係經識別以用於與該服務項目作關聯。
  2. 如請求項1所述之電腦可讀取儲存媒體,其中,為了儲存與至少該視圖相關聯的該服務項目,該服務應用程式導引該處理系統儲存該服務項目於一資料結構中,該資料結構包括複數個元件,該等元件與該視圖相關聯且具有一呈現格式以在表現於至該服務之該使用者介面中時,準備好在該視圖中呈現。
  3. 如請求項2所述之電腦可讀取儲存媒體,其中為了儲存與該視圖相關聯的該服務項目,該服務應用程式導引該處理系統將該服務項目的一格式轉換為該呈現格式,並將該服務項目加至該資料結構中的該複數個元件。
  4. 如請求項3所述之電腦可讀取儲存媒體,其中回應於一使用者在該使用者介面中從該複數個視圖的一先前視圖導覽至該視圖,該服務應用程式進一步導引該處理系統溝通一請求至一檔案系統,以取回與該視圖相關聯的該資料結構且在該使用者介面中浮現該複數個元件,包含該服務項目。
  5. 如請求項1所述之電腦可讀取儲存媒體,其中該服務應用程式進一步導引該處理系統在儲存與該視圖相關聯的該服務項目之前,先將該服務項目轉換成一呈現格式,其中該呈現格式包括在該使用者介面中呈現該服務項目的一格式。
  6. 如請求項5所述之電腦可讀取儲存媒體,其中每個該複數個視圖係對應至複數個資料結構的不同一個,每個該複數個視圖的複數個元件係以該呈現格式儲存於該複數個資料結構中。
  7. 如請求項6所述之電腦可讀取儲存媒體,其中為了識別該複數個視圖何者與該服務項目相關聯,該服務應用程式導引該處理系統識別該複數個視圖的一子集合,該複數個視圖的該子集合包括該複數個視圖的其中一個以上,且其中,為了儲存與經識別以用於與該服務項目相關聯的該複數個視圖之至少該視圖相關聯的該服務項目,該服務應用程式導引該處理系統儲存該服務項目於該複數個資料結構的一子集合 中,該資料結構的該子集合對應至該複數個視圖的該子集合。
  8. 如請求項7所述之電腦可讀取儲存媒體,其中該服務應用程式至少部分基於分配至每個該複數個視圖的一優先權而進一步導引該處理系統識別該服務項目儲存於該複數個資料結構之該子集合中的一順序。
  9. 如請求項1所述之電腦可讀取儲存媒體,其中該服務包括一電子郵件服務與一日曆服務的至少一者,且其中該服務項目包括一電子郵件與一日曆項目的至少一者。
  10. 一種設備,該設備包括:一或更多個電腦可讀取儲存媒體;及儲存於該一或更多個電腦可讀取儲存媒體上的程式指令,該等程式指令包括一電子郵件應用程式,該電子郵件應用程式可由一處理系統執行,以至少表現至一服務的一使用者介面,其中該電子郵件應用程式包括:一服務模組,當執行該服務模組時,導引該處理系統從該服務識別資料,該服務包括一電子郵件,該電子郵件用於在該使用者介面中之複數個視圖之至少一者中呈現,並識別該複數個視圖何者與該電子郵件相關聯;及一儲存模組,當該儲存模組執行時,導引該處理系統儲存與該複數個視圖之至少一個視圖相關聯的該服務項目,該視圖係經識別以與該服務項目相關聯。
  11. 如請求項10所述之設備,其中為了儲存與至少該視圖相關聯的該電子郵件,該儲存模組導引該處理系統將該電子郵件儲存於一資料結構中,該資料結構包括複數個元件,該複數個元件與該視圖相關聯且經格式化以用於在該視圖中浮現。
  12. 如請求項11所述之設備,其中為了儲存與該視圖相關聯的該電子郵件,該儲存模組導引該處理系統以適合用於在該視圖中浮現該電子郵件的一格式而將該電子郵件加至該資料結構中的該複數個元件。
  13. 如請求項12所述之設備,其中回應於一使用者在該使用者介面中從該複數個視圖的一先前視圖導覽至該視圖,該儲存模組進一步導引該處理系統溝通一請求至一檔案系統,以取回與該視圖相關聯的該資料結構,且其中該程式指令進一步包括視圖模組,當該視圖模組被執行時,導引該處理系統溝通該資料結構至一使用者介面系統,該使用者介面系統在該使用者介面中浮現該複數個元件及該電子郵件以呈現該視圖。
  14. 如請求項10所述之設備,其中該儲存模組進一步導引該處理系統在儲存與該視圖相關聯的該電子郵件之前,先將該電子郵件轉換成一呈現格式,其中該呈現格式包括在該使用 者介面中呈現該電子郵件的一格式。
  15. 如請求項14所述之設備,其中每個該複數個視圖係對應至複數個資料結構的不同一個,每個該複數個視圖的複數個元件係以該呈現格式儲存於該複數個資料結構中,且其中該複數個視圖包括一信箱視圖、一已發送訊息視圖及一預覽視圖。
  16. 如請求項15所述之設備,其中為了識別該複數個視圖何者與該服務項目相關聯,該電子郵件應用程式導引該處理系統識別該複數個視圖的一子集合,該複數個視圖的該子集合包括該複數個視圖的其中一個以上,且其中,為了儲存與經識別以用於與該服務項目相關聯的該複數個視圖之至少該視圖相關聯的該服務項目,該服務應用程式導引該處理系統儲存該服務項目於該複數個資料結構的一子集合中,該資料結構的該子集合對應至該複數個視圖的該子集合。
  17. 如請求項16所述之設備,其中該服務模組至少部分基於分配至每個該複數個視圖的一優先權而進一步導引該處理系統識別該服務項目儲存於該複數個資料結構之該子集合中的一順序。
  18. 如請求項10所述之設備,該設備進一步包括該處理系統及一使用者介面,其中該處理系統執行該等程式指令,且其 中該使用者介面系統在該使用者介面中顯示該視圖。
  19. 一種用於促成至一服務的一使用者介面之方法,該方法包括以下步驟:從該服務接收資料,該資料包括複數個服務項目,該複數個服務項目用於在複數個視圖的至少一者中呈現,該視圖表現於至該服務的該使用者介面中;識別該複數個服務項目將儲存於複數個資料結構之何者,該複數個資料結構對應至該複數個視圖;回應於與該複數個服務項目之至少一個服務項目相關聯的一事件,該事件觸發從該複數個視圖的一初始視圖至該複數個視圖的一後續視圖之一轉移,取回對應至該後續視圖的該複數個資料結構的一資料結構;及處理該資料結構以在該使用者介面中表現該後續視圖。
  20. 如請求項19所述之方法,其中該服務包括一電子郵件服務,其中該複數個服務項目包括複數個電子郵件,其中該初始視圖包括一電子郵件信箱的一視圖,其中該後續視圖包括一資料夾的一視圖,且其中該方法進一步包括以下步驟:至少部分基於分配至每個該複數個視圖的一優先權而識別在該複數個資料結構中儲存該複數個服務項目的一順序。
TW104101537A 2014-03-13 2015-01-16 關聯於視圖來儲存服務項目 TW201535131A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/210,109 US10838972B2 (en) 2014-03-13 2014-03-13 Storing service items in association with views

Publications (1)

Publication Number Publication Date
TW201535131A true TW201535131A (zh) 2015-09-16

Family

ID=52774555

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104101537A TW201535131A (zh) 2014-03-13 2015-01-16 關聯於視圖來儲存服務項目

Country Status (5)

Country Link
US (1) US10838972B2 (zh)
EP (1) EP3117381A1 (zh)
CN (1) CN106104595B (zh)
TW (1) TW201535131A (zh)
WO (1) WO2015138363A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI763224B (zh) * 2020-07-09 2022-05-01 南韓商韓領有限公司 配置使用者介面層的行動裝置以及方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343453B2 (en) * 2004-04-30 2008-03-11 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US10277549B2 (en) * 2015-06-04 2019-04-30 Apple Inc. Prioritized email synchronization with server
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11360694B2 (en) 2019-05-08 2022-06-14 Distech Controls Inc. Method providing resilient execution of a service on a computing device
US11379249B2 (en) * 2019-05-08 2022-07-05 Distech Controls Inc. Computing device providing fail-safe execution of a service

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961590A (en) 1997-04-11 1999-10-05 Roampage, Inc. System and method for synchronizing electronic mail between a client site and a central site
US6725228B1 (en) * 2000-10-31 2004-04-20 David Morley Clark System for managing and organizing stored electronic messages
US8250150B2 (en) 2004-01-26 2012-08-21 Forte Internet Software, Inc. Methods and apparatus for identifying and facilitating a social interaction structure over a data packet network
US8275839B2 (en) 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
EP1783961B1 (en) 2005-11-04 2008-04-02 Research In Motion Limited Contention resolution among applications requiring data connections between a mobile communications device and a wireless packet data network
US8930379B2 (en) * 2006-11-28 2015-01-06 International Business Machines Corporation Merging distributed mail into a unified folder view
US7783712B2 (en) 2007-03-20 2010-08-24 Data Transfer, Llc System and method for bi-directional synchronized conversion of electronic mail data
US8065392B2 (en) * 2007-06-08 2011-11-22 Apple Inc. Methods and systems for managing web feed content with an email client application
US8494894B2 (en) 2008-09-19 2013-07-23 Strategyn Holdings, Llc Universal customer based information and ontology platform for business information and innovation management
US8849927B2 (en) 2009-01-30 2014-09-30 Voxer Ip Llc Method for implementing real-time voice messaging on a server node
US9558476B2 (en) 2010-07-01 2017-01-31 Good Technology Holdings Limited Method and device for editing workspace data objects
US9081864B2 (en) 2010-08-04 2015-07-14 Microsoft Technology Licensing, Llc Late resource localization binding for web services
US8756500B2 (en) 2011-09-20 2014-06-17 Microsoft Corporation Dynamic content feed filtering
US20130275383A1 (en) * 2012-04-16 2013-10-17 Thomas P. McLarty Automatically Converting Emails to Image Files

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI763224B (zh) * 2020-07-09 2022-05-01 南韓商韓領有限公司 配置使用者介面層的行動裝置以及方法
US11494205B2 (en) 2020-07-09 2022-11-08 Coupang Corp. Systems and methods for deploying low-application-impact user interfaces

Also Published As

Publication number Publication date
EP3117381A1 (en) 2017-01-18
US20150261832A1 (en) 2015-09-17
CN106104595B (zh) 2019-11-01
US10838972B2 (en) 2020-11-17
CN106104595A (zh) 2016-11-09
WO2015138363A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
TW201535131A (zh) 關聯於視圖來儲存服務項目
EP3221778B1 (en) Tab sweeping and grouping
US10412131B2 (en) Systems and methods for gesture-based sharing of data between separate electronic devices
US20170329614A1 (en) Notifications in multi application user interfaces
KR102298602B1 (ko) 확장가능한 애플리케이션 표시
US20170024086A1 (en) System and methods for detection and handling of focus elements
EP4130968A1 (en) Optimization schemes for controlling user interfaces through gesture or touch
CN108140029B (zh) 自动堆叠深度查看卡
US10956032B2 (en) Keyboard utility for inputting data into a mobile application
US20120204125A1 (en) User interface incorporating sliding panels for listing records and presenting record content
CN116034385A (zh) 指示相关联内容的可用性的动画视觉提示
KR20160143755A (ko) 확장 가능 애플리케이션 표현, 액티비티 레벨들, 및 데스크탑 표현
US20070136268A1 (en) Just in time loading list
US20140006967A1 (en) Cross-application transfers of user interface objects
US11115362B2 (en) Method and system for presenting conversation thread
US20160364398A1 (en) Generation and dynamic serving of device-dependent web content
CN112083866A (zh) 一种表情图像的生成方法和装置
JP7206370B2 (ja) 動的キーボードインターフェース内にアニメーション画像を配置するための方法およびシステム
US20140282248A1 (en) Enhanced views with dynamic menus
US10007554B2 (en) Task scheduling based on user interaction
TW201530435A (zh) 對服務更新使用者介面
US11303464B2 (en) Associating content items with images captured of meeting content
GB2532822A (en) Techniques for providing a user interface incorporating sign language
US11003314B2 (en) Presentating action menus in viewing panes
CN113965794A (zh) 横幅展示方法、装置、电子设备、存储介质及程序产品