CN103547986A - 用于电子通信的可扩展性特征 - Google Patents
用于电子通信的可扩展性特征 Download PDFInfo
- Publication number
- CN103547986A CN103547986A CN201280022410.5A CN201280022410A CN103547986A CN 103547986 A CN103547986 A CN 103547986A CN 201280022410 A CN201280022410 A CN 201280022410A CN 103547986 A CN103547986 A CN 103547986A
- Authority
- CN
- China
- Prior art keywords
- small tool
- code
- email message
- interface
- activation
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000004913 activation Effects 0.000 claims abstract description 37
- 238000002955 isolation Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 23
- 230000000694 effects Effects 0.000 claims description 18
- 244000035744 Hura crepitans Species 0.000 claims description 15
- 230000007480 spreading Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 40
- 239000000243 solution Substances 0.000 description 24
- 230000014509 gene expression Effects 0.000 description 14
- 230000015654 memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000003213 activating effect Effects 0.000 description 6
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/60—Business processes related to postal services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Environmental & Geological Engineering (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
使用可扩展性模型来在通信项中提供活动和交互式功能,但各实施例不限于此。一实施例的计算机系统包括被配置成标识一个或多个激活触发的各个组件,该一个或多个激活触发用于使用隔离的代码执行环境来激活小工具代码作为将内容注入电子邮件通信的一部分。一个实施例的一种方法提供一种可扩展性框架,用于使用已定义的小工具触发及相关联的功能作为自动与邮件消息内联地注入内容的一部分。
Description
背景
通信网络(例如,网际协议、蜂窝等)及相关联的用户设备/系统的进步提供了用于可能丰富的交互式应用的机制。当今的高级通信基础结构使用户能够使用许多不同类型的设备/系统(诸如台式机、便携式计算机和智能电话)来访问和散发来自几乎任何位置的信息。无线和移动能力当前在许多环境中扮演关键角色,这部分地由于设备和服务访问的合理成本。在可获得各种各样的媒体类型的情况下,经常使用插件组件来提供附加的交互式特征和功能。插件一般不是自包含的并且可损害机器性能,中断和延迟用户体验,包括复杂的安装对话并且可能需要一个或多个安装程序。不幸的是,安装插件一般是麻烦的,并且插件有时可被用来获取对相关联的对象模型和系统资源的不受限访问。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例提供了一种可扩展性模型,该可扩展性模型被部分地用来在通信项中提供活动和交互式功能,但各实施例不限于此。在一实施例中,一种计算机系统包括被配置成标识一个或多个激活触发的各个组件,该一个或多个激活触发用于使用隔离的代码执行环境来激活小工具代码作为将内容注入电子邮件通信的一部分。一个实施例的一种方法提供一种可扩展性框架,以用于使用已定义的小工具触发及相关联的小工具功能作为自动与邮件消息内联地注入内容的一部分。还包括其他实施例。
通过阅读下面的具体实施方式并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的本发明。
附图简述
图1是示例性计算系统的框图。
图2是描绘提供激活模型以控制应用扩展或小工具的使用的示例性过程的流程图。
图3A-3B描绘了被配置成提供用于电子邮件通信环境的内联可扩展性特征的示例性系统的各个组件的框图。
图4是描绘使用可扩展性模型来通过使用一个或多个小工具提供内联内容作为提供电子消息收发特征的一部分的示例性过程的流程图。
图5A-5F描绘了被部分地用来提供可扩展性特征的示例性电子邮件应用界面的各方面。
图6是示出用于实现此处所描述的各个实施例的示例性计算环境的框图。
详细描述
图1是描绘被部分地配置成提供用于电子通信的可扩展性特征的示例性计算系统100的框图,但该计算系统不限于此。一实施例的系统100包括计算机处理、存储和其它组件/资源,这些组件/资源提供通信功能和特征,包括扩展的电子邮件消息收发特征,如下所述。一实施例的解析引擎可被配置成解析所选通信并标识一个或多个激活或小工具触发,该一个或多个激活或小工具触发在被标识时触发或激活一个或多个特定通信扩展或小工具。
一个实施例的解析引擎可使用包括一个或多个小工具触发的解决方案包清单来确定是否要通过使用隔离的沙箱环境激活与该解决方案包相关联的脚本语言代码。例如,该解析引擎可使用被包含在解决方案清单文件中的一个或多个正则表达式作为一个或多个触发,该一个或多个触发使得能够标识特定通信项部分(例如,串、链接、元数据等)作为激活一个或多个相关联的小工具的一部分,该一个或多个相关联的小工具用于注入活动和交互式内容作为电子通信项显示的一部分。
在一实施例中,可扩展性模型结合所选电子邮件消息(例如,被点击的消息)和解决方案清单使用解析引擎来解析所选电子邮件消息的正文部分(例如,纯文本、超文本标记语言(HTML)、可扩展标记语言(XML)等),作为标识正文部分中的满足解决方案清单中的特定触发的信息的一部分。在一个实施例中,系统100包括多个可用扩展或小工具,该多个可用扩展和小工具在被激活时可结合电子邮件应用(包括基于web的应用和本地应用安装)被用来自动向应用用户提供扩展的活动和/或交互式内联内容功能。
如图1所示,示例性系统100包括诸如电子邮件或消息收发应用等通信应用102、解析引擎104、诸如HTML电子邮件项DOM等通信项文档对象模型(DOM)106和耦合到解析引擎104的一个或多个应用编程接口(API)108,以及多个可用扩展和/或小工具110(1)、110(2)、110(3)、…、110(N),其中N是整数。解析引擎104可使用正则表达式触发作为确定是否要打开解决方案包并将相关联的扩展功能注入通信项的一部分。
例如,解析引擎104可被配置为HTML呈现引擎,该HTML呈现引擎被配置成呈现HTML电子邮件部分作为从传入和/或接收到的电子邮件消息中标识一个或多个小工具激活触发的一部分。如图所示,在一个实施例中,每一个可用小工具都具有对应的激活触发(例如,准则112(1)、112(2)、112(3)、…、112(N))。可以理解,可用小工具的数量可取决于用户控制和/或偏好和/或可用性。在一个实施例中,针对特定扩展的激活准则或条件可基于被包含在标记语言清单文件中的正则表达式触发的数量。例如,当标识诸如单词、术语和/或字符的简单和/或复杂模式等感兴趣的串或其它项时,正则表达式可被用作触发。
在特定实施例中,小工具和/或相关联的功能可被本地地安装或通过诸如全球消息收发通信网络等计算机网络来访问。如下所述,用户可使用小工具选择界面作为肯定地选择将要与诸如所选电子邮件消息等通信项(例如参见图5A)一起使用的特定小工具的一部分。例如,一旦用户选择了特定小工具以由此显露用于部分地基于一个或多个解析操作来选择的通信项的扩展的交互式功能,就可激活小工具。如上简述,示例性系统100可被配置为本地安装的通信应用(例如,已安装的电子邮件应用)或基于web的通信应用(例如,基于浏览器的电子邮件应用)。
在一实施例中,扩展或小工具可被配置成在电子消息收发应用的框架内提供活动内容特征和功能,以用于台式机、膝上型计算机、平板、智能电话以及包括使用处理器和存储器资源来提供通信和交互式应用功能的其它计算设备。在一个实施例中,可用扩展特征或小工具可被配置为压缩和/或加密文件(例如,zip文件),该文件包括HTML、层叠样式表(CSS)和/或脚本(例如,VISUALBASIC、JAVASCRIPT等)特征中的一个或多个。
一旦被激活,一个或多个已启用的小工具可被配置成与其它计算机组件(例如,服务器等)交互以获取和/或使用特定扩展或小工具特征。例如,用户可能使用基于浏览器的电子邮件应用来下载和选择一消息,在该所选电子邮件消息的正文中包括超链接。对于该说明性示例,一旦解析引擎标识特定超链接,与该超链接相关联的已启用的小工具就能够自动触及计算机网络或本地资源,并且在相关联的电子邮件消息的正文中内联地插入相关联的活动内容或功能,或者用该活动和交互式功能来替换超链接,或者与该超链接相邻地定位扩展功能。例如,与已激活的小工具相关联的脚本可被自动注入所呈现的电子邮件的正文,并且在进行中运行。
根据一实施例,对一个或多个激活扩展或小工具的激活和/或使用导致使用隔离沙箱或隔离的代码执行环境来执行脚本语言或其它可执行代码。隔离沙箱可被配置成在执行代码向第三方请求不受信内容时与其它组件交互,作为根据特定激活触发用活动内容替换电子邮件消息的所标识部分的一部分。
通常完全独立于隔离沙箱的不受信代码可被变换或以其它方式控制以遵从特定安全或执行策略。例如,隔离沙箱中的控制可包括将HTML、CSS和脚本代码中的一个或多个转换成与消息收发应用一起执行的代码,包括控制与电子消息内联的活动和/或交互式内容的注入,诸如作为用于显示受控制的内容的预览或查看窗口或窗格的一部分。如上所述,准则112(1)-准则112(N)中的一个或多个可用于控制要允许、拒绝还是使用另一实现或工具作为内联注入控制和可扩展性特征的一部分。
图2是描绘提供激活模型以控制应用扩展或小工具的使用作为使用电子通信的一部分的示例性过程200的流程图,但不限于此。例如,激活模型可结合电子邮件消息收发应用被用来部分地基于对一个或多个激活触发的标识来控制活动内容在所选电子邮件消息中的注入。在一个实施例中,过程200可用作以下动作的一部分:控制活动和交互式内容的激活作为提供用于电子邮件应用的附加特征的一部分。例如,过程200可用于激活隔离代码作为与所选电子邮件消息的正文内联地嵌入交互式内容的一部分。
过程200在202操作,用户选择电子通信项,诸如显示在例如电子邮件消息列表中的电子邮件消息。在一实施例中,可以在进行中预编码、打包和/或使用一个或多个扩展或小工具作为提供扩展的电子通信功能的一部分。在一个实施例中,特定小工具或扩展可被配置为解决方案包,该解决方案包包括清单(例如,XML清单)、标记/代码定义(例如,HTML/CSS/JAVASCRIPT定义)和/或一个或多个嵌入式或web资源(例如,图标、标记等)。
作为示例,过程200在202可以在使用智能电话、台式机或膝上型计算机浏览器或本地安装的电子邮件应用来启动电子邮件应用和/或启用一个或多个小工具(参见示出示例性可用小工具的图5A)并选择接收到项目列表中的电子邮件消息之后操作。在一替换实施例中,过程200在202操作以在终端用户(例如,使用专用服务器)的肯定消息交互(例如,项点击、轻击等)之前处理电子邮件消息。例如,过程200可以在电子邮件消息被传递至用户收件箱之前操作。
在204,过程200操作以解析所选电子通信项的一个或多个部分。在一实施例中,过程200在204使用集成的解析引擎,该解析引擎被配置成对所选电子邮件消息执行解析操作作为标识与一个或多个可用和/或已启动的扩展或小工具相关联的一个或多个激活触发的一部分。例如,过程200在204可以在标识和使用一个或多个已定义的小工具激活触发以内联地提供活动内容作为消息查看或预览功能的一部分时使用解析引擎来解析所选电子邮件的电子邮件消息正文的标记。
在一个实施例中,过程200在204操作以解析所选电子通信项,从而标识各种小工具激活触发作为触发活动和交互式内容对电子通信的嵌入的一部分。例如,过程200在204可使用定义小工具激活触发(例如,正则表达式、日期、时间、链接、源语言、发件人域、消息类型等)的解决方案清单,该清单被部分地用来标识触发来自隔离沙箱的代码的激活作为查看或其它操作的一部分的经解析的通信部分。在一个实施例中,解决方案清单可以与解决方案代码和/或一个或多个嵌入式资源打包在一起,并且被压缩和/或加密作为提供激活控制特征的一部分。
在206,如果基于解析操作满足了触发准则,则过程200操作以在电子通信项的上下文中加载与已激活的扩展或小工具相关联的解决方案代码。例如,当满足诸如已定义的正则表达式等特定小工具激活触发时,过程200在206可操作以在电子邮件上下文中加载解决方案HTML和JAVASCRIPT,这可被用作在预览器或其它消息查看窗口中显示活动内容的一部分。
在208,过程200操作以显示包括由相关联的解决方案包定义的扩展功能的现在激活的电子通信项。例如,过程200在208可操作以根据对应的正则表达式定义来显示基于已定义的小工具激活而激活和扩展的HTML电子邮件消息。如果未满足准则,则过程200继续至210,并且正常地显示电子通信而不向其添加任何扩展特征。例如,如果根据一个或多个XML清单文件未满足激活准则,则过程200在210可操作以显示包括未经修改的HTML正文部分的电子邮件消息。尽管针对图2中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
图3A-3B描绘了被配置成提供用于电子邮件通信环境的内联可扩展性特征的示例性系统300的各个组件的框图。如图3A所示,示例性系统300包括电子邮件客户端302,该电子邮件客户端302包括本地和/或基于web的电子邮件应用、诸如HTML呈现引擎等呈现或解析引擎304、电子邮件项DOM306和/或隔离沙箱308。虽然用于该示例性系统的隔离沙箱308被示为单独组件,但在其它实施例中,隔离沙箱308可被包括为电子邮件客户端功能的一部分。此外,可根据特定实现配置和/或偏好来从隔离沙箱308中动态地加载和/或移除扩展代码。
如上所述,一旦调用扩展,就可以从隔离沙箱308中执行相关联的扩展代码。对于该示例,扩展代码被说明性地示为与电子邮件项DOM306隔离。根据一个实施例,API309耦合在隔离沙箱308和电子邮件项DOM306之间,担当控制其间信息的流转的网关。示例性通信链接310、312和314示出了隔离的扩展代码分别推送和/或拉取来自各种资源(包括云服务316、全球计算机/通信网络318和内联网320)的信息的能力。
图3B描绘了被用作提供用于电子邮件项的内联可扩展性特征的一部分的示例性解决方案包322。如图3B所示,一实施例的解决方案包322包括源代码324、一个或多个嵌入式资源326和清单328。在一实施例中,一个或多个激活触发可以与清单328包括在一起并被用来触发用于所选电子邮件项的内联可扩展性。例如,一个或多个激活触发可被包括在被体现为一个或多个正则表达式结构的清单328中,该一个或多个正则表达式结构用于触发与所选电子邮件项内联的活动内容的注入。在一实施例中,解决方案包的各部分可被存储在一个或多个远程和/或本地位置。
呈现引擎304可使用清单328中定义的所体现的正则表达式,作为确定是否要打开解决方案包并且自动将由该解决方案包定义的相关联的扩展功能嵌入所选电子邮件项的一部分。例如,正则表达式可用作将上下文信息直接添加到邮件消息的阅读窗格中(包括与所选邮件消息内联地注入基于HTML的内容)的触发,其中该内联内容可使用消息检查窗口或浏览器窗口的阅读窗格来显示。
一个实施例的系统300使用被包含在压缩文件(例如,zip文件)中并被存储为用户的邮箱的一部分(例如,用户的邮箱中的隐藏消息)的HTML/CSS数据和JAVASCRIPT代码来提供用于消息收发界面的可扩展性特征。呈现引擎304用于识别用于激活可扩展性特征的有效激活上下文。对于这一实施例,当激活时,JAVASCRIPT代码在隔离沙箱308中运行以生成在所选邮件消息的阅读窗格或在该消息的相关联查看窗口中内联地显示的HTML代码。
作为示例,呈现引擎304可操作并使用与所选消息相关联的消息属性(例如,主题,发件人,收件人,类别,诸如回复、回复全部、转发等消息动词等)来确定激活触发是否为真并需要激活。如果为真,则可检索(例如,从隐藏消息中)、解压HTML/CSS内容和JAVASCRIPT代码,和/或内联地呈现HTML上下文内容作为与所选消息交互的一部分。由此,激活模型只允许对消息内容的受限访问并包括在隔离中运行JAVASCRIPT代码。
在一个实施例中,解决方案包322包括解包的JAVASCRIPT代码和HTML内容,并且然后在隔离沙箱308中加载JAVASCRIPT代码。JAVASCRIPT代码可被编码成获取用于所选消息的附加名-值对以便向相关联的电子邮件应用返回标记流(例如,HTML流),以供在查看所选消息时在消息阅读窗格或其它查看器中显示。在一个实施例中,一旦激活扩展,JAVASCRIPT代码就可被初始化并确定指定的对象上下文作为JAVASCRIPT对象记法(JSON)名/值对,其中JAVASCRIPT代码在隔离中运行并准备HTML以供显示。
图4是描绘使用可扩展性模型来通过使用一个或多个小工具提供内联内容作为提供电子消息收发特征的一部分的示例性过程400的流程图。例如,所选小工具可结合电子邮件应用被用来部分地基于对一个或多个小工具触发的标识来将活动内容注入所选电子邮件消息。在一个实施例中,过程400可被用作在与电子邮件消息交互期间控制小工具的激活的一部分。例如,过程400可用于激活隔离的小工具代码作为在所选电子邮件消息的上下文内提供交互式内容的一部分。
过程400在402操作以扫描所选电子邮件消息作为确定是否要自动执行来自隔离的代码执行环境的小工具代码的一部分。例如,过程400在402可使用本地和/或远程解析功能来扫描被包含在所选电子邮件消息的经解析的正文部分中的正则表达式触发。作为示例,过程400可使用解决方案清单,该解决方案清单将小工具激活触发定义为被部分地用来触发来自隔离的代码执行环境的小工具代码的激活的一个或多个正则表达式。在一实施例中,用户可以预先选择或启用可以在扫描操作在电子邮件的正文中标识出触发时被触发的一个或多个小工具,并激活一个或多个已启动的小工具来提供用于相关联的所选电子邮件消息的经扩展的嵌入式内容功能。
在一个实施例中,每一个小工具触发都可以在清单文件(例如,包含正则表达式触发的XML清单)中编码并且在扫描一个或多个电子邮件消息以标识已启动的特定小工具触发时使用。作为一个示例,每一个小工具都可被开发和/或编码为解决方案包,该解决方案包包括清单(例如,XML清单)、标记/代码定义(例如,HTML/CSS/JAVASCRIPT定义)和/或一个或多个嵌入式资源。小工具可结合包括专用电子邮件应用在内的消息收发应用来使用,该消息收发应用被配置成与诸如智能电话、台式计算机、膝上型计算机等各种计算/通信设备一起操作。
在404,如果扫描操作标识出小工具触发,则一实施例的过程400操作以获取相关联的内容。例如,过程400可基于对主题、发件人、收件人和/或其它消息属性的评估使用触发准则,并且在标识出特定小工具触发时从用户的收件箱中的包括压缩文件的被隐藏电子邮件消息获取内容以及任何其它相关信息,该压缩文件包含小工具执行代码(例如、HTML/CSS和JAVASCRIPT)和/或一个或多个嵌入式资源。在一个实施例中,隐藏消息被用来内联地提供活动内容作为电子邮件消息查看或预览的一部分。否则,如果未标识出小工具触发,则过程400继续至406并且电子邮件应用操作以在阅读窗格或消息检查器中显示消息内容,而没有特定小工具所提供的任何附加内联特征。
在408,在标识出一个或多个小工具触发后,过程400操作以激活与已触发的特定小工具相关联的内容,包括将相关联的JAVASCRIPT加载到隔离的代码执行环境中。在410,过程400通过使用隔离的代码执行环境来在隔离中运行解包的JAVASCRIPT代码和/或从所选电子邮件消息获取附加项上下文(例如,JSON名-值对)来操作。在412,过程400通过执行JAVASCRIPT代码来返回通过执行来自隔离的代码执行环境的小工具代码而修改的经变换的HTML。在414,一实施例的过程400操作以在阅读窗格或检查器窗口中与电子邮件消息正文内联地显示与所激活的小工具相关联的注入内容。尽管针对图4中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
作为示例,清单文件可使用以下模式定义来编写:
作为另一示例,用于小工具或内联扩展的清单文件可使用以下模式定义来编写:
作为另一示例,用于fancy box(装潢盒子)小工具(参见图5F)的清单文件可以如下配置:
对于装潢盒子扩展或小工具,可执行脚本语言代码可以如以下示例所示出的那样配置:
作为另一示例,用于送货跟踪小工具的清单文件可以如下配置:
对于送货跟踪扩展或小工具,可执行脚本语言代码可以如以下示例所示出的那样配置:
其它示例是可用的且是可配置的。
图5A-5F描绘了被部分地用来提供与电子邮件应用相关联的可扩展性特征的示例性电子邮件应用界面500的各方面。例如,界面500可被用作基于web的或本地安装的电子邮件应用的一部分以查看所选电子邮件。如图5A所示,示例性界面500包括多个可用小工具502-514以及用户可选择以启用一个或多个特定小工具的选择框516。当用户悬停在每一个小工具上方时,选择框可被配置成为对应的小工具显露。已启用的小工具可根据如上文详述的特定激活触发来为所选电子邮件项显露。
图5B示出了示例性电子邮件应用界面500,该界面包括链接517以及在已由于通过链接517的标识来触发的相关联的小工具的激活而被自动注入电子邮件消息后自动嵌入的与该链接517相关联的内容518。
图5C示出了示例性电子邮件应用界面500,该界面包括链接520以及在已由于通过链接520的标识来触发的相关联的小工具的激活而被自动注入电子邮件消息后自动嵌入的与该链接520相关联的视频522。
图5D示出了示例性电子邮件应用界面500,该界面包括链接526以及在已由于通过链接526的标识来触发的相关联的小工具的激活而被自动注入电子邮件消息后自动嵌入的与该链接526相关联的视频528。示例性电子邮件应用界面500还正显示已由另一链接触发的另一嵌入式视频524。
图5E示出了示例性电子邮件应用界面500,该界面包括自动嵌入的活动包裹跟踪内容530,该内容已经由于通过标识一个或多个跟踪号或其它包裹运输准则来触发的相关联小工具的激活而被自动注入电子邮件消息。
图5F示出了示例性电子邮件应用界面500,该界面包括链接532和自动嵌入的相关联的照片534、链接536和自动嵌入的相关联的照片538以及链接540和自动嵌入的相关联的照片542,其中照片534、538和542已经由于通过分别标识链接532、536和540来触发的相关联小工具的激活而被自动注入电子邮件消息。如图5F所示,已触发的小工具还允许通过使用特征丰富的照片查看器544来与所注入的照片交互。
可以理解,可扩展性特征可被实现为处理器驱动的计算机环境的一部分。此外,尽管在此描述了某些实施例,但其他实施例是可用的,并且不应该用所描述的各实施例来限制权利要求书。合适的编程装置包括指示计算机系统或设备执行方法中的各步骤的任何装置,例如包括由处理单元和耦合到计算机存储器的各算术逻辑电路组成的系统,该系统具有在计算机存储器中进行存储的能力,该计算机存储器包括配置来存储数据和程序指令的电子电路。示例性计算机程序产品能与任何合适的数据处理系统一起使用。尽管以上描述了一定数量和类型的组件,但可以理解,根据各个实施例可以包括其他数量和/或类型和/或结构。因此,根据所期望的实现,还可将组件功能进一步进行划分和/或将其与其他组件功能组合在一起。
如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。系统存储器、可移动存储和不可移动存储都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备访问的任何其它介质。任何这样的计算机存储介质都可以是设备或系统的一部分。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、射频、红外线和其他无线介质。
此处描述的各实施例和示例不旨在是限制性的,并且其他实施例也是可用的。此外,上述各组件可被实现为联网、分布式和/或其他计算机实现环境的一部分。这些组件可以经由有线、无线、和/或通信网络的组合来通信。网络组件和/或各组件之间的耦合可包括任何类型、数量和/或组合的网络,且相应的网络组件包括但不限于广域网(WAN)、局域网(LAN)、城域网(MAN)、专有网络、后端网络等。
客户计算设备/系统和服务器可以是任何类型和/或组合的基于处理器的设备或系统。另外,服务器功能可包括许多组件并包括其他服务器。在单个时态中描述的计算环境的组合可包括这种组件的多个实例。尽管特定实施例包括软件实现,但它们不限于此并且它们涵盖硬件或混合硬件/软件解决方案。
本说明书中使用的术语,诸如组件、模块、系统、设备、云、网络和其他术语一般描述包括硬件、软件、估计和/或其他项目的计算机相关操作环境。组件可以使用用到处理器、可执行和/或脚本代码的进程。示例性组件包括应用、运行在该应用上的服务器、和/或与服务器耦合的用于接收通信项的电子通信客户机。计算机资源可以包括处理器和存储器资源,诸如:数字信号处理器、微处理器、多核处理器等,以及诸如磁、光和/或其他存储设备之类的存储器组件、智能存储器、闪存等。通信组件可用于传送计算机可读信息,该传送作为使用通信网络或诸如例如因特网之类的网络来转发、接收和/或呈现电子通信项的一部分。其他实施例和配置被包括在内并且是可用的。
示例性操作环境
现在参考图6,以下讨论旨在提供可以在其中实现本发明的各实施例的合适计算环境的简要、一般的描述。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其他类型的计算系统和程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,本领域的技术人员可以理解,本发明可用其他计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
现在参考图6,将描述用于本发明的各实施例的说明性操作环境。如图6所示,计算机2包括通用服务器、台式计算机、膝上型计算机、手持式计算机、或能够执行一个或多个应用程序的其它类型的计算机。计算机2包括至少一个中央处理单元8(“CPU”)、包括随机存取存储器18(“RAM”)和只读存储器(“ROM”)20的系统存储器12、以及将存储器耦合至CPU8的系统总线10。在ROM20中存储基本输入/输出系统,该系统包含有助于诸如在启动期间在计算机内的元件之间传输信息的基本例程。计算机2还包括用于储存操作系统24、应用程序、以及其他程序模块/资源26的大容量存储设备14。
将大容量存储设备14通过连接到总线10的大容量存储控制器(未示出)连接到CPU8。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,但本领域的技术人员应明白,计算机可读介质可以是可由计算机2访问或利用的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机2访问的任何其他介质。
根据本发明的各实施例,计算机2可以使用通过诸如局域网、因特网等的网络4与远程计算机的逻辑连接在联网环境中操作。计算机2可以通过连接至总线10的网络接口单元16来连接到网络4。应当明白,网络接口单元16也可用于连接至其它类型的网络和远程计算系统。计算机2也可包括输入/输出控制器22,用于接收和处理来自多个其他设备,包括键盘、鼠标等(未示出)的输入。类似地,输入/输出控制器22可将输出提供给显示屏、打印机、或其他类型的输出设备。
如以上简要地提及的,许多程序模块和数据文件可以被存储在计算机2的大容量存储设备14和RAM18中,包括适用于控制联网的个人计算机的操作的操作系统24,诸如位于华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM18还可以存储一个或多个程序模块。具体地,大容量存储设备14和RAM18可存储诸如文字处理、电子表格、绘画、电子邮件和其他应用程序和/或程序模块等应用程序。
应当明白,本发明的各种实施例可被实现为(1)运行于计算机系统上的一系列计算机实现的动作或程序模块,和/或(2)计算机系统内互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,包括相关算法的逻辑操作可被不同地称为操作、结构设备、动作或模块。本领域技术人员将认识到,这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑、以及其任意组合实现,而不背离如本文中阐述的权利要求内陈述的本发明精神和范围。
尽管已经结合各示例性实施例描述了本发明,但本领域普通技术人员将理解,可以在所附权利要求的范围内对其作出许多修改。因此,并非旨在以任何方式将本发明的范围限于以上的说明,而是应该完全参照所附权利要求书来确定。
Claims (10)
1.一种系统,包括:
一个或多个小工具,所述一个或多个小工具提供扩展的通信功能并根据一个或多个解决方案包来配置;
解析引擎,所述解析引擎被部分地配置成解析所选消息并标识一个或多个激活触发,其中所标识的每一个激活触发都导致使用隔离的代码执行环境来执行相关联的小工具代码;以及
界面,所述界面被部分地用来显示所选消息以及由已激活的小工具提供的任何相关联的扩展功能。
2.如权利要求1所述的系统,其特征在于,所述界面还包括电子邮件应用界面,所述电子邮件应用界面部分地基于使用隔离的脚本代码返回标记流来显示扩展特征,作为与所选电子邮件消息内联地显示内容的一部分。
3.如权利要求2所述的系统,其特征在于,每一个小工具都包括部分地基于清单文件和脚本的对应的解决方案包,其中所述清单文件定义使所述脚本执行并将活动内容嵌入所述所选电子邮件消息的至少一个小工具触发。
4.如权利要求1所述的系统,其特征在于,所述界面还被配置成在使用所述解析引擎来标识为所述一个或多个小工具声明的激活触发之前使用用户输入作为与电子邮件消息交互的一部分。
5.如权利要求1所述的系统,其特征在于,每一个小工具都能够包括第三方代码,并与其它资源通信以根据触发相关联的激活触发的经解析内容来用活动内容填充所选电子邮件消息中的所标识的部分。
6.如权利要求1所述的系统,其特征在于,所述界面还被配置成检查电子邮件通信以确定是否满足激活条件,在满足所述激活条件的情况下解包包含脚本代码和标记语言内容的压缩包,在隔离沙箱中加载所述脚本代码,并提供标记语言流以供与所选电子邮件消息一起显示。
7.一种方法,包括:
使用解析引擎来解析源通信并产生经解析的输出;
使用界面和触发准则作为在所述源通信的所述经解析的输出中标识扩展触发的一部分;以及
使用所述界面实现扩展作为与所述源通信交互的一部分,包括在标识针对所述扩展的对应的扩展触发后使用隔离的代码执行环境来执行扩展代码作为提供用于所述源通信的活动内容特征的一部分。
8.如权利要求7所述的方法,其特征在于,还包括使用包括对应的扩展代码以及用于每一个扩展的清单的解决方案包。
9.如权利要求7所述的方法,其特征在于,还包括使用解决方案包作为部分地基于解析源电子邮件消息来执行所述扩展代码的一部分、定位正文标签、以及与所述正文标签相关地注入小工具脚本。
10.一种包括可执行指令的计算机可读存储介质,所述可执行指令在被执行时通过以下动作来提供可扩展通信特征:
使用客户端作为检查所选电子通信项以标识一个或多个小工具触发的一部分,包括解析所选电子通信项的各部分以提供经解析的各部分并使用清单来在至少一个经解析的部分中标识所述一个或多个小工具触发;以及
当标识出对应的小工具触发时执行来自隔离环境的代码,作为与所述所选电子通信项内联地提供活动内容特征的一部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810795039.5A CN109086905A (zh) | 2011-05-09 | 2012-05-06 | 用于电子通信的可扩展性特征 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/103,614 US9524531B2 (en) | 2011-05-09 | 2011-05-09 | Extensibility features for electronic communications |
US13/103,614 | 2011-05-09 | ||
PCT/US2012/036705 WO2012154634A2 (en) | 2011-05-09 | 2012-05-06 | Extensibility features for electronic communications |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810795039.5A Division CN109086905A (zh) | 2011-05-09 | 2012-05-06 | 用于电子通信的可扩展性特征 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103547986A true CN103547986A (zh) | 2014-01-29 |
Family
ID=47139920
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810795039.5A Pending CN109086905A (zh) | 2011-05-09 | 2012-05-06 | 用于电子通信的可扩展性特征 |
CN201280022410.5A Pending CN103547986A (zh) | 2011-05-09 | 2012-05-06 | 用于电子通信的可扩展性特征 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810795039.5A Pending CN109086905A (zh) | 2011-05-09 | 2012-05-06 | 用于电子通信的可扩展性特征 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9524531B2 (zh) |
EP (1) | EP2707849A4 (zh) |
JP (1) | JP6043342B2 (zh) |
KR (1) | KR101897310B1 (zh) |
CN (2) | CN109086905A (zh) |
WO (1) | WO2012154634A2 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10015122B1 (en) * | 2012-10-18 | 2018-07-03 | Sitting Man, Llc | Methods and computer program products for processing a search |
US9524531B2 (en) | 2011-05-09 | 2016-12-20 | Microsoft Technology Licensing, Llc | Extensibility features for electronic communications |
CN102662737B (zh) * | 2012-03-14 | 2014-06-11 | 优视科技有限公司 | 扩展程序的调用方法及装置 |
US9256733B2 (en) * | 2012-04-27 | 2016-02-09 | Microsoft Technology Licensing, Llc | Retrieving content from website through sandbox |
US8904550B2 (en) | 2012-06-27 | 2014-12-02 | Blackberry Limited | Selection of sandbox for initiating application |
US10397150B1 (en) * | 2012-10-18 | 2019-08-27 | Gummarus, Llc | Methods and computer program products for processing a search query |
US10291562B2 (en) * | 2013-05-20 | 2019-05-14 | International Business Machines Corporation | Embedding actionable content in electronic communication |
US10257141B2 (en) * | 2015-03-13 | 2019-04-09 | Cola, Inc. | System and method for delivering inline interactive objects encapsulated in a message |
US10769351B2 (en) * | 2015-05-08 | 2020-09-08 | Citrix Systems, Inc. | Rendering based on a document object model |
US10884580B2 (en) * | 2015-06-07 | 2021-01-05 | Apple Inc. | Devices and methods for displaying content in a note-taking application |
US10296190B2 (en) | 2015-12-11 | 2019-05-21 | Microsoft Technology Licensing, Llc | Spatially organizing communications |
US10852912B2 (en) | 2016-06-12 | 2020-12-01 | Apple Inc. | Image creation app in messaging app |
US10595169B2 (en) | 2016-06-12 | 2020-03-17 | Apple Inc. | Message extension app store |
US10785175B2 (en) * | 2016-06-12 | 2020-09-22 | Apple Inc. | Polling extension application for interacting with a messaging application |
US10346530B2 (en) * | 2017-03-10 | 2019-07-09 | Microsoft Technology Licensing, Llc | Embedded meeting extensions |
US20190081915A1 (en) * | 2017-09-08 | 2019-03-14 | Microsoft Technology Licensing, Llc | Extensions embedded in e-mail messages |
US11138265B2 (en) * | 2019-02-11 | 2021-10-05 | Verizon Media Inc. | Computerized system and method for display of modified machine-generated messages |
US12067213B2 (en) * | 2019-11-14 | 2024-08-20 | Black Hills Ip Holdings, Llc | Structured text for electronic communications |
US12073061B2 (en) | 2022-06-24 | 2024-08-27 | Microsoft Technology Licensing, Llc | Systems for enabling a user to defer decisions presented in a web browser |
US12067070B2 (en) * | 2022-06-24 | 2024-08-20 | Microsoft Technology Licensing, Llc | Transferring link context from desktop application to browser |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060174078A1 (en) * | 2005-01-19 | 2006-08-03 | Alcatel | System and method for executing a process on a microprocessor-enabled device |
US20080005247A9 (en) * | 2002-09-18 | 2008-01-03 | Advenix, Corp. (Ca Corporation) | Enhancement of e-mail client user interfaces and e-mail message formats |
US20090100367A1 (en) * | 2005-10-26 | 2009-04-16 | Yahoo! Inc. | System and method for seamlessly integrating separate information systems within an application |
CN101454781A (zh) * | 2006-03-31 | 2009-06-10 | 谷歌公司 | 扩展的摘录 |
US20100131529A1 (en) * | 2008-11-26 | 2010-05-27 | Vishal Kasera | Open entity extraction system |
US20100192224A1 (en) * | 2009-01-26 | 2010-07-29 | International Business Machines Corporation | Sandbox web navigation |
CN101937466A (zh) * | 2010-09-15 | 2011-01-05 | 深圳市任子行网络技术股份有限公司 | 网页邮箱识别分类方法及系统 |
Family Cites Families (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6013666A (en) | 1996-07-02 | 2000-01-11 | Sang Sup Jew | Oxirane carboxylic acid derivative and its manufacturing method |
US10636084B2 (en) | 1996-10-31 | 2020-04-28 | Citicorp Credit Services, Inc. (Usa) | Methods and systems for implementing on-line financial institution services via a single platform |
US8782541B2 (en) * | 2001-03-12 | 2014-07-15 | Nice-Systems Ltd. | System and method for capturing analyzing and recording screen events |
US6836886B2 (en) | 2001-03-19 | 2004-12-28 | Autodesk, Inc. | Method and apparatus for delivering electronic information |
JP2003051851A (ja) | 2001-08-08 | 2003-02-21 | Sangaku Renkei Kiko Kyushu:Kk | 電子メール受信方法と、それに使用するメールサーバ、ウェブサーバ、受信端末及び電子メール受信システム |
US6993562B2 (en) * | 2002-03-21 | 2006-01-31 | Peerless Systems Corporation | Method and system to print via email |
EP1326189A3 (en) | 2001-12-12 | 2005-08-17 | Microsoft Corporation | Controls and displays for acquiring preferences, inspecting behaviour, and guiding the learning and decision policies of an adaptive communications prioritization and routing systems |
US8615661B2 (en) * | 2002-03-20 | 2013-12-24 | Blackberry Limited | System and method for transmitting and utilizing attachments |
US7886359B2 (en) | 2002-09-18 | 2011-02-08 | Symantec Corporation | Method and apparatus to report policy violations in messages |
US9076147B2 (en) * | 2002-09-18 | 2015-07-07 | Advenix, Corp. | Systems and methods for online marketing and advertising on e-mail systems |
US8024335B2 (en) | 2004-05-03 | 2011-09-20 | Microsoft Corporation | System and method for dynamically generating a selectable search extension |
US7634720B2 (en) | 2003-10-24 | 2009-12-15 | Microsoft Corporation | System and method for providing context to an input method |
US8095882B2 (en) | 2003-10-30 | 2012-01-10 | Avaya Technology Corp. | Additional functionality for telephone numbers and utilization of context information associated with telephone numbers in computer documents |
US20050177635A1 (en) * | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US7571213B2 (en) | 2004-03-26 | 2009-08-04 | Microsoft Corporation | Interactive electronic bubble messaging |
US8326930B2 (en) * | 2004-06-22 | 2012-12-04 | J2 Global Communications | Variation of image content in electronic messaging protocol messages |
US7475150B2 (en) | 2004-09-07 | 2009-01-06 | International Business Machines Corporation | Method of generating a common event format representation of information from a plurality of messages using rule-based directives and computer keys |
US7647559B2 (en) | 2004-09-30 | 2010-01-12 | Microsoft Corporation | Method and computer-readable medium for navigating between attachments to electronic mail messages |
US7567965B2 (en) | 2004-10-22 | 2009-07-28 | Microsoft Corporation | Presenting message attachments independent of electronic messages at a user-interface |
US7487446B2 (en) | 2004-11-10 | 2009-02-03 | Microsoft Corporation | Using a word processor with accounting data |
US8849968B2 (en) | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US8239939B2 (en) * | 2005-07-15 | 2012-08-07 | Microsoft Corporation | Browser protection module |
US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US7852445B2 (en) | 2005-12-22 | 2010-12-14 | Nec Corporation | Liquid crystal display device and terminal device that uses same |
US8341756B2 (en) * | 2006-01-17 | 2012-12-25 | Kidaro (Israel) Ltd. | Securing data in a networked environment |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US20070204223A1 (en) | 2006-02-27 | 2007-08-30 | Jay Bartels | Methods of and systems for personalizing and publishing online content |
US7765097B1 (en) | 2006-03-20 | 2010-07-27 | Intuit Inc. | Automatic code generation via natural language processing |
US8307119B2 (en) * | 2006-03-31 | 2012-11-06 | Google Inc. | Collaborative online spreadsheet application |
US7747785B2 (en) * | 2006-04-14 | 2010-06-29 | Microsoft Corporation | Instant messaging plug-ins |
US20070256003A1 (en) | 2006-04-24 | 2007-11-01 | Seth Wagoner | Platform for the interactive contextual augmentation of the web |
TW200830876A (en) * | 2006-08-24 | 2008-07-16 | Chumby Ind Inc | Networked personal audiovisual device having flexible housing |
US8903840B2 (en) | 2006-08-31 | 2014-12-02 | International Business Machines Corporation | System and method for launching a specific program from a simple click on a string of characters |
GB0620238D0 (en) * | 2006-10-12 | 2006-11-22 | Ibm | A method and apparatus for converting a text-based email message to an email message comprising image-based fonts |
US8468244B2 (en) * | 2007-01-05 | 2013-06-18 | Digital Doors, Inc. | Digital information infrastructure and method for security designated data and with granular data stores |
US20080165148A1 (en) | 2007-01-07 | 2008-07-10 | Richard Williamson | Portable Electronic Device, Method, and Graphical User Interface for Displaying Inline Multimedia Content |
US20080168368A1 (en) | 2007-01-07 | 2008-07-10 | Louch John O | Dashboards, Widgets and Devices |
US9537816B2 (en) | 2007-01-23 | 2017-01-03 | Microsoft Technology Licensing, Llc | API for representing a mailbox in a message system |
US7647404B2 (en) * | 2007-01-31 | 2010-01-12 | Edge Technologies, Inc. | Method of authentication processing during a single sign on transaction via a content transform proxy service |
US7831676B1 (en) * | 2007-02-21 | 2010-11-09 | Nagar Ajay R | Method and system for handling email |
US8196097B1 (en) | 2007-03-02 | 2012-06-05 | Google Inc. | Method and apparatus for extending a software gadget |
US10997531B2 (en) * | 2007-09-11 | 2021-05-04 | Ciambella Ltd. | System, method and graphical user interface for workflow generation, deployment and/or execution |
EP2042969A1 (en) | 2007-09-28 | 2009-04-01 | Alcatel Lucent | Method for determining user reaction with specific content of a displayed page. |
US9785916B2 (en) * | 2007-10-12 | 2017-10-10 | Yahoo Holdings, Inc. | Integrating rich media into a web-based calendar |
US8999353B2 (en) * | 2007-10-12 | 2015-04-07 | Csl Limited | Method of eliciting an immune response against pandemic influenza virus |
US8719121B1 (en) * | 2008-01-15 | 2014-05-06 | David Leason | System and method for automated construction of time records based on electronic messages |
US8196112B1 (en) * | 2008-02-15 | 2012-06-05 | Amazon Technologies, Inc. | Systems and methods for testing widgets in computer environments |
US8060570B2 (en) | 2008-03-13 | 2011-11-15 | SMS, ac, Inc. | Systems and methods for sending and receiving e-mail on a network community platform |
WO2009130605A2 (en) * | 2008-04-21 | 2009-10-29 | Vaka Corporation | Methods and systems for customizing and embedding widgets in instant messages |
US8291496B2 (en) * | 2008-05-12 | 2012-10-16 | Enpulz, L.L.C. | Server based malware screening |
US9894020B2 (en) * | 2008-07-09 | 2018-02-13 | Blackberry Limited | Delivery of email messages with repetitive attachments |
US8346615B2 (en) | 2008-11-25 | 2013-01-01 | Yodlee, Inc. | Financial gadgets |
US8392896B2 (en) | 2009-03-06 | 2013-03-05 | Microsoft Corporation | Software test bed generation |
US20100257182A1 (en) | 2009-04-06 | 2010-10-07 | Equiom Labs Llc | Automated dynamic style guard for electronic documents |
CN101957749A (zh) * | 2009-07-20 | 2011-01-26 | 华为技术有限公司 | 一种生成widget的方法及装置 |
US8626802B2 (en) | 2009-07-24 | 2014-01-07 | Apple Inc. | Dynamic media content previews |
US8239467B2 (en) | 2009-08-19 | 2012-08-07 | Ianywhere Solutions, Inc. | Extending business processes to mobile devices |
US20110054289A1 (en) | 2009-09-01 | 2011-03-03 | Adidas AG, World of Sports | Physiologic Database And System For Population Modeling And Method of Population Modeling |
US9032066B1 (en) * | 2009-09-29 | 2015-05-12 | Amazon Tehnologies, Inc. | Virtual sandboxing for supplemental content |
US20110099507A1 (en) * | 2009-10-28 | 2011-04-28 | Google Inc. | Displaying a collection of interactive elements that trigger actions directed to an item |
US8839138B1 (en) * | 2009-12-21 | 2014-09-16 | Symantec Corporation | Systems and methods for transitioning between user interface environments |
US9185064B2 (en) * | 2010-01-15 | 2015-11-10 | Microsoft Technology Licensing, Llc | Interactive email |
US9634993B2 (en) * | 2010-04-01 | 2017-04-25 | Cloudflare, Inc. | Internet-based proxy service to modify internet responses |
US20110289162A1 (en) | 2010-04-02 | 2011-11-24 | Furlong Wesley J | Method and system for adaptive delivery of digital messages |
WO2011127653A1 (en) * | 2010-04-14 | 2011-10-20 | Google Inc. | Enriching web resources |
US20110288962A1 (en) * | 2010-05-21 | 2011-11-24 | Rankin Jr Claiborne R | Apparatuses, methods and systems for a lead exchange facilitating hub |
US8890890B2 (en) | 2010-05-26 | 2014-11-18 | Microsoft Corp. | Pluggable web-based visualizations for applications |
US8875029B1 (en) | 2010-08-16 | 2014-10-28 | Google Inc. | Active mail thread |
US20120054289A1 (en) * | 2010-08-25 | 2012-03-01 | Doruk Aytulu | Email command systems and methods |
US20120081299A1 (en) * | 2010-10-04 | 2012-04-05 | Verizon Patent And Licensing Inc. | Method and apparatus for providing remote control via a touchable display |
US20120221571A1 (en) * | 2011-02-28 | 2012-08-30 | Hilarie Orman | Efficient presentation of comupter object names based on attribute clustering |
US9524531B2 (en) | 2011-05-09 | 2016-12-20 | Microsoft Technology Licensing, Llc | Extensibility features for electronic communications |
US9449112B2 (en) | 2012-01-30 | 2016-09-20 | Microsoft Technology Licensing, Llc | Extension activation for related documents |
US9092728B2 (en) | 2012-04-19 | 2015-07-28 | Microsoft Technology Licensing, Llc | Providing rule based analysis of content to manage activation of web extension |
US9235803B2 (en) | 2012-04-19 | 2016-01-12 | Microsoft Technology Licensing, Llc | Linking web extension and content contextually |
US8904550B2 (en) * | 2012-06-27 | 2014-12-02 | Blackberry Limited | Selection of sandbox for initiating application |
-
2011
- 2011-05-09 US US13/103,614 patent/US9524531B2/en active Active
-
2012
- 2012-05-06 KR KR1020137029752A patent/KR101897310B1/ko active IP Right Grant
- 2012-05-06 CN CN201810795039.5A patent/CN109086905A/zh active Pending
- 2012-05-06 JP JP2014510387A patent/JP6043342B2/ja active Active
- 2012-05-06 WO PCT/US2012/036705 patent/WO2012154634A2/en active Application Filing
- 2012-05-06 EP EP12782904.2A patent/EP2707849A4/en not_active Ceased
- 2012-05-06 CN CN201280022410.5A patent/CN103547986A/zh active Pending
-
2016
- 2016-12-19 US US15/383,226 patent/US10241657B2/en active Active
-
2019
- 2019-02-21 US US16/281,643 patent/US11144180B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005247A9 (en) * | 2002-09-18 | 2008-01-03 | Advenix, Corp. (Ca Corporation) | Enhancement of e-mail client user interfaces and e-mail message formats |
US20060174078A1 (en) * | 2005-01-19 | 2006-08-03 | Alcatel | System and method for executing a process on a microprocessor-enabled device |
US20090100367A1 (en) * | 2005-10-26 | 2009-04-16 | Yahoo! Inc. | System and method for seamlessly integrating separate information systems within an application |
CN101454781A (zh) * | 2006-03-31 | 2009-06-10 | 谷歌公司 | 扩展的摘录 |
US20100131529A1 (en) * | 2008-11-26 | 2010-05-27 | Vishal Kasera | Open entity extraction system |
US20100192224A1 (en) * | 2009-01-26 | 2010-07-29 | International Business Machines Corporation | Sandbox web navigation |
CN101937466A (zh) * | 2010-09-15 | 2011-01-05 | 深圳市任子行网络技术股份有限公司 | 网页邮箱识别分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20170097754A1 (en) | 2017-04-06 |
US20120290945A1 (en) | 2012-11-15 |
WO2012154634A3 (en) | 2013-03-28 |
US11144180B2 (en) | 2021-10-12 |
JP2014519088A (ja) | 2014-08-07 |
KR20140034188A (ko) | 2014-03-19 |
US9524531B2 (en) | 2016-12-20 |
JP6043342B2 (ja) | 2016-12-14 |
US10241657B2 (en) | 2019-03-26 |
WO2012154634A2 (en) | 2012-11-15 |
US20190179518A1 (en) | 2019-06-13 |
EP2707849A2 (en) | 2014-03-19 |
CN109086905A (zh) | 2018-12-25 |
EP2707849A4 (en) | 2014-09-24 |
KR101897310B1 (ko) | 2018-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103547986A (zh) | 用于电子通信的可扩展性特征 | |
CN101669114B (zh) | 动态加载脚本 | |
US9715370B2 (en) | Method and system for providing content | |
US7571355B2 (en) | Product support connected error reporting | |
US20190354575A1 (en) | Systems and methods of a script generation engine | |
US8504803B2 (en) | System and method for creating and executing portable software | |
CN102007509B (zh) | 通过基于web的桌面生产力应用程序来插入多媒体文件 | |
CN102804162B (zh) | 利用服务器预处理来部署电子文档在计算机网络中的呈现 | |
US20020184303A1 (en) | Embedded web server capable of managing dynamic content delivery of data stream, audio stream, or video stream | |
CN102549560A (zh) | 共享服务器侧宏 | |
CN104636139A (zh) | 一种可视化跨平台移动应用开发与生成系统 | |
US10007532B1 (en) | Data infrastructure for cross-platform cross-device API inter-connectivity | |
US20130185348A1 (en) | Client application integration for workflows | |
CN104247378A (zh) | 提供基于规则的内容分析以管理web扩展的激活 | |
US20110022943A1 (en) | Document object model (dom) application framework | |
US20120084337A1 (en) | Virtual javascript object notation | |
CN104246771A (zh) | 按照上下文链接web扩展和内容 | |
US11874893B2 (en) | Modularizing and embedding supplemental textual and visual content in different environments | |
US20090030996A1 (en) | Technique of relaying communications between client apparatus and server apparatus | |
AU2019222873B2 (en) | Method and system for providing content | |
CN110278144A (zh) | 一种卡片消息发送方法、装置、介质和电子设备 | |
CN102215252A (zh) | 用于实现瘦客户机的四层体系结构 | |
US20030131053A1 (en) | Method and system for facilitating communications in a network using on demand distribution | |
Honkala | Web user interaction: a declarative approach based on XForms | |
CN113762871B (zh) | 一种生产数据控制方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20150803 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150803 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140129 |