CN101790747B - 用于安全的模块间通信的方法和装置 - Google Patents

用于安全的模块间通信的方法和装置 Download PDF

Info

Publication number
CN101790747B
CN101790747B CN2008801048833A CN200880104883A CN101790747B CN 101790747 B CN101790747 B CN 101790747B CN 2008801048833 A CN2008801048833 A CN 2008801048833A CN 200880104883 A CN200880104883 A CN 200880104883A CN 101790747 B CN101790747 B CN 101790747B
Authority
CN
China
Prior art keywords
module
courier
inline frame
message
source
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
CN2008801048833A
Other languages
English (en)
Other versions
CN101790747A (zh
Inventor
罗欧·池吉瓦
艾萨克·阿尔弗雷德·亨利·瓦斯勒斯基
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.)
Fly upward Management Co., Ltd
Original Assignee
Yahoo Inc
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 Yahoo Inc filed Critical Yahoo Inc
Publication of CN101790747A publication Critical patent/CN101790747A/zh
Application granted granted Critical
Publication of CN101790747B publication Critical patent/CN101790747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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]
    • G06Q50/40

Abstract

用于促进在诸如浏览器客户端之类的实现域安全性模型的用户代理所处理的文档的上下文内执行的代码模块之间的安全、结构化交互的方法、装置和系统。在特定实现方式中,被加载到基本文档中的模块连接器脚本或对象发现对应于不同来源或域的收听者模块和发送者模块,并在它们之间传递信息。这样,只要让端用户将收听者模块和发送者模块都添加到一网页,无需显式地定义任何形式地互连,收听者模块即可以消耗和使用来自位于同一页面上的发送者模块的信息。例如,照片模块可以访问远程照片共享站点处的用户账户,并且将一个或多个照片提供给在幻灯放映中呈现照片的模块。

Description

用于安全的模块间通信的方法和装置
技术领域
本公开总地涉及可在由浏览器或其他客户端应用所处理的网页或其他结构化文档的上下文内执行的代码对象之间的通信。
背景技术
由诸如因特网之类的广域网连接的交互式系统已经稳步发展成为了信息交换、社会交往和数字媒体共享的活跃媒介。因特网用户通常维持着在以可定制的个人页面为特色的各种服务提供商处的一个或多个账户,所述个人页面例如是个人主页(例如,my.yahoo.com等等)、社交网络站点上的个人页面(例如,facebook.com、myspace.com等等),等等。为了增强这种页面对于端用户来说的实用性和可定制性,服务提供商有时允许用户利用一个或多个功能模块或窗口小部件(widget)(以下称之为模块)来定制其页面。
在web或因特网环境中,这些模块可包括在客户端应用(例如浏览器)的上下文内执行以实现多种有用的或娱乐性的功能的HTML代码和脚本(例如JavaScript,以及异步JavaScript和XML(AJAX))。例如,模块可以被开发来显示从真正简单联合(RSS)馈送获得的内容,例如博客条目、新闻标题或播客(podcast)。其他模块可被开发来显示在内容聚集站点(例如flickr.com)上容宿的照片的幻灯放映。其他模块可以显示实时股票报价。在许多情况下,这些模块以框架或内联框架(iframe)的形式出现在基本HTML文档中,这使得能够在基本HTML文档内嵌入另一HTML文档。
维护这些可定制页面的服务提供商可以开发若干的模块,用户可从中选出一些来添加到其页面。然而,由于模块能够执行的功能多种多样并且用户的创造力看起来是无限的,因此一些服务提供商也还提供一种允许每三方开发模块的开放开发环境。然而,由于在允许第三方模块时涉及的安全性问题,服务提供商通常还依赖于某些措施来使有关第三方模块的安全性顾虑达到最低限度。具体而言,通过利用文档对象模型来编写脚本,网页的不同窗口和框架中的内容可以按强大的方式来交互。然而,由于浏览器客户端可以在其各种窗口和框架中同时显示无关的内容,例如基本页面和一个或多个模块,因此某些策略必须被应用来保护数据完善性和信息的隐密。如果不采取安全性措施,那么在一个框架中执行的模块可能能够获知其他模块或基本文档中的信息。允许以这种方式自由访问可能会侵犯用户的隐私。
因此,大多数公众可得的浏览器客户端(例如
Figure GSB00000698989600021
Firefox和
Figure GSB00000698989600022
Internet)支持一种域安全性模型,这种模型只允许与来自同一来源(origin)的内容交互。例如,与一个域(例如,http://yahoo.com/)相对应的iframe的对象不可访问另一框架或基本文档的内容,如果该内容源自于另一域(例如,https://example.com)的话。至于JavaScript,例如,为了防止跨站点安全性问题,浏览器在javascript对象模型中施加相同来源策略。也就是说,在一个iframe中运行的脚本不可访问另一iframe内的任何对象,除非这些iframe中的页面都来自同一来源。一些浏览器在下述情况下认为两个页面具有相同的来源:如果对于这两个页面,协议、端口(如果给出的话)和主机都是相同的。在没有域安全性的情况下,流氓页面可以窥探另一页面,访问其域外的cookie、或者利用动态超文本标记语言(DHTML)来操纵内容。
服务提供商可以结合第三方模块利用标准浏览器所支持的域安全性模型。例如,服务提供商可以在对应于与基本文档以及嵌入在其他iframe中的文档不同的另一来源或域的iframe中提供HTML文档,包括第三方模块或对第三方模块的引用(例如,src属性)。这样,给定的第三模块的操作被有效地包含在其相应iframe的上下文内。
发明内容
本发明提供了用于促进在诸如浏览器客户端之类的实现域安全性模型的用户代理所处理的文档的上下文内执行的代码模块之间的安全、结构化交互的方法、装置和系统。在特定实现方式中,被加载到基本文档中的模块连接器脚本或对象发现对应于不同来源或域的收听者模块和发送者模块,并在它们之间传递信息。这样,只要让端用户将收听者模块和发送者模块都添加到一网页,无需显式地定义任何形式地互连,收听者模块即可以消耗和使用来自位于同一页面上的发送者模块的信息。例如,照片模块可以访问远程照片共享站点处的用户账户,并且将一个或多个照片提供给在幻灯放映中呈现照片的模块。
根据本发明一个方面,提供了一种用于安全的模块间通信的方法,包括:在第一来源处接收来自用户代理的对网页的请求,其中该用户代理实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;访问布局信息的数据存储位置来识别出一个或多个模块对象以添加到基本文档;以及从所述第一来源发送所述基本文档到所述用户代理,其中所述基本文档包括一个或多个模块内联框架元素,这一个或多个模块内联框架元素中的每一个使得所述用户代理在一内联框架内加载来自第二来源的模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象。
每个信使对象在所述用户代理的上下文内可以:在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;响应于由模块对象发送的消息,将该消息添加到该位置属性;以及把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象。
所述基本文档还包括模块连接器对象,该模块连接器对象在所述用户代理的上下文内可以:访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。
根据本发明另一个方面,提供了一种用于安全的模块问通信的装置,包括:用于在第一来源处接收来自用户代理的对网页的请求的装置,其中该用户代理实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;用于访问布局信息的数据存储位置来识别出一个或多个模块对象以添加到基本文档的装置;以及用于从所述第一来源发送所述基本文档到所述用户代理的装置,其中所述基本文档包括一个或多个模块内联框架元素,这一个或多个模块内联框架元素中的每一个使得所述用户代理在一内联框架内加载来自第二来源的模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象。
每个信使对象在所述用户代理的上下文内可以:在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;响应于由模块对象发送的消息,将该消息添加到该位置属性;以及把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象。
所述基本文档还包括模块连接器对象,该模块连接器对象在所述用户代理的上下文内可以:访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。
根据本发明又一个方面,一种用于安全的模块间通信的方法,包括:实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;从第一来源接收并呈现基本文档,其中该基本文档包括一个或多个模块内联框架元素;对于每个模块内联框架元素,在内联框架内从各自的第二来源加载一模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象。
每个信使对象可以:在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;响应于由模块对象发送的消息,将该消息添加到该位置属性;以及把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象。
所述基本文档还包括模块连接器对象,该模块连接器对象可以:访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。
附图说明
图1是示出本发明的特定实现方式可在其中操作的网络环境的示意图。
图2示出了可用于实现物理服务器的示例性计算系统体系结构。
图3是示例性图形用户界面。
图4是示出与基本网页或文档相对应的HTML文档的元素的示例性代码。
图5是示出与模块相对应的HTML文档的元素的示例性代码。
图6至9是示出根据本发明的特定实现方式的模块间通信过程的流程图。
具体实施方式
A.示例性网络系统体系结构
图1示出了特定实现方式可在其中操作的示例性网络环境。如图1所示,本发明的特定实现方式可在包括服务提供商站点30和一个或多个客户端系统28的网络环境中操作。服务提供商站点30包括:容宿着超文本传送协议(HTTP)服务器26和网络应用27的网络应用服务器31、操作性地耦合到数据库22的数据库系统20、以及操作性地耦合到模块信息的数据存储装置36的模块容宿平台34。路由器27把服务提供商站点30操作性地耦合到网络云24。网络云24一般表示一个或多个互连的网络,这里描述的系统和主机可通过这些网络通信。网络云24可包括基于分组的广域网(例如因特网)、专用网络、无线网络、卫星网络、蜂窝网络、寻呼网络等等。
数据库系统20是一网络可寻址系统,其可容宿数据库应用并可联合诸如社交网络系统、可定制用户主页(例如,my.yahoo.com)等等之类的多种网络应用操作。一个或多个主机可通过计算机网络访问数据库系统20。在一种实现方式中,数据库22可存储各种类型的信息,例如用户账户信息、用户配置文件数据、地址、偏好、金融账户信息。数据库22还可存储内容,例如数字内容数据对象和其他媒体资源。在特定实现方式中,内容数据对象或内容对象是通常存储或包含在数据文件或记录中的数字信息的个体项。内容对象可采取许多形式,包括:文本(例如,ASCII、SGML、HTML)、图像(例如,jpeg、tif和gif)、图形(基于向量的或者位图)、音频、视频(例如,mpeg)、或者其他多媒体、以及其组合。内容对象数据还可包括可执行的代码对象(例如,可在浏览器窗口或框架内执行的游戏)、播客等等。从结构上来说,数据库22意味着一大类数据存储和管理系统。在特定实现方式中,数据库22可由包括诸如数据库服务器、大容量存储介质、媒体库系统等等之类的组件的任何适当物理系统来实现。模块容宿平台34容宿着由服务提供商站点30内部开发的模块,以及由第三方开发的模块。数据存储装置36存储着模块定义数据,例如计算机程序代码、HTML代码、脚本、
Figure GSB00000698989600061
(swf)对象,等等。
在特定实现方式中,网络应用27可以访问数据库系统20以根据需要检索、添加或修改存储在其中的数据以向一个或多个用户提供网络应用,例如社交网络应用或可定制主页。响应于来自给定用户的对主页的请求,网络应用服务器27可访问数据库系统20,以从相应的用户账户中检索出页面格式和布局信息。布局信息可以标识出用户已添加到其页面的模块,等等。网络应用27随后可访问模块容宿平台34,以获得或生成用于添加在布局信息中标识的模块的HTML代码和其他内容。网络应用27随后可将该内容合并到基本文档或页面模板中,并将合并的页面发送到用户。
客户端系统28经由网络服务提供商或任何其他适当的手段操作性地连接到网络环境。客户端系统28可包括个人计算机或移动设备,例如膝上型计算机、个人数字助理(PDA)等等。客户端系统28可包括一个或多个处理器、存储器、网络接口、一个或多个输入/输出(I/O)设备以及互连这些组件的系统总线。客户端系统28还可包括操作系统,以及可操作来与服务提供商站点30交互的用户代理,例如浏览器客户端。浏览器客户端可包括
Figure GSB00000698989600062
Internet
Figure GSB00000698989600063
Mozilla
Figure GSB00000698989600064
Figure GSB00000698989600066
Figure GSB00000698989600067
以及任何其他适当的用户代理。这种浏览器客户端支持不允许从不同来源提供的内容(例如,内容对象和脚本)之间的交互的域安全性模型。在特定实现方式中,来源被定义为主机名、端口和协议的组合。主机名可以是IP地址或域名。端口指的是传输控制协议/因特网协议(TCP/IP)端口,而协议指的是传输层之上的协议层,例如HTTP、S-HTTP、基于安全套接字层的HTTP(HTTPS)。另外,一些浏览器认为IP地址(例如,66.213.145.93)和解析到该IP地址的域名在结合iframe使用时是不同的来源。
A.1.示例性服务器系统体系结构
这里描述的服务器主机系统(例如网络应用服务器31)可以实现在多种计算系统和体系结构中。另外,客户端系统28的系统体系结构可与服务器系统体系结构相当类似。例如,该系统体系结构还可包括I/O系统,例如鼠标、键盘和显示设备。以下出于教导而非限制目的描述示例性计算体系结构。
图2示出了可用于实现物理服务器的示例性计算系统体系结构。在一个实施例中,硬件系统200包括处理器202、缓存存储器204以及涉及这里描述的功能的一个或多个软件应用和驱动器。此外,硬件系统200包括高性能输入/输出(I/O)总线206和标准I/O总线208。主机桥接器210将处理器202耦合到高性能I/O总线206,而I/O总线桥接器212将两条总线206和208与彼此耦合。系统存储器214和网络/通信接口216耦合到总线206。硬件系统200还可包括视频存储器(未示出)和耦合到视频存储器的显示设备。大容量存储设备218以及I/O端口220耦合到总线208。硬件系统200可以可选地包括键盘和点选设备,以及耦合到总线208的显示设备(未示出)。总体上,这些元件想要表示宽泛的一类计算机硬件系统,其中包括但不限于基于由Santa Clara,California的英特尔公司制造的x86兼容处理器以及由Sunnyvale,California的先进微器件(AMD)公司制造的x86兼容处理器以及任何其他适当的处理器的通用计算机系统。
下面更详细描述硬件系统200的元件。具体地,网络接口216提供硬件系统200与诸如以太网(例如,IEEE 802.3)网络等等之类的多种网络中的任何一种之间的通信。大容量存储设备218提供对执行位置服务器22中实现的上述功能的数据和编程指令的永久存储,而系统存储器214(例如,DRAM)在数据和编程指令被处理器202执行时提供对其的临时存储。I/O端口220是提供可耦合到硬件系统200的额外外围设备之间的通信的一个或多个串行和/或并行通信端口。
硬件系统200可包括多种系统体系结构;并且硬件系统200的各种组件可被重新安排。例如,缓存204可以与处理器202一起在芯片上。或者,缓存204和处理器202可被封装在一起作为“处理器模块”,其中处理器202被称为“处理器核心”。另外,本发明的某些实施例可以不需要也不包括所有上述元件。例如,被示为耦合到标准I/O总线208的外围设备可以耦合到高性能I/O总线206。此外,在一些实施例中,可能只存在单条总线,并且硬件系统200的组件耦合到该单条总线。另外,硬件系统200可包括额外的组件,例如额外的处理器、存储设备或存储器。
如下所述,在一种实现方式中,这里描述的一个或多个物理服务器的操作被实现为由硬件系统200运行的一系列软件例程。这些软件例程包括将被硬件系统中的处理器(例如处理器202)执行的多个或一系列指令。最初,该系列指令可被存储在诸如大容量存储设备218之类的存储设备上。但是,该系列指令也可被存储在诸如盘、CD-ROM、ROM、EEPROM等等之类的任何适当的存储介质上。另外,该系列指令不需要被存储在本地,而是可以经由网络/通信接口216从诸如网络上的服务器之类的远程存储设备接收。指令被从存储设备(例如大容量存储设备218)拷贝到存储器214中,然后被处理器202访问和执行。
操作系统管理和控制硬件系统200的操作,其中包括数据到软件应用(未示出)的输入和从软件应用的输出。操作系统提供了在系统上执行的软件应用与系统的软件组件之间的接口。根据本发明的一个实施例,操作系统是可从Redmond,Wash.的微软公司获得的
Figure GSB00000698989600081
95/98/NT/XP/Vista操作系统。但是,本发明也可结合其他适当的操作系统使用,所述其他适当的操作系统例如是可从Cupertino,Calif.的苹果电脑公司获得的Apple Macintosh操作系统、UNIX操作系统、LINUX操作系统等等。当然,其他实现方式也是可能的。例如,这里描述的服务器功能可利用通过背板通信的多个服务器刀片来实现。
B.模块间通信功能
图3示出了在浏览器窗口304内呈现的示例性基本网页302。基本网页302包括作为iframe嵌入在基本网页302中的两个模块窗306a、306b。图4示出了浏览器客户端处理以在浏览器窗304内呈现基本网页302的基本网页302的HTML代码(包括一些伪代码)的子集。基本网页302的HTML代码包括第一iframe元素402和第二iframe元素404。“src”元素使得浏览器客户端在iframe的上下文内载入与统一资源定位符(URL)相对应的内容。在一种实现方式中,服务提供商站点30从与基本网页302的来源不同的来源提供iframe元素402、404内的模块。出于描述目的,本公开将这种iframe 402、404称为模块iframe。这些iframe是基本网页302的子元素。例如,与第一模块(出于教导目的标注为模块A)相对应的内容可从名为modulehost1.com的主机提供,而第二模块可从名为modulehost2.com的主机提供。如图3所示,基本网页302是从与http://my.yahoo.com/相关联的主机提供的。如图4所示,基本网页302的HTML代码还包括模块连接器脚本元素406(出于教导目的称为“管道”)。在所示出的实现方式中,模块连接器脚本是被加载到页面中的JavaScript对象。脚本元素406还包括iframe令牌(iFtoken)到模块标识符(moduleId)映射信息408。如图4所示,iframe元素402、404包括标识模块的标识符(id)(例如,module_A、module_B),而位置(src)串包括标识与给定模块相对应的令牌值的令牌(token)参数(iFtokenA、iFtokenB,等等)。映射信息408将这些令牌映射到相应的模块标识符。模块连接器脚本可以使用这些映射来确保在一个iframe中执行的模块不能假装是另一个模块。例如,传递到模块连接器脚本的消息可包括令牌,这些令牌可被模块连接器脚本用来对照模块iframe的标识符(id)和令牌到模块映射信息408验证消息。在一种实现方式中,模块连接器脚本使用这些令牌来标识模块和消息应当被添加到的消息队列。其他实现方式也是可能的。例如,模块中的一个或多个不需要被可见地呈现在浏览器窗口304中。
图5示出了与“模块A”相对应的HTML文档的示例性HTML代码(包括一些伪代码来表示模块互连和其他功能)。所示出的代码完全是用于教导目的的。利用相同或相似的结构和命令,可以为模块B载入类似的文档。如下文中更详细论述的,模块可以注册为发送者和收听者。图5示出了HTML代码包括脚本元素502,该脚本元素502使得信使(messenger)脚本对象被加载在模块iframe内。信使脚本的数据定位符也包括令牌(iFtokenA),该令牌被服务提供商站点30所接收并与信使脚本包括在一起以使其可将该令牌嵌入在信使iframe元素中,如下所述。除了其他功能外,信使脚本在被加载和执行时可操作以将另一iframe(这里称之为“信使iframe”)嵌入在模块iframe内。在一种实现方式中,信使脚本访问模块iframe的HTML文档的对象模型并添加HTML代码以在运行时创建信使iframe。信使iframe是模块iframe的子元素。在一种实现方式中,信使iframe在浏览器窗口304内不可见或者未呈现在浏览器窗口304内。以下出于例示目的提供示例性代码。
Figure GSB00000698989600101
由于信使iframe元素的src属性中指示的来源是与基本网页302相同的来源,因此基本网页302的对象可与信使iframe的内容相交互。然而,模块iframe的内容不能与基本网页302或信使iframe的内容相交互。信使iframe元素的src属性还包括令牌值(这里是iFtokenA)。如前所述,信使脚本还包括使得信使脚本向基本网页302的模块连接器脚本注册信使iframe的代码(top.conduit.register(window,token))。模块连接器脚本可使用传递给它的令牌以及模块标识符到令牌映射信息408来识别与信使脚本和信使iframe相对应的模块iframe(通过访问模块iframe的id属性)。模块连接器脚本还可通过访问iframe和信使iframe元素并对照其映射信息408比较它们来验证注册消息。另外,模块连接器脚本可使用令牌值来识别各种消息应当被添加到的信使iframe消息队列。信使iframe元素的srcURL还包括充当消息队列的经编码串(在#之后)。#号(#)后的串值的变化不会导致浏览器客户端发送新请求。在特定实现方式中,该经编码串使用JavaScript对象记号法(JSON)来实现该消息队列,其中每个消息是利用JSON语法来划界的。根据大多数浏览器客户端的域安全性模型,信使脚本可以最初设置信使iframe元素的位置(src),并且可在信使iframe已被创建之后重置该位置。另外,如果信使iframe元素的位置(src)被设置成与基本网页302相同的来源,那么模块连接器脚本可以访问该位置(src)和该经编码串以判定在消息队列中有哪些消息。模块连接器脚本还能够修改消息队列以添加新消息并且删除过期的消息。另外,信使脚本虽然在模块iframe的上下文内操作,但它仍能够读取和修改位置(src)属性。在其他实现方式中,模块连接器脚本也可被嵌入在iframe中。在这种实现方式中,信使脚本将创建出标识与模块连接器脚本的来源相同的来源(如果不同于基本网页302的来源的话)的信使iframe元素。如下所述,信使iframe元素可以响应于模块发送的第一消息而被动态创建。
另外,信使脚本还可声明一消息传送应用编程接口(API),以允许模块注册为发送者和接收者,并且发送和接收消息。消息传送API也是第三方模块开发者可获得的公开规范。消息传送API使得模块开发者可以创建能够向模块连接器脚本注册以及发送并接收来自其他模块的消息的模块。例如,在图5的示例性代码中,模块包括loadPhotosFromFlickr函数,该函数访问站点flickr.com以获得去往被上载到用户账户的一个或多个照片的URL。advertisePhotos函数使用信使脚本所声明的接口来发送消息。在所示出的实现方式中,该函数包括根据消息传送API的发送命令504,该命令使得信使脚本在相应的信使iframe的位置(src)属性的消息队列中发布照片URL(见下)。在特定实现方式中,模块连接器脚本支持多个通道。每个消息标识一通道并且包括要在该通道上发送的相应数据。如图5所示,发送命令502标识被称为“pictures”的通道。每个通道还与收听模块可预期的输出格式相关联。另外的通道可包括文本、图片、音乐、视频等等。例如,图片通道可要求输出是去往照片的URL,而视频通道可要求输出是去往视频的URL。在一种实现方式中,模块还可通过在“收听者”通道上发出一发送命令来注册为一个或多个通道上的收听者。例如,根据一种可能的消息传送API,模块开发者可创建一模块,该模块调用具有以下API的接收函数:receive(“pictures”,handler),并且定义句柄(例如,handler=function(msg))。下层的消息传送实现可以执行发送操作(例如send({channel:″listener″,data:″pictures″})),以通告模块收听特定通道的能力。消息传送实现存储指向句柄的指针以供将来参考,从而当该通道上的消息被接收到时,它可被路由到句柄函数。这样,模块依赖于接收消息传送API在收听者通道上发出一发送命令,该发送命令标识出它可在其上接收到消息的(一个或多个)通道。接收函数还为接收到的消息标识出一句柄,即定义处理该消息的函数的句柄。例如,如果该消息是去往照片的URL,则该句柄函数可定义检索出该照片并将其添加到被显示给用户的幻灯放映的进程。
B.1.信使脚本-发送
图6示出了可被根据本发明的一种实现方式的信使脚本实现来从一模块发送消息的方法。信使脚本收听从在模块iframe的上下文内操作的模块发出的发送命令(602)。响应于发送命令,信使脚本基于传递给它的参数信息构造消息并创建时间戳(604)。如果信使iframe尚未被创建(606),则信使脚本在信使模块iframe内创建信使iframe元素,将该消息和时间戳以位置(src)属性的经编码参数的形式添加到消息队列(见上)(608)。如果信使iframe已被创建,则信使脚本基于时间戳检查消息队列以去除过期的消息(610),并将新消息和时间戳添加到消息队列(612)。添加到信使iframe的位置(src)属性的消息随后可供模块连接器脚本访问并读取。
B.2.模块连接器脚本
图7阐明了根据本发明的一种可能的实现方式的模块连接器脚本所实现的方法。图7所示的过程流程可以响应于第一信使iframe的注册而发起(见上)。如图7所示,模块连接器脚本周期性地操作(702),例如每20毫秒操作,以针对任何注册的信使iframe进行检查(704)。如果已注册了任何信使iframe,则模块连接器脚本针对所有注册的信使iframe(706)判定是否有任何新的消息被添加到消息队列(708)。如果是,则模块连接器脚本针对所有新消息(710)将消息传递到在各个消息中指示的通道的任何收听者(712、714)。
图8示出了由根据本发明的一种可能的实现方式的模块连接器脚本实现的用于将消息传递到收听者模块的过程。如图8所示,模块连接器脚本访问与收听者模块相对应的信使iframe的位置(src)属性(802),并且对消息队列的参数信息解码(804)。利用消息队列中的每个消息的时间戳,模块连接器脚本通过从消息队列中删除旧消息而使其过期(806),并且将新消息添加到消息队列(808)。这样,在相应收听者模块的模块iframe的上下文内操作的信使脚本能够访问消息。
其他实现方式也是可能的。例如,模块连接器脚本的操作可以被端用户所调整,端用户可配置一条或多条规则,这些规则限定了给定模块可与之交互的模块,或者一模块可在其上接收消息的通道。另外,模块连接器脚本操作的时间间隔可以是固定值,或者可以随每次操作而逐渐增大。
B.3.信使脚本-收听
图9示出了可由根据本发明一种实现方式的信使脚本实现来收听消息并将其提供给模块的方法。如图9所示,信使脚本执行周期性操作的收听进程(902)。在给定的时间间隔之后,信使脚本对信使iframe的位置(src)属性解码以针对消息队列中的消息进行检查(904),并将任何新消息传递给被注册来接收消息的句柄(见上)(906)。这样,模块可接收一个或多个消息并对其进行处理以例如生成在浏览器窗口304内呈现的输出。此外,用于模块间通信的结构化机制使得模块可以在仍保持安全性的同时进行交互,因为模块只具有这里公开的手段用来与其他页面对象通信和交互。
已经参考特定实施例说明了本发明。例如,虽然本发明的实施例已被描述为结合HTML、HTTP和JavaScript操作,但是本发明可以结合任何适当的协议环境使用。其他实施例对于本领域的普通技术人员来说是显而易见的。因此,除了所附权利要求所指示的之外,不希望本发明受限制。

Claims (20)

1.一种用于安全的模块间通信的方法,包括:
在第一来源处接收来自用户代理的对网页的请求,其中该用户代理实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;
访问布局信息的数据存储位置来识别出一个或多个模块对象以添加到基本文档;以及
从所述第一来源发送所述基本文档到所述用户代理,其中所述基本文档包括一个或多个模块内联框架元素,这一个或多个模块内联框架元素中的每一个使得所述用户代理在一内联框架内加载来自第二来源的模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象;
其中每个信使对象在所述用户代理的上下文内:
在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;
响应于由模块对象发送的消息,将该消息添加到该位置属性;以及
把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象;
其中所述基本文档还包括模块连接器对象,该模块连接器对象在所述用户代理的上下文内:
访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及
响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。
2.如权利要求1所述的方法,其中,信使对象还向模块连接器对象注册。
3.如权利要求1所述的方法,其中,信使对象还定义到模块对象的消息传送应用编程接口。
4.如权利要求1所述的方法,其中,信使对象还使先前添加到信使内联框架元素的位置属性的消息过期。
5.如权利要求1所述的方法,其中,模块连接器对象还使先前添加到信使内联框架元素的位置属性的消息过期。
6.如权利要求1所述的方法,其中,模块连接器对象还注册为一通道上的收听者;并且模块对象依据新消息的通道和在该通道上注册的收听者来选择性地把新消息添加到相应信使内联框架元素的一个或多个位置属性。
7.如权利要求1所述的方法,其中,所述第一来源和第二来源是相对于主机名、端口和协议的组合来定义的。
8.如权利要求1所述的方法,其中,所述请求标识一用户,并且所述布局信息是从与该用户相关联的用户账户访问的。
9.一种用于安全的模块间通信的装置,包括:
用于在第一来源处接收来自用户代理的对网页的请求的装置,其中该用户代理实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;
用于访问布局信息的数据存储位置来识别出一个或多个模块对象以添加到基本文档的装置;以及
用于从所述第一来源发送所述基本文档到所述用户代理的装置,其中所述基本文档包括一个或多个模块内联框架元素,这一个或多个模块内联框架元素中的每一个使得所述用户代理在一内联框架内加载来自第二来源的模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象;
其中每个信使对象在所述用户代理的上下文内:
在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;
响应于由模块对象发送的消息,将该消息添加到该位置属性;以及
把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象;
其中所述基本文档还包括模块连接器对象,该模块连接器对象在所述用户代理的上下文内:
访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及
响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。
10.如权利要求9所述的方法,其中,信使对象还向模块连接器对象注册。
11.如权利要求9所述的方法,其中,信使对象还定义到模块对象的消息传送应用编程接口。
12.如权利要求9所述的方法,其中,信使对象还使先前添加到信使内联框架元素的位置属性的消息过期。
13.如权利要求9所述的方法,其中,模块连接器对象还使先前添加到信使内联框架元素的位置属性的消息过期。
14.如权利要求9所述的方法,其中,模块连接器对象还注册为一通道上的收听者;并且模块连接器对象依据新消息的通道和在该通道上注册的收听者来选择性地把新消息添加到相应信使内联框架元素的一个或多个位置属性。
15.如权利要求9所述的方法,其中,所述第一来源和第二来源是相对于主机名、端口和协议的组合来定义的。
16.如权利要求9所述的方法,其中,所述请求标识一用户,并且所述布局信息是从与该用户相关联的用户账户访问的。
17.一种用于安全的模块间通信的方法,包括:
实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;
从第一来源接收并呈现基本文档,其中该基本文档包括一个或多个模块内联框架元素;
对于每个模块内联框架元素,在内联框架内从各自的第二来源加载一模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象;
其中每个信使对象:
在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;
响应于由模块对象发送的消息,将该消息添加到该位置属性;以及
把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象;
其中所述基本文档还包括模块连接器对象,该模块连接器对象:
访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及
响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。
18.如权利要求17所述的方法,其中,所述第一来源和各自的第二来源是相对于主机名、端口和协议的组合来定义的。
19.如权利要求17所述的方法,还包括定义能够访问模块对象的消息传送应用编程接口。
20.如权利要求17所述的方法,还包括向模块连接器对象注册信使对象。
CN2008801048833A 2007-08-27 2008-08-11 用于安全的模块间通信的方法和装置 Active CN101790747B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/845,538 2007-08-27
US11/845,538 US8108770B2 (en) 2007-08-27 2007-08-27 Secure inter-module communication mechanism
PCT/US2008/072757 WO2009029404A2 (en) 2007-08-27 2008-08-11 Secure inter-module communication mechanism

Publications (2)

Publication Number Publication Date
CN101790747A CN101790747A (zh) 2010-07-28
CN101790747B true CN101790747B (zh) 2012-06-13

Family

ID=40388089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801048833A Active CN101790747B (zh) 2007-08-27 2008-08-11 用于安全的模块间通信的方法和装置

Country Status (8)

Country Link
US (3) US8108770B2 (zh)
EP (1) EP2183721B1 (zh)
JP (1) JP5017453B2 (zh)
KR (1) KR101145005B1 (zh)
CN (1) CN101790747B (zh)
HK (1) HK1145558A1 (zh)
TW (1) TWI387933B (zh)
WO (1) WO2009029404A2 (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120203831A1 (en) 2011-02-03 2012-08-09 Kent Schoen Sponsored Stories Unit Creation from Organic Activity Stream
US9990652B2 (en) 2010-12-15 2018-06-05 Facebook, Inc. Targeting social advertising to friends of users who have interacted with an object associated with the advertising
US8799068B2 (en) * 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US20090299862A1 (en) * 2008-06-03 2009-12-03 Microsoft Corporation Online ad serving
EP2335201A4 (en) * 2008-07-31 2013-10-30 Google Inc MODULAR WORKFLOW MANAGEMENT
US8782151B2 (en) * 2008-12-19 2014-07-15 PrivateTree, LLC Systems and methods for facilitating relationship management
GB2466810A (en) * 2009-01-08 2010-07-14 Visa Europe Ltd Processing payment authorisation requests
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
US8601364B2 (en) 2009-08-31 2013-12-03 Ebay Inc. System and method to provide a domain split display
US8819701B2 (en) * 2009-12-12 2014-08-26 Microsoft Corporation Cloud computing monitoring and management system
US8250478B2 (en) * 2010-01-28 2012-08-21 Microsoft Corporation State persistence and background initialization for post-back web applications
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9317572B2 (en) * 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US8707296B2 (en) 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
EP2599284B1 (fr) 2010-07-28 2018-02-28 Orange Communication de données entre modules
US20120047223A1 (en) * 2010-08-20 2012-02-23 Nokia Corporation Method and apparatus for distributed storage
US9418388B1 (en) * 2010-09-08 2016-08-16 Imdb.Com, Inc. Techniques for displaying third party content
US9058174B2 (en) 2010-10-18 2015-06-16 International Business Machines Corporation Wiring web widgets of a web mashup
FR2967856A1 (fr) * 2010-11-23 2012-05-25 France Telecom Communication entre deux applications web
US8689099B1 (en) * 2010-12-23 2014-04-01 Amazon Technologies, Inc. Cross-domain communication
WO2012112096A1 (en) * 2011-02-18 2012-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Secure handling of information related to a user
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
US9037963B1 (en) 2011-04-22 2015-05-19 Amazon Technologies, Inc. Secure cross-domain web browser communications
US20120317486A1 (en) * 2011-06-07 2012-12-13 Microsoft Corporation Embedded web viewer for presentation applications
US8365061B1 (en) * 2011-11-02 2013-01-29 Google Inc. Cross-origin communication in browser frames
CN103207873B (zh) * 2012-01-17 2017-02-15 腾讯科技(深圳)有限公司 用户专属页面的展示方法和系统
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US11205200B1 (en) * 2012-01-24 2021-12-21 Integral Ad Science, Inc. Systems, methods, and media for detecting advertisements with advertising cues
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
CA3148828C (en) 2013-02-10 2023-08-22 Wix.Com Ltd. Third-party application communication api
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US9189466B2 (en) * 2013-09-13 2015-11-17 Linkedin Corporation Cross document communication
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US10368121B2 (en) 2014-11-07 2019-07-30 Roku, Inc. System and method for collecting data
US10915232B1 (en) * 2015-04-09 2021-02-09 Integral Ad Science, Inc. Methods, systems, and media for specifying different content management techniques across various publishing platforms
US10554692B2 (en) 2017-06-16 2020-02-04 Google Llc Cross-origin communication in restricted computer environments
US11611629B2 (en) * 2020-05-13 2023-03-21 Microsoft Technology Licensing, Llc Inline frame monitoring
EP4002788A1 (en) * 2020-11-13 2022-05-25 Secure Thingz Limited A system and devices for secure and efficient provisioning of electronic devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529862A (zh) * 2001-08-10 2004-09-15 �Ҵ���˾ 指示到外部统一资源定位器的链接的方法
EP1657871A1 (en) * 2004-11-10 2006-05-17 Microsoft Corporation Integrated electronic mail and instant messaging application

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3305769B2 (ja) * 1992-09-18 2002-07-24 株式会社東芝 通信装置
US5649099A (en) * 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
JP3361661B2 (ja) * 1995-09-08 2003-01-07 株式会社キャディックス ネットワーク上の認証方法
US6167409A (en) * 1996-03-01 2000-12-26 Enigma Information Systems Ltd. Computer system and method for customizing context information sent with document fragments across a computer network
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
WO1999038099A1 (en) 1998-01-27 1999-07-29 Sun Microsystems, Inc. Importing and exporting file system entities from a browser
US6278448B1 (en) * 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
JP2000105775A (ja) * 1998-07-29 2000-04-11 Fujitsu Ltd ブラウザを利用したスライドショ―システムおよび方法
US6212640B1 (en) 1999-03-25 2001-04-03 Sun Microsystems, Inc. Resources sharing on the internet via the HTTP
US6538673B1 (en) * 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US6874121B1 (en) * 1999-11-24 2005-03-29 Xerox Corporation Document editor for editing structure documents
US20040210845A1 (en) * 2000-04-18 2004-10-21 Glenn Paul Internet presentation system
WO2001090908A1 (en) * 2000-05-22 2001-11-29 Sap Portals Inc. Snippet selection
JP2002140277A (ja) 2000-11-01 2002-05-17 Dsi Telecom Japan Kk 業務用ファイルのウェブ上同時提供の統合通信システム
KR100407206B1 (ko) 2000-11-29 2003-11-28 링크플러스(주) 프리프로세서 및 그를 이용한 웹문서 처리방법 및 장치
KR20010044189A (ko) * 2000-12-29 2001-06-05 유진우 멀티브라우즈 기능을 구비한 웹문서 처리방법 및 장치
US6725219B2 (en) * 2001-03-13 2004-04-20 Seiko Epson Corporation Internet presentation system
IL142815A (en) * 2001-04-25 2010-06-16 Gal Trifon A method for dynamically changing one web page to another web page
JP4843867B2 (ja) 2001-05-10 2011-12-21 ソニー株式会社 文書処理装置、文書処理方法および文書処理プログラム、ならびに、記録媒体
US7315848B2 (en) * 2001-12-12 2008-01-01 Aaron Pearse Web snippets capture, storage and retrieval system and method
US7124358B2 (en) * 2002-01-02 2006-10-17 International Business Machines Corporation Method for dynamically generating reference identifiers in structured information
JP4068570B2 (ja) * 2002-02-08 2008-03-26 富士通株式会社 文書配信装置、文書受信装置、文書配信方法、文書配信プログラム、文書配信システム
US7237192B1 (en) * 2002-04-30 2007-06-26 Oracle International Corporation Methods and systems for naming and indexing children in a hierarchical nodal structure
US7392296B2 (en) * 2002-06-19 2008-06-24 Eastman Kodak Company Method and computer software program for sharing images over a communication network among a plurality of users in accordance with a criteria
US7181682B1 (en) * 2002-06-27 2007-02-20 Siebel Systems, Inc. Document publishing and rendering
JP2004193702A (ja) 2002-12-09 2004-07-08 Kozo Keikaku Engineering Inc ビデオ画像共有システム
WO2004068320A2 (en) * 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
US7685631B1 (en) * 2003-02-05 2010-03-23 Microsoft Corporation Authentication of a server by a client to prevent fraudulent user interfaces
US7299409B2 (en) * 2003-03-07 2007-11-20 International Business Machines Corporation Dynamically updating rendered content
US7119716B2 (en) * 2003-05-28 2006-10-10 Legalview Assets, Limited Response systems and methods for notification systems for modifying future notifications
US7293034B2 (en) * 2004-02-23 2007-11-06 Microsoft Coporation Dynamically customizing a user interface for the aggregation of content
JP2006079294A (ja) * 2004-09-08 2006-03-23 Fuji Xerox Co Ltd 情報処理装置、実行制御方法及び実行制御プログラム
GB0420673D0 (en) * 2004-09-17 2004-10-20 Ibm Data sharing system, method and software tool
US20060248192A1 (en) * 2005-04-29 2006-11-02 Morris Stanley S Iii Method for pulling images from the internet for viewing on a remote digital display
US9495072B2 (en) * 2006-02-02 2016-11-15 At&T Intellectual Property I, L.P. System and method for sharing content with a remote device
US8250082B2 (en) * 2006-06-23 2012-08-21 Microsoft Corporation Cross domain communication
US20080172704A1 (en) * 2007-01-16 2008-07-17 Montazemi Peyman T Interactive audiovisual editing system
US8125510B2 (en) * 2007-01-30 2012-02-28 Ankur Agarwal Remote workspace sharing
US7958516B2 (en) * 2007-04-18 2011-06-07 Google Inc Controlling communication within a container document
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US7979791B2 (en) * 2007-07-30 2011-07-12 Google Inc. Cross-domain communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529862A (zh) * 2001-08-10 2004-09-15 �Ҵ���˾ 指示到外部统一资源定位器的链接的方法
EP1657871A1 (en) * 2004-11-10 2006-05-17 Microsoft Corporation Integrated electronic mail and instant messaging application

Also Published As

Publication number Publication date
EP2183721A2 (en) 2010-05-12
WO2009029404A2 (en) 2009-03-05
WO2009029404A3 (en) 2009-05-22
KR20100049669A (ko) 2010-05-12
EP2183721A4 (en) 2015-03-11
JP5017453B2 (ja) 2012-09-05
JP2011501829A (ja) 2011-01-13
TW200926043A (en) 2009-06-16
US20090063613A1 (en) 2009-03-05
EP2183721B1 (en) 2019-03-13
KR101145005B1 (ko) 2012-05-21
US8108771B2 (en) 2012-01-31
CN101790747A (zh) 2010-07-28
US9424551B2 (en) 2016-08-23
US20120131448A1 (en) 2012-05-24
US8108770B2 (en) 2012-01-31
TWI387933B (zh) 2013-03-01
HK1145558A1 (en) 2011-04-21
US20090064183A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
CN101790747B (zh) 用于安全的模块间通信的方法和装置
TWI639132B (zh) 訊息中影像的傳送方法、執行此傳送方法的計算系統及用於此方法的儲存媒體
US10990655B1 (en) Methods, systems, and computer program products for web browsing
US8868637B2 (en) Page rendering for dynamic web pages
JP6062500B2 (ja) 会話をシンジケートするための方法及びシステム
JP6746746B2 (ja) ウェブサイトのためのシステムおよび方法
KR101059452B1 (ko) 컨테이너 문서 내의 통신 제어
JP5449146B2 (ja) 地図ガジェット(mapgadgets)
US20130238435A1 (en) Systems and methods for generating lead intelligence
US8689099B1 (en) Cross-domain communication
US7984170B1 (en) Cross-domain communication in domain-restricted communication environments
JP6903739B2 (ja) アプリケーション内でサードパーティ・サービスにアクセスするための方法およびシステム
US20150058830A1 (en) Systems and methods for converting typed code
CN104798094B (zh) 确定内容项目显示环境的配置
CN104541262A (zh) 用于富因特网应用的透明网络内适配的系统和方法
JP2022546073A (ja) サードパーティ・クッキーなしにウェブ・パブリッシャー・インベントリをプログラマティック・エクスチェンジに接続すること
CN101902492A (zh) Web Service服务器、网站建设方法及信息交互方法
Schaeffer et al. A client for distributed geo-processing and workflow design
CN112328564A (zh) 特享资源分享方法、装置及电子设备
CN112347382A (zh) 产品页面分享方法、装置及电子设备
US20090157683A1 (en) Method and System for Accessing Selected Content
JP2007200120A (ja) 地図情報出力装置、地図情報出力方法および地図情報出力プログラム
Giang et al. Cross domain communication in the web of things: a new context for the old problem
CN104111943A (zh) 一种优化网页信息和线上互动的方法和系统
Nong et al. Using GeoRSS feeds to distribute house renting and selling information based on Google map

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1145558

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1145558

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: FEIYANG MANAGEMENT CO., LTD.

Free format text: FORMER OWNER: YAHOO CORP.

Effective date: 20150331

TR01 Transfer of patent right

Effective date of registration: 20150331

Address after: The British Virgin Islands of Tortola

Patentee after: Fly upward Management Co., Ltd

Address before: American California

Patentee before: Yahoo Corp.