CN102640136B - web应用与浏览器以外的进程之间的通信通道 - Google Patents

web应用与浏览器以外的进程之间的通信通道 Download PDF

Info

Publication number
CN102640136B
CN102640136B CN201080054549.9A CN201080054549A CN102640136B CN 102640136 B CN102640136 B CN 102640136B CN 201080054549 A CN201080054549 A CN 201080054549A CN 102640136 B CN102640136 B CN 102640136B
Authority
CN
China
Prior art keywords
bridge
web
request
forwarded
component
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201080054549.9A
Other languages
English (en)
Other versions
CN102640136A (zh
Inventor
J·E·施莱费尔
R·奥奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102640136A publication Critical patent/CN102640136A/zh
Application granted granted Critical
Publication of CN102640136B publication Critical patent/CN102640136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Abstract

此处公开了用于将请求从web客户机中继到运行在计算设备上的进程并且从该进程接收响应的一种或多种技术和/或系统。被置于运行在计算机的浏览器中的web应用中的桥消息客户机打开到运行在浏览器以外的进程的本地连接。桥消息客户机包括通信通道ID以及桥消息客户机ID,该通信通道ID标识通信通道以便主控到桥服务器的本地连接,该桥消息客户机ID促进从桥服务器到web应用的通信。桥服务器被置于浏览器环境以外,且可从桥消息客户机接收请求,并将其转发到进程,和/或从进程接收对请求的响应,并通过本地连接将其转发到桥消息客户机。

Description

web应用与浏览器以外的进程之间的通信通道
背景技术
因特网和其他在线技术的用户可通过例如接收文件传输或网页来访问远程信息。可在诸如个人计算机(PC)上的浏览器环境中显示信息和/或基于web的应用功能。已经引入了当前基于web的编程框架,该编程框架提供要开发的基于web的应用(webapp),该应用可与网页一起被发送到例如用户的浏览器环境(或者作为小配件运行在桌面上的不可见的浏览器类型的环境中)。这些框架可以提供例如实况的、丰富的、交互式多媒体环境,而不必将用户请求发送回到服务器,由此在网页中提供动态逻辑。
充分交互的web应用通常被加载到用户的计算设备(例如,PC、启用web的移动设备等),并且维护与因特网的实况(或半实况)连接以便提供更新和访问所请求的信息。例如,用户可将窗口小部件加载到显示他们的位置的当前天气条件的他们PC的桌面上。虽然在该示例中计算机维护到因特网的连接,但窗口小部件可为用户更新所显示的天气条件。另外,浏览器可以加载丰富的、交互式应用(例如,Silverlight、Java和Flash应用),该交互式应用为用户提供丰富的多媒体体验,诸如跟踪棒球游戏,带有实况分数、动作等的逐投的应用。
发明内容
提供本发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。
目前,基于web的应用(webapp)不是可通过操作系统(OS)应用编程接口(API)与操作系统直接地交互、或与可进而调用操作系统API的库函数间接地交互的单独的应用。例如,访问操作系统API的能力可以将对计算机中计算资源的特定控制赋予应用。相反,webapp运行在浏览器环境中,例如在与OSAPI和库分开的“沙箱”中,由此创建距离恶意黑客的特定的安全量。
目前的webapp不能被用作利用对用户的计算机上的全范围资源(诸如,浏览器窗口以外的文件系统管理和显示区域)的访问的单独的应用。一般而言,不能在非浏览器上下文中处理网页。然而,如果webapp能够访问来自例如运行在桌面环境中的应用的信息,则通过诸如由webapp.提供桌面内容以供使用(例如,webapp.可利用桌面内容),来向用户提供更丰富且更有用的体验。例如,webapp(诸如基于web的社交网络)希望用户将联系人添加到他们的简档时,可能期望web-app能够从用户的管理他们的联系人的基于桌面的应用加载他们。
公开了提供在诸如浏览器环境中的基于web的应用与诸如应用在其中运行的计算机上的桌面环境之间的桥的一种或多种技术和/或系统。作为示例,在维护适当的安全的同时该桥可为浏览器中的webapp提供例如与桌面应用通信的途径。例如,webapp从应用请求信息时,该桥可提供发送请求并从该应用取回响应的途径。
在一个用于将请求从web客户机中继到运行在计算设备上的进程并从该进程接收响应的实施例中,运行在浏览器中的webapp中的桥消息客户机可打开到运行在浏览器以外的进程的本地连接。在该实施例中,桥消息客户机具有标识通信通道以主控本地连接的通信通道ID,以及帮助桥服务器组件与webapp通信的桥消息客户机ID。另外,在该实施例中,桥服务器组件位于浏览器环境以外,并且可从桥消息客户机接收请求并将其转发到进程。同样,桥服务器组件从该进程接收对该请求的响应,并通过本地连接将其转发到所述桥消息客户机。
为实现上述内容和相关目的,以下描述和附图阐述了各个说明性方面和实现。这些方面和实现仅指示可以使用一个或多个方面的各种方式中的一些。结合附图阅读以下详细描述,则本公开的其他方面、优点、以及新颖特征将变得显而易见。
附图说明
图1是示出了其中可以实现在此所述的一个或多个系统和/或技术的示例性环境的图示。
图2是示出用于将请求从web客户机中继到运行在计算设备上的进程并且从该进程接收响应的示例性系统的组件框图。
图3是示出此处所描述的系统的示例性实施例的组件框图。
图4是示出用于将请求从web客户机中继到运行在计算设备上的进程并且从该进程接收响应的示例性方法的流程图。
图5A和5B是此处所描述的方法的一部分的示例性实施例。
图6和7是此处所描述的系统和方法中的一个或多个的实现的示例性实施例的流程图。
图8是包括被配置成实现本文中所阐述的措施中的一个或多个的处理器可执行指令的示例性计算机可读介质的图示。
图9示出其中可实现本文中所阐述的措施中的一个或多个的示例性计算环境。
具体实施方式
现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标号来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对所要求保护的主题的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了各个结构和设备以便于描述所要求保护的主题。
图1是示出了其中可以实现在此所描述的一个或多个技术和/或系统的示例性环境100的图示。计算设备106正在桌面环境中运行应用110,诸如管理运行在个人计算机的桌面上的联系人、日历、电子邮件等的个人助理程序。此外,浏览器环境108正运行在计算设备106上并连接到因特网102。在该示例性环境100中,基于web的应用104(webapp)可被加载到计算设备106上的浏览器环境108。
例如,用于运行webapp104的代码可被完整地加载到浏览器环境108,使得它在维护到因特网102的连接的同时能完全地在计算设备上运行,诸如用于实况更新等。然而,典型的操作系统和计算环境不允许运行在浏览器环境108中的webapp与运行在桌面环境上的应用110之间的连接112。不允许连接到例如因特网102的实况webapp之间的连接的一个理由是减轻到计算设备的桌面环境的安全缺口。
如此处所提供的,可在运行于计算设备上的(诸如在浏览器环境中的)基于web的应用和诸如在计算机上的桌面环境之间提供桥。此外,例如在维护计算设备的适当的安全的同时,该桥能提供运行在浏览器环境中的应用与运行在计算机的桌面环境中的应用之间的通信。例如,web应用(诸如,在充分交互的、集成多媒体运行时环境(例如,Silverlight、Java、Flash及其他)中创建的一个应用)从运行在浏览器环境以外的应用请求信息时,在阻止到计算设备的潜在恶意的通信的同时该桥可提供用以发送请求途径,并且从该应用取回响应。
图2是示出用于将请求从web客户机中继到运行在计算设备上的进程并且从该进程接收响应的示例性系统200的组件框图。桥消息客户机组件202被置于web应用216中,该应用216在计算设备212上的浏览器环境214中运行。桥消息客户机组件202打开本地连接220,该本地连接220连接到运行在计算设备的浏览器环境以外的,诸如在计算设备212上的桌面环境(未示出)中运行的应用250中的,进程210。
桥消息客户机组件202包括标识通信通道218的通信通道标识组件206,可通过该通信通道218来主控到被置于(诸如,桌面环境(未示出)中的)计算设备212上的桥服务器组件208的本地连接220。桥消息客户机组件202还包括桥消息客户机标识组件204,该桥消息客户机标识组件204帮助桥服务器组件208与例如web应用216通信,其中桥消息客户机组件202、和/或web应用216可正在尝试与桥服务器组件208通信。
在示例性系统200中,桥服务器组件208被置于浏览器环境214以外,并且它可从桥消息客户机组件202接收请求并将其转发到进程210。此外,桥服务器组件208可从进程210接收对请求的响应,并通过本地连接220将其转发到桥消息客户机组件202。
在一个实施例中,浏览器环境可具有例如web应用(例如,216)的实例化,其中交互式、充分集成的多媒体网页从网站加载到浏览器(例如,214)。在该实施例中,web应用可具有其中所置的桥消息客户机组件202的实例化。此外,例如,web应用和相关联的桥消息客户机组件202可诸如从网站被加载到浏览器环境,由此完全地在计算设备(例如,212)上运行。
在该实施例中,使用通信通道标识,将通信通道218与桥服务器组件208打开,并且可在通信通道218上主控本地连接220。在一个实施例中,通信通道标识组件206可包括通道名称,该通道名称例如对操作系统中的特定通信通道(例如,218)进行命名,该特定通信通道链接从web应用到与所期望的进程(例如,210)相关联的桥服务器组件(例如,208)的通信。
作为示例,操作系统通道可以是以某种方式(例如,通过对消息认证)处理消息的组件。此外,在一个实施例中,通信通道218可以是传输通道,诸如用于超文本传输协议(HTTP)、已命名管道、传输控制协议(TCP)、和微软消息排队(MSMQ)的通道,该通道可读和写来自网络(或计算设备以外的某个其他通信点)的消息。
此外,作为示例,本地连接220可以是发布/订阅机制,该机制连接基于web应用的控制的两个(或更多个)实例之间的发送者与接收者。在一个实施例中,桥服务器组件208可以是在计算设备212上隐藏的(例如,对视图和/或用户的交互隐藏)充分交互的、集成多媒体运行时环境的实例。在该实施例中,本地连接220可包括(与桥消息客户机组件202运行在浏览器中)基于web的应用的第一实例化与基于web的应用的第二实例化(浏览器环境以外运行的桥服务器)之间的通信链接。在该示例中,本地连接220可使用已命名的通信通道来建立桥消息客户机(例如,202)与桥服务器组件(例如,208)之间的通信链接。
在一个实施例中,桥服务器组件208可以是由运行在计算设备212上(诸如,在桌面环境中)的应用(例如,250)主控的组件。此外,桥服务器组件208可以是被实例化为运行在计算设备212上的服务的组件。可以理解,本领域技术人员可以设计替换方式来主控或实例化桥服务器组件208,例如,该桥服务器组件208可被包括在安装在计算设备的桌面环境中的一个或多个驱动器中。
另外,在一个实施例中,进程(例如,210)可包括运行在计算设备上的桌面环境中的程序的至少一部分。例如,该进程可包括被插入到运行在用户机器上的应用中的编程代码的一部分。在该示例中,代码可被设计为与桥服务器通信以从应用返回响应数据,诸如所请求消息的串。web应用使用例如桥消息客户机从应用请求特定数据时,进程可将所请求的消息从应用返回到桥服务器组件208。
在一个实施例中,桥消息客户机标识204可包括(诸如桥消息客户机组件202的)客户机名称,该名称将通信通道218从与进程相关联的桥服务器组件208链接到所期望的web应用(例如,216)。即,例如,多个web应用可分别包括桥消息客户机(例如,202)的实例化时,桥服务器可能希望标识特定的桥消息客户机。以此方式,在该示例中,来自web应用的对请求的特定响应可被返回到正确的桥消息客户机。在该实施例中,客户机ID204可促进通过通信通道218的适当的连接。
图3是示出此处所描述的系统的示例性实施例300的组件框图。web客户机352(诸如基于web的应用)被置于(例如,用户计算机上的)浏览器环境354中。web客户机包括桥消息客户机组件202,该桥消息客户机组件202具有通过通信通道218到桥服务器组件208的本地连接220。桥服务器组件208被置于(例如,在用户的计算机上运行的)也包括进程210的桌面应用350中。
在该示例性实施例300中,桥服务器包括web中继组件320、机器中继组件322和桥消息服务器组件324。在该实施例中,web中继组件320和机器中继组件322被置于同一域—主机控制358中。在该示例中,主机控制域358可在桥服务器组件中被实例化以便主控web和机器中继。在一个实例中,主机控制358还可包括桥中继356,诸如以便跨桥接收和发送数据,web中继组件320被置于桥中。在另一个实施例中,web中继组件320可被创建为同一域(例如,主机控制358)中的机器中继组件322的实例化。
在该实施例300中,web中继组件320可从桥消息客户机组件202接收请求,并将其转发到机器中继组件322。例如,桥消息客户机组件202可使用本地连接220来跨通信通道218从进程请求对特定数据的请求。此外,桥消息客户机组件202可从web中继组件320接收请求,并通过第一已命名通信管道326将其转发到桥消息服务器组件324。如上面所描述的,通信通道可包括用于例如交换数据的已命名管道。在该实施例中,机器中继可以标识到桥消息服务器组件324的第一已命名通信管道326以便转发请求。另外,桥消息服务器组件324可从机器中继组件322接收请求,并将其转发到进程210。
在一个实施例中,进程210可从应用350取回所请求的信息,并将响应返回到桥消息服务器组件324。桥消息服务器组件324可从进程210接收响应,并通过第二已命名通信管道328将其转发到机器中继组件322。例如,桥消息服务器可以标识第二已命名通信管道以便将消息中继到机器中继组件322。此外,机器中继组件322可从桥消息服务器组件324接收响应,并将其转发到web中继组件356。另外,web中继组件320可从机器中继组件322接收响应,并通过本地连接220将其转发到桥消息客户机组件202。
作为示例,web客户机352随后可诸如通过将其显示在浏览器环境354中来利用响应中的信息。在一个实施例中,可以异步地接收响应。例如,浏览器环境354可包括多个web客户机352,和/或web客户机可包括多个桥消息客户机组件202。在该示例中,一个以上的桥消息客户机202可在同时或基本相似的时间向进程210发送请求。可以异步地返回对多个请求的响应。
可以设计一方法,该方法允许在例如用户计算机上的浏览器环境和桌面环境之间发送信息。图4是示出用于将请求从web客户机中继到运行在计算设备上的进程并且从该进程接收响应的方法400的示例性实施例的流程图。示例性方法400在402开始,并且包括在404,提供被安装在浏览器环境以外的计算设备上的桥服务器。
在406,提供桥消息客户机在web应用中的安装,其中web应用被配置为运行在计算设备上的浏览器环境中。在408,提供对本地连接的打开,其中通过web应用与进程之间的所标识的通道来打开该本地连接。在410,本地连接在桥消息客户机与和进程相关联的桥服务器之间提供通信链接。
在示例性方法400中,在412,桥消息客户机通过本地连接将请求从web应用转发到桥服务器。在414,桥服务器通过本地连接从桥消息客户机接收请求,并将其转发到运行在计算设备上浏览器环境以外的进程。此外,在416,桥服务器从进程接收对请求的响应,并通过本地连接将其转发到桥消息客户机。在418,桥消息客户机从例如桥服务器接收对请求的响应,并且与客户机相关联的web应用利用响应中的数据(例如,将其显示在浏览器中)。
图5A和5B是此处所描述的一个或多个方法的一部分的示例性实施例500和510。在示例性实施例500中,其中在414,桥服务器从桥消息客户机接收请求并随后将其转发到浏览器以外的进程,在502,被置于计算设备上浏览器环境以外的web中继通过本地连接从桥消息客户机接收该请求。在504,web中继将该请求转发到机器中继,该机器中继被置于与web中继组件相同的域中。在506,在示例性实施例500中,机器中继从web中继接收请求,并且在508,通过第一已命名通信管道将其转发到桥消息服务器。
在示例性实施例510中,其中在416,桥服务器从进程接收响应并将其转发到桥消息客户机,在512,被置于计算设备上浏览器环境以外的机器中继通过第一已命名通信管道从桥消息服务器接收对请求的响应。在514,机器中继将该对请求的响应转发到被置于同一域中的web中继。在516,web中继从机器中继接收对请求的响应,并且在518,通过本地连接将其转发到桥消息客户机组件。
图6和7是此处所描述的系统和方法中的一个或多个的实现的示例性实施例的流程图。在图6的示例性实施例600中,被配置为响应于来自基于web的应用(webapp)请求的编程代码被安装在计算设备的桌面环境中。例如,代码可被开发并安装在管理和处理用户的电子邮件、联系人、日历、任务等的应用中。该代码可被配置为允许web应用请求用户的联系人、或webapp中要使用的某些其他信息位。
在604,桥服务器(例如,图2的208)的实例化被安装在计算设备的桌面环境中。作为示例,桥服务器可作为单独的组件或服务被包括,或者它可被包括在由webapp为其请求信息的桌面应用中。一旦已安装,桥服务器监听通信,诸如,通过通信通道的请求。
在610,桥消息客户机(例如,图2的202)被安装在webapp中。例如,webapp的开发者可从(诸如,具有与桥服务器相同根域的)同一站点下载桥消息客户机的版本。以此方式,在该示例中,桥服务器可以能够信任来自桥消息客户机的通信请求,由此创建一种类型的安全关系。在612,包括桥消息客户机的webapp在网站(诸如,webapp开发者的网站)上是可用的。
在608,用户打开诸如web浏览器的浏览器环境,并且浏览到具有webapp和相关联的桥消息客户机的网页。作为示例,该webapp可以是充分集成且交互的多媒体体验,该多媒体体验使用户能够通过上传数据来利用网页的附加特征。在614,确定桌面环境中是否存在具有用于客户机的桥的桥服务器。如果桥服务器不存在,则在616,不与客户机进行连接。然而,如果桥服务器存在并且通信通道可用,则在618,桥消息客户机与桥服务器进行本地连接。在一个实施例中,提供要打开的本地连接可包括创建计算设备的浏览器环境和桌面环境之间的通信链接,这进而可允许将数据串从桌面环境传输到浏览器环境。
在图7的示例性实施例700中,在720,用户选择webapp上激活对桌面应用的请求的特征。例如,webapp可包括写有“点击此处以从应用上传联系人”的按钮。在该示例中,用户可点击该按钮以便开始请求。在722,桥消息客户机可通过本地连接向桥服务器发送诸如对用户的联系人管理应用中联系人列表的请求。
在724,桥服务器从桥消息客户机接收该请求。在726,桥服务器确定它是否可响应该请求。例如,桥服务器可确定它是否与应用的代码相关联,该代码允许用户的联系人被上传。若否,在728,例如不返回对该请求的响应,而不是空响应。
如果桥服务器能够响应,则在730,该桥服务器将该请求发送给(诸如,桌面应用中的)代码以便取回所请求的信息。例如,对用户的联系人的请求可被转发到联系人管理应用中的代码,其中它可将联系人编组成包括联系人的数据串。在732,桥服务器从应用中的代码接收响应,并将其转发到桥消息客户机。
在734,桥消息客户机接收响应并将其转发到webapp以供使用。例如,web应用可接收用户的联系人并将其显示在浏览器中以便使用。作为另一个示例,webapp随后可将联系人加载到基于web的联系人管理应用中,和/或允许来自该用户的联系人的其他用户被添加到社交网络中的列表。
再一实施例涉及包括被配置成实现此处所呈现的技术中的一种或多种的处理器可执行指令的计算机可读介质。可以这些方式设计的一种示例性计算机可读介质在图8中示出,其中实现800包括其上编码有计算机可读数据808的计算机可读介质806(例如,CD-R、DVD-R、或硬盘驱动器的盘)。该计算机可读数据806又包括被配置成根据本文阐述的原理中的一个或多个来操作的一组处理器可执行指令804。在一个这样的实施例802中,处理器可执行指令804可被配置成执行一种方法,诸如例如,图4的示例性方法400。在另一个这样的实施例中,处理器可执行计算机指令804可被配置成实现一种系统,诸如例如,图2的示例性系统200。本领域普通技术人员可设计被配置成根据此处所呈现的技术来操作的许多此类计算机可读介质。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
如在本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等一般旨在表示计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算机之间。
此外,所要求保护的主题可使用产生控制计算机以实现所公开的主题的软件、固件、硬件、或其任意组合的标准编程和/或工程技术来实现为方法、装置、或制品。如此处所使用的术语“制品”旨在涵盖可从任何计算机可读设备、载体、或介质进行访问的计算机程序。当然,本领域技术人员应当认识到,在不背离所要求保护的主题的范围或精神的情况下可对该配置作出许多修改。
图9和以下讨论提供了对实现本文所阐述的一个或多个原理的实施例的合适计算环境的简要、概括描述。图9的操作环境只是合适的操作环境的一个示例,而不旨在对该操作环境的使用范围或功能提出任何限制。示例计算设备包括但不限于,个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括任何以上系统或设备中的任一个的分布式计算环境等。
虽然并非必需,但是实施例在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中进行描述。计算机可读指令可经由计算机可读介质来分发(在下文中讨论)。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类型的程序模块,诸如函数、对象、应用程序编程接口(API)、数据结构等。通常,计算机可读指令的功能可按需在各种环境中组合或分布。
图9示出包括被配置成实现此处所提供的一个或多个实施例的计算设备912的系统910的示例。在一种配置中,计算设备912包括至少一个处理单元916和存储器918。取决于计算设备的确切配置和类型,存储器918可以是易失性的(例如诸如RAM)、非易失性的(例如诸如ROM、闪存等)、或两者的一些组合。该配置在图9中由虚线914示出。
在其他实施例中,设备912可包括附加特征和/或功能。例如,设备912还可包括附加存储(例如,可移动和/或不可移动),包括但不限于磁存储、光存储等。此类附加存储在图9中由存储920示出。在一个实施例中,实现此处所提供的一个或多个实施例的计算机可读指令可位于存储920中。存储920还可储存实现操作系统、应用程序等其他计算机可读指令。可将计算机可读指令加载到存储器918中,以供例如处理单元916执行。
如此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器918和存储920都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息且可由设备912访问的任何其他介质。任何这样的计算机存储介质都可以是设备912的一部分。
设备912还可包括允许该设备912与其他设备进行通信的通信连接926。通信连接926可包括但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外线端口、USB连接、或用于将计算设备912连接到其他计算设备的其他接口。通信连接926可包括有线连接或无线连接。通信连接926可发送和/或接收通信媒体。
术语“计算机可读介质”可包括通信介质。通信介质通常以诸如载波或其他传输机制之类的“已调制数据信号”来体现计算机可读指令或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”可包括以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。
设备912可包括输入设备924,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备、和/或任何其他输入设备。在设备912中还可包括输出设备922,诸如一个或多个显示器、扬声器、打印机、和/或任何其他输出设备。输入设备924和输出设备922可经由有线连接、无线连接、或其任何组合连接到设备912。在一个实施例中,来自另一计算设备的输入设备或输出设备可用作计算设备912的输入设备924或输出设备922。
计算设备912的组件可通过诸如总线之类的各种互连来连接。此类互连可包括诸如PCIExpress的外围部件互连(PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等。在另一实施例中,计算设备912的组件可通过网络来互连。例如,存储器918可由位于通过网络互连的不同物理位置的多个物理存储器单元组成。
本领域技术人员应当认识到,用于存储计算机可读指令的存储设备可分布在网络上。例如,可经由网络928访问的计算设备930可存储实现此处所提供的一个或多个实施例的计算机可读指令。计算设备912可访问计算设备930,并且下载部分或全部计算机可读指令以供执行。替换地,计算设备912可按需下载计算机可读指令的片断,或者一些指令可在计算设备912处执行,而一些指令则可在计算设备930处执行。
本文提供了各实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以组成存储在一个或多个计算机可读介质上的计算机可读指令,这些指令如果由计算设备执行则使得计算设备执行所描述的操作。所描述的一些或所有操作的顺序不应该被解释为暗示这些操作一定是依赖于顺序的。从本说明书获益的本领域技术人员将认识到替换顺序。此外,应该理解,并非所有的操作都一定存在于本文所提供的每一个实施例中。
此外,本文中所使用的词语“示例性”意指用作示例、实例或说明。在本文中描述为“示例性”的任何方面或设计并不一定被解释为比其他方面或设计有利。相反,使用词语“示例性”旨在以具体的方式呈现各个概念。如本申请中所使用的,术语“或”意指包括性“或”而非互斥性“或”。即,除非另有指定或从上下文中清晰可见,否则“X使用A或B”意指任何自然的包括性排列。即,如果X使用A;X使用B;或X使用A和B两者,则在任何以上情况下,都满足“X使用A或B”。另外,本申请中和所附权利要求书中所使用的冠词“一”和“一个”一般可被解释为意指“一个或多个”,除非另有指定或从上下文中清晰可见是指单数形式。
同样,虽然参考一个或多个实现示出并描述了本公开,但本领域技术人员基于对本说明书和附图阅读和理解,可以想到各种等效更改和修改。本发明包括所有这样的修改和更改,并且仅由所附权利要求的范围来限定。特别地,对于由上述组件(例如,元素、资源等)执行的各种功能,除非另外指明,否则用于描述这些组件的术语旨在对应于执行所描述的执行此处在本发明的示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。此外,尽管可相对于若干实现中的仅一个实现来公开本公开的一个特定特征,但这一特征可以如对任何给定或特定应用所需且有利地与其他实现的一个或多个其他特征相组合。此外,就在说明书或权利要求书中使用术语“包含”、“具有”、“含有”和“带有”及其变体而言,此类术语旨在以与术语“包括”相似的方式为包含性的。

Claims (15)

1.一种用于将请求从web客户机中继到运行在计算设备上的进程并且从所述进程接收响应的系统,包括:
桥消息客户机组件,被置于从网站加载到计算设备上的浏览器环境并在所述浏览器环境中运行的web应用中,被配置为打开连接到运行在所述计算设备上的浏览器环境以外的进程的本地连接,并且包括:
通信通道标识,被配置为标识通信通道以主控到被置于所述计算设备上的桥服务器组件的所述本地连接;以及
桥消息客户机标识,促进从所述桥服务器组件到所述web应用的通信;以及
所述桥服务器组件被置于所述浏览器环境以外,并且被配置为执行以下一个或多个:
从所述桥消息客户机组件接收请求,并将其转发到所述进程;以及
从所述进程接收对所述请求的响应,并通过所述本地连接将其转发到所述桥消息客户机组件。
2.如权利要求1所述的系统,其特征在于,所述桥服务器组件包括web中继组件,所述web中继组件被配置执行以下一个或多个:
从所述桥消息客户机组件接收请求,并将其转发到机器中继组件;以及
从所述机器中继组件接收对所述请求的响应,并通过所述本地连接将其转发到所述桥消息客户机组件。
3.如权利要求1所述的系统,其特征在于,所述桥服务器组件包括机器中继组件,所述机器中继组件被配置执行以下一个或多个:
从web中继组件接收请求,并通过第一已命名通信管道将其转发到桥消息服务器组件;以及
从所述桥消息服务器组件接收对所述请求的响应,并将其转发到所述web中继组件。
4.如权利要求3所述的系统,其特征在于,所述机器中继组件被置于与web中继组件相同的域中。
5.如权利要求1所述的系统,其特征在于,所述桥服务器组件包括桥消息服务器组件,所述桥消息服务器组件被配置执行以下一个或多个:
从机器中继组件接收请求,并将其转发到所述进程;以及
从所述进程接收对所述请求的响应,并通过第二已命名通信管道将其转发到所述机器中继组件。
6.如权利要求1所述的系统,其特征在于,所述桥服务器组件包括web中继组件,所述web中继组件被配置执行以下一个或多个:
从所述桥消息客户机组件接收请求,并将其转发到机器中继组件;以及
从所述机器中继组件接收对所述请求的响应,并通过所述本地连接将其转发到所述桥消息客户机组件;
所述机器中继组件被置于与所述web中继组件相同的域中,并被配置为执行以下一个或多个:
从所述web中继组件接收所述请求,并通过第一已命名通信管道将其转发到桥消息服务器组件;以及
从所述桥消息服务器组件接收对所述请求的所述响应,并将其转发到所述web中继组件;以及
所述桥消息服务器组件被配置为执行以下一个或多个:
从所述机器中继组件接收所述请求,并将其转发到所述进程;以及
从所述进程接收对所述请求的所述响应,并通过第二已命名通信管道将其转发到所述机器中继组件。
7.如权利要求1所述的系统,其特征在于,所述进程包括运行在所述计算设备的桌面环境中的程序的至少一部分。
8.如权利要求1所述的系统,其特征在于,所述通信通道标识包括通道名称,所述通道名称将所述通信通道从所述web应用链接到与所期望的进程相关联的桥服务器组件。
9.如权利要求1所述的系统,其特征在于,所述桥消息客户机标识包括客户机名称,所述客户机名称将所述通信通道从与所述进程相关联的所述桥服务器组件链接到所期望的web应用。
10.如权利要求1所述的系统,其特征在于,所述桥服务器组件包括以下之一:
由运行在所述计算设备上的应用主控的组件;以及
作为运行在所述计算设备上的服务来实例化的组件。
11.一种用于将请求从web客户机中继到运行在计算设备上的进程并且从所述进程接收响应的方法,包括:
提供要被安装在所述计算设备上的浏览器环境以外的桥服务器,其中所述桥服务器执行以下一个或多个:
通过本地连接从桥消息客户机接收请求,并将其转发到运行在所述计算设备上所述浏览器环境以外的进程;以及
从所述进程接收对所述请求的响应,并通过所述本地连接将其转发到所述桥消息客户机;
提供要被安装在web应用中的所述桥消息客户机,其中所述web应用被配置为从网站加载到所述计算设备上的所述浏览器环境中并在所述浏览器环境中运行,所述桥消息客户机执行以下一个或多个:
通过所述本地连接将请求从所述web应用转发到所述桥服务器;以及
从所述桥服务器接收对所述请求的响应;以及
提供要通过所述web应用与所述进程之间的所标识通道打开的所述本地连接,所述本地连接包括被安装在所述web应用中的所述桥消息客户机与和所述进程相关联的所述桥服务器之间的通信链接。
12.如权利要求11所述的方法,其特征在于,包括:
提供所述web应用以使用其中包括的所述桥消息客户机来向所述进程发送请求;以及
响应于所述请求,提供所述进程以使用链接到所述进程的所述桥服务器来向所述web应用发送数据。
13.如权利要求11所述的方法,其特征在于,通过本地连接从桥消息客户机接收请求,并将其转发到运行在所述计算设备上所述浏览器环境以外的进程包括:
web中继通过所述本地连接从所述桥消息客户机接收所述请求,并将其转发到机器中继,所述web中继被置于所述计算设备上的所述浏览器环境以外,所述机器中继被置于与所述web中继相同的域中;以及
所述机器中继从所述web中继接收所述请求,并通过第一已命名通信管道将其转发到桥消息服务器。
14.如权利要求11所述的方法,其特征在于,从所述进程接收对所述请求的响应,并通过所述本地连接将其转发到所述桥消息客户机包括:
被置于所述计算设备中所述浏览器环境以外的机器中继通过第二已命名通信管道从桥消息服务器接收所述响应,并将其转发到被置于同一域中的web中继;以及
所述web中继从所述机器中继接收对所述请求的所述响应,并通过所述本地连接将其转发到所述桥消息客户机。
15.如权利要求11所述的方法,其特征在于,提供要打开的本地连接包括创建所述计算设备的所述浏览器环境和桌面环境之间的通信链接,这允许将数据串从所述桌面环境传输到所述浏览器环境。
CN201080054549.9A 2009-12-03 2010-11-05 web应用与浏览器以外的进程之间的通信通道 Active CN102640136B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/630,208 US9390172B2 (en) 2009-12-03 2009-12-03 Communication channel between web application and process outside browser
US12/630,208 2009-12-03
PCT/US2010/055689 WO2011068629A2 (en) 2009-12-03 2010-11-05 Communication channel between web application and process outside browser

Publications (2)

Publication Number Publication Date
CN102640136A CN102640136A (zh) 2012-08-15
CN102640136B true CN102640136B (zh) 2016-03-02

Family

ID=44083113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080054549.9A Active CN102640136B (zh) 2009-12-03 2010-11-05 web应用与浏览器以外的进程之间的通信通道

Country Status (6)

Country Link
US (1) US9390172B2 (zh)
EP (1) EP2507715B1 (zh)
JP (1) JP5894080B2 (zh)
KR (1) KR101763967B1 (zh)
CN (1) CN102640136B (zh)
WO (1) WO2011068629A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US8620914B1 (en) * 2010-05-18 2013-12-31 Google Inc. Ranking of digital goods in a marketplace
US20120316955A1 (en) * 2011-04-06 2012-12-13 Yahoo! Inc. System and Method for Mobile Application Search
US9823914B2 (en) * 2011-12-28 2017-11-21 International Business Machines Corporation Web applications having end-user data isolated in the local domain
CN102929638B (zh) * 2012-11-07 2014-08-13 广州市动景计算机科技有限公司 扩展WebApp应用功能的方法和系统
JP6122135B2 (ja) * 2012-11-21 2017-04-26 コーヒレント・ロジックス・インコーポレーテッド 分散型プロセッサを有する処理システム
CN105103146B (zh) * 2013-02-10 2018-11-13 维克斯网有限公司 第三方应用通信api
US10291615B2 (en) * 2013-05-13 2019-05-14 Ivanti Us Llc Web event framework
US9912720B2 (en) 2013-05-13 2018-03-06 Appsense Us Llc Context aware browser policy
US9900367B2 (en) 2013-05-13 2018-02-20 Appsense Us Llc Context transfer from web page to application
US9760415B2 (en) * 2014-05-16 2017-09-12 Microsoft Technology Licensing, Llc Code service for language-independent dispatch
CN104010031B (zh) * 2014-05-21 2018-01-05 华南理工大学 一种改善Web浏览器应用效率的分布式协同方法
US9311504B2 (en) 2014-06-23 2016-04-12 Ivo Welch Anti-identity-theft method and hardware database device
US9876849B2 (en) 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers
US10949487B2 (en) * 2015-04-20 2021-03-16 Hyland Switzerland Sàrl Systems and methods for accessing computing device resources
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10095571B2 (en) * 2016-01-04 2018-10-09 SmarterHi Communications Private Limited System and method for managing devices relayed via an established session
CN107015870B (zh) 2016-09-19 2020-11-03 创新先进技术有限公司 实现web页面与本地应用通信的方法、装置和电子设备
US11163910B2 (en) * 2017-06-29 2021-11-02 Salesforce.Com, Inc. Methods and systems for data migration
US10749689B1 (en) * 2017-06-29 2020-08-18 Salesforce.Com, Inc. Language-agnostic secure application development
US10901581B2 (en) * 2018-05-16 2021-01-26 ChartIQ, Inc. Assimilation method and system for browser and non-browser display window
US20200099738A1 (en) * 2018-09-24 2020-03-26 Citrix Systems, Inc. Systems and methods for bridge protocol between diverse applications
US10805246B1 (en) 2019-06-12 2020-10-13 International Business Machines Corporation Direct communication between a secure application and a local application running on the same device
US11776699B2 (en) * 2019-07-12 2023-10-03 Agfa Healthcare Nv Systems and methods for integrating healthcare applications
CN111176626B (zh) * 2019-08-05 2022-04-19 腾讯科技(深圳)有限公司 跨编程语言的代码调用方法及装置、介质、设备
US11575626B2 (en) * 2020-06-10 2023-02-07 Snap Inc. Bidirectional bridge for web view
CN112925527B (zh) * 2021-02-07 2022-03-08 北京三快在线科技有限公司 一种调用方法、装置、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488143A (zh) * 2008-01-16 2009-07-22 重庆安软信息科技有限公司 一种新型的web应用和本地应用的交互模式

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696591A (en) * 1996-01-05 1997-12-09 Eastman Kodak Company Apparatus and method for detecting longitudinally oriented flaws in a moving web
US6758755B2 (en) * 1996-11-14 2004-07-06 Arcade Planet, Inc. Prize redemption system for games executed over a wide area network
US6119166A (en) * 1997-03-28 2000-09-12 International Business Machines Corporation Controlling communications with local applications using a browser application
US6141699A (en) * 1998-05-11 2000-10-31 International Business Machines Corporation Interactive display system for sequential retrieval and display of a plurality of interrelated data sets
US6341314B1 (en) * 1999-03-30 2002-01-22 International Business Machines Corporation Web-based virtual computing machine
US7539628B2 (en) * 2000-03-21 2009-05-26 Bennett James D Online purchasing system supporting buyer affordability screening
US6968539B1 (en) 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
US6725238B1 (en) * 2000-01-06 2004-04-20 International Business Machines Corporation Method, system, and program for using a remotely accessed desktop interface and network drive to access a shared file system
US9213836B2 (en) * 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
US7346649B1 (en) * 2000-05-31 2008-03-18 Wong Alexander Y Method and apparatus for network content distribution using a personal server approach
JP3460678B2 (ja) * 2000-06-02 2003-10-27 松下電器産業株式会社 レーザ加工方法および加工装置
US7401235B2 (en) 2002-05-10 2008-07-15 Microsoft Corporation Persistent authorization context based on external authentication
US20070022155A1 (en) * 2002-08-22 2007-01-25 Owens David H Method and system for integrating enterprise software applications with desktop software applications
EP1394679B1 (en) * 2002-08-30 2013-05-29 Hewlett-Packard Development Company, L.P. Improvements relating to technical support systems
JP2004302543A (ja) 2003-03-28 2004-10-28 Ntt Docomo Inc 受信装置およびプログラム
US20040249958A1 (en) * 2003-06-04 2004-12-09 Ozdemir Hasan Timucin Method and apparatus for secure internet communications
US20090094332A1 (en) * 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US20060075069A1 (en) * 2004-09-24 2006-04-06 Mohan Prabhuram Method and system to provide message communication between different application clients running on a desktop
US20060195544A1 (en) * 2005-02-28 2006-08-31 Bcks Posting and receiving resources for external applications using a web browser as an agent
JP4409497B2 (ja) 2005-10-24 2010-02-03 エヌ・ティ・ティ・ソフトウェア株式会社 秘密情報送信方法
US7752556B2 (en) * 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US7986686B2 (en) * 2005-11-25 2011-07-26 Cisco Technology, Inc. Techniques for distributing network provider digital content to customer premises nodes
US7836303B2 (en) * 2005-12-09 2010-11-16 University Of Washington Web browser operating system
WO2007095732A1 (en) * 2006-02-20 2007-08-30 Topeer Corporation System and method for controlling local computer applications using a web interface
US8578333B2 (en) 2006-06-27 2013-11-05 Exilant Pte Ltd. Method and system for client-side user interface enhancement to enable application integration and portalisation
US8583793B2 (en) * 2006-11-20 2013-11-12 Apple Inc. System and method for providing a hypertext transfer protocol service multiplexer
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US20080168368A1 (en) * 2007-01-07 2008-07-10 Louch John O Dashboards, Widgets and Devices
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8458612B2 (en) * 2007-07-29 2013-06-04 Hewlett-Packard Development Company, L.P. Application management framework for web applications
US20090037492A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Framework for Synchronizing Applications
US20090320050A1 (en) * 2007-08-17 2009-12-24 Sms.Ac Mobile Network Community Platform Desktop API
US20090100342A1 (en) 2007-10-12 2009-04-16 Gabriel Jakobson Method and system for presenting address and mapping information
US8336097B2 (en) * 2007-10-12 2012-12-18 Electronics And Telecommunications Research Institute Apparatus and method for monitoring and protecting system resources from web browser
US20090144362A1 (en) * 2007-12-01 2009-06-04 Richmond Evan P Systems and methods for providing desktop messaging and end-user profiling
US20090254998A1 (en) * 2008-04-07 2009-10-08 Plura Processing, Lp Web-browser based grid computing system
US8078693B2 (en) 2008-04-14 2011-12-13 Microsoft Corporation Inserting a multimedia file through a web-based desktop productivity application
US20090282345A1 (en) * 2008-05-07 2009-11-12 Christopher Smith Interaction between web pages and local applications
CN102046249B (zh) * 2008-06-02 2015-12-16 耐克创新有限合伙公司 创建化身的系统和方法
US20100004994A1 (en) * 2008-07-02 2010-01-07 Global Launch Incorporated Methods for facilitating communications between businesses and consumers
US8370749B2 (en) * 2008-10-14 2013-02-05 Kimbia Secure online communication through a widget on a web page
US8321401B2 (en) * 2008-10-17 2012-11-27 Echostar Advanced Technologies L.L.C. User interface with available multimedia content from multiple multimedia websites
US8352967B2 (en) * 2008-11-10 2013-01-08 Google Inc. Safe browser plugins using native code modules
US20100146523A1 (en) * 2008-12-05 2010-06-10 Tripod Ventures Inc./ Entreprises Tripod Inc. Browser environment application and local file server application system
US20100235762A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Method and apparatus of providing a widget service for content sharing
US20100248681A1 (en) * 2009-03-27 2010-09-30 Anthony Phills Method and system for producing emergency notifications
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US20110055309A1 (en) * 2009-08-30 2011-03-03 David Gibor Communication in Context of Content
US20110085667A1 (en) * 2009-10-09 2011-04-14 Adgregate Markets, Inc. Various methods and apparatuses for securing an application container

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488143A (zh) * 2008-01-16 2009-07-22 重庆安软信息科技有限公司 一种新型的web应用和本地应用的交互模式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向Ajax开发人员的Adobe AIR简介;Kevin Hoyt;《程序员》;20080430;第90-91 *

Also Published As

Publication number Publication date
CN102640136A (zh) 2012-08-15
WO2011068629A2 (en) 2011-06-09
EP2507715A4 (en) 2013-05-08
JP2013513160A (ja) 2013-04-18
EP2507715B1 (en) 2018-06-20
US9390172B2 (en) 2016-07-12
WO2011068629A3 (en) 2011-09-01
JP5894080B2 (ja) 2016-03-23
KR20120092169A (ko) 2012-08-20
KR101763967B1 (ko) 2017-08-01
EP2507715A2 (en) 2012-10-10
US20110138059A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
CN102640136B (zh) web应用与浏览器以外的进程之间的通信通道
CN102349062B (zh) 浏览器缓存与远程仓库同步的方法和系统
CN102047286B (zh) 在线广告服务
US8973014B2 (en) Inter-device communication transmission system and method thereof
US10609122B1 (en) Instance backed building or place
KR20180125422A (ko) 하나 이상의 확장 애플리케이션과 상호작용하는 메시징 애플리케이션
US20120066607A1 (en) Sharing and Management of Transferable Virtual Desktop
CN102646302A (zh) 向本地设备提供基于web的内容
CN101855618A (zh) 用于在应用执行期间改变执行环境的方法和系统
CN103229559A (zh) 访问跨多个计算机的应用的方法、设备和系统
US20140337831A1 (en) Application system, application server, and program
CN103338218A (zh) 通过云托管的适配器提供客户端和服务兼容性
CN103167031A (zh) Web应用之间的通信
CN102906727A (zh) 远程应用连接共享
CN103562876A (zh) 在临时断线期间将请求重定向至次要位置
EP2454859B1 (en) Method, apparatus and system for accessing applications and content across a plurality of computers
CN104094299A (zh) 从发布的日历检索可用性信息
CN101953101B (zh) 解决各功能级别的内容管理
CN102859512A (zh) 可远程处理的项目
CA2812425C (en) Method, apparatus and system for transmitting an application using a plurality of computers
CN1829963B (zh) 可视化网格网络的方法
Wall Virtualisation and thin client: a survey of virtual desktop environments
US20090300583A1 (en) Apparatus, Method, and Computer Program Product for Performing a Software Build
Mejtoft Residential gateway as an enabler for ASP services
CN102043661A (zh) 通过本地端的插件与服务器进行信息互动的系统及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant