CN101312462B - 增强型小组件架构 - Google Patents

增强型小组件架构 Download PDF

Info

Publication number
CN101312462B
CN101312462B CN2008101091229A CN200810109122A CN101312462B CN 101312462 B CN101312462 B CN 101312462B CN 2008101091229 A CN2008101091229 A CN 2008101091229A CN 200810109122 A CN200810109122 A CN 200810109122A CN 101312462 B CN101312462 B CN 101312462B
Authority
CN
China
Prior art keywords
widgets
broadcast source
data
new data
reservation
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
CN2008101091229A
Other languages
English (en)
Other versions
CN101312462A (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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN101312462A publication Critical patent/CN101312462A/zh
Application granted granted Critical
Publication of CN101312462B publication Critical patent/CN101312462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Abstract

一种增强型小组件架构,其中从小组件向广播信息源发送预订请求,从而建立会话,该预订请求标识小组件和内容。基于该预定请求在广播信息源注册预订,并且基于在广播信息源注册的预订,从小组件向广播信息源发送服务调用,该服务调用在广播信息源实现对与所述内容相关联的历史数据的查询。在小组件接收所述历史数据,在广播信息源接收与所述内容相关联的更新数据,并且基于在广播信息源注册的预订,迭代地从广播信息源发送更新数据。

Description

增强型小组件架构
技术领域
本发明一般涉及计算机应用,并且至少一个具体实现方式涉及增强型小组件架构。
背景技术
小组件(widget或gadget)是一种交互式桌面小型应用程序,用于诸如通过从互联网拉去信息并以有用的方式对其进行显示,或者通过向企业内部系统或公共系统写入信息,来向用户提供服务。这里的信息可以是例如当前新闻或天气、字典定义、地图、任务或提醒数据、或者语言翻译内容。
小组件引擎是一种主机应用,其提供小组件的下层功能。流行的小组件引擎包括YAHOO!小组件引擎、Spring Widgets小组件引擎、Kapsules小组件引擎、GOOGLE DESKTOPTM小组件引擎、KLIPFOLIOTM小组件引擎、以及WINDOWS VISTA
Figure S2008101091229D00012
小组件引擎。
发明内容
根据一个总体方面,从小组件向广播信息源发送预订请求,从而建立会话,所述预订请求标识小组件和内容。基于预订请求在广播信息源注册预订,基于在广播信息源注册的预订,从小组件向广播信息源发送服务调用,该服务调用在广播信息源实现(effectuate)对与所述内容相关联的历史数据的查询。在小组件接收所述历史数据,在广播信息源接收与所述内容相关联的更新数据,并基于在广播信息源注册的预订,迭代地(iteratively)从广播信息源发送更新数据。在广播信息源,迭代地确定该更新数据是否被小组件成功地接收,并且基于在小组件没有成功接收到更新数据的确定、基于会话的终止、或基于接收到取消预订(unsubscribe)请求,而在广播信息源对所述预订取消注册(unregister)。在小组件输出所述历史数据和更新数据。
实现方式可以包括下列特征中的一个或多个。例如,可以确定所述历史数据是否存储在广播信息源,或者可以基于历史数据存储在广播信息源的确定,将预订请求从小组件发送到广播信息源。可以接收用户对所述内容的选择,其中,可以基于所接收到的用户对所述内容的选择,将所述预订请求发送到广播信息源。广播信息源可以是后端应用。历史数据或更新数据可以是销售数据或联系方式管理数据。可以由小组件终止所述会话,或者可以从小组件向广播信息源发送取消预订(unsubscribe)请求。
预订请求可以基于小组件的互联网协议(IP)地址标识小组件。可以在小组件监听从广播信息源对更新数据的发送。公共信息源可以是金融市场信息源或新闻信息源,或者预定标准可以包括股票市场度量。内容可以标识公司,并且预定标准可以包括每日最高收益股票、每日最高损失股票、最高股票交易值、最高股票交易量、或最高股票交易量比。
根据另一个总体实现,接收来自小组件的预订请求,从而建立会话,所述预订请求标识该小组件和内容;基于所述预订请求注册预订;基于所注册的预订接收来自该小组件的服务调用,所述服务调用实现对与所述内容相关联的历史数据的查询。将历史数据发送到所述小组件,接收与所述内容相关联的更新数据,并基于所注册的预订,迭代地向所述小组件发送更新数据。迭代地确定该更新数据是否被小组件成功地接收,并且基于在小组件没有成功接收到更新数据的确定、基于会话的终止、或基于接收到取消注册请求,而对所述预订取消注册。
根据另一个总体实现,一种系统小组件和广播信息源。小组件被配置成发送预订请求,该预订请求标识该小组件和内容,基于所注册的预订发送服务调用,该服务调用实现对与所述内容相关联的历史数据的查询,在小组件接收历史数据,并在小组件输出该历史数据和更新数据。广播信息源被配置成接收预订请求,从而建立会话,基于所述预订请求注册预订,接收所述服务调用。广播信息源还被配置成接收与所述内容相关联的更新数据,基于所注册的预订迭代地发送更新数据源,迭代地确定所述更新数据是否被小组件成功接收,以及基于在小组件没有成功接收更新数据的确定、基于所述会话的终止、或基于接收到取消预订请求,对所述预订取消注册。
根据另一个总体实现,一种计算机程序产品,有形地体现在机器可读存储介质中。该计算机程序产品包括指令,指令在被机器读取时运行以使得数据处理装置接收来自小组件的预订请求,从而建立会话,该预订请求标识小组件和内容,基于预订请求注册预订,并基于所注册的预订接收来自小组件的服务调用,该服务调用实现对与所述内容相关联的历史数据的查询。该计算机程序产品还包括指令,其运行以导致数据处理装置将历史数据发送到小组件,接收与所述内容相关联的更新数据,基于所注册的预订迭代地向小组件发送更新数据,迭代地确定更新数据是否被小组件成功接收,以及基于在小组件没有成功接收到更新内容的确定、基于会话的终止、或基于接收到取消预订请求,对所述预订取消注册。
以下,在附图和说明书中阐述一个或多个实现方式的细节。本公开内容的其它可能特征和优点将从说明书、附图、以及权利要求书变得明显。
附图说明
图1示出了根据一个一般实现方式的示例系统的外观。
图2示出了图1示出的一个计算机的示例内部架构。
图3A到3C示出了用于实现增强型小组件架构的示例处理。
图4是示出使用图3A到3C中示出的示例处理的组件间的示例数据流。
图5是示出使用图3A到3C中示出的示例处理的组件间的示例数据流。
图6到图9示出了根据另外的一般实现方式的示例小组件。
相似的参考标记始终表示相应的部分。
具体实施方式
图1示出了示例系统100的外观,包括执行或调用小组件的计算机101、广播信息源102、以及公共信息源104,所有这些都通过网络106连接。简单讲,小组件被配置成:发送预订请求,该预订请求标识所述小组件和内容;基于所注册的预订发送服务调用,该服务调用实现对与所述内容相关联的历史数据的查询;在所述小组件接收该历史数据;以及在所述小组件输出该历史数据和更新数据。广播信息源102被配置成:接收该预订请求,从而建立会话;基于该预订请求注册预订;以及接收服务调用。所述广播信息源102还被配置成:接收与所述内容相关联的更新数据;基于所注册的预订迭代地发送更新数据;迭代地确定所述更新数据是否被小组件成功接收;以及基于在小组件没有成功接收到更新数据的确定、基于所述会话的终止、或基于接收到取消预订请求,对所述预订取消注册。
更具体地说,计算机101的硬件环境包括用于向用户显示文本和图像的显示监视器108、用于向计算机101输入文本数据和用户命令的键盘109、用于指示、选择和操纵显示监视器108上显示的对象的鼠标110、固定盘驱动111、可移动的盘驱动112、磁带驱动114、硬拷贝输出设备115、计算机网络连接116、以及数字输入设备117。
显示监视器108显示图形、图像和文本,包括计算机101使用的软件应用以及操作计算机101所需的操作系统程序的用户界面。用户使用键盘109来输入命令和数据,以操作和控制计算机操作系统程序以及小组件和其它应用程序。用户使用鼠标110选择和操纵在显示监视器108上显示的图形和文本对象,以作为与计算机101和计算机101上运行的应用的交互以及对它们进行控制的一部分。鼠标110是任意类型的指示设备,并且可以是操纵杆、跟踪球、触摸板或其他指示设备。此外,数字输入设备117允许计算机101捕捉数字图像,并且其可以是扫描仪、数码相机、数字摄像机、或其它类型的数字输入设备。用于提供增强型小组件架构的软件本地存储在诸如固定盘驱动111的计算机可读存储器介质上。
在其它的实现方式中,固定盘驱动111本身可以包括多个物理驱动单元,诸如冗余独立磁盘阵列(RAID),或者可以是物理上位于分离的计算单元中的盘驱动群(farm)或盘阵列。这样的计算机可读存储介质允许计算机101访问存储在可移动的和不可移动的存储介质上的计算机可执行处理步骤、应用程序等。
无线或有线线路计算机网络连接116可以是调制解调器连接、包括以太网的局域网(LAN)连接、或诸如数字用户线(DSL)、线缆高速互联网连接、拨号连接、T-1线路、T-3线路、光纤连接、或卫星连接的宽带广域网(WAN)。网络106可以是LAN网络、公司或政府WAN网络、互联网或其它网络中的一个或多个。计算机101直接或间接耦接到广播信息源102和公共信息源104,以便在计算机101、广播信息源102和/或公共信息源104之间实现单向或双向数据传输。
计算机网络连接116使用有线或无线连接器。示例的无线连接器包括例如INFRARED DATA ASSOCIATION
Figure S2008101091229D00041
(IrDA
Figure S2008101091229D00042
)无线连接器、光学无线连接器、INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS
Figure S2008101091229D00043
(IEEE
Figure S2008101091229D00044
)标准802.11无线连接器、BLUETOOTH无线连接器、近场通信(nearfield communications,NFC)连接器、正交频分复用(OFDM)超宽带(UWB)无线连接器、时间调制超宽带(TM-UWB)无线连接器、以及其它无线连接器。示例的有线连接器包括例如IEEE
Figure S2008101091229D00051
-1394 FIREWIRE
Figure S2008101091229D00052
连接器、通用串行总线(USB)连接器、串行端口连接器、并行端口连接器或其它有线连接器。
可移动的盘驱动112是可移动的存储设备,用于从计算机101卸载数据或向计算机101上载数据。可移动的盘驱动112可以是软盘驱动、IOMEGA
Figure S2008101091229D00053
ZIP
Figure S2008101091229D00054
驱动、只读致密盘存储器(CD-ROM)驱动、可记录CD驱动(CD-R)、可重写CD驱动(CD-RW)、快闪存储器、USB快闪驱动、外部硬盘驱动、拇指型(thumb)驱动、笔型(pen)驱动、密钥(key)驱动、高密度数字多功能盘(HD-DVD)光盘驱动、蓝光(Blu-Ray)光盘驱动、全息数字数据存储(HDDS)光盘驱动、或诸如可记录DVD(DVD-R或DVD+R)、可重写DVD(DVD-RW或DVD+RW)或DVD-RAM的各种可记录或可重写数字多功能盘(DVD)驱动中的任何一种。操作系统程序、应用和各种数据文件存储在盘上,盘存储在固定盘驱动111上或者可移动盘驱动112的可移动介质上。
磁带驱动114是磁带存储设备,用于从计算机101卸载数据和向计算机101上载数据。磁带驱动114可以是1/4英寸盒式磁带(QIC)、4毫米数字音频磁带(DAT)、8毫米数字线性磁带(DLT)驱动和其它类型的磁带。
硬拷贝输出设备115为操作系统程序和应用提供输出功能。硬拷贝输出设备115可以是打印机或产生有形输出对象(包括文本或图像数据或文本或图像数据的图形表示)的任何输出设备。尽管硬拷贝输出设备115被示为直接连接到计算机101,但是它不是必须如此。例如,硬拷贝输出设备115可以经由网络接口,诸如有线或无线网络,连接到计算机101。
广播信息源102在远端存在于网络106上,并且包括一个或多个联网的数据服务器设备或服务器。广播信息源102执行为计算机101所发送的请求服务的软件,其中广播信息源102可以包括服务器群、存储器群、或存储服务器。在替代实现方式中,广播信息源102被省略,并且与广播信息源102相关联的功能实际由计算机101和/或公共信息源104执行。
此外,尽管在图1中计算机101被示为台式PC,但是在其它实现方式中,计算机101可以是便携式计算机、工作站、中型计算机、大型机、嵌入式系统、电话、手持或手写板计算机、PDA、或其它类型的计算机。
尽管为简洁起见省略了对构成广播信息源102和公共信息源104的组件的进一步描述,但是构成广播信息源102和/或公共信息源104的计算机或各个联网的计算机的硬件环境类似于这里针对计算机101所描述的示例硬件环境,而这样的描述就足够了。在替代实现方式中,计算机101、广播信息源102、公共信息源104中任何一个的功能被合并到单个或多个组合的硬件环境中。例如,单个公共计算机可以首先被黑客使用,随后又被合法网络用户使用。
图2示出了计算机101的内部架构的例子。该计算环境包括计算机中央处理单元(CPU)200,在那里处理包括操作系统或应用的计算机指令;显示接口202,其提供用于在显示监视器108上绘制(render)图形、图像和文本的通信接口和处理功能;键盘接口204,其提供到键盘109的通信接口;指示设备接口205,其提供到鼠标110或等效指示设备的通信接口;数字输入接口206,其提供到数字输入设备117的通信接口;硬拷贝输出设备接口208,其提供到硬拷贝输出设备115的通信接口;随机存取存储器(RAM)210,在那里计算机指令和数据存储在易失性存储器设备中,以由计算机CPU 200处理;只读存储器(ROM)211,在那里用于诸如基本输入和输出(I/O)、启动、和接收来自键盘109的键击的基本系统功能的不变的低级系统代码或数据存储在非易失性存储器设备中;存储器220或其它适合类型的存储器(例如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁盘、光盘、软盘、硬盘、可移动盒式磁带、闪存驱动),在那里存储包括操作系统221、应用程序222(包括小组件223、广播器应用224、监听器应用225、和其它需要的应用226)和数据文件227的文件;以及计算机网络接口216,其提供通过计算机网络连接116到网络106的通信接口。构成设备和计算机CPU 200通过计算机总线229相互通信。
简单讲,计算机程序产品有形地体现在硬盘220(一种机器可读存储介质)中。计算机程序产品包括指令,当指令被机器读取时,该指令运行以导致数据处理装置接收来自小组件的预订请求,从而建立会话,该预订请求标识小组件和内容;基于该预定请求注册预订;以及基于所注册的预订接收来自小组件的服务调用,该服务调用实现对与所述内容相关联的历史数据的查询。计算机程序产品还包括指令,其运行以导致数据处理装置向小组件发送历史数据;接收与所述内容相关联的更新数据;基于所注册的预订迭代地向小组件发送更新数据;迭代地确定该更新数据是否被小组件成功地接收;以及基于在小组件没有成功接收到更新数据的确定、基于会话的终止、或基于接收到取消预订请求,而对所述预订取消注册。
RAM 210与计算机总线229接口连接,以便在执行诸如操作系统应用程序和设备驱动的软件程序期间向计算机CPU 200提供快速RAM存储。更具体地说,计算机CPU 200将计算机可执行步骤从固定盘驱动111或其它存储介质加载到RAM 210的区段中,以便执行软件程序。数据存储在RAM 210中,在执行期间,计算机CPU 200访问RAM 210中的数据。
此外,如图2所示,计算机101存储用于操作系统221和应用程序222的计算机可执行代码,所述应用程序222诸如字处理、电子表格、演示、博弈(gaming)或其它应用。尽管可以使用上述实现方式来提供增强型小组件架构,但是业可以根据本公开文献将该功能实现为动态链接库(DLL),或实现为诸如互联网网络浏览器(例如MICROSOFT
Figure S2008101091229D00071
Internet Explorer网络浏览器)的其它应用程序的插件。
计算机CPU 200是多种高性能计算机处理器之一,包括INTEL
Figure S2008101091229D00072
或AMD
Figure S2008101091229D00073
处理器、POWERPC
Figure S2008101091229D00074
处理器、MIPS
Figure S2008101091229D00075
精简指令集计算机(RISC)处理器、SPARC
Figure S2008101091229D00076
处理器、ACORN RISC Machine(ARM
Figure S2008101091229D00077
)架构处理器、HPALPHASERVER处理器或大型机的私人计算机处理器。在其它布置中,计算机CPU 200多于一个处理单元,包括存在于高性能工作站或服务器中的多CPU配置、或存在于大型机中的多个可扩展处理单元。
操作系统221可以是MICROSOFTWINDOWS NT
Figure S2008101091229D000710
/WINDOWS
Figure S2008101091229D000711
2000/WINDOWS
Figure S2008101091229D000712
XP Workstation;MICROSOFTWINDOWS VISTA
Figure S2008101091229D000714
/WINDOWS NT
Figure S2008101091229D000715
/WINDOWS
Figure S2008101091229D000716
2000/WINDOWSXP Server;各种UNIX
Figure S2008101091229D000718
风格的操作系统,包括用于IBM
Figure S2008101091229D000719
工作站和服务器的AIX
Figure S2008101091229D000720
、用于SUN
Figure S2008101091229D000721
工作站和服务器的SUNOS
Figure S2008101091229D000722
、用于基于INTEL
Figure S2008101091229D000723
CPU的工作站和服务器的LINUX
Figure S2008101091229D000724
、用于HP
Figure S2008101091229D000725
工作站和服务器的HP UX WORKLOAD MANAGER
Figure S2008101091229D000726
、用于SGI
Figure S2008101091229D000727
工作站和服务器的IRIX
Figure S2008101091229D000728
、用于Digital Equipment Corporation(数字设备公司)计算机的VAX/VMS、用于基于HP ALPHASERVER
Figure S2008101091229D000729
的计算机的OPENVMS
Figure S2008101091229D000730
、用于基于POWERPC
Figure S2008101091229D000731
的工作站和服务器的MAC OS
Figure S2008101091229D000732
X;用于移动设备的SYMBIAN OS
Figure S2008101091229D000733
、WINDOWS MOBILE
Figure S2008101091229D000734
或WINDOWS CE
Figure S2008101091229D000735
、PALM
Figure S2008101091229D000736
、NOKIA
Figure S2008101091229D000737
OS(NOS)、OSE
Figure S2008101091229D000738
、或EPOC
Figure S2008101091229D000739
;或用于计算机或嵌入式系统的私有操作系统。操作系统221的应用开发平台或框架可以是:BINARY RUNTIMEENVIRONMENT FOR WIRELESS
Figure S2008101091229D00081
(BREW
Figure S2008101091229D00082
);Java Platform、Micro Edition(Java ME)或Java 2 Platform、Micro Edition(J2ME
Figure S2008101091229D00083
);PYTHONTM、FLASHLITE
Figure S2008101091229D00084
、或MICROSOFT
Figure S2008101091229D00085
.NET Compact。
尽管为简洁起见省略了对广播信息源102和公共信息源104的内部架构的进一步描述,但是那些计算机的架构基本上与计算机101类似,而这样的描述就足够了。但是,请注意,如下面将进一步具体描述的,广播信息源102还包括广播器。在替代实现方式中,如果计算机101和广播信息源104的功能被组合在单个的、组合的硬件环境中,则内部架构也是组合的或复制的。
尽管图1和图2示出了执行被配置成实现增强型小组件架构的程序代码、或者程序或处理步骤的计算系统一种可能实现方式,但是也可以使用其它类型的计算机。
使用加强型小组件架构,小组件能够使用从公共信息源规则地请求和接收数据的请求/响应方法来访问数据。此外,小组件还能够使用向广播信息源注册预订并且基于该预订从广播信息源推送数据的发布/预订方法来访问数据。
请求/响应方法非常适合内容变化频繁的情况,例如新闻内容,或者适合内容必须置于适当上下文中的情况,例如通过产生地图来响应包括地址的请求的绘图(mapping)应用。在所存储的数据改变不太频繁或接近静态的情况下,发布/预订方法非常适合用来提供对该数据的访问。当更新数据时,更新的数据本身被广播到预订的小组件(整个数据历史则不是必须的)。
因此,根据一个一般实现方式,增强型小组件架构能够仅仅基于发布/预订方法、或者基于请求/响应方法和发布/预订方法的混合来访问数据。这具有如下优点:该增强型小组件架构不会由于重复的、计算成本高的数据查询而使内部系统资源负担过重,因为发布/预订方法不会规则地请求更新数据,还因为将更新数据推送到小组件不需要包括所有历史数据。
增强型小组件架构使用能够使用上述数据访问方法中的一个或多个来接收信息。例如,如果特定数据很少改变,则小组件引擎可以使用发布/预订方法来访问该数据。但是,如果数据频繁改变(例如数据是新闻或金融市场信息),或者要求置于特定上下文中(例如数据是要被绘图的地址信息),则小组件引擎可以实现请求/响应方法。
请求/响应方法还可以用于对企业外部的信息源的数据查询,而发布/预订方法可以用于企业内部信息源。在这个上下文中,广播信息源102可以被看作是企业内部的信息源,其存储非频繁更新的信息,而公共信息源104可以被看作是企业外部的信息源,其存储频繁更新的信息。
图3A到3C是用于实现该增强型小组件架构的示例处理300的流程图。处理300的其它上下文通过参考图4和图5来提供,图4和图5分别示出了处理300的数据流框图和游动图(swim diagram)。简单讲,处理300包括从小组件向广播信息源发送预订请求,从而建立会话,该预订请求标识该小组件和内容。基于该预订请求,在广播信息源注册预订,并且基于在广播信息源注册的预订从小组件向广播信息源发送服务调用,该服务调用实现在广播信息源对与所述内容相关联的历史数据的查询。在小组件接收该历史数据,在广播信息源接收与所述内容相关联的更新数据,并且基于在广播信息源注册的预订迭代地从广播信息源发送更新数据。在广播信息源迭代地确定更新数据是否被小组件成功接收,基于更新数据没有在小组件成功接收的确定、基于会话终止、或基于接收到取消预订请求,在广播数据源取消注册该预订,以及在小组件输出历史数据和更新数据。
首先,请注意增强型小组件架构可用于单独实现发布/预订方法,或者实现为发布/预订方法和请求/响应方法两者的混合实现方式。例如,图3A到3C从整体上示出了这样的混合实现方式:通过请求/响应方法、基于预定标准选择记录的列表,该记录的列表包括内容,然后通过发布/预订方法检索涉及所述内容的历史和更新数据。在不使用该混合的实现方式中,例如在内容已经被识别出的实现方式中,处理300中有关请求/响应方法的部分(具体为S302到S311)可以部分或全部省略。
当预定标准存储在小组件401中(S302)时处理300开始(S301)。由于小组件401通过网络106拉取信息并以有用的方式提供信息,因此该预定标准被用作识别待显示的记录或项的基础。例如,如果小组件410是业务小组件,则用户可能对查看有关公司的信息感兴趣,从而预先确定或预定义选择公司的列表进行显示或查询的标准。在这样的情况中,预订标准可以包括股票市场度量(metric),诸如每日最高收益股票、每日最高损失股票、最高股票交易值、最高股票交易量、最高股票交易量比、或其它度量。
由于小组件用来显示各种各样的信息,因此预定标准可以定义任意数量和类型的条件。例如,天气小组件可以预先确定时间或日期标准、地点标准、气候相关标准或室外活动标准。媒体播放器小组件可以预先确定媒体类型、媒体流派(genre)、播放长度或流行指数。游戏小组件可以预先确定难度等级、游戏类型、年龄组或系统性能。新闻小组件可以预先确定用户兴趣、地点、重大新闻偏好或新闻类型。电子邮件小组件可以预先确定用户标识信息或垃圾邮件(spam)发送者列表。食谱小组件可以包括配料、食物限制、偏好的食物类型、进餐类型、即将到来的节日数据、事件信息或客人邀请列表。
根据一个示例实现方式,小组件401包括用户接口402和小组件引擎404,并且小组件401在诸如计算机101的计算机上执行。如在下面更详细描述的,小组件引擎还包括注册模块405和监听器模块406。小组件401使用请求/响应方法来从公共信息源104检索信息,在存储介质上存储预定标准,所述存储介质例如计算机101的固定盘驱动111。
预定标准可以由用户例如使用键盘109手动输入,或者该预定标准可以自动生成或下载到计算机101上。“预先确定”的目的是在发送对与标准相关的数据的查询请求之前,存储该标准以供小组件使用。但是,预先确定标准就足够了,存储不是必需的。
发送查询请求407以实现对满足预定标准的记录的查询(S304)。将查询请求从小组件401发送到公共信息源104,该公共信息源104可以是金融市场信息源、新闻信息源或具有频繁更新的数据的其它信息源。如果小组件401是上面提到的业务小组件,则可以将查询请求407从计算机101发送到公共信息源104,以请求预定时间段内的最高收益股票的列表。股票市场信息是非常适合通过请求/响应方法检索的一类信息,因为它不断地改变。在另外的不实行请求/响应方法或被配置成这样的请求的接收方的示例实现方式中,不发送查询请求。
每个发送的查询请求实现查询响应409的生成。例如,如果查询请求407涉及销售定单报告,则查询请求实现详述直到发送查询响应409的时刻为止的所有定单历史(包括来自外信息源501的历史数据502)的查询响应409的生成。使用请求/响应方法,查询响应409不发送在发送查询响应409之后在公共信息源104接收的更新数据(诸如更新数据504)。为了提供对最近实时数据的访问,重复地生成查询请求(示为重复的查询请求511),导致类似的计算成本高的查询的重新出现,以及仅包括少量附加数据的查询响应的重传。
以请求/响应方法访问数据的实现方式会导致许多业务应用后端服务器的系统资源的巨大负担。但是,如果小组件401被配置成通过发布/预订方法来访问数据,则也可以提供接近实时的数据访问。使用发布/预订方法,在发送历史数据506之后,在后端服务器生成的更新数据被推送到预定的小组件401,而无需使用重复的查询请求。
在公共信息源104接收查询请求407(S305),并且向公共信息源104查询满足预定标准的记录(S306)。例如,公共信息源104可以查询金融数据库来识别满足预定股票市场度量的公司,或者查询新闻数据库以识别与预定地点相关的故事。在另外的不实行请求/响应方法或者被配置成发送查询请求的示例实现方式中,不接收查询请求,并且/或者不查询公共信息源104。
将满足预定标准的记录的列表从公共信息源104发送到小组件401(S307)。如下面更全面地描述地,记录的列表包括在查询响应409中,并且包括提供以后的预订请求的基础的内容。如果预定标准涉及股票市场度量,则将匹配股票市场度量的公司的列表从公共信息源104发送到小组件引擎404。如果满足预定标准的记录的列表包括记录A、B和C,并且小组件401被自动或手动配置为收集与记录B和C相关的附加数据,则记录B和C被看作是所述内容。
记录的列表可以包括成千上万的记录、一个记录、或不包括记录。内容可以包括列表上的所有记录、列表上的记录的某个子集、或者不包括记录中的任何一个。在不实行请求/响应方法或被配置成接收记录的列表的另外的示例实现方式中,不将记录的列表从公共信息源104发送到小组件401。
在小组件接收(S309)并输出(S310)满足预定标准的记录的列表。这例如当从公共信息源104发送的记录的列表在小组件引擎被接收,并且被作为信号410从小组件引擎404发送到用户接口402以进行绘制时发生。一旦被接收,用户接口402输出所接收的满足预定标准的记录的列表。当最高收益股票的列表在显示器108上显示、经由硬拷贝输出设备115打印、或经由计算机101上的扬声器朗读时,发生这样的输出。在不实行请求/响应方法或被配置成仅仅发送记录的列表的另一种示例实现方式中,不接收和/或输出记录的列表。
如果预定标准将被改进(refine)(S311),则将改进后的预定标准存储在小组件中(S302)。例如当在记录的列表中返回过少或过多记录时可能期望进行改进。例如,如果小组件是天气小组件,并且预定标准涉及在夏天识别那些5英里范围内在过去的24小时中接收了1米或多于1米的降雪的滑雪场,则很可能记录的列表根本不会包括任何记录。为此,可以改进预定标准以包括更少或更多的记录。对预定标准的改进可以例如在用户使用键盘109向计算机101输入新的或更改的标准,从而更改之前存储在固定盘驱动111上的预定标准时发生。
改进预定标准的决定可以是自动决定或手动决定。“改进”的目的在于预定标准可以被改变,以便拓宽或缩窄满足预定标准的记录的范围,或者可以删除、替换之前应用的预定标准,或者增加附加的标准。对预定标准的改进还可以包括存储将用作查询完全不同的公共信息源的基础的预定标准,在这种情况下,用户被呈现以来自作为选择内容的基础的多于一个的公共信息源的记录的列表。在另外的示例实现方式中,例如不实行请求/响应方法、内容已经被识别出、或预定标准打算是静态的实现方式中,预定标准不能被改进。
如果不改进预定标准(S311),则接收用户对内容的选择(S312)。如果希望的话,对内容的选择还可以作为处理301的第一个步骤出现,例如,在内容已经被识别出的情况下。在这种情况下,处理300中涉及请求/响应方法的部分(具体为S302到S311)可以被部分或全部地省略。
对内容的选择可以通过使用键盘109或鼠标110直接向计算机输入内容、通过手动或自动选择满足预定标准的记录的列表上的记录来进行。由于内容可以自动选择,因此用户对内容的选择可以省略(S312)。例如如果小组件401被配置成在每次调用时预订相同的、预置的内容,则可以出现这样的实现方式。在公司的计算机上执行的小组件例如可以被配置成在每次加载小组件401时预订非频繁更新的数据,例如组织层级表。
确定历史数据是否存储在广播信息源102(S314)。在预订广播信息源102之前,确定广播信息源102是否能够访问与所标识的内容相关的数据可能是有益的。例如如果小组件401直接查询广播信息源102以确定历史数据是否存储在其中、如果小组件401访问识别在广播信息源102上存储的数据的计算机101上的数据库,则可以进行这样的确定,或者通过估计或预测广播信息源102的内容来进行这样的确定。历史数据是指在从广播信息源102向小组件401发送数据之前存储在广播信息源102上或广播信息源102可以以其它方式访问的数据,例如数据506。确定历史数据的存在的查询的计算成本要低于这样的预订,即,随后预订广播信息源102,结果该广播信息源102不存储历史数据。
广播信息源可以执行后端应用。历史数据可以是销售数据、联系方式管理数据、天气数据、公司数据、新闻数据、媒体相关数据或任何其它数据。在另外的示例实施例中,例如当小组件401肯定将预订广播信息源时,不进行历史数据是否存储在广播信息源102的确定。
将预定请求411从注册模块405发送到广播信息源102上的广播器412,从而建立会话。预定请求411标识小组件401和内容(S315)。预定请求411可以基于小组件401的IP或其它地址、或者通过诸如小组件名称或用户名的唯一标识符、或者通过唯一的通信信道,来标识小组件401。在一个示例中,使用XML对预订请求进行格式化,并将预订请求从计算机101经由网络106发送到广播信息源102。
会话是使用网络协议会话层的持久的连接或时间有限的连接,涉及在广播信息源和小组件401之间的数据交换。在不使用正式的会话层实现会话的情况下,由小组件401例如通过使用会话令牌或标识会话状态的cookie来维护会话。会话令牌是从例如计算机101产生并发送到广播信息源102以识别当前会话的唯一标识符。广播信息源102存储令牌并将其作为查询中的数据或cookie来发送。通过使用诸如IP地址的唯一标识符预订广播信息源102,小组件引擎404实现对在会话期间有效的内容预订的注册。
对于提供计算机101、广播信息源102和公共信息源104之间的通信的网络通信协议来说,该协议应当允许对小组件引擎404的注册、对内容的预订、从广播数据源到小组件引擎404的数据推送。此外,该协议应当向广播信息源102提供有关对小组件引擎404的数据推送是成功还是失败的反馈,并且提供用于验证和通信的适当安全机制。而且,网络协议应当在TCP/IP顶端提供适当的工具以到达小组件引擎404。
可以基于历史数据存储在广播信息源102的确定(314)、或基于接收到用户对内容的选择,而将预订请求411从小组件401发送到广播信息源。例如,用户可以使用键盘109或鼠标110来输入有兴趣接收其更新信息的内容,其中基于对所述输入的接收而发送预订请求411。或者,可以确定历史数据存储在广播信息源102,从而提示发送预订请求411。
在另外的示例实现方式中,例如当无需用户的手动选择、或者不考虑历史数据是否存储于广播信息源102而发送预订请求411时,不基于历史数据存储在广播信息源102的确定或不基于接收到用户对内容的选择来发送预订请求411。
在广播信息源102接收预订请求411(S316)。在被配置成发送预订请求411的替代实现方式中,不接收预订请求411。基于预订请求411在广播信息源102注册预订(S317)。例如,广播信息源102将内容的记录和唯一标识小组件401的信息作为预订进行存储,该小组件401被预订为接收与所述内容相关的更新数据。因此,预订实现了基于来自小组件401的预订请求411,从广播信息源102发送关于所述内容的更新数据,其中,该预订请求标识内容并提供唯一标识符,该唯一标识符为更新数据的发送提供地址。预订的注册还可以例如实现广播信息源102与计算机101之间的永久连接的建立,或者可以导致在广播信息源102将发出预订请求的小组件401与所述内容相关联的任何其它动作发生。
基于注册预订,将预订成功信号414从广播信息源发送到小组件401的注册模块405(S319)。为了避免发送重复的预订请求,或者为了仅仅承认(acknowledge)对预订的成功注册,广播信息源102可以向计算机101发送承认预订成功注册的预订成功信号。
接着,小组件401可以忽略或丢弃预订成功信号414,或者可以将信号414作为不发送进一步的预订请求、更新计数器或数据库、或者确认(confirm)会话建立的基础。在另外的示例实现方式中,例如其中广播信息源102确定预订成功信号414将被忽略或丢弃,或者该实现方式被配置成接收预订成功信号414,则不发送预订成功信号414。
在小组件接收预订成功信号414(S320)。如上所述,在另外的示例实施方式中,诸如其中广播信息源102不发送预订成功信号414,或者该实现方式被配置成仅仅发送预订成功信号414,则不接收预订成功信号。
基于在广播信息源102注册了预订,将服务调用415从小组件401发送到广播信息源102,该服务调用415实现在广播信息源102对与所述内容相关联的历史数据的查询(S321)。换言之,服务调用415提供用于从广播信息源102的首次(first-time)数据提取。
虽然从预订的注册开始由预订实现更新数据的传输,但是在预订注册之前由服务调用415实现广播信息源102可访问的历史数据的传输。在另外的实现方式中,诸如其中小组件401被配置成仅仅接收更新数据,或者该实现方式被配置成接收服务调用,则不从小组件401发送服务调用。
在广播信息源102接收服务调用415(S322)。如上面指出的,如果不发送服务调用,或者如果实现方式没有被配置成发送服务调用415,则不在广播信息源102接收服务调用。
向广播信息源102查询与所述内容相关联的历史数据506(S324),并且在广播信息源102输出历史数据(S325)。具体来说,广播信息源102例如通过与布尔运算符相结合的关键字向数据库递交对信息的精确请求,以提取与所述内容相关的历史数据。在示例实现方式中,诸如其中小组件忽略历史数据,或者该实现方式被配置成仅仅接收查询的结果,则不执行对历史数据的查询和/或对历史数据的输出。
将历史数据506从广播信息源102发送到小组件401(S326),并且在小组件401接收该历史数据506(S327)。如果小组件被配置成忽略历史数据或者仅仅接收更新数据,则可以不发送和/或接收历史数据。在小组件401激活监听器模块406,该监听器模块406检测从广播器412对更新数据的推送(S329)。对监听器模块405的激活取决于在小组件引擎内这样的模块的存在。
在广播信息源102接收与所述内容相关联的更新数据417(S330)。在不同的时间,更新数据417包括数据507到509。更新数据417例如可以从广播信息源102外部的信息源501接收,或者更新数据417可以由广播信息源102本身产生。
基于在广播信息源102注册的预订,从广播信息源102迭代地发送更新数据417(S331)。迭代发送指的是当广播信息源102接收到更新数据时,重复地发送更新数据,在图3中示为确定是否更新数据将被接收(S343)与接收附加的更新数据(S330)之间的处理连接。
在监听器模块406检测更新数据417的发送(S332)。在替代示例实现方式中,诸如其中小组件引擎404不包括监听器模块406,则不在监听器模块检测更新数据。在小组件401接收更新数据(S334)。在被配置成仅仅发送更新数据的示例实现方式中,不接收更新数据。
在小组件401输出历史数据506和更新数据(S335)。具体来说,在小组件引擎接收历史数据506和/或更新数据,小组件引擎绘制或更新用户接口以包括该数据。历史数据和更新数据可以同时输出,或者可以当在小组件接收到它们时输出。
在广播信息源102迭代地确定更新数据是否被小组件401成功接收(S336)。借助于将信息提供回广播信息源102的协议,或者通过接收数据被成功接收的信号510,来执行小组件401是否成功接收到更新数据的确定。如果确定小组件401成功接收到更新数据(S337),则进一步确定会话是否已可选地被终止(诸如例如在S339被小组件401终止)。
如果确定在小组件没有成功接收到更新数据(或者,例如如果没有确定在小组件成功接收到更新数据)(S337),则对预订取消注册(S344),从而结束会话,并且处理300结束(S345)。在图5中,例如,在从广播信息源102向小组件401发送更新数据508之后没有接收到数据被成功接收的信号510,这会导致预订被取消注册,从而结束会话。在本示例中,作为取消预订的结果,在广播信息源接收的更新数据不向小组件401发布。注意,在小组件没有成功接收到数据的指示不会触发对更新数据的重传,或者启动故障诊断处理来确定错误的原因。通过这样做,避免了计算成本高的错误检查过程,使得小组件架构是轻量级的和灵活的。从用户的角度来看,终止的会话可以简单地通过重新启动小组件来恢复。
如果会话终止(S340),则对预订取消注册(S344),从而结束处理300(S345)。如果会话没有终止(S340),则确定(S342)是否接收到了取消预订请求(诸如例如在S341由小组件接收)。小组件引擎404可以从广播信息源102取消预订,或者广播信息源102可以根据推送更新数据的第一次不成功尝试而对小组件401取消预订。
如果接收到了取消预订请求(S342),则对预订取消注册(S344),从而结束处理300(S345)。如果没有接收到取消预订请求(S342),则进一步确定是否接收到了附加的更新数据(S343)。
如果例如在预定量的时间内接收到了附加的更新数据(S343),则接收该更新数据(S330)。如果没有接收到附加的更新数据(S343),则对预订取消注册(S344),从而结束处理300(S345)。为此,基于在小组件没有成功接收到更新数据的确定、基于会话终止、或者基于接收到取消预订请求,而在广播信息源对预订取消注册。
图6和图7示出了根据其它示例一般实现方式的示例线索生成(leadgeneration)小组件600和示例销售支持小组件700。参照图6,线索生成是销售中的处理,其可以通过检测金融市场和新闻中的突变(discontinuity)来支持。突变可能是由例如公司管理人员的重大变化或离开、职员大批离去、合并、收购、和类似的事件导致,从而造成销售机会出现。这样的事件通常表现为股票价格或市场价值的变化、巨额的市场交易量或与公司相关的新闻文章的产生。
当从公共信息源检测到突变时,将该突变关连到企业内部广播信息源,以便收集和提供解释该突变对企业的影响的信息。由于新闻和市场信息变化非常频繁,因此可以使用请求/响应方法来检测所述突变。由于关于客户群体(customer base)的企业内部信息可能不频繁改变,因此例如在将小定单添加到大量的客户定单历史时,可以使用发布/预订方法以增量的方式访问该客户群体数据。为此,线索生成小组件700是混合小组件的例子,其使用不同的数据访问方法来从内部和外部源访问数据。
因此,使用各种股票市场度量,用来自金融市场公共信息源的信息初始化线索生成小组件401。在线索生成小组件的区域601中输出匹配这些预定标准的公司的列表。基于查看这个公司列表,用户,诸如销售经理,能够了解到公司出现突变,尽管他们可能不知道为什么出现这样的突变。
通过选择区域601中显示的公司列表上的一个或多个公司,线索生成小组件600的用户可以在区域602中查看与所选择的公司相关的新闻文章的列表。这个新闻文章列表允许线索生成小组件600的用户浏览新闻,以寻找突变的可能原因。在许多情况下,用户将在可从公共信息源获得的新闻中找到突变的原因。
由于突变也可能与合并或收购的谣言有关,对于流行关键词,诸如“合并”、“接管”、“收购”或类似的词的文章关键词搜索结果可以在区域604和605中显示。基于区域602、604和605中呈现的信息,用户可以确定在公司发生了突变,尽管用户可能对公司本身的背景了解不多。
为了将区域601中的公司列表上标识的公司通知给用户,用户可以选择几种控制,诸如控制606或607,以在区域609中查看来自公共信息源的各种公司列表简档,所述公共信息源诸如用于公司的诸如GOOGLE
Figure S2008101091229D00171
财务(finance)信息源、YAHOO!
Figure S2008101091229D00172
财务信息源、MSN
Figure S2008101091229D00173
货币(money)信息源或其它源。基于这一信息,用户可以对公司了解更多,尽管他们可能不理解这一信息对他们的销售工作的影响。
基于所访问的信息,可以在内部财务会计(finance accounting)广播信息源,诸如SAP后端系统中查询被识别为具有突变的公司。由于这种类型的财务会计广播信息源中的客户信息改变不频繁,因此可以将会计系统用作广播信息源,使用发布/预订方法来访问数据。
如果在会计系统中找到历史数据,则确定该公司为客户。如果该公司是客户,则创建预订,以向线索生成小组件600的用户提供有关该公司的历史数据和/或更新数据。所述数据可以包括例如财务经理的标识、所销售产品和价格的标识、以及其它信息,在区域610中输出所述数据。
如果没有发现该公司是客户,则在客户关系管理(CRM)广播信息源生成预订,以确定该突变是否提供机会或线索。在该公司是机会或线索的情况下,在区域611中呈现相关数据,诸如销售人员的标识、建立联系的日期、之前的出价信息或其它数据。
具备了在线索生成小组件601中输出的信息,用户就能够实时地或接近实时地对该线索采取行动。特别是,线索生成小组件601允许用户在CRM广播信息源中创建用于公司的机会或线索,以便向财务经理写电子邮件、创建任务以系统地建立机会、并将其分配给财务经理,或者其它选项。由于线索生成小组件不仅仅依靠请求/响应方法,因此不会一遍又一遍地查询相同的信息,耗尽系统资源。
图7示出了示例的销售支持小组件700。与线索生成小组件600相比,销售支持小组件700包括在将不同知识块置于适当上下文方面的适当改变,导致了对不同场景的识别。具体来说,通过提供有关部分或全部来自内部源的公司所具有的关于特定客户的知识、以及来自外部源的新闻和市场信息的单个视图,销售支持小组件700对于CRM场景特别有用。
使用请求/响应方法从新闻和市场公开信息源检索的市场信息在销售支持小组件700的区域701中显示。使用公布/预订方法从CRM广播信息源检索的CRM信息在销售支持小组件的区域702中显示。使用在区域701和702中显示的信息,财务主管能够利用单个小型桌面应用来保持最新的内部和外部发展。
销售支持小组件800具有与线索生成小组件600不同的关键点。具体来说,线索生成小组件用股票信息初始化,但是简单化(streamlined)的线索生成小组件800以用户已经识别的公司(例如其财务由他管理的公司)开始。基于这一识别出的内容,访问和输出历史数据和更新数据。
图8示出了在功能上与线索生成小组件600类似的示例财务主管800。简单化的线索生成小组件800使用各种股票市场度量以来自金融市场公共信息源的信息初始化。匹配这些预订标准的公司列表在简单化的线索生成小组件800的区域801中输出。基于查看该公司列表,用户,诸如销售经理,能够知道公司发生了突变,尽管他可能不知道为什么发生这样的突变。
通过选择在区域801中显示的公司列表上的一个或多个公司,简单化的线索生成小组件800的用户能够在区域802中查看与所选择的公司相关的新闻文章的列表。该新闻文章列表允许简单化的线索生成小组件800的用户浏览新闻以寻找突变的可能原因。在许多情况中,用户将会在可从公共信息源获得的新闻中找到突变的原因。
基于所访问的信息,可以在内部财务会计广播信息源,诸如SAP
Figure S2008101091229D00191
后端系统中查询被识别为具有突变的公司。由于这种类型的财务会计广播信息源中的客户信息改变不频繁,因此可以将该会计系统用作广播信息源,使用发布/预订方法来访问数据。
如果在会计系统中找到历史数据,则该公司被确定为客户。如果该公司是客户,则创建预订,以向简单化的线索生成小组件800的用户提供有关该公司的历史数据和/或更新数据。所述数据可以包括例如财务经理的标识、所销售产品和价格的标识、以及其它信息,在区域803中输出所述数据。
如果没有发现该公司是客户,则在客户关系管理(CRM)广播信息源生成预订,以确定该突变是否提供机会或线索。在该公司是机会或线索的情况下,在区域803中呈现相关数据,诸如销售人员的标识、建立联系的日期、之前的出价信息或其它数据。
具备了在简单化的线索生成小组件800上输出的信息,用户就能够实时地或接近实时地对该线索采取行动。特别是,简单化的线索生成小组件800允许用户在CRM广播信息源中创建用于该公司的机会或线索,以便向财务经理写电子邮件、创建任务以系统地建立机会、并将其分配给财务经理,或者其它选项。由于线索生成小组件不仅仅依靠请求/响应方法,因此不会一遍又一遍地查询相同的信息,耗尽系统资源。
图9示出了示例的销售定单小组件900。销售支持小组件900在用于提供有关部分或全部来自内部源的公司所具有的关于特定客户的的知识、以及来自外部源的新闻和市场信息的单个视图方面特别有用。
用户向区域901输入查询数据,以将数据范围缩窄到匹配查询数据的那些客户。查询数据可以包括时限、以及是否通过直接或间接业务进行了销售的指示。基于查询数据执行查询,并在区域901中输出匹配查询数据的客户和相关的销售定单信息。向公共信息源访问与所识别的公司相关的新闻或市场信息,并且在区域903中输出该新闻或市场信息。与之前的小组件不同,示例的销售定单小组件基于首先通过对广播信息源的发表/预订访问确定的信息启动(seed)对公共信息源的请求/响应访问。
描述了几种实现方式。但是应当理解,在不脱离公开内容的精神和范围的情况下,可以进行各种修改。因此,其它实现方式也包括在所附权利要求书的范围之内。

Claims (15)

1.一种用于实现增强型小组件架构的方法,包括:
向公共信息源查询满足预定标准的记录;
从所述公共信息源接收满足该预定标准的记录的列表,所述记录的列表包括内容;
从小组件向广播信息源发送预订请求,从而建立会话,所述预订请求标识小组件和内容;
基于该预订请求在广播信息源注册预订;
基于在广播信息源注册的预订,从小组件向广播信息源发送服务调用,该服务调用在广播信息源实现对与所述内容相关联的历史数据的查询;
在小组件接收所述历史数据;
在广播信息源接收与所述内容相关联的更新数据;
基于在广播信息源注册的预订,迭代地从广播信息源发送更新数据;
在广播信息源,迭代地确定该更新数据是否被小组件成功地接收;
基于在小组件没有成功接收到更新数据的确定、基于会话的终止、或基于接收到取消预订请求,而在广播信息源对所述预订取消注册;以及
在小组件输出所述历史数据和更新数据。
2.如权利要求1所述的方法,还包括:
确定所述历史数据是否存储在广播信息源,
其中,基于历史数据存储在广播信息源的确定,将预订请求从小组件发送到广播信息源。
3.如权利要求1所述的方法,还包括:
接收用户对所述内容的选择,
其中,基于所接收到的用户对所述内容的选择,将所述预订请求发送到广播信息源。
4.如权利要求1所述的方法,其中,所述广播信息源是后端应用。
5.如权利要求1所述的方法,其中,所述历史数据或更新数据是销售数据或联系方式管理数据。
6.如权利要求1所述的方法,还包括由小组件终止所述会话。
7.如权利要求1所述的方法,还包括从小组件向广播信息源发送取消预订请求。
8.如权利要求1所述的方法,其中,所述预订请求基于小组件的互联网协议(IP)地址标识小组件。
9.如权利要求1所述的方法,还包括在小组件监听从广播信息源对更新数据的发送。
10.如权利要求1所述的方法,其中,所述公共信息源是金融市场信息源或新闻信息源。
11.如权利要求1或10所述的方法,其中,所述预定标准包括股票市场度量。
12.如权利要求1或10所述的方法,其中,所述内容标识公司,并且其中,所述预定标准包括每日最高收益股票、每日最高损失股票、最高股票交易值、最高股票交易量、或最高股票交易量比。
13.如权利要求11所述的方法,其中,所述内容标识公司,并且其中,所述预定标准包括每日最高收益股票、每日最高损失股票、最高股票交易值、最高股票交易量、或最高股票交易量比。
14.一种用于实现增强型小组件架构的方法,包括:
在公共信息源接收查询请求;
将满足预定标准的记录的列表从所述公共信息源发送到所述小组件,所述记录的列表包括内容;
接收来自小组件的预订请求,从而建立会话,所述预订请求标识该小组件和内容;
基于所述预订请求注册预订;
基于所注册的预订接收来自该小组件的服务调用,所述服务调用实现对与所述内容相关联的历史数据的查询;
将所述历史内容发送到所述小组件;
接收与所述内容相关联的更新数据;
基于所注册的预订,迭代地向所述小组件发送更新数据;
迭代地确定该更新数据是否被小组件成功地接收;以及
基于在小组件没有成功接收到更新数据的确定、基于会话的终止、或基于接收到取消注册请求,而对所述预订取消注册。
15.一种用于实现增强型小组件架构的系统,包括:
用于向公共信息源查询满足预定标准的记录的装置;
用于从所述公共信息源接收满足该预定标准的记录的列表,所述记录的列表包括内容的装置;
用于从小组件向广播信息源发送预订请求,从而建立会话,所述预订请求标识小组件和内容的装置;
用于基于该预订请求在广播信息源注册预订的装置;
用于基于在广播信息源注册的预订,从小组件向广播信息源发送服务调用,该服务调用在广播信息源实现对与所述内容相关联的历史数据的查询的装置;
用于在小组件接收所述历史数据的装置;
用于在广播信息源接收与所述内容相关联的更新数据的装置;
用于基于在广播信息源注册的预订,迭代地从广播信息源发送更新数据的装置;
用于在广播信息源,迭代地确定该更新数据是否被小组件成功地接收的装置;
用于基于在小组件没有成功接收到更新数据的确定、基于会话的终止、或基于接收到取消预订请求,而在广播信息源对所述预订取消注册的装置;以及
用于在小组件输出所述历史数据和更新数据的装置。
CN2008101091229A 2007-05-23 2008-05-23 增强型小组件架构 Active CN101312462B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/752,883 2007-05-23
US11/752,883 US7702754B2 (en) 2007-05-23 2007-05-23 Enhanced widget architecture

Publications (2)

Publication Number Publication Date
CN101312462A CN101312462A (zh) 2008-11-26
CN101312462B true CN101312462B (zh) 2013-05-08

Family

ID=39671422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101091229A Active CN101312462B (zh) 2007-05-23 2008-05-23 增强型小组件架构

Country Status (5)

Country Link
US (1) US7702754B2 (zh)
EP (1) EP1995668B1 (zh)
JP (1) JP4842297B2 (zh)
CN (1) CN101312462B (zh)
AT (1) ATE525702T1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145689A1 (en) * 2005-09-09 2011-06-16 Microsoft Corporation Named object view over multiple files
US20070061699A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Named object view of electronic data report
US20080141141A1 (en) * 2006-12-07 2008-06-12 Moore Dennis B Widget runtime engine for enterprise widgets
US9524496B2 (en) * 2007-03-19 2016-12-20 Hugo Olliphant Micro payments
US8578330B2 (en) * 2007-06-11 2013-11-05 Sap Ag Enhanced widget composition platform
US8412150B2 (en) * 2008-02-21 2013-04-02 Apple Inc. Transitional data sets
US9495276B1 (en) * 2008-08-20 2016-11-15 The Mathworks, Inc. Indicating metrics associated with a model on a human machine interface (HMI)
EP2362306A4 (en) * 2009-05-11 2012-04-25 Huawei Tech Co Ltd METHOD AND SERVER FOR WIDGET COMMUNICATION
KR101579624B1 (ko) * 2009-07-14 2015-12-22 엘지전자 주식회사 방송 콘텐츠 표시 방법 및 이를 적용한 이동 통신 단말기
US10102557B1 (en) 2009-11-20 2018-10-16 Joel Brown System and method for selling customer-specific data subsets on a third-party website using a web widget
US8751587B2 (en) * 2009-11-25 2014-06-10 Red Hat, Inc. Real-time web applications
US8683357B2 (en) * 2009-11-25 2014-03-25 Red Hat, Inc. Providing real time web application framework socket
US8689234B2 (en) * 2009-11-25 2014-04-01 Red Hat, Inc. Providing real-time widgets in a web application framework
US8180828B2 (en) * 2009-11-25 2012-05-15 Red Hat, Inc. Architecture, system and method for providing a plug-in architecture in a real-time web application framework
US8301718B2 (en) * 2009-11-25 2012-10-30 Red Hat, Inc. Architecture, system and method for a messaging hub in a real-time web application framework
US8726147B1 (en) 2010-03-12 2014-05-13 Symantec Corporation Systems and methods for restoring web parts in content management systems
US8589515B2 (en) * 2010-07-21 2013-11-19 International Business Machines Corporation Aggregated widget request processing
US8843832B2 (en) * 2010-07-23 2014-09-23 Reh Hat, Inc. Architecture, system and method for a real-time collaboration interface
US8068011B1 (en) 2010-08-27 2011-11-29 Q Street, LLC System and method for interactive user-directed interfacing between handheld devices and RFID media
JP5668376B2 (ja) 2010-09-06 2015-02-12 株式会社リコー 画像形成システム、サーバ、画像形成装置及びプログラム
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
CN101986657B (zh) * 2010-10-28 2012-10-10 浙江大学 基于移动widget定向推送特定服务的方法
US9064111B2 (en) * 2011-08-03 2015-06-23 Samsung Electronics Co., Ltd. Sandboxing technology for webruntime system
WO2013044515A1 (en) * 2011-09-30 2013-04-04 Nokia Corporation Method and apparatus for inter-widget communication
US8893225B2 (en) 2011-10-14 2014-11-18 Samsung Electronics Co., Ltd. Method and apparatus for secure web widget runtime system
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US20130139164A1 (en) * 2011-11-28 2013-05-30 Sap Ag Business Process Optimization
CN103294158B (zh) * 2012-03-05 2016-12-14 联想(北京)有限公司 一种信息处理方法及电子设备
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US10319013B2 (en) 2013-10-28 2019-06-11 Square, Inc. Electronic ordering system
CN104090646A (zh) * 2014-07-15 2014-10-08 英业达科技有限公司 一种电子装置电源配置方法及系统
US10410272B1 (en) 2014-08-20 2019-09-10 Square, Inc. Predicting orders from buyer behavior
US10852151B2 (en) 2014-12-12 2020-12-01 Square, Inc. Dynamic reconfiguring of geo-fences
CN104461651B (zh) * 2014-12-22 2017-11-10 东信和平科技股份有限公司 一种框架流程控制方法、装置及系统
US10430849B1 (en) 2014-12-31 2019-10-01 Square, Inc. Propagation of customer preferences
US9589290B1 (en) 2014-12-31 2017-03-07 Square, Inc. Client-side use of customer preferences
US10127595B1 (en) 2014-12-31 2018-11-13 Square, Inc. Categorization of items based on attributes
CN110460958A (zh) * 2019-07-29 2019-11-15 深圳思凯微电子有限公司 物联网广播方法、装置、广播站及存储介质
CN116458139A (zh) * 2021-02-24 2023-07-18 Oppo广东移动通信有限公司 广播源信息的处理方法、广播音频接收器和广播助理

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477575A (zh) * 2002-07-26 2004-02-25 �Ҵ���˾ 从公布/订阅服务接收电子消息的方法和系统
CN1949770A (zh) * 2005-10-14 2007-04-18 华为技术有限公司 一种推送信息提供方法及推送代理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167035A (en) * 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
EP1036357A1 (en) * 1997-11-14 2000-09-20 Avesta Technologies Inc. System and method for displaying multiple sources of data in near real-time
JP2000259514A (ja) * 1999-03-05 2000-09-22 Hitachi Information Systems Ltd 電子メール宛先管理システムおよびこのシステムを実現するプログラムを記録した記録媒体
JP2003150487A (ja) * 2001-11-09 2003-05-23 Murase Kogyo Kk プッシュ型情報配信システム及びプッシュ型情報配信システム用クライアントプログラム
US20030110233A1 (en) * 2001-12-10 2003-06-12 Vmic Reflective memory system and method capable of dynamically sizing data packets
JP4014091B2 (ja) * 2003-02-28 2007-11-28 株式会社Quick 情報配信管理方法及び情報配信管理プログラム
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US7707413B2 (en) * 2004-12-02 2010-04-27 Palo Alto Research Center Incorporated Systems and methods for protecting private information in a mobile environment
US20060287765A1 (en) * 2005-06-20 2006-12-21 Kraft Harold H Privacy Information Reporting Systems with Broad Search Scope and Integration
US9009728B2 (en) * 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477575A (zh) * 2002-07-26 2004-02-25 �Ҵ���˾ 从公布/订阅服务接收电子消息的方法和系统
CN1949770A (zh) * 2005-10-14 2007-04-18 华为技术有限公司 一种推送信息提供方法及推送代理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anind K. Dey等.《A Context-Based Infrastructure for Smart Environments》.《PROCEEDINGS OF THE 1ST INTERNATIONAL WORKSHOP ON MANAGING INTERACTIONS IN SMART ENVIRONMENTS》.1999,全文. *
Paul Leung等.《A CSCW Framework for the Flexible Coupling of Groupware Widgets》.《ICECCS 1999》.1999,全文. *

Also Published As

Publication number Publication date
US20080294751A1 (en) 2008-11-27
JP2008293502A (ja) 2008-12-04
US7702754B2 (en) 2010-04-20
JP4842297B2 (ja) 2011-12-21
EP1995668A1 (en) 2008-11-26
ATE525702T1 (de) 2011-10-15
CN101312462A (zh) 2008-11-26
EP1995668B1 (en) 2011-09-21

Similar Documents

Publication Publication Date Title
CN101312462B (zh) 增强型小组件架构
US10177992B2 (en) Application store interface for remote management of client devices
US6546002B1 (en) System and method for implementing an intelligent and mobile menu-interface agent
CN102402579B (zh) 显示用户感兴趣的图像
US7840413B2 (en) Method and system for integrating idea and on-demand services
US20100127013A1 (en) Dvd kiosks
US10929616B2 (en) Topic based conversation retrieval
US20190073213A1 (en) Sending updates associated with a transaction platform to a distribution group of users associated with a messaging service
CN1825312A (zh) 用于定位从联系人源收集的联系人信息的方法和系统
FR2798754A1 (fr) Agencement pour la lecture et le traitement de transactions, ainsi que systeme et procede de mise en oeuvre
US20120284684A1 (en) Automated modification integration and conflict resolution for software development
Golden Amazon web services for dummies
EP2104049A1 (en) Establishment of security federations
US11082561B2 (en) System and method for providing contextual assistance for contact center applications
US10108696B1 (en) Unit group generation and relationship establishment
US20060047810A1 (en) Asset management system and method
CN112700602A (zh) 智能柜的存件方法及装置
US20110252382A1 (en) Process performance using a people cloud
US20230029697A1 (en) Dynamic action identification for communication platform
CN110580259A (zh) 基于流程管理大数据的客户需求挖掘方法和设备
CN109120783A (zh) 信息获取方法及装置、移动终端和计算机可读存储介质
CN114331637A (zh) 对象推荐方法及装置、存储介质、电子设备
US20150026218A1 (en) System and Method for Automated Document Linking
CN115422514B (zh) 一种信息交互的方法、系统、设备和存储介质
RU2628585C2 (ru) Способ и система для заказа товаров

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant