CN102640136B - web应用与浏览器以外的进程之间的通信通道 - Google Patents
web应用与浏览器以外的进程之间的通信通道 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000008569 process Effects 0.000 title claims abstract description 70
- 238000004891 communication Methods 0.000 title claims abstract description 64
- 230000004044 response Effects 0.000 claims abstract description 44
- 230000000930 thermomechanical effect Effects 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000003860 storage Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Computer Hardware Design (AREA)
Abstract
此处公开了用于将请求从web客户机中继到运行在计算设备上的进程并且从该进程接收响应的一种或多种技术和/或系统。被置于运行在计算机的浏览器中的web应用中的桥消息客户机打开到运行在浏览器以外的进程的本地连接。桥消息客户机包括通信通道ID以及桥消息客户机ID,该通信通道ID标识通信通道以便主控到桥服务器的本地连接,该桥消息客户机ID促进从桥服务器到web应用的通信。桥服务器被置于浏览器环境以外,且可从桥消息客户机接收请求,并将其转发到进程,和/或从进程接收对请求的响应,并通过本地连接将其转发到桥消息客户机。
Description
背景技术
因特网和其他在线技术的用户可通过例如接收文件传输或网页来访问远程信息。可在诸如个人计算机(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所述的方法,其特征在于,提供要打开的本地连接包括创建所述计算设备的所述浏览器环境和桌面环境之间的通信链接,这允许将数据串从所述桌面环境传输到所述浏览器环境。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/630,208 | 2009-12-03 | ||
US12/630,208 US9390172B2 (en) | 2009-12-03 | 2009-12-03 | Communication channel between web application and process outside browser |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9986279B2 (en) | 2008-11-26 | 2018-05-29 | Free Stream Media Corp. | Discovery, access control, and communication with networked services |
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 |
US9386356B2 (en) | 2008-11-26 | 2016-07-05 | Free Stream Media Corp. | Targeting with television audience data across multiple screens |
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 |
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 |
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 |
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 |
US9154942B2 (en) | 2008-11-26 | 2015-10-06 | Free Stream Media Corp. | Zero configuration communication between a browser and a networked media device |
US10631068B2 (en) | 2008-11-26 | 2020-04-21 | Free Stream Media Corp. | Content exposure attribution based on renderings of related content across multiple devices |
US10419541B2 (en) | 2008-11-26 | 2019-09-17 | Free Stream Media Corp. | Remotely control devices over a network without authentication or registration |
US8732474B1 (en) * | 2010-05-18 | 2014-05-20 | Google Inc. | Safe installation of browser extensions |
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应用功能的方法和系统 |
CN107239420B (zh) | 2012-11-21 | 2020-05-05 | 相干逻辑公司 | 具有散布处理器dma-fifo的处理系统 |
EA201591352A1 (ru) * | 2013-02-10 | 2016-01-29 | Викс.Ком Лтд. | Интерфейс программирования приложений для связи со сторонним приложением |
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 |
US10291615B2 (en) * | 2013-05-13 | 2019-05-14 | Ivanti Us Llc | Web event framework |
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 |
US20160344677A1 (en) | 2015-05-22 | 2016-11-24 | Microsoft Technology Licensing, Llc | Unified messaging platform for providing interactive semantic objects |
US10216709B2 (en) | 2015-05-22 | 2019-02-26 | Microsoft Technology Licensing, Llc | Unified messaging platform and interface for providing inline replies |
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页面与本地应用通信的方法、装置和电子设备 |
US10749689B1 (en) * | 2017-06-29 | 2020-08-18 | Salesforce.Com, Inc. | Language-agnostic secure application development |
US11163910B2 (en) * | 2017-06-29 | 2021-11-02 | Salesforce.Com, Inc. | Methods and systems for data migration |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488143A (zh) * | 2008-01-16 | 2009-07-22 | 重庆安软信息科技有限公司 | 一种新型的web应用和本地应用的交互模式 |
Family Cites Families (49)
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 |
CA2678737A1 (en) * | 2006-02-20 | 2007-08-30 | Topeer Corporation | System and method for controlling local computer applications using a web interface |
WO2008002274A1 (en) | 2006-06-27 | 2008-01-03 | Inventys 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 |
CA2665436A1 (en) * | 2008-05-07 | 2009-11-07 | Research In Motion Limited | Interaction between web pages and local applications |
US10022631B2 (en) * | 2008-06-02 | 2018-07-17 | Nike, Inc. | System and method for creating an avatar |
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 |
-
2009
- 2009-12-03 US US12/630,208 patent/US9390172B2/en active Active
-
2010
- 2010-11-05 EP EP10834918.4A patent/EP2507715B1/en active Active
- 2010-11-05 CN CN201080054549.9A patent/CN102640136B/zh active Active
- 2010-11-05 JP JP2012542026A patent/JP5894080B2/ja active Active
- 2010-11-05 KR KR1020127017157A patent/KR101763967B1/ko active IP Right Grant
- 2010-11-05 WO PCT/US2010/055689 patent/WO2011068629A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488143A (zh) * | 2008-01-16 | 2009-07-22 | 重庆安软信息科技有限公司 | 一种新型的web应用和本地应用的交互模式 |
Non-Patent Citations (1)
Title |
---|
面向Ajax开发人员的Adobe AIR简介;Kevin Hoyt;《程序员》;20080430;第90-91 * |
Also Published As
Publication number | Publication date |
---|---|
EP2507715A2 (en) | 2012-10-10 |
KR101763967B1 (ko) | 2017-08-01 |
WO2011068629A2 (en) | 2011-06-09 |
US20110138059A1 (en) | 2011-06-09 |
CN102640136A (zh) | 2012-08-15 |
JP5894080B2 (ja) | 2016-03-23 |
US9390172B2 (en) | 2016-07-12 |
EP2507715A4 (en) | 2013-05-08 |
WO2011068629A3 (en) | 2011-09-01 |
JP2013513160A (ja) | 2013-04-18 |
KR20120092169A (ko) | 2012-08-20 |
EP2507715B1 (en) | 2018-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102640136B (zh) | web应用与浏览器以外的进程之间的通信通道 | |
CN102047286B (zh) | 在线广告服务 | |
US10609122B1 (en) | Instance backed building or place | |
US20140082136A1 (en) | Method and system for transmission of application status between different devices | |
US20120079043A1 (en) | Method, apparatus and system for accessing an application across a plurality of computers | |
CN102646302A (zh) | 向本地设备提供基于web的内容 | |
CN101855618A (zh) | 用于在应用执行期间改变执行环境的方法和系统 | |
US20140337831A1 (en) | Application system, application server, and program | |
CN103338218A (zh) | 通过云托管的适配器提供客户端和服务兼容性 | |
CN103167031A (zh) | Web应用之间的通信 | |
US20130145357A1 (en) | Integrating applications | |
CN102906727A (zh) | 远程应用连接共享 | |
CN103562876A (zh) | 在临时断线期间将请求重定向至次要位置 | |
EP2454859B1 (en) | Method, apparatus and system for accessing applications and content across a plurality of computers | |
CN104094299A (zh) | 从发布的日历检索可用性信息 | |
CN101953101A (zh) | 解决各功能级别的内容管理 | |
CN105302617A (zh) | 一种下载应用程序的方法及服务器 | |
CA2812425C (en) | Method, apparatus and system for transmitting an application using a plurality of computers | |
CN1829963B (zh) | 可视化网格网络的方法 | |
US20090300583A1 (en) | Apparatus, Method, and Computer Program Product for Performing a Software Build | |
TW202125235A (zh) | 應用程式分享系統及其操作方法 | |
Nayyeri et al. | Overview of SignalR | |
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 |