TWI556168B - 外部服務應用程式探索方法 - Google Patents

外部服務應用程式探索方法 Download PDF

Info

Publication number
TWI556168B
TWI556168B TW101128301A TW101128301A TWI556168B TW I556168 B TWI556168 B TW I556168B TW 101128301 A TW101128301 A TW 101128301A TW 101128301 A TW101128301 A TW 101128301A TW I556168 B TWI556168 B TW I556168B
Authority
TW
Taiwan
Prior art keywords
host
action
service application
file
information
Prior art date
Application number
TW101128301A
Other languages
English (en)
Other versions
TW201314571A (zh
Inventor
盧蘭馬修詹姆士
菲爾德斯馬克提摩西
馮韓森克里斯多夫
彭燕林
拉姆齊馬可克里斯多夫
賽門尼可拉斯麥可
福匹樂艾力克希
二世 俞哈斯可尼士J
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 TW201314571A publication Critical patent/TW201314571A/zh
Application granted granted Critical
Publication of TWI556168B publication Critical patent/TWI556168B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

外部服務應用程式探索方法 相關申請案
本申請案依據專利法規定主張於2011年9月27日提出申請的標題為「Open Platform Interface」的美國臨時專利申請案第61/539,975的權益,該申請案以引用之方式整體併入本文。
本發明是關於外部服務應用程式探索方法。
企業通常維持儲存在不同地方用於不同目的之不同類型的文件。在許多情況下,這些文件是根據各種不同的軟體應用程式和儲存系統而建立及儲存。例如,文件可以使用文字處理應用程式、試算表應用程式、簡報應用程式、記事本應用程式、圖形設計應用程式、照對應用程式等來產生。產生的文件可以透過各種不同的儲存系統來儲存,該等儲存系統包括用於儲存各類文件的一或多個內容伺服器、用於儲存文件為電子郵件之附件的伺服器、用於儲存文件為會議附件的儲存系統、用於儲存文件為前導(lead)或客戶資料的附件的客戶關係管理(CRM)系統、用於儲存文件作為常規使用的通用文件,及/或用於儲存作為特 定、高度規範需求文件的專門文件儲存(例如Documentum公司的Documentum®)。
存取和處理這些不同類型的文件往往需要合適的軟體以使每個文件類型可為使用者所用。典型的企業情境設想是需要存取或處理文件的每個人將有合適的軟體本地安裝於該等人員經常使用的計算裝置上。其中每個人可存取相同集合與版本的應用程式,這是一個可行的方法。然而,在許多情況下,一些使用者可能僅是非頻繁地使用給定的軟體應用程式,企業可能不載入給定的軟體應用程式於使用者的計算裝置上。一種糾正此類問題的方法一直是將文件轉換成容易檢視但不容易編輯的「發佈」格式。另一種提供各種文件類型的存取而不需要必要軟體套件之本地安裝的方法是提供在內容伺服器內直覺檢視和編輯功能或提供內容伺服器與專用系統之間的直接整合(即硬編碼),以用於檢視和編輯支援的文件;但是對於使用內容伺服器整合此功能,企業往往望而卻步,因為恐懼這種附加功能的整合可減少可能關鍵任務使用的處理能力和功能、增加停機時間及/或使內容伺服器的管理複雜化。此外,投資在一個專用系統的資源(如與開發、採購和部署相關的時間、精力和費用)不太可能轉移到另一個平台。
本發明是針對於這些和其他方面的考慮而撰寫。
本「發明內容」係以簡化形式介紹一組選定概念,在下文之「實施方式」中將進一步對該等概念進行描述。本「發明內容」無意於辨識所主張標的之關鍵特徵或基本特徵,亦非意欲用作限制判定所主張標的範圍。
根據實施例,外部服務應用程式探索程序連接一或多個主機與一或多個服務應用程式,服務應用程式允許客戶端計算裝置的使用者透過一般客戶瑞應用程式(即網頁瀏覽器)處理檔案。不管主機的本地通訊協定為何,開放式平台介面(一種共享通訊協定)允許主機和外部應用程式伺服器進行通訊。透過開放式平台介面慣例所描述的外部服務應用程式探索程序,外部應用程式伺服器描述服務應用程式所提供的功能以及如何調用該功能。基於開放式平台介面的實施程度和主機所理解的外部服務應用程式探索程序慣例,主機選擇性地供應服務應用程式所提供之功能給使用者。
與外部應用程式伺服器的整合是主機的責任,該責任透過稱為探索的程序來完成,在此期間,主機學習外部應用程式伺服器所支援的功能。在探索之前,主機不須有外部應用程式伺服器的可用性或功能的任何知識。為了參與外部應用程式伺服器的探索,主機必須理解開放式平台介面和與開放式平台介面相關的探索慣例。主機的行為是基於外部應用程式伺服器的可用性和功能性而改變。
外部服務應用程式探索程序是透過提供探索資料源的位置而起始自主機發起,探索資料源包含描述外部應用程 式伺服器之功能的資訊。探索資料是由外部應用程式伺服器所維持,並提供給主機作為回應或提供於探索文件中。取得探索資料的位置之後,主機發出探索請求至探索資料源。收到探索請求時,探索資料源提供包含探索資料的回應,該回應描述外部應用程式伺服器所支援的功能(即外部應用程式伺服器的屬性)。探索資料包含開放式平台介面慣例所指定的資訊並根據該資訊而格式化。主機消耗探索資料源所返回的探索資料。消耗探索資料後,主機儲存與服務應用程式所支援的動作有關的資訊用於相關聯的檔案類型。在完成外部服務應用程式探索程序後,主機的行為改變為整合由主機支援之服務應用程式的廣告功能。
在本文描述並在附圖中繪示用於連接主機與外部應用程式伺服器的外部服務應用程式探索程序。外部服務應用程式探索程序連接一或多個主機與一或多個服務應用程式,服務應用程式允許客戶端計算裝置的使用者透過網路經由與主機通訊之一般客戶端應用程式來處理檔案。不管本機的本地通訊協定為何,開放式平台介面(一種共享通訊協定)允許外部應用程式伺服器和主機進行互動。透過開放式平台介面慣例所描述的外部服務應用程式探索程序,外部應用程式伺服器描述服務應用程式所提供的功能以及如何調用該功能。基於開放式平台介面的實施程度和 主機所理解的外部服務應用程式探索程序的慣例,主機選擇性地供應服務應用程式所提供的功能給使用者。
圖1繪示包括一或多個主機102和一或多個外部應用程式伺服器104之範例企業網路100的一個實施例。使用者106使用網頁瀏覽器108從客戶端計算裝置110存取主機102。最普遍的主機102是內容伺服器,該內容伺服器儲存文件於文件儲存系統126中並為使用者106管理權限。一般情況下,主機102執行提供主機使用者介面114的主機應用程式112,主機使用者介面114控管主機102的正常功能。主機102的至少一些正常功能包括提供使用者106存取包含在內容儲存126及意欲作為使用支援應用程式而檢視及/或編輯之儲存文件116。主機102還提供通用的平台,以提供外部應用程式伺服器104的服務給使用者106。外部應用程式伺服器104提供了基於瀏覽器的網頁應用程式,允許使用者106透過主機與文件進行互動。開放式平台介面定義和導引主機102與外部應用程式伺服器104之間的文件運作。主機102亦實施端點120以從外部應用程式伺服器接收通訊。雖然主機102起始涉及外部應用程式伺服器104的服務的情境,主機102不撥叫外部應用程式伺服器104。相反地,外部應用程式伺服器104公開支援的功能以使用回調動作運作於支援的文件。
外部應用程式伺服器104執行一或多個網頁服務應用程式118,賦能使用者106存取、檢視、編輯及可選地執行其他操作於內容(例如檔案或文件)並從客戶端計算裝 置110透過網路執行檔案夾(即目錄)管理,而無需在本地安裝需要使用特定文件類型的合適應用程式。外部應用程式伺服器104的操作和輸出對於調用外部應用程式伺服器104的功能的主機102是不特定的。每個服務應用程式118通常執行為在外部應用程式伺服器104上的服務。外部應用程式伺服器104使用開放式平台介面和一組開放式平台介面慣例與主機102整合。外部應用程式伺服器104提供的必要的操作和功能與選定的檔案類型合作。外部應用程式伺服器104與主機無關。換言之,外部應用程式伺服器104的操作及/或輸出對於主機102是不特定的,此情況促進對於外部應用程式伺服器104的服務的存取。控管各種文件類型的服務應用程式118的例子包括用於處理文字處理文件、試算表、簡報和筆記的標準(例如本地安裝的)應用程式的線上(例如基於網頁的)物件(companions)。
每一服務應用程式118所提供的操作對於選定的檔案類型通常是特定的或是與檔案夾管理有關。外部應用程式伺服器104所提供的核心操作為檢視和編輯文件。在各種實施例中,服務應用程式118提供一或多個額外的操作,該等操作包括但不限於,重新格式化文件用於在行動裝置上檢視、建立新的文件、轉換文件、嵌入文件並從外部應用程式伺服器104的角度廣播文件,廣播和嵌入是特定的互動使用者流。在廣播的情況下,外部應用程式伺服器104顯示文件於多個客戶端計算裝置110,並在一實施例中於每一多客戶端計算裝置110持續追蹤被檢視的當前頁面。 主機102管理文件的上傳、廣播起始和豐富的客戶端入口點。在廣播操作的另一實施例中,網頁追蹤是由主機102控管。
每個服務應用程式118的支援操作是透過一或多個服務應用程式的入口URL存取。每個服務應用程式的入口URL作為外部應用程式伺服器104的入口點,用於特定文件類型的特定操作。一般情況下,每個服務應用程式的入口URL包括外部應用程式伺服器的位址並指定任務(例如使用試算表應用程式的嵌入式編輯)、與該任務相關聯的所需資料、例如文件的元資料URL和授權存取的存取符記及特定於該任務的任何可選參數。當使用者106選擇用於文件的操作時,對於使用者選定的文件,主機102產生服務應用程式的入口URL用於該操作。更具體而言,外部應用程式主機頁122產生與服務應用程式118共同使用的URL參數。外部應用程式主機頁122所產生的參數包括但不限於存取符記和來源URL。來源URL是服務應用程式118用於存取主機端點120和文件的URL。存取符記是獨特於使用者/物件對的符記,主機端點120使用該使用者/物件對驗證使用者106和授權存取文件及/或服務應用程式118。在各種實施例中,存取符記是基於使用者識別符、時間戳和文件識別符之一或多者的散列而計算,並以主機102知道的密鑰加密(例如儲存在主機配置資料庫)。
服務應用程式的入口點是透過主機102所提供的封套來控管。主機102所提供的封套是顯示外部應用程式伺服 器104之輸出及接受來自客戶端計算裝置110之輸入的框架或環境,客戶端計算裝置110允許使用者106使用由服務應用程式118所提供的功能與文件進行互動。在一實施例中,封套包括外部應用程式主機頁122及/或應用程式框架124。舉例來說,主機102所產生的外部應用程式主機頁122的一個實施例是主管全部的服務應用程式頁於一網頁容器中的單一頁面,如具有邊至邊佈局的直線框架(iFrame)。外部應用程式主機頁122沒有自己的使用者介面。外部應用程式主機頁的替代實施例可包括使用者介面或取代上述之其他網頁容器和佈局。
嵌入的資訊量可能會導致漫長而繁瑣的服務應用程式入口URL。此外,包含過期的存取符記易損壞服務應用程式的入口URL。封套透過提供書籤和鏈結共享的支援來補償服務應用程式入口URL的繁瑣和易壞性質。換句話說,外部應用程式主機頁的URL可作為書籤收藏和共享。應用程式框架124指到服務應用程式的入口URL,外部應用程式主機頁122可選地呈現主機谷歌瀏覽器(Chrome)和導覽控制。
外部應用程式伺服器104的後台任務是以類似於使用者互動操作的方式來實現,但利用客戶端計算裝置110所顯示之瀏覽器所顯示之頁面中的隱藏框架以導覽到服務應用程式入口URL並載入腳本、小型應用程式或可驅動任務、提供重試邏輯並允許透過導覽母框架而通知最終狀態的其他組指令(例如JavaScript)。在一實施例中,背景任 務是用於主機導向的文件轉換。
當服務應用程式執行檔案層級的操作時,該服務應用程式使用開放式平台介面發出請求至主機端點120。主機端點120是理解使用開放式平台介面所作之請求的網頁服務。主機端點120的各種實施例是實現為基於REST的網頁服務。在一些實施例中,與主機端點120的通訊是透過安全的傳輸協定(例如HTTPS)而排他控管,以保護驗證符記和檔案內容。在一實施例中,主機端點URL是透過附加主機端點網頁服務的位置至主機URL而建立。
外部應用程式伺服器104提供必要的功能以存取、編輯、檢視及操控或處理各種文件類型。在所描述的實施例中,外部應用程式伺服器104不包括與網路存取、使用者驗證、檔案儲存、網路和檔案安全性和其他管理任務相關的複雜性和管理負擔,其中其他管理任務通常是由網路內的其他伺服器控管且時常是針對於特定企業。透過開放式平台介面而省略這種特徵和聚焦外部應用程式伺服器於控管文件操作允許外部應用程式伺服器104使用於廣泛的企業網路情境。應當理解,執行如本文中所描述之功能並扮演通常是由其他伺服器控管的額外角色和責任的外部應用程式伺服器104是落在本發明的範圍和精神內。
主機102是能夠使用一般客戶端應用程式透過網路存取之線上伺服器應用程式,如網頁瀏覽器。由外部應用程式伺服器104所提供的服務是由主機102所消耗並提供給客戶端計算裝置110。當連接到外部應用程式伺服器104 時,主機102知悉每個服務應用程式118並在功能上由外部應用程式伺服器104所支援。適合的主機系統的例子包括但不限於允許基於網頁之存取的郵件系統(例如Microsoft的Exchange Server®)、統一的通訊系統(如IBM的Lotus Sametime®、Microsoft的Lync®和Unison®)和內容及/或文件管理系統(例如IBM的Lotus Quickr®和Microsoft的SharePoint®)。
主機102有一些職責以促進客戶端計算裝置110與外部應用程式伺服器104之間的互動。主機102儲存使用者的資料並起始涉及外部應用程式伺服器104的情境。主機102實施用於顯示每個服務應用程式118主管的使用者介面頁的封套。此外,主機102執行並公開主機端點120,用於接收來自外部應用程式伺服器104的通訊。主機端點120是理解使用開放式平台介面所作之請求的網頁服務。透過使用開放式平台介面所作之請求,主機102還提供檔案操作用於服務應用程式118。主機102的其他職責包括控管使用者層級的文件的存取控制和外部應用程式伺服器104的授權執行。在一實施例中,主機102透過產生傳遞到外部應用程式伺服器104以授權所請求操作的過期存取符記(即授權元件)來控管存取控制。
主機的另一責任是透過稱為探索的程序來整合外部應用程式伺服器,在探索的程序期間,主機學習外部應用程式伺服器所支援的功能。在探索之前,主機不須有外部應用程式伺服器的可用性或功能的任何知識。所需要的是主 機理解外部應用程式伺服器所使用的開放式平台介面。主機的行為基於外部應用程式伺服器的可用性和功能性而改變。
開放式平台介面的配置、功能、實施程度和主機102遵守開放式平台介面慣例決定可提供給最終使用者之外部應用程式伺服器的功能。如果主機沒有完全實現開放式平台介面或不符合外部應用程式伺服器的某些功能,則該功能不可為使用者所用。更特別的是,如果主機不廣告支援特定功能,則服務應用程式抑制需要非支援功能的任何特徵。例如,當主機不能儲存檔案的更新版本時,服務應用程式不應允許使用者編輯文件。此外,管理控制至經連接服務應用程式的存取可透過主機的配置而選擇。
主機管理外部應用程式伺服器所提供的服務應用程式的授權。主機檢查授權的同時會檢查使用者對檔案的權限。為了在文件上執行所選的操作,使用者必須具有適當的權限來執行操作於檔案上以及有效的授權以使用相關的服務應用程式。主機報告權限的結果和對外部應用程式伺服器的授權檢查。此外,主機可選地檢查服務應用程式所支援之特定文件類型的存取是否透過在主機上配置的管理控制而被阻擋。被阻擋文件類型不能由主機儲存或撷取。
在不同的實施例中,在調用預設動作之前,主機回應於點擊與服務應用程式相關聯的檔案類型而檢查授權。如果使用者沒有與預設點擊動作相關聯的服務應用程式的合適授權,則主機不會嘗試執行指令(即調用操作)。在其他 實施例中,主機不嘗試執行使用者沒有適當權限的指令或反對被阻擋文件類型的指令。
在各種實施例中,當產生諸如上下文選單之用於存取由外部應用程式伺服器所提供之功能的動態使用者介面控件時,主機亦檢查授權。動態使用者介面控制一般提供使用者可用於文件類型的操作列表。如果使用者沒有適當的授權用於與文件類型的操作相關聯的服務應用程式,則主機不顯示指令於動態的使用者介面控制。在其他實施例中,動態使用者介面控制不顯示使用者沒有適當權限的指令或與阻擋文件類型連接的指令。
在不同的實施例中,諸如檢視操作之基本功能在沒有授權的情況下是可用的,而諸如編輯和轉換操作之先進功能需要授權。在一實施例中,服務應用程式的使用是以每個使用者或每台機器來授權。在另一實施例中,服務應用程式的使用受限於可用的並行授權數量。在涉及多個服務應用程式的進一步實施例中,單一授權適用於單一外部應用程式伺服器所提供的所有服務應用程式的使用。在又一實施例中,每個服務應用程式都需要授權。
如前面提到的,主機是主機提供文件儲存的內容伺服器。在另一實施例中,主機是配置以提供儲存於主機外的文件的存取(例如儲存在網路檔案系統或網路附加儲存裝置)。在一替代實施例中,外部應用程式伺服器是配置以請求儲存在任何可存取內容伺服器或接受並理解使用開放式平台介面之檔案操作請求之檔案儲存系統中的文件。
主機和服務應用程式的線上存取是由網頁伺服器提供。當外部應用程式伺服器可排他存取網頁伺服器時,該外部應用程式伺服器是最能回應的。由網頁伺服器的共享使用而導致的通訊落後更容易讓最終使用者有較不正面的經驗。共享的網頁在某些共享網頁伺服器的其他應用程式具有低帶寬要求、不常使用及/或傳輸少量資料的情況下是可以接受的。在一實施例中,主機及/或外部應用程式伺服器使用獨立的網頁伺服器的服務。在另一實施例中,外部應用程式伺服器整合網頁伺服器。在又一實施例中,主機整合外部應用程式伺服器所使用的網頁伺服器。
在主機和外部應用程式伺服器之間的用於通訊的開放式平台介面允許文件的互動並使用存取符記作為授權/認證機制。
開放式平台介面是可延伸的並提供跨版本介面通訊的支援。開放式平台介面的基本資料傳輸機制促進跨平台通訊。在各種實施例中,基本資料是以JavaScript物件符號(JSON)體來轉換,但應該認識到,其他的人力及/或機器可讀取資料交換格式屬於本發明的範圍和精神之內。開放式平台介面亦遵循一些諸如Windows Communication Foundation(WCF)之應用程式程式化介面所使用的「忽略您不期望的」和「使用預設值於您所期望但沒有得到的資料」的服務導向架構原則。開放式平台介面所使用的語義「預設值必須導致可接受的行為」有助於維持高度跨版本世界的功能。這種語義在維持SkyDrive、Hotmail和外部 應用程式伺服器的生產及整合環境之間的功能是特別有用的。
開放式平台介面的主要延伸機制是透過宣告、實施和功能集的消耗(例如共同停止(Cobalt)、共同授權(CoAuth)、鎖定、更新)。核心開放式平台介面只包含用於得到與文件相關聯的元資料的方法和用於獲取文件資料的方法。所有其他主機所支援的方法是宣告於文件元資料內並返回為支援功能集的列表。每個功能集是以字符串宣告,並承諾一組開放式平台介面所支援的方法的實施。開放式介面定義功能集的名稱和功能集所承諾的相關方法。主機可用於實施的功能集是受限於開放式平台介面的慣例。換句話說,開放式平台介面並沒有提供一種類似於簡單物件存取協定(SOAP)元資料交換所提供之完全通用的方法探索的機制。透過宣告新的功能集,易於延伸開放式平台介面。
為了提供給服務應用程式的存取,主機102必須學習外部應用程式伺服器104的可用性和其所提供的功能。外部服務應用程式探索程序允許主機102學習可用的外部應用程式伺服器,而不需要管理員手動配置主機102。在外部服務應用程式探索程序期間,主機102學習文件格式和外部應用程式伺服器104所支援的開放式平台介面動詞。
圖2繪示連接主機102和外部應用程式伺服器104的外部服務應用程式探索程序200的流程圖。外部服務應用程式探索程序200係透過提供探索資料源202的位置而自 主機起始,探索資料源202包含描述外部應用程式伺服器104的功能的資訊。在圖示實施例中,探索資料是包含在由外部應用程式伺服器104所維持的探索配置文件內,並且探索資料源202是探索URL所定址之外部應用程式伺服器104的探索端點(例如域名)。在圖示實施例中,主機102透過主機的配置使用者介面204接受外部應用程式伺服器的位置並產生探索URL 206。在一實施例中,探索端點202具有相對於外部應用程式伺服器104的固定位置,主機102透過附加探索端點202的位置(例如相對路徑)至外部應用程式伺服器104的位置而產生探索URL。在另一實施例中,管理員必須指定完整的探索URL 206。或者,由主機消耗的探索資料不是由服務應用程式伺服器所提供。取而代之的是,探索資料源202是由管理員所提供的檔案(即探索配置文件)且提供給主機102的探索資料源202的位置是該檔案的位置。
獲得探索URL後,主機102發出探索請求208給探索端點202。在一實施例中,探索請求208是針對探索URL的HTTP GET請求。探索終點202提供主機102與探索服務210的連接能力。收到探索請求208後,探索服務210以探索回應訊息212回應,探索回應訊息212含有描述執行於外部應用程式伺服器的服務應用程式所提供之功能的探索資料214。探索資料214是根據且包含開放式平台介面慣例所指定的資訊而格式化。在一實施例中,探索回應訊息212在訊息正文中不包含任何HTML。取而代之的是, 正文包含以主機所理解的XML格式描述的探索資料。在各種實施例中,探索資料包含諸如服務應用程式的識別符、服務應用程式的描述、檔案副檔名、與檔案副檔名相關之操作(即動作)、用於主機之任何開放平台介面之實施要求(例如功能集)、負責處理操作之服務應用程式之位置及/或與檔案副檔名相關文件之MIME類型的資訊。
主機102消耗探索服務210所返回之探索資料214。消耗探索資料214後,主機102儲存與相關檔案類型的服務應用程式所支援之動作有關的資訊於主機配置儲存216中(即登錄服務應用程式)。完成外部服務應用程式探索程序200後,主機的行為改變為整合所支援服務應用程式的功能。
探索資料內容和架構是由開放式平台介面所指定。探索的核心資料包括動作識別符、與動作相關聯的檔案類型、和調用該動作的來源URL。可選探索資料包括服務應用程式識別符、主機支援動作的要求、檔案夾/目錄識別符、網路區域識別符、預設點擊行為、目標檔名識別符及驗證識別符。動作識別符是由開放式平台介面慣例所定義並定義針對特定檔案類型所允許的操作。動作識別符的例子包括檢視、編輯、新的編輯、行動檢視、行動控管、嵌入檢視、呈現(呈現廣播)、參與(參與廣播)、轉換。檔案類型描述動作適用之檔案類型。在一實施例中,檔案類型是以檔案名指示。來源URL指示用於決定外部應用程式伺服器的絕對URL的輸入資料,其中外部應用程式伺服器 執行匹配檔案類型的動作。服務應用程式識別符是人機可讀取識別符(例如字符串值)用於使支援應用程式(例如「微軟的Excel網頁應用程式」)識別服務應用程式。網路區域識別符描述當自特定網路區域調用時用於該動作的具體參數(例如來源URL)。服務應用程式識別符和網路區域識別符用於將檔案類型/操作對群集及提供一種呈現可用服務應用程式於主機配置使用者介面的有意義方式。檔案夾/目錄識別符是與檔案類型一起使用或代替檔案類型用於某些動作以識別動作目的。預設的點擊行為指定主機調用的動作,當使用者選擇一個服務應用程式支援的檔案類型,而無需透過使用者介面來選擇具體的動作。目標檔案副檔名識別符指定目標檔案的檔案類型用於轉換動作。在一實施例中,目標檔案副檔名識別符是以檔案副檔名指示。
登錄將每個服務應用程式118所支援之檔案類型、外部應用程式伺服器104所支援之用於每個受支援檔案類型的操作及用於調用每個受支援檔案類型之操作的外部應用程式伺服器中之計算裝置的URL相關聯。換句話說,當主機102連接到外部應用程式伺服器104時,外部應用程式伺服器104返回成對檔案類型的列表和操作以及用來調用針對該檔案類型之操作的URL。在URL中所需要的參數是以開放式平台介面所定義。
在探索程序中,基於當時主機所理解的慣例,主機選擇使用或忽略個人行為。在一實施例中,主機102在登錄成對的檔案類型和操作之前驗證主機102支援該操作的要 求。如果主機102不支援該操作及/或不滿足主機的要求,則成對的檔案類型和操作並未登錄。更具體地說,在一些實施例中,主機使用「要求」的屬性(指定開放式平台介面的實施要求)篩選出主機不能支援的動作。換句話說,如果主機不認識或理解列在「要求」屬性值中的所有欄位,或選擇不支援開放式平台介面的慣例,則主機不登錄(即執行)成對檔案類型和操作且不提供該功能給使用者。
來源URL使用參數來產生與每一個動作相關聯的有效服務應用程式的入口URL。正如動作,服務應用程式入口URL參數是按照慣例指示於開放式平台介面中。有些參數是必需的,其他是可選的。在一範例實施例中,所需的參數是以方括號(「[」和「]」)分隔,可選參數是以尖括號(「<」和「>」)分隔。如果主機不明白必需的參數,則主機不登錄該動作。相反地,當不理解可選的參數時,主機可以選擇登錄該動作。在這種情況下,只是失去與可選參數相關的功能,但主機仍然能夠提供該動作該主機理解的盡可能多的功能。這種行為提供不同版本的開放式平台介面之間的跨版本相容性的基礎。即使服務應用程式伺服器的升級提供新的功能,主機繼續與經升級的服務應用程式伺服器一同合作。主機只是繼續提供支援給該主機理解的功能,並忽略任何該主機不理解的功能。可選參數的實例包括使用者介面的語言、物件的使用者介面的語言、是否嵌入簡報框架、是否允許簡報與會者獨立地切換投影片及是否顯示投影片的縮圖。
通常可自各種不同的網路區域存取主機。網路區域經常是透過在網路的內部或外部及透過是否使用傳輸層安全性來描述。為了對主機充分描述外部應用程式伺服器的功能,一種探索資料的實施例透過網路區域識別符描述檔案類型/操作用於一或多個可能的區域配置。例如,為了與可透過外部網路(如Internet)和內部網路(如企業區域網路)的主機合作,一種探索資料的實施例使用內部用途的服務應用程式URL和外部用途的服務應用程式URL來描述每個檔案類型/操作對。類似地,一種探索資料的實施例使用服務應用程式URL來描述檔案類型/操作對以與開放網路協定(例如HTTP)和安全網路協定(例如HTTPS)合作,以適應允許使用安全和不安全的網路協定進行存取的主機。探索資料的另一實施例使用服務應用程式的URL來描述每個檔案類型/操作對用於每個內部/外部和安全/不安全使用的組合(例如內部HTTP、外部HTTP、內部HTTPS、外部HTTPS)。在一些實施例中,當主機未配置用於安全的網路時,探索慣例提供較低安全性區域的備用位置。換句話說,如果主機沒有被配置為安全的網路協定,則指定使用安全網路協定的服務應用程式URL係使用對應的開放網路協定而改變和登錄。結果是,可提供給使用者服務應用程式伺服器的功能,但缺之安全網路協定的好處。
為簡單起見,外部服務應用程式探索程序之一實施例預設值是將服務應用程式與配置於主機中的所有區域相關聯,並設置主機端點允許列表以允許所有區域。可透過一 些主機而管理控制服務應用程式和不同區域之間的整合。在不同的實施例中,服務應用程式伺服器層級處的整合是禁能的(即服務應用程式伺服器提供的所有服務應用程式是賦能或禁能的)或是服務應用程式層級處的整合是禁能的(即服務應用程式是選擇性地賦能或禁能)。與服務應用程式伺服器/服務應用程式整合之處是禁能的,主機未列出動態使用者介面控件中的操作或試圖執行指令。
可選地,提供給主機探索資料包含服務應用程式伺服器特定的加密密鑰資訊。加密密鑰資訊提供主機一種驗證請求實際上是由服務應用程式伺服器所作的機制。當請求到達主機端點時,主機可選地使用加密密鑰資訊來驗證請求的加密簽名。如果無法驗證加密簽名,則主機忽略該請求。
在各種實施例中,主機在外部服務應用程式探索程序期間實現錯誤檢查。在一實施例中,如果探索URL是錯誤形成的,則主機產生通知。在另一實施例中,如果在外部應用程式伺服器是無回應或不能定位的,則主機產生通知。在進一步的實施例中,如果探索回應不正確的,則主機產生通知。在另一個實施例中,在發生衝突(例如如果外部應用程式伺服器嘗試登錄已經登錄的檔案類型)和沒有登錄服務應用程式的情況下,主機將產生通知。
在一實施例中,探索只發生在由管理員發起的情況下,因此主機和服務應用程式伺服器不會自動知悉其他支援的功能的任何變化。在替代實施例中,一旦主機和服務 應用程式伺服器連線後,探索程序提供用於更新所支援功能的自動機制。在自動探索更新程序的各種實施例中,以週期性基礎(例如預定的輪詢)更新或即時更新(例如推送通知)。另外,各種自動探索更新程序的實施例是實施於主機端(例如週期性地重複探索程序)或服務應用程式的伺服器端(例如探索服務通知變化給主機)。
包含外部應用程式伺服器提供獨立於主機的文件處理服務。這消除了加入新組件或大幅修改支援外部應用程式伺服器的工作主機配置的需要。透過不修改操作或不加入新組件到工作主機,破壞可運作配置或要求主機大量停機時間的可能會最小化。這也允許外部應用程式伺服器服務被升級、修改、加入或刪除,而無需重新配置主機。這是特別有益的,因為文件處理應用程式的新版本和升級往往比諸如主機之核心服務的更新更加頻繁。換句話說,企業修改主機的停機時間、風險和負擔以利用現有文件處理應用程式的改進、加入新開發或新要求的文件處理應用程式或刪除陳舊或過時的文件處理應用程式的情況會得到緩解。
本文描述的實施例和功能可以透過大量的計算系統來操作,該等計算系統例如參照圖1如上所述之主機102、外部應用程式伺服器104和客戶端裝置110,包括有線和無線計算系統、行動計算系統(例如行動電話、平板電腦或平板型電腦、膝上型電腦等)。此外,本文所描述的實施例和功能可能在分散式系統(例如雲端計算系統)運作, 其中應用程式功能、記憶體、資料儲存和擷取及各種處理功能可透過分散式計算網路彼此遠端運作,該分散式計算網路如網際網路或內部網路。各種類型的使用者介面和資訊可透過板上計算裝置顯示器顯示或透過與一或多個計算裝置相關聯的遠端顯示單元顯示。例如,使用者介面和各種類型的資訊可顯示於使用者介面和各種類型的資訊所投影的牆面上或於該牆面上互動。與可實行本發明實施例的多個計算系統的互動包括鍵盤輸入、觸控螢幕輸入、聲音或其他音訊輸入、手勢輸入,其中手勢輸入是相關聯的計算裝置配備有用於擷取和解釋用於控制計算裝置功能的使用者手勢的偵測(例如相機)功能。圖3至圖5和相關的描述資訊提供可以實施本發明實施例的各種操作環境的討論。然而,針對於圖3至圖5所繪示和討論的裝置和系統是用於範例和說明目的,並不是對於可以用於實行本文描述的本發明實施例的多數計算裝置配置的限制。
圖3是繪示可以實施本發明實施例的計算裝置300的範例實體組件的方塊圖。下面描述的計算裝置組件可適於上述的計算裝置,該等計算裝置例如主機102、外部應用程式伺服器104以及客戶端計算裝置110。在基本的配置中,計算裝置300可以包括至少一處理單元302和系統記憶體304。根據計算裝置的配置和類型,系統記憶體304可以包括但不限定於揮發性記憶體(例如隨機存取記憶體(RAM))、非揮發性記憶體(例如唯讀記憶體(ROM))、快閃記憶體或任何組合。系統記憶體304可能包括作業系 統305和一或多個程式化模組306,適用於執行諸如客戶端應用程式(例如使用者代理/網頁瀏覽器108)或伺服器應用程式(例如主機應用程式112或服務應用程式118)之應用程式320。作業系統305例如可能適合用於控制計算裝置300的操作。此外,本發明的實施例可與圖形庫、其他作業系統或任何其他應用程式一同實施,並且不限於任何特定的應用程式或系統。這個基本的配置是以虛線308內的組件繪示於圖3。
計算裝置300可能有額外的特徵或功能。例如,計算裝置300還可以包括額外的資料儲存裝置(可移除及/或非可移除)例如磁碟、光碟或磁帶。這種額外儲存是以可移除儲存裝置309和非可移除儲存裝置310繪示在圖3中。
如上所述,一些程式模組和資料檔案可儲存在系統記憶體304中,包括作業系統305。當執行於處理單元302上時,程式化模組306可以執行包括例如外部服務應用程式探索程序200的一或多個階段的程序。上述的程序是一個例子,處理單元302可以執行其他程序。可根據本發明的實施例而使用的其他程式化模組可以包括電子郵件和聯絡人應用程式、文字處理應用程式、試算表應用程式、資料庫應用程式、投影片簡報應用程式、繪圖或計算機輔助應用程式等。
一般來說,符合本發明的實施例中,程式模組可以包括可執行特定任務或可實現特定抽象資料類型的常式、程式、組件、資料結構以及其他類型的架構。此外,本發明 的實施例也可以與其他電腦系統配置實施,包括手持式裝置、多處理器系統、基於微處理器或可程式化消耗電子產品、微型電腦、大型電腦等。本發明的實施例也可以在分散式計算環境實行,其中任務是以透過通訊網路鏈結的遠端處理裝置來執行。在分散式計算環境中,程式模組可以位於本地和遠端記憶體儲存裝置中。
此外,本發明的實施例可以包括個別電子元件、包含邏輯閘的封裝或積體電子晶片、利用微處理器的電路實施,或在含有電子元件或微處理器的單一晶片上實施。例如,本發明的實施例可透過晶片系統(SOC)實施,其中圖3中繪示的每一或許多組件可以整合到單一積體電路。這種SOC裝置可以包括一或多個處理單元、圖形單元、通訊單元、系統虛擬化單元和各種應用程式功能,所有這些都整合(或「燒」)至晶片基板上作為單一的整合電路。當透過SOC操作時,伺服器應用程式320或客戶端應用程式322的功能可透過與計算裝置300上其他組件整合之應用程式特定的邏輯而實現於單一積體電路(晶片)上。也可以使用其他能夠執行邏輯操作的技術實行本發明的實施例,該等邏輯操作例如AND、OR及NOT,該等技術包括但不限於機械、光學、流體和量子技術。此外,本發明的實施例可以實施於通用電腦內或者在任何其他電路或系統內。
本發明的實施例例如可以實現為計算機程序(方法)、計算系統或作為諸如電腦程式產品或電腦可讀取媒體之製 成品。電腦程式產品可以是電腦儲存媒體,該電腦儲存媒體可由電腦系統讀取且編碼用於執行電腦程序的電腦程式。
這裡所用的術語電腦可讀取媒體可包括電腦儲存媒體。電腦儲存媒體可以包括以任何用於儲存資訊的方法或技術實現的揮發性和非揮發性、可移除和非可移除媒體,該儲存資訊的方法或技術例如是電腦可讀取指令、資料架構、程式模組或其他資料。系統記憶體304、可移除儲存309和非可移除儲存310都是電腦儲存媒體的例子(即記憶體儲存)。電腦儲存媒體可以包括但不限於RAM、ROM、電子可擦除唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、CD-ROM、數位多功能光碟(DVD)或其他光學儲存、磁卡帶、磁帶、磁碟儲存或其他磁性儲存裝置或可用於儲存資訊的任何其他媒體,並且可以由計算裝置300存取。任何這種電腦儲存媒體可以是裝置300的一部分。計算裝置300還可以具有輸入裝置312,輸入裝置312如鍵盤、滑鼠、筆、聲音輸入裝置、觸控輸入裝置等。諸如顯示器、揚聲器、印表機等之輸出裝置314也可包括在內。上述裝置是作為範施且其他裝置亦可使用。
這裡所用的術語電腦可讀取媒體還可以包括通訊媒體。通訊媒體可以電腦可讀取指令、資料結構、程式模組或諸如載波或其他傳輸機制之經調制資料訊號的其他資料實施,且該通訊媒體包括任何資訊傳遞媒體。「經調制資料訊號」一詞是指具有一或更多特徵經改變或經設定的訊 號,該改變或設定是以編碼資訊於訊號中之方式。舉例而不是限制,通訊媒體包括諸如有線網路或直接有線連接之有線媒體,及諸如聲學、RF、射頻、紅外線和其他無線媒體之無線媒體。計算裝置300可包括允許與其他計算裝置318通訊之通訊連接316。合適通訊連接316的例子包括但不限於射頻發射器、接收器及/或收發器電路;通用串行匯流排(USB)、並行或串行端口;及適合與適用電腦可讀取媒體使用的其他連接裝置。
圖4A和4B繪示合適的行動計算環境,例如本發明的實施例可用以實施的行動電話400、智慧型電話、平板個人電腦、膝上型電腦等。參照圖4A,繪示用於實現實施例的範例行動計算裝置400。在基本的配置中,行動計算裝置400是具有輸入元件和輸出元件的手持式電腦。輸入元件可以包括觸控螢幕顯示器405和輸入按鈕410,該等元件允許使用者將資訊輸入到行動計算裝置400。行動計算裝置400也將納入允許進一步使用者輸入的可選側輸入元件415。可選側輸入元件415可以是旋轉開關、按鈕或任何其他類型的手動輸入元件。在可替代的實施例中,行動計算裝置400可以包括更多或更少的輸入元件。例如,在一些實施例中,顯示器405可能不是一個觸控螢幕。在又一替代實施例中,行動計算裝置是一種可攜式電話系統,如具有顯示器405和輸入按鈕410的蜂巢式電話。行動計算裝置400還可以包括可選鍵盤435。可選鍵盤435可以是實體鍵盤或在觸控螢幕顯示器上產生的「軟體」鍵盤。
行動計算裝置400納入輸出元件,如顯示器405,該輸入元件可顯示圖形使用者介面(GUI)。其他輸出元件包括LED燈420和揚聲器425。此外,行動計算裝置400可納入振動模組(圖中未繪示),此情況會致使行動計算裝置400振動以向使用者通知事件。在又一實施例中,行動計算裝置400可以納入耳機插孔(未繪示),用於提供另一種提供輸出訊號的手段。
雖然本文中的描述是結合行動計算裝置400,在替代實施例中,本發明是結合任何數量的電腦系統使用,例如在桌面環境、膝上型或筆記型電腦系統、多處理器系統、微型處理器或可程式化消費電子產品、網路PC、微型電腦、主框架電腦等。本發明的實施例也可以在分散式計算環境中實施,其中任務是由透過在分散式計算環境中的通訊網路鏈結的遠端處理裝置執行;程式可以位於本地和遠端記憶體儲存裝置。概括而言,具有複數個環境感測器、複數個輸出元件以提供通知給使用者和複數個通知事件類型的任何電腦系統可納入本發明的實施例。
圖4B是繪示一實施例中使用的行動計算裝置的元件方塊圖,如在圖4A中所示的計算裝置。也就是說,行動計算裝置400可以將系統402納入以實施一些實施例。例如,系統402可用於實施「智慧型手機」,該「智慧型手機」可執行一或多個類似於桌上型或筆記型電腦的應用程式,例如瀏覽器、電子郵件、日程安排、即時訊息傳遞和媒體播放器應用程式。在一些實施例中,系統402是整合為計算 裝置,如整合式個人數位助理(PDA)和無線手機。
一或多個應用程式466可以載入到記憶體462中且在作業系統464上執行或與作業系統464關聯。應用程式的例子包括電話撥號程式、電子郵件程式、個人資訊管理(PIM)程式、文字處理程式、試算表程式、網際網路瀏覽器程式、通訊程式等。系統402更包括記憶體462內的非揮發性儲存裝置468。非揮發性儲存裝置468可用於儲存當系統402斷電時不應失去的持久資訊。應用程式466可以使用和儲存資訊於非揮發性儲存裝置468中,該等資訊如電子郵件應用程式等所使用的e-mail或其他訊息。一種同步應用程式(未繪示)亦常駐於系統402上並程式化以與常駐於主機電腦上的對應同步應用程式互動,以使儲存在非揮發性儲存裝置468的資訊與儲存在主機電腦上的對應資訊同步。如應當理解的,其他的應用程式可以載入到記憶體462並且在裝置400上執行,包括本文所述的各種客戶端和伺服器端應用程式。
系統402具有電源470,可實現為一或多個電池。電源470可能更包括外部電源,如對電池進行補充或充電的AC適配器或供電底座。
系統402還可以包括執行發送和接收無線電頻率通訊功能的無線電472。無線電472透過通訊營運商或服務供應商促進系統402和「外面世界」之間的無線連接。往返無線電472的傳輸是在作業系統464的控制下進行的。換句話說,無線電472收到的通訊可以透過作業系統464分 發給應用程式466,反之亦然。
無線電472允許系統402例如透過網路與其他計算裝置通訊。無線電472是通訊媒體的一個示例。通訊媒體通常可以電腦可讀取指令、資料架構、程式模組或其他諸如載波或其他傳輸機制之經調制資料訊號的資料來實施,並包括任何資訊傳遞媒體。術語「經調制資料訊號」一詞是指具有一或更多特徵經改變或經設定的訊號,該改變或設定是以編碼資訊於訊號中之方式。舉例而不是限制,通訊媒體包括諸如有線網路或直接有線連接之有線媒體,及諸如聲學、RF、射頻、紅外線和其他無線媒體之無線媒體。本文所用的術語電腦可讀取媒體包括儲存媒體和通訊媒體。
系統402的實施例繪示兩種類型的通知輸出裝置:可以用來提供視覺通知的發光二極體(LED)420和可與揚聲器425一起使用以提供音訊通知的音訊介面474。這些裝置可直接耦合到電源470,致使當開啟時,該等裝置維持在開啟達通知機制所指定期間之久,即使處理器460和其他組件可能關機以節省電池電量。LED 420可被程式化以無限期維持開啟,直到使用者採取動作以指示該裝置的電源開啟的狀態。音訊介面474是用來提供可聽見的訊號給使用者,並接收來自使用者的可聽訊號。例如,除了耦合到揚聲器425,音訊介面474也可以被耦合到麥克風以接收聲音的輸入,例如以便促進電話談話。根據本發明的實施例,麥克風也可以作為音訊感測器以便於控制通知,將 描述如下。系統402還可以包括視訊介面476,賦能板上攝影機430的操作以記錄靜止圖像、視訊串流等。
實施系統402的行動計算裝置可能有額外的特性或功能。例如,裝置還可以包括額外的資料儲存裝置(可移除及/或非可移除),例如磁碟、光碟或磁帶。這種額外的儲存是以儲存468繪示在圖4B。電腦儲存媒體可以包括以任何方法或技術實現用於儲存資訊的揮發性和非揮發性、可移除及非可移除媒體,如電腦可讀取指令、資料架構、程序模組或其他資料。
如上所述,裝置400所產生或擷取的資料/資訊和透過系統402所儲存的資料/資訊可本地儲存於裝置400上,或是資料可儲存於任何數目的儲存媒體上,該儲存媒體可由裝置透過無線電472或透過裝置400與關聯於裝置400之單獨計算裝置之間的有線連接而存取,例如在諸如網際網路之分散式計算網路中的伺服器電腦。應當理解,這種資料/資訊可以透過裝置400經由無線電472或透過一個分散式計算網路而存取。類似地,這種資料/資訊可以很容易地在計算裝置之間傳輸用於儲存並根據眾所周知的資料/資訊傳輸和儲存構件而使用,該等構件包括電子郵件和協作的資料/資訊共享系統。
圖5繪示用於提供如上所述之瀏覽器應用程式108、主機應用程式112及/或服務應用程式118給一或多個客戶端裝置的系統架構。與主機應用程式112相關聯的開發內容、互動的內容或與主機應用程式112相關聯的編輯內容 及/或服務應用程式118可儲存在不同的通訊通道或其他的儲存類型。例如,可使用目錄服務522、網站入口524、信箱服務526、即時通訊儲存裝置528和社交網站530來儲存各種文件。主機應用程式112及/或服務應用程式118可以使用任何這些類型的系統或類似者用於賦能資料使用,如本文所述。伺服器520可以提供主機應用程式112及/或服務應用程式118給客戶端。作為一個例子,伺服器520可以是提供主機應用程式112及/或透過網頁提供服務應用程式118的網頁伺服器。伺服器520可以提供主機應用程式112及/或透過網路515經由網頁提供服務應用程式118給客戶端。可存取主機102的客戶端範例包括計算裝置300,計算裝置300可以包括任何通用個人電腦110a、平版計算裝置110b及/或諸如智慧型電話的行動計算裝置110c。任何這些裝置可自儲存裝置516獲得內容。
本發明的實施例例如是參照根據本發明實施例的方塊圖及/或方法、系統和電腦程式產品的操作繪示而描述。方塊中指出的功能/動作可能會不依順序出現在任何流程圖上。例如,連續繪示的兩個方塊實際上可以大致同時執行,或是方塊有時可以相反的順序執行,這取決於所涉及的功能/動作。
雖然已經描述了本發明的某些實施例,可能存在其他實施例。此外,雖然本發明的實施例已經被描述為與儲存在記憶體和其他儲存媒體中的資料相關,資料也可以儲存於或讀取自其他類型的電腦可讀取媒體,例如像是硬碟、 軟碟或CD-ROM、來自網際網路上的載波或其他形式的RAM或ROM的二級儲存裝置。另外,所揭示之方法儲存可以任何方式修改,包括在不脫離本發明的情況下透過重新排序階段及/或***或刪除階段。
在各種實施方式中,構成本發明的計算裝置之間的通訊網路類型包括但不限於網際網路、內部網路、廣域網路(WAN)、區域網路(LAN)和虛擬私人網路(VPN)。在本應用程式中,網路包括企業網路和透過其客戶端計算裝置可存取企業網路(即客戶端網路)的網路。在一實施例中,客戶端網路是企業網路的一部分。在另一實施例中,客戶端網路是透過諸如閘道、遠端存取協定或公共或私人網路位址之外部可用入口點存取企業網路的個別網路。
在本申請案中提供的一或多個實施例的描述和說明並不是要以所主張的任何方式限縮或限制本發明的範圍。在本申請案中提供的實施例、例子和細節是視為足以傳達擁有及賦能他人製造和使用所主張之發明的最佳模式。所主張之發明不應當被解釋為限於本申請案中提供的任何實施例、範例或細節。無論是否組合或分開地繪示和描述,各種特徵(包括架構和方法)的目的是選擇性地包括或省略,以產生具有特定的特徵集合的實施例。本文已經提供本申請案的描述和說明,熟習本領域之技術者可設想落入所主張之發明的較廣泛態樣之精神內和本申請案中所實施之一般發明概念的不脫離較廣泛範圍的變化、修改和替代實施例。
100‧‧‧企業網路
102‧‧‧主機
104‧‧‧外部應用程式伺服器
310‧‧‧非可移除儲存裝置
312‧‧‧輸入裝置
314‧‧‧輸出裝置
106‧‧‧使用者
108‧‧‧網頁瀏覽器
110‧‧‧客戶端計算裝置
112‧‧‧主機應用程式
114‧‧‧主機使用者介面
118‧‧‧服務應用程式
120‧‧‧端點
124‧‧‧應用程式框架
126‧‧‧文件儲存系統
200‧‧‧外部服務應用程式探索程序
202‧‧‧探索端點
204‧‧‧配置使用者介面
206‧‧‧探索URL
208‧‧‧探索請求
210‧‧‧探索服務
212‧‧‧探索回應訊息
214‧‧‧探索資料
216‧‧‧主機配置儲存
300‧‧‧計算裝置
302‧‧‧處理單元
305‧‧‧作業系統
316‧‧‧通訊連接
400‧‧‧行動電話
402‧‧‧系統
405‧‧‧觸控螢幕顯示器
410‧‧‧輸入按鈕
415‧‧‧側輸入元件
430‧‧‧週邊裝置端口
435‧‧‧可選鍵盤
460‧‧‧處理器
462‧‧‧記憶體
464‧‧‧作業系統
466‧‧‧應用程式
468‧‧‧非揮發性儲存裝置
470‧‧‧電源
472‧‧‧無線電
474‧‧‧音訊介面
476‧‧‧視訊介面
515‧‧‧網路
516‧‧‧儲存裝置
524‧‧‧網站入口
526‧‧‧信箱服務
306‧‧‧程式化模組
309‧‧‧可移除儲存裝置
528‧‧‧即時通訊儲存裝置
530‧‧‧社交網路服務
透過參照下面的詳細描述、隨附請求項和隨附圖式,將更佳理解本揭示案之進一步特徵、態樣和優點,其中元件是不按比例的,以便更清楚地圖示細節,其中在數個視圖中相似的元件符號表示相似的元件,且其中:圖1繪示包括主機和外部應用程式伺服器之企業網路的方塊圖,用於實施外部服務應用程式探索程序之一實施例;圖2繪示主機和外部應用程式伺服器之間的外部應用程式服務探索程序的流程圖;圖3是可以實施本發明實施例的計算裝置的簡化方塊圖;圖4A和4B是可以實施本發明實施例的行動計算裝置的簡化方塊圖;及圖5是可以實施本發明實施例的分散式計算系統的簡化方塊圖。
100‧‧‧企業網路
102‧‧‧主機
200‧‧‧外部服務應用程式探索程序
202‧‧‧探索端點
204‧‧‧配置使用者介面
206‧‧‧探索URL
208‧‧‧探索請求
210‧‧‧探索服務
212‧‧‧探索回應訊息
214‧‧‧探索資料
216‧‧‧主機配置儲存

Claims (20)

  1. 一種用於使一主機探索執行一服務應用程式之一外部應用程式伺服器的方法,該服務應用程式允許使用者與一選定檔案類型的一文件進行互動,該方法包括以下步驟:自該主機起始與服務應用程式伺服器有關資訊的一探索請求;在該主機處接收一探索回應,該探索回應包含以下各者:識別由該服務應用程式伺服器所主管的該服務應用程式之一名稱的資訊;描述可由該服務應用程式執行於該選定檔案類型之一動作的資訊;及描述該主機用以支援該動作之要求的資訊;在該主機處分析該探索回應以學習由該外部應用程式伺服器之該服務應用程式所提供的該動作;及基於該主機支援該動作之一決定,登錄該動作與該選定檔案類型之間的一關聯,以整合與該選定檔案類型相關聯的該動作至複數個與該服務應用程式相關聯且可由該主機所用的動作。
  2. 如請求項1之方法,其中該動作包括至少一與該動作相關聯之動作識別符、與該動作相關聯之一檔案類型識別符及執行該服務應用程式的該服務應用程式伺服器之一 位址。
  3. 如請求項2之方法,其中分析該探索回應之該步驟更包括以下步驟:當該主機不理解該動作識別符時,決定該主機不支援該動作。
  4. 如請求項2之方法,其中該入口點包括用於該服務應用程式伺服器的一統一資源定位符。
  5. 如請求項2之方法,其中該動作更包括與該動作相關聯的一要求參數,該要求參數指定該主機所需用以支援該動作的一組功能。
  6. 如請求項5之方法,其中分析該探索回應之該步驟更包括以下步驟:當該主機缺乏該組功能中指定之至少一功能時,決定該主機不支援該動作。
  7. 如請求項2之方法,其中該資訊更包括與該動作相關聯的一服務應用程式識別符。
  8. 如請求項2之方法,其中該資訊進一步包括與該動作相關聯的一網路區域識別符。
  9. 如請求項2之方法,其中該資訊更包括與該動作相 關聯的一檔案/目錄識別符。
  10. 如請求項2之方法,其中該資訊更包括與該動作相關聯的一目標檔案類型識別符。
  11. 如請求項1之方法,其中該探索回應更包括與該服務應用程式伺服器相關聯的一驗證識別符。
  12. 如請求項1之方法,其中該驗證識別符是該服務應用程式伺服器已知並與該服務應用程式伺服器已知的一私人密鑰相關聯的一公共密鑰。
  13. 如請求項1之方法,其中該起始一探索請求之該步驟更包括指定該探索請求之一探索源之步驟,該探索源係選自由具有由一統一資源***所指定之一端點之一探索服務及由一檔案位置所識別之一檔案所組成之群組。
  14. 一種允許一主機電腦學習執行一軟體程式之一伺服器的方法,該軟體程式允許一使用者透過一網頁瀏覽器處理一文件,該方法包括以下步驟:在一主機電腦處,詢問關於執行一軟體程式之一伺服器的資訊,該軟體程式允許一使用者處理一文件,在一主機電腦處,接收包含以下各者的資訊:識別由該伺服器所主管的該服務應用程式之一名稱的 資訊;描述複數個與該軟體程式相關聯之動作的資訊,該等動作定義該軟體程式允許該使用者處理該文件之方式;指定處理該文件之一方式之一名稱、由處理該文件之方式所支援的一檔案類型,及當由一使用者選定時讓該軟體程式知道使用處理該文件的方式的一位址的資訊;及描述該主機電腦用以支援處理該文件之該方式之要求的資訊;在該主機電腦處,讀取該資訊以學習該軟體程式允許該使用者處理該文件的方式;在該主機電腦處,決定該主機電腦是否辨識處理該文件之該方式的該名稱及是否滿足用以支援處理該文件之該方式之該等要求;及在該主機電腦處,當該主機電腦辨識該名稱時,配置該主機電腦以將該檔案類型及該位址與處理該文件之該方式相關聯,以整合處理該檔案類型之該文件之該方式至複數個處理由該軟體程式所允許之該文件且可由該主機所用之方式。
  15. 如請求項14之方法,更包括以下步驟:在該主機電腦處,自該伺服器接收一驗證識別符,該驗證識別符允許該主機電腦驗證該主機電腦正與該伺服器對話。
  16. 一種用於使一主機探索執行一服務應用程式之一 外部應用程式伺服器的方法,該服務應用程式允許使用者與一選定檔案類型的一文件進行互動,該方法包括以下步驟:定義該主機所實施之一開放式平台介面所理解並支援的一組已知動作識別符;自該主機處起始關於一服務應用程式伺服器之資訊的一探索請求;在該主機處接收一探索回應,該探索回應包含以下各者:識別由該服務應用程式伺服器所主管的該服務應用程式之一名稱的資訊;描述可由該服務應用程式執行於該選定檔案類型之一動作及與該服務應用程式伺服器相關聯之一驗證識別符,該動作包含與該動作相關聯之一動作識別符、與該動作相關聯之一檔案類型識別符、及執行該服務應用程式之該服務應用程式伺服器之一位址的資訊;及與該動作相關聯的一要求參數,該要求參數指定該主機所需用以支援該動作的一組功能;分析在該主機處的該回應以學習由該外部應用程式伺服器之該服務應用程式所提供的該動作;當因為該主機缺乏該組能力中指定之至少一能力或該動作識別符不匹配來自該組已知動作識別符之任何已知動作識別符時,無視於該動作;及當該主機支援該動作時,登錄該動作與該檔案類型之 間之一關聯性,以整合與該選定檔案類型相關聯的該動作至複數個與該服務應用程式相關聯且可由該主機所用的動作。
  17. 如請求項16之方法,其中該資訊更包括與該動作相關聯的一服務應用程式識別符。
  18. 如請求項16之方法,其中該資訊更包括與該動作相關聯的一網路區域識別符。
  19. 如請求項16之方法,其中該資訊更包括與該動作相關聯的一目標檔案類型識別符。
  20. 如請求項16之方法,其中該驗證識別符是該服務應用程式伺服器已知並與該服務應用程式伺服器已知的一私人密鑰相關聯的一公共密鑰。
TW101128301A 2011-09-27 2012-08-06 外部服務應用程式探索方法 TWI556168B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161539975P 2011-09-27 2011-09-27
US13/284,543 US9578114B2 (en) 2011-09-27 2011-10-28 External service application discovery method

Publications (2)

Publication Number Publication Date
TW201314571A TW201314571A (zh) 2013-04-01
TWI556168B true TWI556168B (zh) 2016-11-01

Family

ID=47912443

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101128301A TWI556168B (zh) 2011-09-27 2012-08-06 外部服務應用程式探索方法

Country Status (8)

Country Link
US (3) US20130080603A1 (zh)
EP (3) EP2761806B1 (zh)
JP (1) JP6220338B2 (zh)
KR (1) KR101951066B1 (zh)
AR (1) AR089563A1 (zh)
HK (1) HK1178636A1 (zh)
TW (1) TWI556168B (zh)
WO (3) WO2013049426A1 (zh)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572505B2 (en) * 2011-01-31 2013-10-29 Oracle International Corporation Automatically testing a web application that has independent display trees
US10048854B2 (en) 2011-01-31 2018-08-14 Oracle International Corporation Drag and drop interaction between components of a web application
US20130080603A1 (en) 2011-09-27 2013-03-28 Microsoft Corporation Fault Tolerant External Application Server
US8266245B1 (en) 2011-10-17 2012-09-11 Google Inc. Systems and methods for incremental loading of collaboratively generated presentations
US10430388B1 (en) 2011-10-17 2019-10-01 Google Llc Systems and methods for incremental loading of collaboratively generated presentations
US20150199308A1 (en) 2011-10-17 2015-07-16 Google Inc. Systems and methods for controlling the display of online documents
US20130254553A1 (en) * 2012-03-24 2013-09-26 Paul L. Greene Digital data authentication and security system
CN102664937B (zh) * 2012-04-09 2016-02-03 威盛电子股份有限公司 云端运算图形服务器及云端运算图形服务方法
US10607219B2 (en) * 2012-06-11 2020-03-31 Visa International Service Association Systems and methods to provide privacy protection for activities related to transactions
US9292352B2 (en) 2012-08-10 2016-03-22 Adobe Systems Incorporated Systems and methods for cloud management
US10963420B2 (en) * 2012-08-10 2021-03-30 Adobe Inc. Systems and methods for providing hot spare nodes
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US9588954B2 (en) * 2013-06-15 2017-03-07 Microsoft Technology Licensing, Llc Application/document collaboration in a multi-device environment
US20150058369A1 (en) * 2013-08-23 2015-02-26 Samsung Electronics Co., Ltd. Electronic device and method for using captured image in electronic device
US9170808B2 (en) * 2013-11-07 2015-10-27 Sap Se Dynamic containerization
FR3013541B1 (fr) * 2013-11-19 2021-02-19 Oberthur Technologies Procede et dispositif pour la connexion a un service distant
US9936002B2 (en) 2014-02-21 2018-04-03 Dell Products L.P. Video compose function
US20150244835A1 (en) * 2014-02-21 2015-08-27 Andrew T. Fausak Transcoding instance with multiple channels
US10466882B2 (en) 2014-03-31 2019-11-05 Microsoft Technology Licensing, Llc Collaborative co-authoring via an electronic user interface
US10404637B2 (en) 2014-03-31 2019-09-03 Microsoft Technology Licensing, Llc Electronic communication-based storage of documents to support multiple workflows
US20150277724A1 (en) 2014-03-31 2015-10-01 Microsoft Corporation Inline document collaboration workflow
AU2015256293B2 (en) * 2014-05-06 2017-05-04 Okta, Inc. Facilitating single sign-on to software applications
US9722795B2 (en) * 2014-05-20 2017-08-01 Vmware, Inc. Digitally signing JSON messages
US9361054B2 (en) * 2014-05-29 2016-06-07 Nuance Communications, Inc. Voice and touch based mobile print and scan framework
US20150379469A1 (en) * 2014-06-30 2015-12-31 Bank Of America Corporation Consolidated client onboarding system
TWI582625B (zh) * 2014-07-03 2017-05-11 阿貝爾環球國際有限公司 使工具運作於作業環境的方法以及應用該方法的機器
US10511694B2 (en) * 2014-07-23 2019-12-17 Citrix Systems, Inc. Systems and methods for application specific load balancing
US9621650B2 (en) 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US9600548B2 (en) * 2014-10-10 2017-03-21 Salesforce.Com Row level security integration of analytical data store with cloud architecture
US9876849B2 (en) * 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers
US9954837B2 (en) 2015-01-07 2018-04-24 Cyph, Inc. Method of multi-factor authenication during encrypted communications
WO2016114822A1 (en) 2015-01-16 2016-07-21 Cyph Inc. A system and method of cryprographically signing web applications
US20160197897A1 (en) * 2015-01-07 2016-07-07 Cyph, Inc. Cross-client communication method
US20160292445A1 (en) 2015-03-31 2016-10-06 Secude Ag Context-based data classification
US10216504B2 (en) * 2015-06-05 2019-02-26 Oracle International Corporation System and method for insulating a web user interface application from underlying technologies in an integration cloud service
CN106330988B (zh) 2015-06-16 2020-01-03 阿里巴巴集团控股有限公司 一种超文本传输请求的补发方法、装置及客户端
CN105005543A (zh) * 2015-06-29 2015-10-28 浪潮通用软件有限公司 一种接口生成装置及方法
US10397191B2 (en) * 2015-12-01 2019-08-27 Adobe Inc. Passing content securely from web browsers to computer applications
US10715502B2 (en) * 2015-12-31 2020-07-14 Verisign, Inc. Systems and methods for automating client-side synchronization of public keys of external contacts
US10628466B2 (en) * 2016-01-06 2020-04-21 Quest Software Inc. Smart exchange database index
US10438209B2 (en) 2016-02-10 2019-10-08 Bank Of America Corporation System for secure routing of data to various networks from a process data network
US11374935B2 (en) 2016-02-11 2022-06-28 Bank Of America Corporation Block chain alias person-to-person resource allocation
US10178105B2 (en) * 2016-02-22 2019-01-08 Bank Of America Corporation System for providing levels of security access to a process data network
TW201732583A (zh) 2016-03-04 2017-09-16 群暉科技股份有限公司 執行請求指令的方法及相關的伺服器
EP3608825B1 (en) * 2016-05-10 2021-06-23 CyberArk Software Ltd. Application control
US20170366545A1 (en) * 2016-06-18 2017-12-21 Lior Malka Sealed network external applications
US10310718B2 (en) * 2016-06-22 2019-06-04 Microsoft Technology Licensing, Llc Enabling interaction with an external service feature
CN106302661B (zh) * 2016-08-02 2019-08-13 网宿科技股份有限公司 P2p数据加速方法、装置和***
US10402796B2 (en) 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
US10362143B2 (en) * 2016-09-29 2019-07-23 International Business Machines Corporation Dynamically transitioning the file system role of compute nodes for provisioning a storlet
US10423475B2 (en) 2016-09-30 2019-09-24 Microsoft Technology Licensing, Llc Stateful tokens for communicating with external services
US9998551B1 (en) * 2016-10-24 2018-06-12 Palantir Technologies Inc. Automatic discovery and registration of service application for files introduced to a user interface
US10313359B2 (en) 2016-11-01 2019-06-04 Microsoft Technology Licensing, Llc Protocols for accessing hosts
US20180150810A1 (en) * 2016-11-29 2018-05-31 Bank Of America Corporation Contextual augmented reality overlays
CN106850609A (zh) * 2017-01-24 2017-06-13 北京奇虎科技有限公司 一种文件的校验方法和装置
US10671570B2 (en) * 2017-02-01 2020-06-02 Open Text Sa Ulc Web application open platform interface (WOPI) server architecture and applications for distributed network computing environments
US10387383B2 (en) 2017-02-15 2019-08-20 Google Llc Systems and methods for providing access to a data file stored at a data storage system
CN107332922B (zh) * 2017-07-19 2020-07-17 佛山科学技术学院 基于社区管理的嵌入式Web服务器的数据传输方法及***
US10747728B2 (en) * 2017-08-10 2020-08-18 Microsoft Technology Licensing, Llc Edit and share unsupported files through instantly generated preview
US10470040B2 (en) 2017-08-27 2019-11-05 Okta, Inc. Secure single sign-on to software applications
GB201717251D0 (en) * 2017-10-20 2017-12-06 Palantir Technologies Inc Serving assets in a networked environment
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
US10142349B1 (en) 2018-02-22 2018-11-27 Palantir Technologies Inc. Verifying network-based permissioning rights
CN108737527B (zh) * 2018-05-11 2021-07-09 重庆工商职业学院 一种适用于平台大规模用户访问方法及***
US10949272B2 (en) 2018-06-14 2021-03-16 Microsoft Technology Licensing, Llc Inter-application context seeding
US20200117722A1 (en) * 2018-10-12 2020-04-16 Goke Us Research Laboratory Efficient file storage and retrieval system, method and apparatus
US10904314B2 (en) 2018-10-31 2021-01-26 Salesforce.Com, Inc. Endpoint URL generation and management
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
US11425143B2 (en) * 2020-01-23 2022-08-23 Bank Of America Corporation Sleeper keys
US11934548B2 (en) * 2021-05-27 2024-03-19 Microsoft Technology Licensing, Llc Centralized access control for cloud relational database management system resources
US11934545B2 (en) * 2021-06-22 2024-03-19 Fortra, Llc Secure way to authenticate from file protocol while handling third party cookies and browser inconsistencies

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW514814B (en) * 2000-07-07 2002-12-21 Ibm Network system, device management system, device management method, data processing method, storage medium, and internet service provision method
US20030014521A1 (en) * 2001-06-28 2003-01-16 Jeremy Elson Open platform architecture for shared resource access management
US20050125529A1 (en) * 2003-11-24 2005-06-09 Brockway Tad D. Seamless discovery of workstation-installed remote applications from an extranet

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802530A (en) 1996-07-01 1998-09-01 Sun Microsystems, Inc. Web document based graphical user interface
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6167441A (en) 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
US6256620B1 (en) 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
JP2000112906A (ja) * 1998-10-01 2000-04-21 Mitsubishi Electric Corp クラスタシステム
US7120590B1 (en) 1999-08-23 2006-10-10 User Trencis, Inc. Electronically distributing promotional and advertising material based upon consumer internet usage
US20020002563A1 (en) 1999-08-23 2002-01-03 Mary M. Bendik Document management systems and methods
US6766298B1 (en) 1999-09-03 2004-07-20 Cisco Technology, Inc. Application server configured for dynamically generating web pages for voice enabled web applications
US7434219B2 (en) * 2000-01-31 2008-10-07 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
US7146233B2 (en) * 2000-02-11 2006-12-05 Sun Microsystems, Inc. Request queue management
US20010051890A1 (en) * 2000-03-17 2001-12-13 Raleigh Burgess Systems and methods for providing remote support via productivity centers
US7401131B2 (en) 2000-05-22 2008-07-15 Verizon Business Global Llc Method and system for implementing improved containers in a global ecosystem of interrelated services
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6931429B2 (en) * 2001-04-27 2005-08-16 Left Gate Holdings, Inc. Adaptable wireless proximity networking
MXPA03011976A (es) 2001-06-22 2005-07-01 Nervana Inc Sistema y metodo para la recuperacion, manejo, entrega y presentacion de conocimientos.
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7516440B2 (en) 2001-10-18 2009-04-07 Bea Systems, Inc. System and method for providing a java interface to an application view component
US20030084045A1 (en) 2001-11-01 2003-05-01 Flying Wireless, Inc. Systems and protocols for remote file access
US20030115226A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Method, apparatus, and program for quick save to remote storage
JP2003224674A (ja) 2002-01-30 2003-08-08 Nec Infrontia Corp 携帯電話端末による健康管理サービスシステム
US7603450B2 (en) 2002-04-26 2009-10-13 Hewlett-Packard Development Company, L.P. Methods and applets for providing and contributing to an IT network management service
US7499983B2 (en) 2002-05-06 2009-03-03 Micron Technology, Inc. Web dispatch service
US7085764B2 (en) * 2002-05-13 2006-08-01 International Business Machines Corporation System, method and program product for centrally managing agents
GB2389479B (en) * 2002-06-07 2005-12-28 Hewlett Packard Co Method of serving out video over a network of video servers
US7047243B2 (en) * 2002-08-05 2006-05-16 Microsoft Corporation Coordinating transactional web services
CN100463469C (zh) 2002-10-25 2009-02-18 国际商业机器公司 在多通道上共享应用程序会话信息的方法、装置和***
US7441046B2 (en) 2003-03-03 2008-10-21 Siemens Medical Solutions Usa, Inc. System enabling server progressive workload reduction to support server maintenance
JP4297811B2 (ja) 2003-03-14 2009-07-15 株式会社リコー 情報提供装置、情報提供方法、及びプログラム
US7216169B2 (en) * 2003-07-01 2007-05-08 Microsoft Corporation Method and system for administering personal computer health by registering multiple service providers and enforcing mutual exclusion rules
US20050049924A1 (en) 2003-08-27 2005-03-03 Debettencourt Jason Techniques for use with application monitoring to obtain transaction data
US7533168B1 (en) * 2003-09-11 2009-05-12 Sun Microsystems, Inc. Autonomic grid computing mechanism
US7376650B1 (en) 2003-09-12 2008-05-20 Microsoft Corporation Method and system for redirecting a request using redirection patterns
SG164284A1 (en) 2003-09-17 2010-09-29 Research In Motion Ltd System and method for dynamic content processing with extendable provisioning
US7716357B2 (en) 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7720906B2 (en) 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US7844639B2 (en) * 2003-11-24 2010-11-30 Ebay Inc. Backward compatibility in database schemas
US8082520B2 (en) * 2004-02-26 2011-12-20 International Business Machines Corporation System and method for database management
US20050193106A1 (en) * 2004-03-01 2005-09-01 University Of Florida Service discovery and delivery for ad-hoc networks
US7606814B2 (en) 2004-03-11 2009-10-20 Microsoft Corporation Tracing a web request through a web server
US7650432B2 (en) 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US20050268215A1 (en) 2004-06-01 2005-12-01 Microsoft Corporation Method and apparatus for viewing and interacting with a spreadsheet from within a web browser
US7680955B2 (en) * 2004-12-01 2010-03-16 George Mason Intellectual Properties, Inc. SCIT-DNS: critical infrastructure protection through secure DNS server dynamic updates
JP2006163723A (ja) * 2004-12-06 2006-06-22 Hitachi Software Eng Co Ltd ドキュメント検索方法
US7577661B2 (en) * 2005-06-30 2009-08-18 Microsoft Corporation Extensible and automatically replicating server farm configuration management infrastructure
US7752536B2 (en) 2005-09-09 2010-07-06 Microsoft Corporation Designating, setting and discovering parameters for spreadsheet documents
US7606844B2 (en) * 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8122111B2 (en) * 2006-07-25 2012-02-21 Network Appliance, Inc. System and method for server configuration control and management
US20080091806A1 (en) * 2006-10-11 2008-04-17 Jinmei Shen Dynamic On-Demand Clustering
US7908292B2 (en) 2006-12-05 2011-03-15 Nokia Corporation Metadata broker
JP5046669B2 (ja) * 2007-01-31 2012-10-10 キヤノン株式会社 画像形成装置及び画像形成装置の制御方法、プログラム、記憶媒体
US20080209037A1 (en) 2007-02-05 2008-08-28 Dror Zernik System and method for enforcing in real time corporate business rules on web users
US8756673B2 (en) 2007-03-30 2014-06-17 Ricoh Company, Ltd. Techniques for sharing data
US20090007067A1 (en) * 2007-06-28 2009-01-01 International Business Machines Corporation Composite portal application
US8155987B2 (en) 2007-08-31 2012-04-10 Sap Aktiengeselleschaft Linking transactions with separate systems
KR20090038105A (ko) 2007-10-15 2009-04-20 권진욱 분산저장방식을 이용한 웹상에서의 파일공유방법
WO2009055368A2 (en) * 2007-10-21 2009-04-30 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US8326814B2 (en) * 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US20090157987A1 (en) 2007-12-14 2009-06-18 Casdex, Inc. System and Method for Creating Self-Authenticating Documents Including Unique Content Identifiers
US9104738B2 (en) 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
WO2010034608A1 (en) * 2008-09-24 2010-04-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for configuration of processing clusters
US20100162236A1 (en) * 2008-12-22 2010-06-24 Witchey Nicholas J Using Stored State To Instantiate A Virtual Computer
US8195792B2 (en) 2009-01-16 2012-06-05 Microsoft Corporation Interfacing distinct services for providing web based document manipulation access
US9165154B2 (en) 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US8332356B2 (en) * 2009-05-12 2012-12-11 Oracle International Corporation NFS agent upgrade
US8510755B2 (en) * 2009-06-22 2013-08-13 Microsoft Corporation Automatically re-starting services
US8924592B2 (en) * 2009-09-29 2014-12-30 Citrix Systems, Inc. Synchronization of server-side cookies with client-side cookies
US8645511B2 (en) 2009-10-13 2014-02-04 Google Inc. Pre-configuration of a cloud-based computer
US9220054B2 (en) 2009-12-22 2015-12-22 Intel Corporation Enhanced service discovery mechanism in wireless communication system
US8495193B2 (en) * 2010-02-23 2013-07-23 Microsoft Corporation Centralized management tool for remote presentation session server farms
US8296267B2 (en) * 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
CN102118249B (zh) 2010-12-22 2014-04-30 厦门柏事特信息科技有限公司 一种基于数字摘要和数字签名的拍照取证方法
WO2012139098A1 (en) * 2011-04-07 2012-10-11 Pneuron Corp. Legacy application migration to real time, parallel performance cloud
US9009212B2 (en) * 2011-06-29 2015-04-14 Cisco Technology, Inc. Optimized transfer of applications between computing environments
US20130060806A1 (en) * 2011-09-07 2013-03-07 Microsoft Corporation Data Solution Composition Architecture
US20130080603A1 (en) 2011-09-27 2013-03-28 Microsoft Corporation Fault Tolerant External Application Server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW514814B (en) * 2000-07-07 2002-12-21 Ibm Network system, device management system, device management method, data processing method, storage medium, and internet service provision method
US20030014521A1 (en) * 2001-06-28 2003-01-16 Jeremy Elson Open platform architecture for shared resource access management
US20050125529A1 (en) * 2003-11-24 2005-06-09 Brockway Tad D. Seamless discovery of workstation-installed remote applications from an extranet

Also Published As

Publication number Publication date
US20130080785A1 (en) 2013-03-28
EP2761806B1 (en) 2018-07-25
AR089563A1 (es) 2014-09-03
KR101951066B1 (ko) 2019-02-21
EP2761489B1 (en) 2018-06-13
HK1178636A1 (zh) 2013-09-13
US9319469B2 (en) 2016-04-19
US20130080603A1 (en) 2013-03-28
WO2013049414A2 (en) 2013-04-04
WO2013049422A1 (en) 2013-04-04
JP6220338B2 (ja) 2017-10-25
EP2761806A2 (en) 2014-08-06
WO2013049426A1 (en) 2013-04-04
KR20140079385A (ko) 2014-06-26
TW201314571A (zh) 2013-04-01
EP2761489A4 (en) 2015-09-02
WO2013049414A3 (en) 2013-05-23
EP2761486A1 (en) 2014-08-06
JP2014530435A (ja) 2014-11-17
EP2761489A1 (en) 2014-08-06
EP2761806A4 (en) 2015-04-22
US20130080507A1 (en) 2013-03-28
EP2761486A4 (en) 2015-07-01
US9578114B2 (en) 2017-02-21

Similar Documents

Publication Publication Date Title
TWI556168B (zh) 外部服務應用程式探索方法
US11003630B2 (en) Remote access of metadata for collaborative documents
US10983747B2 (en) Remote desktop mirroring
EP3567801B1 (en) Content item templates
TWI598750B (zh) 利用特徵的多重編輯器或多數版本之合作之方法及用於紀錄相關指令的電腦可讀儲存媒介
US8892601B2 (en) Creating web applications using cloud-based friction-free databases without requiring web hosting knowledge
US10176156B2 (en) System and method for providing linked note-taking
TW201346596A (zh) 使用文件註解來追蹤共同編輯之衝突
US20130198171A1 (en) Method and system for managing database object information
US9171099B2 (en) System and method for providing calculation web services for online documents
WO2013109450A1 (en) Installation and management of client extensions
US9686266B2 (en) Utilizing X.509 authentication for single sign-on between disparate servers
US8856230B2 (en) In browser real time collaboration lists and forms
US20150248435A1 (en) Shadowing local on-premises information to a cloud-based computing system
CN109313589B (zh) 实现与外部功能的交互
US20130198154A1 (en) Method and system for managing database applications
US20130198620A1 (en) Method and system for performing synchronous document conversion
US20230305685A1 (en) Cross-platform computing skill execution
CN102968437A (zh) 外部服务应用的发现方法
US20230246924A1 (en) Automatic canvas creation associated with a group-based communication channel
US9965484B1 (en) Template-driven data extraction and insertion
EP3682336A1 (en) Synchronizing non-file content stored on a collaborative workspace environment
US20180007133A1 (en) Server-to-server content distribution

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees