CN1300677C - 分布式计算服务平台 - Google Patents

分布式计算服务平台 Download PDF

Info

Publication number
CN1300677C
CN1300677C CNB01811458XA CN01811458A CN1300677C CN 1300677 C CN1300677 C CN 1300677C CN B01811458X A CNB01811458X A CN B01811458XA CN 01811458 A CN01811458 A CN 01811458A CN 1300677 C CN1300677 C CN 1300677C
Authority
CN
China
Prior art keywords
server
information
user
customer equipment
user interface
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.)
Expired - Lifetime
Application number
CNB01811458XA
Other languages
English (en)
Other versions
CN1524217A (zh
Inventor
J·D·贝尔费奥雷
D·G·坎贝尔
S·卡普斯
S·M·切利尼
V·贡多特拉
M·H·卢科夫斯基
P·A·玛瑞茨
A·米特尔
E·D·鲁德
K·W·肖特
K·辛格
P·M·施皮罗
T·W·特罗尔
D·瓦斯凯维奇
C·T·菲茨杰拉德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1524217A publication Critical patent/CN1524217A/zh
Application granted granted Critical
Publication of CN1300677C publication Critical patent/CN1300677C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Abstract

服务器联盟合作地交互,通过使用遵循一个模式的数据结构通信完成服务请求,通信数据的意义由该模式所包含。因此,除了被通信的数据外,还通信数据的意义以便根据数据的意义作出智能决策和推理。借助经支持多个传输机制的公共API的消息发送方便了在各种网络上的合作交互。而且借助模式及无关传输协议的消息发送结构便于会话中在客户设备之间的转移。即使客户设备具有不同的用户界面能力,客户设备的用户界面将显出一致性。

Description

分布式计算服务平台
技术领域
本发明涉及通信领域。更具体地,本发明描述分布式计算服务平台,以便于改善通信和通过计算机网络(如因特网)进行协作。
背景技术
因特网革命性的改变了人们通信的方式并迎来了人类历史中常称为“信息时代”的新纪元。本质上,因特网包括大量星罗棋布的用网络连接的计算机,它们散布在世界的大部分地区。从终端用户的观点看,完善的计算机,软件和网络技术已使得因特网的通信直截了当。
例如,用户能使用随手可得的电子邮件软件编著电子邮件或“e-mail”消息。在指定接收者的地址以后,用户可以如借助使用鼠标激活在计算机显示器上的“发送—send”图标简单地发送该消息。该消息随后经过因特网从一个计算机系统路由到下一个,直到消息到达目标计算设备。
此外,传统的浏览器软件使用户能从远程计算机请求如网页那样的信息。在用户输入网页地址后,浏览器随后使用户的计算机能使用广泛认可的通信协议,如超文本传输协议(HTTP),发送该请求。该请求随后用目标地址被路由至目标计算机或网址。
远程网站评估该请求,并返回常包括所请求的信息的恰当的响应。所请求的网页以如超文本标记语言(“HTML”)那样的格式返回,此格式可由网络浏览器分析。然后,经分析的网页在计算机显示器上表示及提供给用户。
网络浏览器软件可用于多种广泛可得到计算机,包括通用个人计算机(PC),电视机顶盒,个人数字助理,移动电话等。此外,有数以万计的网站公开地为访问那样传统的浏览器软件和因特网连接的任何人。这些因素结合起来,使得更多人比以前任何时候更多地访问更丰富的信息。
总之,因特网为大量用户提供简单的全球连结。虽然因特网的使用在访问信息方面对业务和个人提供许多相同的好处,因特网应能以更灵活的方式更有效地用于访问和使用信息。例如,因特网的一个主流(dominant)使用通常以“只读”为特征。在发布者建立和发布网页以后,因特网本质上作为表示工具服务,它允许用户阅读网页上信息。因特网本身很少提供或不提供让用户写,编辑,或与网页互动的能力。
而且,虽然因特网允许个人直接访问数百万个网站,若有的话只有少量标准允许网站互相通信或共享信息。每个网站通常得维持不同的ID,偏爱,数据格式和方案,连接性等。为此,为了使得能在两个网站之间互动而不管无数的其他网站,要占用大量时间和开销。因此,网站通常不收集由其他网站在因特网上提供的大量和丰富的信息。相反,许多网站只好独立地收集和编辑信息成某种静态的格式,即使它们已经从不同的网站可以得到。因此,虽然通过因特网在大量网站和计算机之间有广泛分布的连结,但在自动交互地利用那样连结方面作得很少,且能够得到的革命性进展还远未能实现。
因特网的有效性及灵活性也由于限制用户访问信息及服务的其他因素而受到限制。例如,一个装有一台个人计算机的用户可以访问比移动电话用户大的多的因特网资源集,这是由于受到与基础平台有关的限制。当平台限制不是问题时,其他问题(如安全和存储)可以仍然限制相同用户访问因特网资源,更不用说由不同的用户经过若干平台的访问。即使能访问同样的信息和服务,例如,当用户必须协商显著不同的用户接口或遵循不同协议访问那些资源时,总的效率和灵活性被削弱了。
而且,因特网的用户经常面临太多的难以过滤及组织的信息。例如,网络搜索引擎常常返回对简单询问的成千上万可能“匹配”。用户必须手人过滤这些匹配而寻找相关的信息。用户的电子邮件收件箱还经常被无用的电子邮件或“垃圾”爆满,它们常是无关的或对用户是低优先级的。虽然存在某些收件箱过滤器,用户仍必须扫视剩下的消息以找到高优先级或重要的消息。
因此,需要这样的系统和方法,它们方便于更好的和更一致的用户交互和协作,以及经因特网在网站之间的通信。还需要提供给用户更加个性化的有关信息而不会用太多的信息把用户压垮。
发明内容
上述在现有技术中问题由本发明克服,它是方便于更多的基于因特网的协作和更多网站问题通信的分布式计算服务平台。首先,概述平台的总概念结构。然后概述平台的集成技术组件。这些组件包括编程模型,模式(schema)用户界面,事件,发消息,存储,目录,安全性,和程序码管理。最后说明本发明在人们工作和家里的日常生活中如何方便了改善的协作和通信。
本发明的分布式计算服务平台方便了在客户设备和服务器联盟之间,以及和服务器联盟的服务器之间的通信。例如服务器联盟可以包括服务器和在因特网和/或公司企业网上的服务器。客户和服务器在维持一定程度的独立的同时,通过有意义的通信和信息交换而集成一体,借助穿过与传输协议无关的消息底层结构的公共模式的信息交换使得能做这样的有意义的交换。
平台包括一系列分布的而又集成的技术组件和服务,包括编程模型,模式,用户界面,事件,发消息,存储,目录,安全,和程序码管理。编程模型确定一个应用的结构,该应用能灵活地分布在客户和服务器联盟之间。跟随编程模型的应用包括页面,密使(emissary),和封地(fiefdom)组件。页面组件包容通常用于反映与服务器联盟通信的特定客户设备的用户界面的控制。密使组件一般将客户描述给服务器联盟。封地(fiefdom)组件拥有组成应用的主要资源的数据。这些组件一般通过发异步消息互相通信。这些消息可由组件内部的逻辑产生,由组件内部产生的事件产生,或响应于从其他组件接收的消息而产生。
平台依赖于模式使通信有意义。模式是一组规则或标准,它们确定如何能构造特定的数据类型。因此,联盟的计算机系统使用模式来识别,符合特定结构的数据表示出整个联盟中使用的特定典型的项。因而,数据的意义而非数据本身可以在各计算机系统之间通信。例如,计算机设备可以识别:遵循特定地址模式的数据结构表示一个地址,使计算机能“理解”地址的组成部分。然后,根据该数据结构表示一个地址的理解,计算机设备完成智能的动作。例如,那样的动作能包括向用户提出活动菜单,它表示用地址要做的事。模式可以存储在设备本地和/或全局地存入联盟的“海量存储器”。设备能保持本地存储的并由预约事件通知服务(在此情况是模式更新服务)更新的模式,当模式更新时,事件通知服务自动地将消息送到该设备。访问全局存储的模式由安全性底层结构所控制。
用户与设备的交互主要通过用户界面发生。本发明的用户界面(UI)是多模态,智能和应答式的。用户界面近似地缩放各种客户和服务器设备的技术能力。用户界面还记住不同设备用户的状态,会话和偏爱情况。因此,用户可以从一个设备切换到另外的中间会话(mid-session)而所有的状态和偏爱信息保持一致,或者不同用户可以共享同样设备,并根据他们的偏爱用不同的界面表示。在用户通过安全性底层结构认证他们自己以后,用户的偏爱信息能通过目录服务访问,而目录服务存储由模式指定的用户特定信息(如爱好,联系等)。用户界面也是多模态的,意味着用户能通过多种模式与UI互动。例如,用户的输入能通过如键盘输入或鼠标点击那样“传统”方式进行,UI也允许其他输入方法,如对装有麦克风的设备的声频/语音输入或对装有触摸屏或垫的设备的触针/接触输入。
在平台中的事件用于同步,报告或提供有关某些活动的通知。平台的事件组件包括事件源,它产生通信到遍及联盟的事件汇点的事件。系统包括事件组合机构,它将原子事件转换成渐进的高级事件,甚至包括推理机制,它通过有关输入事件的逻辑或概率推理,将输入事件转换成更高级事件。事件组合机构使一组可用的原子事件调整成与软件组件信息需求相匹配的观察,为这些组件提供恰当抽象水平的信息,以便作出好的决策。事件通过下列若干机构能被软件组件访问:1、软件组件对一个或多个事件源提供的某类事件的订阅;2、对一个或多个源的间歇性轮询;或3、事件源听取事件的广泛广播。对任何这些访问事件的方法,事件通过发消息的底层结构可以被应用软件访问,尽管消息传输类型可能依赖于事件类型。例如事件能与等待时间的不同容忍度相关,使得事件的通信受与发送延迟相关的代价的指导。为此原因,关键任务(mission-critical)服务器关闭的事件通知需要保证即时送到目的地。如用户大致位置的改变那样的事件可以与较低的延迟代价相关。而且,用户界面能以正比于通知紧迫性的方式通知用户特定的事件。例如,网络管理员可以接收服务器关闭的紧急弹出消息,或年青人可以通过即时消息或聊天界面接收他的一个朋友在某区域的通知。事件通知也由认证及授权机构控制。
消息发送组件160是可以经过平台交换事件和其他信息的机构。消息发送服务使用包括HTTP的各种传输协议的任一种,在因特网上提供有效及可靠的消息发送。消息发送底层结构为应用开发者建立标准界面,用于编写利用消息发送服务的整体结构和与本发明有关的其他特征的应用软件。消息发送可以异步地发生,使得能持续更新网页而不必要求用户起动网页刷新。
存储服务考虑遍及服务器联盟的分布存储。如上讨论,用户的偏爱和文件可以存入联盟中的“海量存储”中,但在适当认证之后用户能使用任何设备从任何位置访问此信息。“海量存储”不需要全放在单个服务器上,存储可以根据效率,存储器分配,访问频率等在联盟的各服务器分布。存在服务器联盟中的信息也能本地复制,使用户能离线工作。当用户回到在线时,产生一个事件,触发离线和在线数据的自动同步。存储服务包括建立在传统文件系统基础上的数据引擎。优先化本地缓存的信息的方法以及允许根据上下文的改变和/或缓存信息的时效擦除缓存信息的方法能被用来使缓冲信息的价值最大化。
为了支持能借助各种服务容易地知道或识别用户的概念,提供了目录组件。本发明的目录服务通过包括每个企业或每个网站的元目录以及在诸元目录之间的同步支持联盟。借助用于目录之间的通信的标准化模式使同步得到方便。这些元目录提供对特定调整的目录的引用,其中可以找到更详细的信息。例如,目录可以包含用户识别信息(名字,地址等),安全信息(该用户被授权访问什么信息)等。
本发明的安全性底层结构提供在服务器联盟之间改进的安全性。为保证用户的可移动性和隐私,为具有多个识别符的个人提供安全性底层结构。例如,一个人可以具有专业识别和个人识别,本发明方便于认证和授权,其中这些多个实体可以被处理成单个实体。此外,描述了改善的放火墙技术,其中个人防火墙,周边防火墙,和安全性网关互相独立地运作。可以通过如口令,智能卡,生物学表征(指纹、视网膜扫描等),密钥交换,加密等技术的任何组合实现安全性。
本平台的一个目的是保证用户透明地访问他们需要的最近更新的应用程序的程序代码。本发明的程序代码管理系统包括描述应用程序结构的清单,包括代码,资源,入口点和对应程序及其组成组件的配置信息。代码管理系统允许符合编程模型的应用程序以有效的方式在整个联盟中部署并更新。
本发明的一个方面提供一种分布式计算服务平台,它分布于客户设备与服务器联盟之间,便于改善通信和通过计算机网络的进行协作,其特征在于,包括:
编程模式组件,其中遵循该编程模式的引用包括页面组件、密使组件和封地组件;
模式组件,用于识别符合特定结构的数据表示特定的项目;
用户界面组件,包括确定客户设备的用户界面能力的装置和提供与该设备的用户界面能力匹配的用户界面的装置;
事件组件,用于同步、报告或提供有关该计算机网络上某些活动的通知,并包括事件源、事件汇点和事件组合机构;
消息发送组件,用于使用各种传输协议中的任一种,在网络上提供消息发送;
存储组件,它既可以位于服务器联盟中的单个服务器上,也可以分布于联盟中的各服务器上,以提供对不同用户信息的海量存储;
目录组件,包括元目录和适配目录,其中元目录提供对特定适配目录的引用,而在适配目录中包括更详细的信息;
安全性组件,用于对具有多个身份的个体进行认证和授权;
程序码管理组件,包括清单,该清单描述了应用程序的结构,包括代码、资源、入口点和对该应用程序的配置信息,
其中每个平台组件松散地相互连接到其他平台组件,并同时连接至客户设备和服务器联盟。
本发明的另一个方面提供在包括与多个客户设备通信的多个服务器的服务器联盟中,完成一个请求的方法包括下列:
多个服务器的第一服务器接收对一个服务的一个请求;
第一服务器判定是否需要来自至少第二服务器的进一步信息,以便响应对该服务的请求;
第一服务器利用由第一服务器和第二服务器共同识别的模式构成对进一步的信息的请求,其中对进一步信息的请求的意义被该模式所隐含;
第一服务器使用与传输协议无关的信息发送底层结构传递对进一步信息的请求到第二服务器;
第一服务器接收从第二服务器来的响应,该响应包括进一步的信息;和
第一服务器使用进一步信息响应对服务的请求。
本发明再一个方面提供用于服务器联盟的第一个服务器的计算机系统,服务器联盟包括与多个客户设备通信的多个服务器,该计算机系统包括下列装置:
用于检测对服务请求的接收的装置;
用于判断需要从至少第二服务器来的进一步信息以响应对服务的请求的装置;
用于利用由第一服务器和第二服务器两者识别的模式构造对进一步信息的请求的装置,其中对进一步信息请求的意义由该模式隐含;
使用与传输协议无关的消息发送底层结构使对进一步信息的请求传递到第二服务器的装置;
用于检测从第二服务器来的响应的接收的装置;和
用于使用进一步信息响应对服务的请求的装置。
本发明又一个方面提供在包括与含有第一客户设备和第二客户设备的多个客户设备进行通信的多个服务器的网络中,一种便于在会话中在第一客户设备与第二客户设备之间转移的方法,该方法包括下列步骤:
检索存储在至少一个服务器的状态信息;
在与第一客户设备的会话中交互导致状态信息的更新;
将更新后的信息存入至少一个服务器上;
当会话在第二客户设备继续时,检索更新的状态信息;和
根据更新的状态信息在继续的会话中与第二客户设备交互。
本发明还有一个方面提供一种用于包括与含有第一客户设备及第二客户设备的多个客户设备通信的多个服务器的网络中的计算机系统,该计算机系统用于实现便于在会话中在第一客户设备与第二客户设备之间转移的方法,该计算机系统包括下列装置:
用于检测接收到存储在至少一个服务器上的状态信息的装置;
用于引起与第一客户设备的会话中的交互的装置;
用于响应与第一客户设备的会话中的交互而引起状态信息更新的装置;
用于引起将更新的信息存储在至少一个服务器的装置;
用于当会话在第二客户设备上继续时检测接收到更新的状态信息的装置;和
用于根据更新的状态信息引起与第二客户设备的继续会话中的交互的装置。
本发明的另外特征和优点将在下面描述中列出,部分从描述中就显而易见,或者可以通过本发明的实践掌握。本发明的特征和优点,通过在附后的权利要求中特别指出的装置和组合实现和获得。本发明的这些或其他特征从下面描述和附后的权利要求变得更加明白,或可以通过下面列出的实践中掌握。
附图说明
为了得到本发明的上述和其他优点和特征,将通过参考在附图中示出的特定实施例提出对上面简单描述的本发明的更具体的描述。应该理解,这些图只给出本发明的典型实施例,而不认为是对本发明的限制,将通过使用附图更具体详细地描述和解释本发明,附图是:
图1示出为本发明提供合适操作环境的结构。
图2示出用于应用程序的编程模型,该应用程序能在图1的结构上以分布方式实现。
图3示出按本发明的模式存储和模式服务。
图4概略示出按本发明的用户界面。
图5概略示出事件系统,它按照本发明在多个事件源和事件汇点之间提供事件通知。
图6概略示出为使用本发明的消息发送结构。
图7概略示出为使用本发明的存储结构。
图8概略示出为使用本发明的目录结构。
图9示出使用图8目录结构的示例性通信流程。
图10概略示出为使用本发明的安全性服务。
图11示出显示全局识别符如何用于维持概况信息的数据结构。
图12示出为使用本发明的改善的防火墙配置。
图13示出为用于软件开发的代码管理清单。
具体实施方式
A、引言
本发明涵盖包括分布网络服务平台的方法,系统和计算机程序产品,该平台方便于更多的基于因特网的协作和网站之间的通信。本发明的各种结构组件可分布在各种专用或通用计算机设备上,包括各种硬件组件,如个人计算机,服务器,膝上型设备,手持设备,移动电话或类似设备,下面将作详细讨论。
在本发明范围内的实施例还包括计算机可读介质,用于携带或具有计算机可执行指令或存储在那里的数据结构。那样的计算机可读介质可以是能由通用或专用计算设备访问的任何可用介质。借助例子(但不限于此),那样的计算机可读介质可以是物理存储介质,如RAM、ROM、EEPROM、CD-ROM或其他光盘存储器,磁盘存储器或其他磁存储设备,或任何能用于以计算机可读指令或数据结构的形式携带或存储所希望的程序代码装置并能由通用或专用计算设备访问的其他介质。当信息经过网络或其他通信连结(无论是硬件连线,无线,或它们的组合)传输或提供给一个计算设备时,该计算设备把连结恰本地看作计算机可读介质。因此,任何那样的连结被恰本地称之为计算机可读介质。上述的组合也应包括在计算机可读介质的范围内。例如,计算机可执行指令包括使得任何通用或专用计算设备完成某个或一组功能的指令和数据。
在此描述中,本发明的可实现的总体结构首先在体系结构段落中描述。然后列出的段落描述该架构的若干技术组件的每一个,这些段落包括:编程模型,模式,用户接口,事件,消息发送,存储,目录,安全性,和程序编码管理。最后,在情况景段落描述各种情况,说明了该架构和技术组件如何方便了改善的因特网通信和协作。
B、体系结构
图1概略地示出可以实现本发明的操作环境100。客户设备110具有广泛的处理和存储能力。例如,客户设备110包括“胖-rich”客户端(如胖客户端112),它能完成高级数据处理,如台式个人计算机;和“瘦-thin”客户端114,它们有较小的处理数据能力,如移动电话和寻呼机。可以理解,胖客户端和瘦客户端之间的区分是一个范围;例如有许多设备(如手持或薄型PC)落在这些范围之间。
不管客户端的设备类型或处理能力,大多数客户设备能由用户以在线或离线状态操作。在线操作时,每个客户设备可以通过本发明的分布式计算服务平台115与服务器联盟120通信。概念上,服务器联盟120包括如通常称之为“因特网”125的计算机系统广域网,和一个或多个如公司企业网130那样的专用计算机网络。联盟中的服务器(即在因特网上的服务器140a,140b和在公司企业网130中的服务器140c,140d)也经平台115互相通信。
从概念上说,平台115包括若干包含技术和服务的平台组件,包括编程模型组件135,用户界面组件140,存储组件145,目录组件150,事件组件155,消息发送组件160,安全性组件165,模式组件170,和程序编码管理组件175。虽然在图1中示为概念上截然不同的,可以理解,每个平台组件135,140,145,150,155,160,165,170和175可以遍布服务器联盟120和客户设备110。而且许多平台组件向客户设备110和服务器联盟120提供服务。每个平台组件松散地连结到其他平台组件,如箭头180所示,使平台115能提供综合的技术和服务。平台115的分布式性质和支持服务以及平台组件的集成有助于并便于本发明的高级特征和优点。
服务器联盟120的服务器140和客户端110,在保持一定程度的自主性的同时,通过使用跨越与传输协议无关的消息发送底层结构的公共模式的有意义的通信和信息交换被集成,如由下面更详细讨论的模式平台组件170和消息发送平台组件160提供的那样。双向箭头190表示发生在服务器和客户端中的通信。双向通信使客户设备110能从服务器联盟120读,写到那里,以及与之互动。本发明可以使用任何能按照一个模式双向通信数据的通信机构实现。在一个例子中,通信经可扩展的标记语言(“XML”)格式发生,它能进行名字/数值对通信。
在某些情况,在客户设备110和服务器联盟120之间的通信也可以是单向或“只读”。单向通信是当今在因特网上主要的通信方式。在此类“只读”通信中,在发布者建立并发布了一个网页之后,因特网本质上用作表示工具,使用户能读出在网页上的信息。允许这样表示的技术包括允许和无线设备通信的无线应用协议“WAP”。而且称为超文本标记语言(“HTML”)的网页格式便于从网站下载信息。信息然后被分析,提交并在客户设备上表示。但是本发明的平台115扩展传统的网页表示模型以便于丰富的,交互式的双向通信。
平台115允许在联盟120中的服务器140合作地共享信息和/或完成功能。不是每个服务器必须自行收集和编译信息,相反服务器依赖容易得到信息的其他服务器来实现有效的工作分担。然后用户得到丰富的信息而不必考虑为产生此丰富的信息发生在服务器联盟中的错综复杂的服务器间通信。例如,服务器联盟120中的服务器140可以交换信息,使得从一个服务器来的股票价格表显示在客户设备110的用户界面的一部分中,从另一服务器来的新闻评论显示在客户设备的用户界面的另一部分,而从又一个服务器来的即时消息显示在客户设备的用户界面的另一部分。
在服务器联盟120中的服务器140使用标准的数据结构或由模式平台组件170提供的模式进行通信并共享信息。模式便于在服务器与应用之间进行更有意义的互动而不只是在服务器之间交换信息。此意义的识别使服务器能根据信息识别的意义完成功能。若应用软件将信息识别成意义,如给定实体的地址,则应用软件根据识别的意义完成某些功能。例如,应用程序能自动地用地址信息填入对应于特定实体的模板的地址字段。应用软件也能检测到邮编或州名在地址中丢失,因而自动地询问其他服务器有关丢失的信息,使得所有地址字段自动填满而不需要用户干预。由于每个服务器识别与数据有关的意义并随后根据该信息动作而不必人的干预,在此方面每个服务器是智能的,因此在服务器之间的合作更加有效。
C、编程模型
图2示出平台115的多层编程模型组件135。编程模型描述,一个应用200如何能不同程度地在图1的客户设备110和服务器联盟120中分布。一个“应用”定义为一个软件体,它完成一个功能并可以包括一个网站。在分布式应用中,应用的组件能存在客户设备中,而其他组件是网站的部分。通常,应用200由一系列应用组件组成,包括页面组件210,密使组件220,和封地(fiefdom)组件230。页面组件210包括反映用户界面的控制或担当适当的客户设备110。密使组件220通常表示客户端到服务器联盟,因此充当客户端和服务器联盟之间的密使。封地组件230最直接地控制组成应用200的重要的资源的活动数据。单个应用可具有变化数目的组件(如多于一个页面组件)。而且有些应用可以没有所有组件。
根据客户端的能力,页面和密使组件可以在客户端或服务器联盟上运行。在只有少量或没有处理能力的瘦客户端,页面和密使组件更有可能在服务器联盟上运行。在具有较强处理能力的胖客户端,如台式个人计算机(PC),页面和密使组件更可能在客户端运行。
这些应用组件的每一个,如页面,密使和封地,包含逻辑240的本体(即计算机可执行指令),它们用于通过消息发送组件160从一个组件到另一个组件发送和接收异步消息。例如页面级逻辑240a用于从页面组件210通过消息发送队列到250a将消息异步发送到密使组件220。密使级逻辑240b用于将消息从密使组件220经消息发送队列250b异步发送到页面组件210。密使级逻辑240也用于将消息从密使组件220通过消息发送队列250c异步发送到封地组件230。封地级逻辑240c用于将消息从封地组件230通过消息发送队列250d异步发送到密使组件220。因此,异步信息交换在应用200的页面,密使,及封地组件之间发生。按照消息发送组件160,消息队列在组件之间为发送消息提供可靠的通道,并支持各种发送语义(即保证为只有一次提交,事务的提交和不保证的提交)。消息经模式(如XML模式)定义。
在每个应用组件中的逻辑240的本体也用于包容控制260。通常,控制表示能被程序组件访问的功能性,且可以是程序组件的功能性的一部分。例如,页面级逻辑240a包容控制260a,密使级逻辑240b包容控制260b,而封地级逻辑240c包容控制260c。每个控制260展现出可调用的方法,可同步读写的特性,以及事件,这些事件可以异步地爆发,引起杂页面,密使和/或封地组件中的逻辑执行。通常,由控制触发的事件是低级事件,如引用在一个对象上的方法。因此,当组件接收到一个消息时它产生事件,引起执行组件中代码。
页面组件210使用页面级逻辑240a直接并同步地操纵控制260a以便反映用户界面或经历。依赖客户端用户界面的能力,页面组件可以安静地重定向引用到特定的与客户端兼容的页面的版本。例如,一个页面可能适合于胖客户端,另外的页面可以迫用于瘦客户端,如电话或其他那样的设备。页面组件210可以使用客户的统一资源定位符或URL识别客户的识别符,并因此重定向到合适的页面版本。但是不论哪个页面版本,用户界面对广泛的用户设备表现出一致性,虽然在该页面的较丰富的版本中某些特征将被呈现或更充分地开发,这将结合下面用户界面组件来讨论。
页面组件也能根据实现该页面组件的设备的处理能力调用不同的页面版本,而不管客户可用的用户界面。例如,若页面组件在具有很强处理能力的客户个人计算机或服务器上实现,则页面组件可以重新定向到使用户能与页面做广泛的交互活动的丰富的控制页面。相反,若页面组件在瘦的不太强壮的客户端实现,页面组件可以仅重新定向到HTML的页面版本,它通常包含很少(若有的话)控制特征,允许用户与该页面互动。
密使组件220封装一个逻辑240b的本体,它能同步地与控制260b互动。逻辑240b也设计成以标准的方式抽象地向服务器表示客户,而不管客户的设备是什么样的。密使组件可以访问由封地组件公布的只读数据,并将那样的数据存入复制数据存储271。密使组件还包含每个用户的读/写数据(R/W),如购物记录(cart)数据,那是存在R/W的每个用户的数据存储区272之中。逻辑240b的本体可以响应从消息队列250a或250b来的进入消息而执行。
封地组件230封装逻辑240c的本体,它逻辑上“拥有”存储在活动数据器280中的活动数据。逻辑240c的本体响应从与封地组件相关的如密使组件220那样的密使组件接收的消息而运行。封地组件230在请求访问服务的任何密使组件上实现安全性服务。
在应用软件中的每个组件维持有关直接用户和会话状态的状态信息。因此,每个组件支持用于那些用户和会话状态信息的复制的对象。此状态信息可以通过支持那样状态信息的通信的异步消息发送与在应用软件中的其他组件共享,因此,每个组件可以觉察用户界面在会话的任何给定点的状态。此外,每个组件可以觉察用户的偏爱。
现将描述编程模型组件135的优点。在应用软件中的组件能够异步消息发送。因此,为了接收消息,组件不必显式地请求信息。而且为了发送包含这样信息的消息,组件不必接收对该信息直接请求。因此,编程模型支持发送消息到页面组件(因此更新用户界面)而用户不必直接更新网站。因此,页面可以表示为异步用户界面,其中当页面组件从密使组件接收消息时,页面自动更新。而且在那样情况下,密使组件不需要访问复制数据,因为活动数据可通过封地组件得到。
此外,编程模型包括在发生定义的事件时可以异步触发的控制,从而导致执行在组件中的逻辑。此逻辑可以响应此事件发送异步消息到其他组件,使在应用软件中的任何组件能响应定义的事件而执行。因此,应用软件是高度事件驱动的。这些事件可以驱动在该应用程序的任何组件中的方法被异步执行。
例如,封地组件可以包容一个控制,它配置成在任何包含预定词的新的文章加入数据库时触发。事件的触发能引起封地组件通过密使组件发送一异步消息到页面组件。响应于此异步消息,页面组件可以提交通知消息用于在客户端表示,然后通知用户有新的文章。例如,若客户设备是瘦客户,用户界面可包括小的通知窗,指出存在那样新文章。若客户设备是胖客户,用户界面可以在屏幕上显示整个新文章。任何一个或所有的页面、密使、或封地组件可以根据同样事件进行其他动作,如组成电子邮件将文章发送到对包含此预定的词感兴趣的同事。因此,编程模型启用了用复杂的事件驱动的应用。
而且编程模型便于客户端和服务器联盟之间灵活地放置这些组件,并允许在线和离线使用该应用软件。例如,应用软件可以构造成允许在线或离线执行。这可以通过将页面组件直接包容在客户端,而直接与密使组件通信的那些页面组件也包容在客户端。在离线时,应用软件访问复制数据存储器271中的复制数据,而不是在活动数据存储器280中的活动数据。一旦在线,访问被恢复,密使组件发送排队的更新到封地组件,且更新复制数据以反映由封地组件管理的活动数据的现状。
应用软件也能如此构成,使得所有组件,页面,密使和封地都包容在服务器联盟中。在此情况,客户端必须与服务器联盟连线,使能访问页面,密使和/或封地组件的服务。
此外,在离线时,应用软件20某些部分可用(后面称为“离线部分”),而应用软件的其他部分仅当客户端在线时可用(以后称为“在线部分)。启用应用软件离线组件的页面和密使组件由客户端包容,而启用应用软件在线组件的组件由服务器联盟包容。
因此,本发明的分布式计算115服务平台的许多其他技术组件可以按照编程模型组件135实现。
D、模式
使能进行更多基于因特网的合作和网站间通信的一个方法是经由更有意义的数据通信的方法。有意义或智能的通信提供了比单纯数据更多的内涵,还提出了数据为何通信及通信什么的暗示。这可以通过以标准方法或“模式”构造数据来实现,如通过标准数据结构,协议,通信传输,和其他结构化的数据交换。存储在客户设备110,服务器140中和/或按存储组件145存储的信息可以按照模式存储。当在服务器之间,在服务器联盟120之中,在服务器联盟120和客户端110之间,和在平台组件之间通信信息时也使用模式。此外,在图2的应用软件的各组件210,220,和230之间通信的异步消息可使用模式通信。
在许多情况下,用户希望使用从多个应用软件和数据源来的数据建立报表,分析进展,预测需求或检测操作环境的变化。不幸的是,此类数据虽然经常可用,但常被发现是完全不同的格式,因为每个应用软件通常使用它自己的模式组。换言之,虽然应用软件描述相类似的数据类型,如接触和时间,这些数据类型常常对不同的应用软件采用不同的词并具有不同的属性。因此,传统上需要专门的翻译或输入/输出功能,以允许遵循不同模式的应用软件进行通信。
为了促进在服务器联盟120中的通信和合作,本发明的模式和模式服务组件对包罗万象的数据结构提供在服务器联盟120上交互及合作的基础,这些数据结构如:日期,地址,药方,上演时间,产品描述,价格,收据,偏爱,医疗记录,电影回顾,或其他有关数据类型。
通用模式可能是不现实的,因为不同的应用具有不同的需要和传统,而且需要支持跨平台的应用软件。取而代之的是,本发明的模式组件170试图定义“核心模式”,它们是只只定义大多数应用软件共同拥有的事物最小公共模式。核心模式可以扩展,可以定义描述对有利于数据交互及协作有用的重要数据的新模式并将其加到下述的核心模式中。此外,模式可以在网络的不同层上起作用,包括操作系统或客户端设备的用户界面以及图1中的服务器联盟。
有若干类核心模式,包括:(I)基本类型,(II)社会类型,(III)商业类型,(IV)系统类型,和(V)应用类型。
(I)基本类型用作对其他类型的基本构成块。示例性的基本类型包括如对象,项目,容纳文件,数据库,文件夹,消息,文本,或其他基本数据结构的类型。将由不同的应用软件使用的各种模式翻译成基本类型模式可由下述翻译过滤器完成。
(II)社会类型表示或描述在日常任务及交往中使用的项目。示例性社会类型包括的项目如:联系,简况,日历,任务,时间,位置,财务,和其他社会交换的信息或识别。类似于基本类型,可以建立翻译过滤器,将不兼容的数据结构改变成社会型模式。
(III)商业类型用于描述在商业环境和商业到商业(B2B)交易中的共同事物。示例性商业类型包括的类型如产品,帐单,客户,雇员,分销商,零售商,供货商,和其他业务数据。
(IV)系统类型定义用于管理系统的信息结构。示例性系统类型包括的类型如策略,时间表,服务,设备和其他与系统有关的信息。
(V)应用类型定义应用和服务的结构。示例性应用类型包括的类型如应用清单,组装件清单,和COM+类型描述。系统和应用类型是基于系统和硬件配置特有的信息。
模式组件170还提供若干模式服务292,用于存储,查找,咨询,发布和共享模式信息和数据。参考图3,模式存储器290是收集和共享模式信息的地方。例如,模式存储器290能包含核心模式类型的描述和在已知模式及核心模式之间的映射。在本发明的一个实施例中,模式是XML模式并在模式存储器290中由模式描述语言描述。(模式描述语言的一个例子是XSD,为了本发明使用可以扩展)。模式存储290是本发明的存储组件145的一个范例(在下面详述)。因此,模式存储290可以分布在整个服务器联盟120。虽然模式存储290不是应用软件存储模式的唯一的地方,但通过将模式存入此处,应用软件能保证,模式服务292和使用它们的应用能够发现该模式并用该模式工作。应用软件也能本地复制和存储模式,并使用下面更详细描述的模式存储290和模式服务292更新它们。对模式存储290和模式服务292的访问能受由安全性组件165提供的各种安全性认证,授权和防火墙服务的控制。
模式服务292通常包括模式登录服务,它是应用软件存储,寻找,查询和发布模式信息的机构。例如,模式存储290可以通过如模式登录服务收集和引用各种模式,而模式登录服务可以包括如模式登录API(应用编程界面)。模式登录服务允许应用软件从模式存储中增加或擦除模式信息。
模式服务292还包括模式更新服务,它允许管理员,操作系统,或其他背景模式调解器更新模式。模式服务292还可以包括分布式模式服务,以便通过遵循在范例数据中的引用而取得不是一直存储的模式。为便于此服务,模式可以按照存储组件145存入整个服务器联盟120,且能使用事件组件155通知应用软件何时发布新模式,从而允许全局的模式分布。模式服务292还可包括模式有效性服务以维持模式的完整性和一致性并映射到存储中。此服务提供模式描述语言的结构有效性,校验冗余的和冲突的实体,和在模式之间关联性的的一致性验证。模式存储290还依赖本发明的事件组件155,以便向模式提供改变的通知。模式存储290还可以依赖本发明的消息发送组件160,作为分布更新,事件,订阅和通知的传输。
例如,本地模式存储能订阅模式更新服务以更新核心类型和模式。一种配置使用对象管理器支持对模式事件的登录,允许感兴趣的用户检测何时发生某些相关模式的改变。本地模式存储能订阅一个或多个源用于更新。更新服务为模式存储预提供核心类型(如个人和时间),并映射如MAPI,vCard,LDAP和WMI那样的公共模式到这些核心类型。企业能包容类似的更新服务以维持在他们组织网络中的模式存储。
模式转换服务(也是模式服务292的部分)使得采用不同模式的应用能共享意义。示例的模式转换服务包括模式适配器服务,模式识别器服务,和模式映射服务。模式转换服务通过提供共享机制识别数据并通过将一个模式的数据转换到另外模式而允许应用程序动态地支持新的模式。模式转换服务使得应用软件更容易理解广泛的模式,增加各应用软件的强壮性和一致性,并通过提供共享机制来识别数据以及将一个模式的数据转换到另外模式的数据而允许应用动态地支持新模式。
例如,模式适配器服务使得可能用不是用如XML那样的标准化语言构造的数据工作。模式适配器服务接收非XML数据并将其转换成XML数据或用于与模式通信的任何其他类型数据。
模式识别器服务识别数据范例的模式类型,使得应用软件知道如何处理该数据。模式识别器服务接收XML数据或明文作为输入。对XML,模式识别器服务使用标准的存储询问服务294询问模式存储290,以确定模式类型,使用XML名字空间使可能性列表变窄。为了从明文推论出模式类型,模式识别服务依赖于自然语言服务,它们轮流使用模式存储290。一旦知道模式类型,应用软件可以使用此信息提供它自己的用户界面或启用系统范围的用户界面。
模式映射服务取出一个模式的XML数据,根据在模式存储290中定义的映射转换数据,并返回以另外模式的XML表示的数据。在一个配置中,由带有写入口和写出口功能的应用软件使用模式映射服务,并常常结合模式适配器服务。
驻留在模式存储290中的模式能描述应用,脚本,组件,方法绑定或数据源,它们能用于作用于或表示特定的模式类型。例如,一个应用软件可以提供标准的用户界面以显示特定模式类型的数据,而另一个应用软件可具有对那个数据操作的商业逻辑,对给定的情景哪个动作是合适的,这取决于用户的对前后情况的偏爱。这些模式服务与用户界面组件140合作使能得到若干终端用户特征,如动作菜单,自动完成,和智能剪贴板拖放(下面描述)。
动作菜单特征提供在任何应用程序中的一片数据上可采用的动作的选择。在一个配置中,这些可采用的动作以“factoid-事实id”的方式提供,允许用户选择或不管它们。一个应用软件使用存储询问服务294询问模式存储290有关特定数据类型的登录行动。检索到的动作被用于产生动作菜单,例如,当用户点击一个地址,应用软件询问类型“地址”,且模式存储290返回如“打印信封”或“画出此地址”之类的动作,这被提供在上下文菜单中。动作菜单API允许开发者列出此菜单和其他在他们应用软件中的应用软件专有的动作。对于在模式存储中每个核心类型预提供的行动菜单可以显示在操作系统,因特网浏览器和各种活动应用之中。
模式服务也能够增强现有的“自动完成”特征;它通过表示从数据源来的列出可能值的选择使得用户较容易填满网页表单和文档中的数据字段;向用户表示的可能值的列表可以根据在模式存储290中的登录。例如,当填了一张“Evite-电子邀请”邀请朋友参加一次聚会,电子邮件地址字段将从用户的联系表中提供地址表,它通过在模式存储290中的登录绑定到了电子邮件地址属性。同样的功能可通过起他应用软件列出以提供对书信,发货清单,电子表格,邮寄类表,数据库,或其他文档的自动完成。同样的值列表在任何选择列出此功能的应用软件中显示。
智能剪贴板拖放使用模式转换服务以允许数据在使用不同模式的各应用程序之间交换。因此,模式转换服务增强了现有的拖放和剪贴板例行程序以便在支持不同模式的各应用软件之间移动数据,而同时保持对数据表示什么的共有理解。
因此,与如事件,消息发送,存储,模式,安全性那样的其它平台115技术组件一起工作的模式组件提供在客户和服务器设备之间共享有意义的信息的机制。
E、用户界面
图1的平台115的用户界面组件140提供了跨越各种客户设备的多模态的,应答的和智能的用户接口。图4概略地示出了用户界面组件140。
用户界面组件140提供多模态用户界面(UI)意味着用户能通过多种方式与UI交互,且这些方式能频繁地无缝地改变。用户界面组件140包括允许多模态输入输出的先进输入/输出组件400。输入/输出组件400能使用如键盘键入或鼠标点击那样的“传统”方法接收用户的输入。例如,输入/输出组件接收文本402。但是此外,UI也允许其他输入方法,如装有麦克风的设备的声频/语音输入(如声频/语音404),对装有触摸屏或触摸垫的设备的触针/触摸输入,对具有手写输入能力的设备的手写输入(如手写406)。如双向箭头408所示,输入/输出组件400也能提供如文本402的传统输出,和如声频/语音404及手写406那样的非传统的计算机化的输出。
输入/输出组件400还结合在将信息输入到设备中时特别有用的各种转换技术。那样的转换包括将用户的声频/语音输入转换成文本的语音到文本技术。例如当用户在开车或缺乏打字能力因而不能或不方便使用传统的打字输入文本时,此转换是有用的。对输入有用的其他转换包括手写到文本技术,它将用户的手写触针/触摸输入转换成文本。当如键盘那样的文本输入装置不包括在设备中时,这样的转换便于文本输入。
例如,是输入板形式的个人计算机(即“输入板PC”)是一种允许使用如触针直接在屏幕上书写的手写输入由设备。然后输入板PC使用输入/输出组件400将手写转换成文本,使文本能以纸面书写不可能的方法编辑。例如,在段落之间可以插入间隔以便加入注释。输入板PC可以按照需要显示手写体本身或手写体描述的文本。
除了“传统”文本和图形显示以外,输入/输出组件400还能以多种方式向用户表示数据。例如,UI可以引入文本到语音技术,将文本(如键入的电子邮件消息)转换成声频(在设备上通过扬声器“读”该消息)。而且语音邮件能与基于文本的电子邮件消息一起加入到统一的消息对象中,在需要时语音到文本的转换使此语音邮件转换成文本。
多模态用户界面使用户根据用户的现状和周围情况与各种设备交互。例如,在使用如PC那样胖客户端时,用户能选择让她的消息通过视频/声频显示并通过文本回答。但是,在她的车内,用户可选择使她的消息只用声频播放并用声频回答。
根据用户特定统一的用户界面门户概念使能进行自然语言通信。示例性统一的用户界面门户概念包括输入串的分析,经逻辑形式匹配的匹配概念,与结果一起的恰当的类似语言的句子的产生,根据对用户定制的搜索参数进行的有帮助的反馈,能在多个完全不同的数据库存储上智能执行的搜索底层结构(其中用户的传统存储位置设置有优先级)。
除了多模态以外,用户界面组件140是应答的,因为它能根据用户的状态和上下文在一系列客户设备110上作适应或改变工作。例如,用户界面可按照用户的偏爱和会话状态进行配置和加工,使得若用户在会话中从一个客户设备切换到另外一个,用户能使用带有用户界面的其他客户设备继续会话,用户界面在各客户装置上显现出一致性(管理可能作修改,这在下面讨论)。
参考图4,偏受信息可以存入在服务器联盟120中的MyState适配目录905中。当用户在客户设备上工作时,会话状态信息定期地在MyState目录905中更新,当用户在使用安全性组件适当认证以后切换到另一客户设备时,将偏爱和会话信息提供到新的客户设备。偏爱信息使得新的客户端的显示与老的客户端一致,此外,会话状态信息使新的客户设备继续该会话而放弃老的客户设备。
用户界面还适本地和平滑地缩放客户设备的技术能力。例如,移动电话由于在输入键和显示区域方面的空间限制,在它们的用户界面上是有明显的技术局限,这些移动电话的用户界面应降低,以强调此用户界面的最重要的特征。因此用户可以在会话中从胖客户个人计算机移到瘦的客户移动电话,虽然移动电话的用户界面提供更有限的用户会话感受。在客户设备之间的平滑缩放可以通过使用由编码管理组件175提供的清单实现,这在下面详述。例如,清单可以描述为在客户设备上显示所需的最小用户界面特征并描述当所有组件不能在该客户端显示时要显示的用户界面特征的优先级
参考图4,有根据客户设备的能力而定的客户设备可用的用户界面的整个型谱412。此型谱对具有很好多模态能力和可得到处理能力的客户设备有很丰富的交互式UI页面组件(如页面组件R)。该库还包括对具有较差用户界面及较低处理能力的客户端的瘦页面组件(如页面组件T)。图4中示出的用户界面UI是从此型谱412某处的页面组件414取出的。
而且,用户界面智能地响应用户的动作,例如如上所述,用户界面组件140结合模式组件170(和模式服务292)向用户提供“智能标签”的动作菜单,若用户键入一个地址(在网页,文挡或联系表中),模式服务292使该地址被识别成地址并随即提供一个热标签,智能标签可以通过用如兰色下划虚线那样的明显标记标出被识别的项目来表示。
用户随后可以借助如点击鼠标右键来选择标出的地址,以得到适合于识别的项的类型的动作菜单。例如,对识别成地址的项的动作菜单可以提供看一个地图,打印地址标签,加到联系表等能力。一个合适的动作可以包括使用该地址找到如包括该地址的地图此类更多的信息。这样做时,用户界面可以通过目录服务组件150咨询可以得到的地址服务。
而且,用户界面可以检测到用户在键入,并因此将用户界面特征集中在文字处理活动,例如,键入可以触发事件,导致用户界面判定用户似乎试图进行文字处理,那样的事件触发和推理组合由事件组件155提供。
用户界面还能具有统一的命令行,它可用于完成搜索,导航到一个网站,访问文件系统中的文件,或完成自然语言的询问及命令。在较佳实例中,统一的命令行能在每种设备类型上以某种格式提供。在进行询问时,用户界面组件140使用智能的反馈过程对命令,控制或逻辑处理的执行引起说明或寻找确认。例如,用户将“How’s the market doing today?-今日市场在做什么?”键入统一命令行中,在此问题中有某些多义性和/或含糊处,然后用户界面组件140可以响应说“What index are you interested in?-你感兴趣什么指数?”用户随后在命令框中键入“Dow Jones-道·琼斯”。用户界面组件140然后具有足够信息说出答复。为了在命令行中返回请求的信息,用户界面组件140必须结合存储和消息发送组件来检索信息。
统一的命令行也能用于完成自然语言命令。例如,用户可以键入“Schedulea meeting with Joe Doe for 3:00-安排与Joe Doe在3点钟会面”。在用户界面组件140说明了会见日期,时间长度和地点后,用户界面随后咨询Joe Doe的日程表,那样的访问John Doe是否已接受。若由John Doe建立的规则和偏爱允许以请求的时间,地点和请求的时间长短安排会见,那么在将John Doe的日程表和请求者的日程表中安排该见面。
统一的命令/搜索行分析且公布(Brokers out)的对由本地及在网络上提供的服务询问或命令。它存在于用户界面中的一个地方,以同样方法访问,无论它们在哪里,所有输入形式(键盘键入,讲话,手写)都能由用户界面所接收。所有等级的情报-口令,布尔,和自然语言(摘录,名词,短语和/或很好形成的句子)也可由用户界面接收和处理。
用户界面组件140可以提供单个统一的对象,它识别一个终端用户是具有许多角色的人,如学生,雇员,经理,财经人员,病人,双亲,消费者和钢琴家。通过单个统一对象的用户界面将所有这些角色汇合在一起建立丰富无缝的感受。
用户界面组件140的统一门户允许终端用户定制和控制统一门户的设置,包括建立项目优先权,从而使在操作系统,文挡,和用于各种活动的应用软件之间的视觉差异最小化。
通过此种定制,用户界面组件140智能地提供和布置页面。此种定制以偏爱的形式存入MyState目录905。一旦用户登录到客户设备并对安全性组件165作了认证,服务器联盟120共同获得遵循这些偏爱的个性化信息(可能存在存储组件145的海量存储中),并经链路410向用户界面提供信息。
用户还允许定制和控制用户界面组件140的设置,以包括对用户的工作状态的觉察并相应地调节用户界面的样式。可能需要不同用户界面的示例性工作状态包括:用户在PC上工作时,用户离开办公室时,用户通过PDA或无线电话访问数据时,用户在家里、或其他与服务器联盟120连接的地点或电子设备上工作时。
用户界面还使终端用户能指令设备收集有关用户优先级的数据,包括消息和优先级的查明。例如,用户可以设置这样一个偏爱,使得从他们老板来的消息总被给予高的优先级并打断他们来接收这些消息。因此,从事件组件155来的关于消息被收到的通知可以根据这些偏爱被过滤。统一的对象处理程序也使基于网络的通信能将数据从单台PC贡献给社区项目。这在工作社区中特别有用,因为它使经理具有从他的PC门户控制内容的能力。
还能启用视窗共享和文档共享,使得当一个用户与通信列表中的某人通信时,双方均能激活视窗共享或文档共享,使得其他人也能看到正在讨论的视窗或文档。那样的视窗共享能通过访问在服务器联盟中的海量存储的文档并通过配置安全性设置使得其他人能通过安全性组件165恰当地访问该文档来予以实现。
用户界面还建立临时的模板,它允许用户迅速地重新利用现有报表和其他数据结构。此模板可以发布,分配,或通过统一的门户与工作社区的其他成员共享,或在企业网或因特网上公布。当在电子工作社区内工作时,模板的产生是有用的特征,使每个参与者能贡献最终产品。某些模板从每个工作社区参与者请求特定信息以完成报表。
用户界面还能使用“伙伴(buddy)表”,它带有关于如何可以连接或达到列出的个人的预定设置。示例性连接包括电子邮件,电话,传真,地址信息,视频会谈需求,无线通信门户,或其他通信机制。这些“伙伴表”由事件组件155产生,当一个人登录到特定设备时它触发一个事件。用户界面组件140接收这些事件并向用户示出他们。最后,用户界面允许使用标准个人的和日程安排的模式,使得异种系统可以无缝地通信。
用户界面支持个人设备的使用、与相关安全性设置中的用户对象的会议觉察、与本地的及分布式参与者之间的文件共享、将在本地设备用于即时访问的文档在网上传输的能力、在统一的用户界面门户上作出的对手写记号的响应、和最后作为事件调度的结果的通知触发。
用户界面是用户在各应用软件和通信之间无缝移动的中心位置。单个,统一的编辑/控制或编辑和控制允许用同一地方来包容在特定结构数据库上的查询,系统得到应用软件状态的觉察和访问合适的应用软件模型的能力。
系统提供“个人门户”用于提供对在PC上的应用软件和服务的访问。例如,它使用用户模式的知识以智能地填充并布置页面。它提供用户需要的关键连结,用于导航个人的,共享的和全局的信息,并用于运行他们的计算机。
因此,用户界面是多模态的,提供了在从用户接收输入并提供输出给用户方面的灵活性。用户界面也是响应式的,它恰本地缩放客户设备的能力并允许用户在会话中切换客户设备。用户界面是智能的,这在于它推断出在用户动作背后的目的,并采取适当的动作,如当用户界面识别特定的项目时为智能标签提供适合于该特定项目的有关动作菜单。
F、事件
本发明的事件组件155透明地方便了在任何发布或产生事件的软件组件(“事件源”)和任何预订或接收事件通知的软件组件(“事件汇点”)之间的事件分布式通信。在此说明书及权利要求中事件是有关一个或多个状态的观察,例如系统组件的状态,用户的活动,环境的测量等,事件系统使软件组件和结构能访问有关它们前后情况的不断更新的信息。
图5大致地示出了事件组件155,它提供在一个或多个事件源及一个或多个事件汇点之间的示例性事件通信。在事件源602以多种方式产生一个事件。事件可以由事件源602作为广播或作为到事件汇点604的直接通信而产生。事件汇点604能倾听或主动地轮询事件源602以接收事件。此外,事件汇点604能向事件源602预订或倾听从服务器联盟120中的中间点发送的事件。
事件组件155通过事件合成机构608将由事件源602提供的基本或原子事件606转换成渐进的高级事件。事件合成的过程是从一组观察到的事件和/或存储的事件数据构造新的事件或动作。事件合成可由规则,过滤器驱动,并由更先进的跨越复杂的型谱的样式识别到丰富的推理机构的模式识别器来驱动。因此,事件合成把可用的原子事件606的组改编成适本地匹配软件组件的信息需求的观察610,向它门提供正确抽象水平的信息,使其作出好的决策。
事件合成608汇集,过滤低级事件(原子事件606),并将其转换成高级事件612,并时常将事件直接映射成如世界活动614那样的活动。活动包括真实世界的活动614信息收集活动616,它用作经过主动地轮询或倾听来收集新的事件,事件合成608提供组合事件和数据的方法,而不管事件在接近的时间内观察到或在很不同的时间内观察到。可以使用事件专用的语言618和合成编译器620构筑合成组件,事件合成608可使用各种方法,包括从简单规则和过滤器来的复杂型谱到更丰富的瞬时样式匹配和直接的逻辑和概率推理以便组合事件和数据。
事件的使用者,如事件存储622,从低级(原子事件)或高级事件612进行推理624并根据这些推理采取动作,推理624的范围从简单的信息重新发送到逻辑的、符合贝叶斯判决规则的和决策论的推理,例如,有关用户的位置,活动,和活动设备的事件流能由Bayesian模型分析,以提供一组有关用户目标的概率,它们可轮流被用来作出有关最重要的服务及提供给用户的通知的理想决策。虽然图5将事件合成608示作与基于事件的推论624分开的,从低级事件合成高级事件的复杂合成机制在概念上与用于作决策的推论是溶合的。
事件组件155提出,事件能在整个服务器联盟120和客户设备100中分布、登录、和访问,并发生关于整个事件系统和子系统不同方面的“元推理”,它给系统赋予做自监控、控制和阻塞事件通信和接收的能力。元推理指的是保证事件系统健康和维护的方法和推理机制。
事件组件155允许任何事件源或汇点发布,预订或倾听正在广泛广播或在范围域内广播的事件。这需要在网络中间节点上的预订,分解和合成布局的智能分布及引导。事件组件使用安全性组件165的安全性服务以允许事件源,事件汇点和中间节点能够代表能力。
事件组件155设计成便于在其他情况下不相容的事件源和事件汇点中的互操作通信和优先化,同时保持高度的单个汇点/源的隐私和整个系统的安全性。事件组件155包括(但不限于)发布和预订系统,事件合成机构,事件引导机构,事件存储和登录机构,和事件系统元推理。事件组件155也使用模式和模式组件170提供的模式服务,以及通信协议和由消息发送组件160提供的服务质量。
事件模式是类别描述和定义物理事件结构的这些类别之间关系的集合。类别间关系包括事件类别,源,目标,语义,本体的内容信息,观察的可靠性,和事件源知道的服务质量属性。在较佳实施例中,类别描述是基于YML的模式类别。
事件描述使用表示其结构和约束的模式描述语言及表达时间安排行为及合成特征的描述样式语言。在模式语言中,事件结构是简单的。事件具有用于样式匹配和引导的公开外壳和私有的本体,本体用于私下传递端到端的数据。有了此结构,样式语言能使用范例数据和模式信息以便捕捉建立派生事件的高级语义和规则。
模式语言的使用允许比简单的基于名字的习惯更大范围的表示,单个事件被过滤及转换,而多个时间合成一起成为高级事件。样式语言包括一些操作符,用于合成和封装,临时关系,逻辑关系,字符串处理和XML操作,终点命名和拓扑描述,以及数学关系。该语言通过参数化方便了合成规范的重使用。
事件的模式是可扩展的。根据继承的较强的关系模型允许逆向可兼容的版本化。根据较强的可扩展类型系统,事件类型具有很好定义的特征。该模型是独立地使用标准的XML词汇描述的协议。除了事件模式以外,各种服务被模型化成包含分布式事件系统(如发布者能力模式,预订者能力模式,事件发送模式,拓扑,事件存储模式,合成和过滤等)。
模式化事件服务的服务/组件使得实现了互操作。发现,以及浏览事件服务所有组件的能力。模式化还使得具有统计上分析/优化合成情景的能力,审查/保存长时间运行的合成情景的状态的能力,监控事件服务的操作的能力,而且模式化用作为元推理的主要基础。
事件系统包括由基于模型的预定登录驱动的高度优化的发布和预定服务。事件系统提供了用于发布事件的服务的灵活性和选择,例如,使用核心驱动器编程模型的核心事件(如WDM驱动器事件),使用低级操作系统服务编程模型的用于发布事件的非COM API(如安全性审核事件,目录,服务控制管理器),对正常应用的典型COM接口,和使用本机的COM+编程模型的高级COM+类。
“事件预定”是当发生某个状态时事件底层结构通知预定组件的请求。那样状态的例子可以是“CPU的使用超过90%”,“过程A已停止”等。这些指令作为配置对象存入模式仓库。
每条指令包括两部分。第一部分规定关心的事件(过滤器)。第二部分规定响应此事件要进行的动作。过滤器包括确定关心的事件的语句。单个过滤器能触发多个动作。动作可以由一组用户定义的规则驱动。例如,用户可以规定,在电话谈话中的打断只能当她从某个高优先级发送者接收电子邮件时发生。这使用户能继续电话谈话而不被打断,除非用户要被打断。因此,用户可以通过规定工作时间侵入个人时间和相反情况的规则来平衡工作时间和个人时间。在打断是合适的情况,随后可以从海量存储提供电子邮件消息。以此方式,用户保持对她的信息和时间的控制。
根据租约的概念,预订具有可配置的有效时间。需要渡过系统重新起动的预订被存入模式仓库。但是,还支持短期廉价的事件预订。它们可以用简单的回叫和过滤配置,而不需要预订者实行可持续的绑定。
预订可以是点对点或点对组。在“当在区域X内的所有服务器失效时通知我”或“在区域X中安装应用软件Y的所有机器上登录所有安全插入件”的情景中,分布式服务是有用的。所以分布应用程序感兴趣的不是发生在单台机器上的事件而是发生在作为服务器联盟120的一部分的一组机器上的事件。这些情景需要预定被定义一次并自动分发到该组的某些或所有机器,并当新的机器加入该组时,预定自动应用于它。
在组中事件的分发预订由在目录组件150提供的分布式名字空间中的对象表示。那些对象也能包括路由配置,它命令转发服务应该把事件发送到什么地方,当新的机器进入该服务器联盟120,分布式名字空间的可用性保证完成了所有预订,且事件开始流向预订者。
预订建造者应能规定它们的预订需要的服务质量(“QOS”)。事件组件155结合消息发送组件160,以保证通过使用适当的传输参数和相应地引导业务的其余部分而满足QOS。(若规定了保证的提交,所有内部队列必须维持固定的QOS)。
在该环境中产生的事件数能够十分大。因此,事件提交的开销能造成很大的操作负担。为了使发布服务能缩放系统,无人期望的事件必须在事件的有效时间内尽可能早地丢弃。为此,有效的过滤服务针对突出的预订作事件的快速认证。但是现有预订的数目也可能很大。因此过滤服务根据如决策树那样的机构使用有效的逆向询问引擎。
除了过滤事件,事件过滤引擎对发布者提供预订分析服务。当预订者关心他们的事件以及当没有人再关心时,该服务通知发布者。对发布者作出规定使其完成它们能完成的任何过滤,而不提供无用的事件。
分布事件驱动的服务包括这样的情况,单独的事件不太重要,除非它们以某种顺序发生,或与某些数据状态一致。那样情况的例子是:“当所有备份控制器关闭时发通知”,“当服务器在负载较轻时崩溃5次的情况下通知”或“识别下述情况:用户在5秒范围内查询5个以上菜单而没有作出选择”。为检测这些组合,系统合成事件和数据。
事件合成服务608可以是由事件和数据状态驱动的状态机。在一个实施例中,每个合成服务在内部配置成描述状态转移的对象的组合。因为某些服务是十分复杂的,可提供合成语言或模板以简化设置合成服务的任务。下面是示例性情景:聚集类似的事件(如“在我公司里的任何SQL服务器上发生任何交易失败事件时呼叫我,除非那些发生在服务器关闭后的5分钟之内的事件”);合成事件和数据(如“当我在读一个电子邮件时若另一个到达,不要显示出来”);从事件随时间的变化计算状态(如“在昨天我的电子邮件排队长度的趋势是什么?”);和计数和活动监视(如“若在5分钟内无鼠标移动及无按键则通知我”)。
G、消息发送
本发明的消息发送组件160使客户设备110和服务器140能通信。术语“消息”推广到在应用软件或操作环境100的其他组件之间交换的结构化数据。消息发送的例子包括应用到应用的消息发送,个人到个人的消息发送(电子邮件),和合作的应用。按较佳实施例,消息发送组件160是启用HTTP的,且与包括DMZ的防火墙配置,负载平衡服务器,及NAT服务兼容。
为了便于互操作性,消息发送组件160提供公共的消息发送应用程序接口(API)和在HTTP,SMTP和/或其他传输协议顶层的一组服务,以便为消息发送应用提供公共的语义而不管底层的传输协议。以这样的方式,因特网及其他广域网被用于提供有效和普遍的消息发送,基本上不考虑与特定设备有关的传输协议,只要该传输是与公共消息发送API兼容即可。
此外,消息发送组件160在用户和它能支持的连接设备的数量以及它能使用的设备或网络的类型方面是可伸缩的。换言之,消息发送组件160很容易适用于从小的无线设备到“超大规模”网络及消息发送系统范围内的设备与系统。此可伸缩性特征表征为能够在允许小设备加入高服务质量(QOS)消息交换和复杂的分布式服务的消息发送平台上构筑消息发送应用。换言之,消息发送组件160在服务器上是高度可伸缩的,且能缩小到小的设备,这意味着有可能构筑合适的“小占地面积”子集。
与传统的消息发送系统相反,本发明的消息发送组件160使用平台消息发送结构。不是作为分层的产品,消息发送服务作为基本的平台基层存在,能由操作本发明的消息发送服务的实体或第三方对此平台写新的应用程序和基于消息的服务,一个例子是由事件组件155提供的分布式事件发送。消息发送组件160以这样一种方式定义,使得可以识别和包容基于因特网的协议并以共同的风格利用新的和现有的协议。此外,消息发送组件160将仅一次的依次消息提交提供给异步的,无连结的,存储和转发的可靠的消息发送。
消息发送组件160目标在于可靠地提交应用或服务定义的消息“点滴”,不同于觉察或取决于特定消息类型,消息内容,或服务协议的消息发送系统。消息发送组件160不直接应用取决于数据的路由模式,基于话题或主题的发布/预订底层结构,或其他消息转换服务的数据。
消息发送组件160为分布事件支持的传输层提供合适的基础。虽然消息发送服务还能用附加功能补充,本发明能在不需要消息发送服务确定完全的集成的事件系统的情况下实现。此外,消息发送服务不需要确定集成的高级发现消息的终点发现服务。
消息发送组件160的一个实施例现参考图6作更详细的描述。为了满足向应用软件,用户,硬件等对可靠和灵活的消息发送的要求,消息发送组件包括对所有消息发送活动的公共API702。API702展示了公共开发者界面并提供如认证,访问控制,和服务质量保证等的共享能力的共同实现。消息发送组件160最好还包括消息发送应用704,网关706,路由708,HTTP通信服务710,传输协议712,将在下面作详细描述。
在图6中被指定为基于队列的API及服务702的层(以后称为API702或层702)在不同的传输协议和共同的服务之中提供共同的界面。API702建立简单的编程模型,它使开发者能将消息提交给在若干URL名字空间中的一个的URL识别的目标。在较佳实施例中,基本的API702的目标结构可以是队列,这类似于由Redmond,Washington的微软公司开发的现有的基于队列的API的MICROSOFTMessage Queue(MSMQ)。
因为不同的传输协议712不是内在地具有内建的同样的服务级别,许多服务在层702中实现。因为不同的传输协议712具有不同层的集成服务,在层702和指定传输协议712之间的界面十分复杂,因为当传输协议具有内在的特征机制如认证或高质量服务,就希望使用它们。但是在简单地支持任意消息的最努力的提交的任何传输协议712的顶层还提供所有基本能力。
按照本发明的一个实施例,层702最好将一定范围的服务质量与消息提交相联系。例如,表示QOS定义为高性能基于存储器中的消息发送,它对消息宿主的重起动是不能复原的。永久性QOS是基于盘的消息发送,它提供至少一次提交保证,仅一次/依次的QOS与永久性消息发送有关,它提供仅一次排序的提交(复制被识别并删除,错误的到达信息被拒绝)。
层702的安全性服务使能做:按照安全组件165认证,访问控制和/或保密服务。例如,认证可以根据按照端到端模型的证书,模型可以是基于用户的或基于机器的,或能按其他模型提供,包括XMLDSIG,MSMQ,SecureMultipurpose Internet Mail Extensions(S/MIME),或其他合适的认证系统。访问控制(即允许谁得到和处理队列)能根据在消息认证中建立的凭证以面向用户的风格控制。保密服务(即加密和解密)可以使用通过HTTPS使能的转发-到-转发(hop-to-hop)的保密建立,它意味着中间服务器是可靠的。端到端保密能通过密钥交换协议而启用。
本发明的消息发送组件160能适应于操作各种现有的及未来的传输协议。诚然,与不同传输协议的互操作能力是API设计和存在的主要目的。虽然其他传输协议也能被使用,图7具体示出结合4个传输协议712使用的API702,这些传输协议是最有影响和最多功能的传输协议的例子。HTTP/HTTPS712a是使用基于SOAP的消息表示的传输协议。MSMQ二进制传输协议712b支持丰富的QOS组。例如,MSMQ提供高度优化的二进制格式,它是压缩的,且能对消息内容作结构化访问。组播(Multicast)传输协议712c支持需要在接收者方面有大的适应能力的简单消息发送的应用。对很好适合传统的SMTP模型的应用提供SMTP传输协议712d,较大的消息和对电子邮件信息量典型的情况很适合于SMTP。此外,SMTP具有的特征(在协议和在使用实现中)使它对希望使用现有底层结构业务-对-业务(“B2B”)的应用是有用的。虽然SMTP支持基本的“至少一次”的服务质量和简单的认证,它具有好的性能但很低水平的附加能力。
网关706的处理与植入的传输协议712有些不同。传输协议712通常不支持第三方可以加入新组件的完全可插入模型。替代的是网关706为一部分URL名字空间接收消息通信量,然后网关706能连接其他类型的通信系统,如MQSERIES或GROUPWISE的电子邮件连结器。
消息发送组件160使消息能以可互操作,安全和透明的方式在多方之间交换,为此,共同的自描述语言包装消息发送的元数据和有效载荷,在一个较佳实施例中,XML被用作表达这些需要的描述语言。
可扩能力对于允许消息发送应用704以无缝的方式将值加到基础的消息发送组件160是重要的。例如,协议应具有通用机制以引入应用特有的模块。模块的例子是消息追踪,登录和数据转换。这能展示为用于将应用特有的单元插入包装一个消息的XML文档的标准。
在较佳实施例中,消息发送组件160使用HTTP作为传输协议,它保证本地的“HTTP代理”服务可用。类似地,消息发送组件160能使用标准的HTTP安全性能机制(SSL)。
为了可伸缩,消息发送组件160能利用可用的负载平衡服务。对较低的服务质量,消息发送主要是无状态(stateless)的,因此使用的基本的负载平衡机制是透明的。但是,由于较高QOS固有的是有状态的,消息发送服务提供消息交换时的状态保持的机制,包括外部机制(应用特有的)和内部机制(由消息发送低层结构产生的)。为此,消息发送组件160可以关于保存哪个端到端提交语义使用单个后端(back-end)消息存储,和从外部地址到内部消息存储地址的映射软件,注意到,映射软件能由“进入消息代理”服务提供,后者能与因特网一起使用并提供因特网的存在。
通常,使用HTTP作为传输协议的消息发送宿主需要有发送和接收消息的能力。这意味着兼有HTTP“听”和“讲”的服务。在较佳实施例中,通用的收听器提供基本的服务方HTTP协议支持。作为由机器上所有HTTP服务器共享的系统组件的通用收听器代表所有服务器应用管理端口80和经过通用收听器API(UL API)将进入请求提供给它们。服务和应用软件能使用ULAPI接收直接到它们的处理环境的请求。对于需要在系统管理过程中请求服务的服务器应用(如活动服务器页面)提供可选的过程管理软件。
通用的收听器在机器上提供由所有基于HTTP的服务器应用所共享的核心方式收听者。所有应用能有效地共享端口80。通用收听者也能请求分析并提供响应缓存,用于高性能提交静态内容和“稳定的”动态内容。应用软件能经过配置和ULAPI控制缓存,缓存的响应能不必进入用户方式而被提交。
通用收听器还能根据最长的匹配URL前缀进一步分派请求到用户方式的“工作器过程”,这些用户方式应用具有对核心收听器组件的完全隔离。工作器过程能使用“UL API”接收并响应请求。此外,工作器过程服务于URL名字空间的多个部分。多于一个工作器过程(“花园”)能服务同一组应用,用于增加可伸缩性,可用性和应用之间的隔离。
HTTP服务器过程管理器是系统组件,它能可选地结合UL使用以管理工作器过程。过程管理器提供工作过程的按需起动(如由进入的请求触发)。过程管理器还能建立工作器过程“健康监控”和工作器过程“循环”(关闭/重新起动)以便从遗漏,挂起的服务器等恢复。循环能由时间,接收的请求数,或作为健康监控的结果而被触发。此外,过程管理器能为配置,控制,和永久性配置提供管理界面。
在一个实施例中,HTTP客户端以核心方式实现。以核心方式实现的理由:1,性能;2,与核心组件的通信;和3,收听器/讲话器的集成。收听器/讲话器集成的好处包括性能优化及共享的实现。
消息发送系统能可选地实现HTTP协议扩展,对其的支持在收听器及讲话器实现中建立。一个扩展关于“Web mux”,它提高了HTTP连接管理,支持更有效的连接多路复用,它在高容量B2B情况中尤其有价值。
如上所述,消息发送组件160使用包括HTTP的多种传输协议的任一种,提供有效可靠的消息发送。其他技术平台组件使用消息发送组件160来传输信息。消息发送组件160建立了标准接口,对它开发者能写应用程序,并利用消息发送服务的整体结构和与本发明相关的其他特征。
H、存储
在描述分布式计算服务平台155存储组件145时,引用术语“数据引擎”,它指的是任何那样的介质,它们能用于携带或存储计算机可执行指令或数据结构形式的程序码手段,它们可由通用或专用计算设备访问。
数据引擎能与许多类型的设备相关。例如,数据引擎可以关系到任何客户设备110(台式PC,膝上计算机,个人数字助理(“PDA”),移动电话,寻呼机客户等(上面已结合图1列出))。例如,数据引擎也能与服务器设备相关,如应用软件,声频信号,数据库,传真,文件,企业网,邮件,商人,调制解调器,网络访问,打印,代理,远程访问,电话,终端,视频,或网络服务器等。这些服务器能位于服务器联盟120中。
图7示出存储组件145的示例性结构,它说明数据引擎的使用,数据的可访问性,和一个或多个应用的执行。存储组件145可以分成3个区域,一般按照使用每个特定区域的实体的类型来表征。这些区域在图7中示作802,804和806。例如,用户通常使用区域802,开发者通常使用区域804,管理员通常使用区域806。
存储组件145的基础是例如MICROSOFTWINDOWS操作系统之类的操作系统的文件系统。在图8中,该文件系统示作文件系统808。
数据引擎810是存储组件的心脏。在较佳实施例中,数据引擎810可以是基于微软公司的SQL Server的SQL Server Storage Engine。建立在数据引擎810顶层的是各种数据模型,例如XML数据模型,关系数据模型,消息发送数据模型(电子邮件,日程表,成组多产性)如基于微软公司的Exchange Server的数据交换模型(未示出)。数据引擎以最有效的格式存储数据。在数据引擎顶层的数据模型或引擎理解如何访问存储的数据并向开发者提供正确的画面。数据能以一系列格式表示,例如以表,层次,或一串名字/值的表示。数据模型可以包括一个或多个引擎。例如,XML数据模型包括XML引擎812。类似地,关系数据模型包括关系引擎814。
开发者使用数据库编程语言(“DBPL”)技术通过共同的询问系统与各种数据模型通信。DBPL技术包括数据访问应用程序接口(“API”)816,它是由应用程序与系统通信时使用的格式。该格式利用函数调用提供到为执行所需的子例程的连结。在较佳实施例中,DBPL技术是基于XML(XML818),可以利用关系模型(关系820),并使用对象技术(对象822)。
表示成区域802的顶层包括由用户/消费者使用的各种应用程序840a,840b等。应用程序造成下列事物的集成,如文档,邮件,日程表项,联系,股票有价证券,顾客,订单,基于介质的产品目录等。应用程序位于各种数据模型的顶层,并使用特定的协议824与系统通话。在较佳实施例中,协议824是简单对象访问协议(SOAP)824。
在较佳实施例中,在存储组件145的组件是根据将XML作为统一的技术,使得所有数据类型处理成XML文档。本发明的服务器联盟120和与分布式计算服务平台115相关的通信建筑在XML基础上。消息,方法调用,对象描述,和数据引擎都使用XML。询问语言在层次结构上工作,并返回分层的XML。因为存储组件145是基于XML,存储和询问操作在从表格式到文档的整个数据型谱中是相同的。
存储组件145是关键组件,它实现了这里称为“海量存储”的存储机构。在海量存储中,从终端用户的观点,图1的服务器联盟120起着如统一的存储机构那样的作用。海量存储用下面的情景说明。用户走到PC并登录。此登录用由安全性组件165提供的因特网认证服务认证用户。在用户被认证以后,可以使用目录组件150决定用户的信息存在哪里。然后存储组件145检索该数据并将其提供给用户界面组件140。于是,个性化信息出现在用户界面,如历史列表、收藏夹列表以及收件箱等,而不需要进一步的用户干预。因此当用户从一个设备到另一个设备时,他们的数据和应用跟着他们。
海量存储包括一个终端用户组件和一个开发者组件。终端用户简单地理解,当他们在一处登录时,可自动访问为他们存储的个人数据和信息。那样,用户不需要关心或理解他们的个人数据和信息是被存在如COOKIE文件中还是服务器联盟120中的某个服务器上。相反,用户只需要了解,他们走到哪里,是否在家,工作或其他地方,他们的个人数据和信息都可以被轻松地访问
I、目录
目录是传统的企业范围的命名管理机构,在数据实际上常常散布在整个企业时它建立了假象,好象数据按有组织的结构分隔。目录包含的数据例子包括如关于实体(如用户,计算机,和用户组)的联系信息之类的地址簿数据,用于认证实体的认证数据,用于在每个实体基础上控制对象访问的授权数据。两种目录包括适配目录和元目录。
适配目录是一个数据存储,它经常为了一个或多个特定的目的而被调整。目录的功能常常对一个应用是专有的。存在适配目录的信息是权威的数据,或“真”数据(即数据不与其他源同步),但是适应目录也可存储冗余数据(即与其他源同步的数据)。适应目录的例子将在下面作进一步列举。
元目录是数据存储,它包括或保持在适配目录或其他元目录中找到的对象的子集。对每个对象,元目录保持该对象的属性的子集。元目录还含有对包含有关该对象更完全的信息的目录的引用。元目录的例子也将在下面列出。
具有很好定义的结构的适配目录和元目录比那些没有很好定义的结构的那些目录更容易同步。同步适配目录及元目录是有用的,因为存储在元目录中的信息常常涉及在各种适配目录中有关条目之间的联系。存储在元目录中的数据常是为每个人可用或可读的。但是在某些情况,需要更多的安全性,且对元目录的访问受到更多控制。
为了使能在服务器联盟120内的合作和通信,目录组件150最好为每个门户或每个网站的元目录提供在元目录之间的同步。目录组件150包括使用适配目录和元目录。
图8示出按本发明的目录组件150。目录组件150包括适配目录905,它是针对个人或实体的,且这里称为“MyState”目录。MyState适配目录905用于存储有关个人或实体的信息,如名字,地址,电话号码等。
因为个人可具有多于一个的识别(如家庭/个人识别和工作/职业识别),对任何给定的用户MyState目录能包含多于一个识别的信息。例如,用户可以具有一个适配目录,它针对家庭或个人的识别,并具有另一个适配目录针对用户的工作或职业识别。针对家庭识别的适配目录的例子作为家用目录910示于图8中。
这些适配目录905和910按照一个模式构造。通过使用由模式组件170提供的服务,外部服务和应用能访问并扩展这些适配目录。模式与安全性组件165结合也使用户允许不同的实体访问该适配目录的特定或专门的部分。通过使用事件组件155和消息发送组件160,MyState目录也能通知其他实体有关MyState目录的改变和更新,并终止在实体和MyState目录之间的关系。
目录组件150还包含具有元目录的门户,如企业门户915和门户920。在一个例子中门户能看作工业范围的网站。因此,有关心健康门户,购物门户,音乐门户等。每个门户实现一个或多个元目录,以维持从有关业务和实体来的信息。例如,关心健康门户的某些元目录将包含有关实体或个人的信息,包括但不限于医生,诊所,药房,和病人。门户元目录对每个认证的用户保持或存储一个对象。例如每个对象可以包含由用户提供的授权信息,因为访问这些元目录的用户常常被认证。门户也同步在其他门户和适配目录之间的关系。例如,医生的适配目录可以通过相应的元目录或借助关心健康门户与一个病人的适配目录同步。
目录组件150最好包括各种企业。为了清楚起见,只有一个企业(即企业925)示于图9中。企业925包括一个内部元目录930和内部适配目录935,就象传统地由当前的企业所包含的那样。因此,企业的需求迁移到使用如企业门户925那样的门户,以切换到由目录组件150提供的许多目录服务。通过使一个内部企业能迁移到变成企业门户,第三方将能更容易地访问该实体的信息。
目录组件150还包括因特网元目录服务940。因特网元目录服务能搜索因特网,寻找具有特定模式的数据或文档。此目录能包括如公司出售的产品,公司提供的服务等那样的信息。每个文档(或其子集)与文档的URL一起加入到元目录。因此因特网元目录940能被应用软件和服务访问,将它们指引到它们需要的信息或服务。
目录组件150可使用因特网认证服务945(由安全性组件165提供),它如希望的那样提供对门户的认证服务。因特网认证服务845的一个例子称为护照(Passport),由微软公司提供。
图9例示了在各种适配和元目录之间的交互。此例不是作为本发明的范围限制而构造,而是由本发明启用的部分功能的例子。此例示出一个新的雇员开始与新的雇主一起工作。雇主具有包含雇主元目录1024的企业门户1022。当雇员开始工作时,该雇员的记录目录1002被加到适配目录1000,在此例中它也被雇主保存。因此,该雇员记录目录1002是适配目录,它按照一个模式包含有关该雇员的权威性数据。
雇员记录目录1002将该雇员加到雇主的元目录1024,并使得一系列属性加入到雇主的元目录1024。在这些目录之间的信息由自动属性协定(AAA-Automated Attribute Agreement)同步。因此,雇主的元目录1024具有带着相关属性1020的雇员对象1018,它包含与存储在雇员记录目录1002中的权威数据有关的冗余数据。雇主的元目录1024设置一个邮件目录(未示出),一个工作日程表目录1010和一个工作出勤目录1004,它们也是适配目录。
接着,新的雇员访问安全办公室以获得安全性标记。他使用个人数字助理(PDA)或其他设备以登录已存在的认证目录1008,它是例如具有护照密钥的另外的适配目录。然后认证目录1008连结到雇员的识别或在雇主元目录1024中的对象1018。
雇员命令PDA设备保持雇主对如地址,电话等个人信息更新。这通过在MyState目录1006和雇主的元目录1024之间建立AAA来实现。MyState目录1006也是适配目录。由于此连结,雇员的PDA能使用雇主的元目录1024寻找工作出勤目录1004的出勤服务器以及与那个出勤服务器或登录器的接口,使能访问该雇员的通用收件箱。
一旦已做出这些联系和连结,雇员可以从雇员记录目录1002接收电子邮件,要求该雇员选择健康提供者。雇员的选择存入雇主的元目录1024。接着,雇主的元目录1024与健康提供者门户1016及健康提供者元目录1026连结,以建立对雇员的入口。因此,健康提供者元目录具有对雇员的一个对象1012和属性1014。在雇主元目录1024和健康提供者元目录1026之间的AAA协定能包含不同的项。例如,协定能包括周期的审查以及由雇主的元目录将改变传送到健康提供者元目录的协定。
健康提供者元目录1026发送给雇员一个网页,请求雇员选择主要的车辆提供者。回过来,雇员请求健康提供者元目录1026供应医生表。在医生选定之后,健康提供者元目录1026将联系诊所和医生门户,并对在诊所元目录1028中的雇员建立条目。诊所元目录1028发送电子邮件给雇员,请求该雇员的医疗记录。该雇员只能将MyState目录1006的医疗信息部分发布到诊所元目录1028。这使雇员和诊所均能保持完整的记录组。同时,雇员可以赞成与医生共享他们的日程表,而医生可以交换他的日程表,最后,诊所元目录1028可以向工作流服务发信号,使用他们的互相可访问的日程表安排与该雇员第一次会面的时间。
而且,由适配目录存储的权威信息在此例中由元目录连结。可以理解,诊所,雇用者和健康提供者也具有各种适配目录。那些目录和它们与元目录的交互在图10中尚未示出。元目录能存储与权威信息相关的冗余信息或提示信息。适配目录的模式使其他元目录能访问适配目录的特定部分。权威和冗余信息是同步的,以保证数据是最新的。
在图9中,在适配目录1000中的每个适配目录具有某个目的或目的组。雇员记录目录1002表示工作识别,而MyState目录1006表示个人的或家庭的识别。认证目录1008适配目录能包含用于认证个人的如密码等那样的信息。工作日程表目录1010是日程表或联系表。使用在此例中示出的适配和元目录能得到在各实体之间改善的通信。在此例中通信被加强了,因为雇员不必与每个分别的门户交互。目录组件150使通信自动发生,因为它们均通过消息发送组件连接和链接。
J、安全性
如上所讨论,在过去几年内消费者和业务已迅速采用因特网,引起因特网的服务的使用急剧增长。本发明由于增加了网站间的通信使得能有更大的因特网的互联性和合作。不幸的是当因特网用户数及基于因特网的服务数增加时,消费者和业务更加关心安全性与隐私的问题。例如,许多消费者与业务依赖各种因特网服务提供商(ISP),它们可以相当具体地跟踪消费者和业务的在线活动。许多消费者也使用多个服务提供商,他们与这些服务提供者具有广泛变化的业务关系和隐含的信任(预订,瞬时交易等)。此外,随着“永远在线-alwayson”因特网连结(数字用户线(DSL),电缆调制解调器),多个能访问因特网的设备(个人计算机(PC),移动电话,个人数字助理(PDA)),和多个能以与因特网交互十分不同的方法互相交互的家用网络设备等设备日渐增加的使用,消费者和业务得到更大的连结能力,同时对不道德的个人或业务增加了访问点的数目以使它们“获得”个人和/或机密的信息。
为了使上述限制降至最小,本发明可选地包括安全性组件165,它提供一系列安全保护工具,如认证,保密,和防火墙的安全边界。图10是本发明的安全组件165的实施例的概略表示。图10的概略表示是安全性组件165的可选功能的示意,但不限制应用其他功能,业内熟练人员在看到这里的教导后是能理解那些功能的。
按本发明的一个方面,安全性组件165包括认证模块1102,它包括各种硬件和/或软件组件,用于完成对访问在服务器联盟120和客户设备110(图1)中的信息和数据的实体的认证过程。例如,该实体在涉及多部分交互作用时访问存储的信息和数据,而不管交互作用是消费者到业务或业务到消费者,包括广泛的配置和交易参与者。
更具体地,在一个实施例中,认证模块1102包括硬件和/或软件模块,它们控制实体访问页面组件210,密使组件220,和/或封地组件230(图2),同时防止系统100的其他用户或实体“拒绝”或隐藏该实体的识别。这里使用的术语“实体”或“诸实体”不仅包括用户(个人或集体的),而且包括机器,授权的软件仲裁者,服务器和代理服务,各种其他硬件和/或软件模块和组件等。
为了确定实体是否其描绘的本身,是消费者,业务,硬件模块,或软件模块,每个实体具有一个识别符,称为“全局ID-GLOBAL ID”。每个全局ID对应于个人或其他实体可选择假设的各种“识别符”中一个。大多数人(包括其他实体)至少具有2个识别符:一个与他们的职业有关识别符(学业、某组织的雇员等),在进行与业务有关的活动时使用;一个个人识别符用于其他的交互。为了保持隐私或考虑某些与他们的交互有关的高级保障需要,另外的识别可用于用户。
安全性组件165与系统100和/或应用软件200相结合管理这些识别和有关的认证凭证,以保证这些识别保持不相关,同时提供一个用户经验,允许终端用户完全控制如何使用他们的识别以及与每个识别相关的隐私和机密的级别。
现参考图11,画出在用户的全局ID和各种其他示范的服务和信息之间交互关系的概略表示。通常,安全性组件165可以与由各种个人,业务,机器等拥有的各种全局ID 1220a-1220n通信。每个全局ID1220a-1220n用于对访问系统100的一部分的实体的认证。全局ID1220a-1220n不试图包括它们所表示的实体的概要特性。相反,在一个实施例中使用上面讨论并由目录组件150提供的“MyState”适配目录905存储简要特性。“MyState”适配目录905能可选地包括由参考号905a-905n表示的各种部分。MyState适配目录905按照一致的模式提供一个地方,存储包括用户数据的用户概要。通常,每个全局ID1220a-1220n给存储在MyState服务的单独部分,在应用软件中,或在专门位置的数据存储区中的概要信息提供一个索引。因此,一个实体可以具有多个全局ID1220a-1220n,每个具有相关的不同概要。
另外,在一个安全性组件165的实施例中,每个全局ID1220a-1220n可与另外的结构上不同的称之为“组成员Group Membership”服务1224的服务联结,服务1224可选地包括各个子部分,只展示了组成员服务1224的一部分并由参考号1224c指定。子部分1224c使一个全局ID(如全局ID1220b)在用户的每个类别1226c-1226n的概要表中具有一个或多个概要。可选地,每个类别1226a-1226n可以包括指向被请求或被定义的概要的一个或多个指针。例如,在业务对业务的情景中,可使用组成员服务1224以包含一个授权购买者的表,许多供应商能审查此表。在合作的情景中,组成员服务能包含另外公司的项目成员,他们被允许访问项目机密文档。在又一个示出的例子中,每个全局ID1220a-1220n能包括一个或多个数字签名,x.509凭证,可扩展的标记语言(XML)凭证或“许可证”,或其他将密钥绑定到一个识别并防止拒绝识别的凭证格式。在那样情况中,各种凭证授权(CA)能发行那样的凭证,例如但不限于Micrsoftpassport、MicrosoftHotmail和/或各种其他第三方业务。
再次参考图10,根据本发明的另外方面,安全性组件165包括授权模块1104。授权模块1104包括各种硬件和/或软件模块和组件,以判定授权的实体在动态环境中能完成什么动作,在动态环境中每个实体的组成员,作用和权利代表可以改变。这样,安全组件165的授权模块1104能以比传统“基于用户”的许可模型更复杂的方法控制实体对规定的内容的使用限制的加强,例如但不限于私有数据和“许可的内容”,如有版权的书,歌曲和电影。另外,授权模块1104的更广和更灵活的代表和控制机制扩展了授权的传统的作用。
授权模块1104,可选地与其他安全组件165的模块结合,实现在授权领域中的进步和技术的方式是通过数字权利机制。数字权利管理涉及(DRM)在信息和内容的使用和分配上自动地强加规则和条件。在DRM的核心是违背传统的系统安全性直觉而运行这一前提。在典型的系统安全性中,访问数据或信息的授权的来源是用户。一旦用户被认证,根据用户的识别,授权对服务的访问。这样,软件授权到那样的范围,使权利给予优先的用户。通常,一个认证的超级用户(或管理者)被赋予基本上对任何和所有资源的无限访问权限。DRM以不多的方法改变这些假设。在DRM中,授权的来源是内容或信息的拥有者。拥有者的权利(和授予用户的许可)以标准语言命名。权利由一个“设备”所强加,而“设备”是(但不限于)各种硬件和/或软件模块及组件,它们保证只有可信的软件(以前已被认证并有责任强加由拥有者规定的权利和限制的软件)被赋予对该信息的访问。这就允许内容拥有者把权利不是授给用户而是给一段软件,它将根据由拥有者定义的项目限制对内容的访问。
一个范例的DRM可以实现的“设备”是一个可信的设备,称之为启用Anthenticated Boot/Isolated Execution的个人计算机。该“设备”可以包括一个可信的(和防篡改的)硬件组件,它保持一个或多个对硬件组件是唯一的私有密钥。在启用Anthenticated Boot/Isolated Execution的个人计算机的操作中,客户程序段请求可信的设备认证其识别(例如通过由硬件散列其码并将此散列与命名该散列并由授权机构标记为“可信的”的凭证比较来进行)。作为认证的附属效果,由请求软件使用的物理地址是隔离的,其他程序(包括OS)随后被拒绝访问那个物理存储器。最后,对硬件是唯一的私有密钥的操作对(现是可信的)软件是可用的。业内技术人员得知,无论是硬件,软件或其组合,各种其他设备能实现为DRM所用的设备的希望的功能。
按照本发明另外方面,安全性模块165包括隐私模块1106。隐私模块1106包括各种硬件和/或软件模块及组件,它们保持由各种利用系统100和应用软件200的有利特征的实体发送和检索的信息的隐私性和保密性。通常,安全组件的隐私模块1106保证在共用网络上传输并存在服务器联盟120中的共享公共服务器上的个人的或高价值信息只对授权的实体开放。此外,隐私模块1106保持在共用服务器上传输和/或存储的所有类型的数据和信息的数据完整性,从而防止在一个或多个实体之间传输的传输数据的非授权的修改。虽然隐私模块1106示作安全性组件165的独立模块,业内技术人员得知,隐私模块1106的功能可以加入到认证模块1102,授权模块1104,形成安全性服务1100的一个或多个各种其他模块之中,或仅是安全性组件165的一个功能而不具有专门的独立模块形式。
根据上述和其他包含在此的教义,隐私模块1106的功能可以用各种方式实现。例如,在一个实施例中,通过使用数字签名和隐私模块1106和/或安全性组件165的能力能保持数字完整性,以管理识别的拒绝。在另外示出的实施例中,加密传输用于在多个主机或客户设备110的多个点和服务器联盟120之间发送数据和信息。加密传输是主机到主机还是点对点取决于通信否在线或离线(存储-和-发送)通信。本发明的一个实施例的加密传输过程的一个方面在于发送的数据和信息可选部分或整体加密。通过选择地在如对应用专用的事务的消息那样的数据和信息中进行加密,安全性组件165提供安全的隐私信息而不需加密整个网络通信量。
对主机对主机传输,需要一个称之为因特网协议安全性(IPSEC)的安全性协议来实现虚拟专用网(VPN)隧道和认证参与系统的网络连结。用于主机对主机传输的中间服务器(例如但不限于缓存器,空气流,基于内容的路由器等)被设计成使用选择的消息加密,因为低级网络服务通常不强制对每个应用是唯一的机密策略。选择的消息加密的使用是可选的,因为只有获得缓冲的性能优点或需要中间服务器过滤内容的应用内容从中得到好处。相反,个人的或高价值信息为机密性加密,通常不从如中间硬件和/或软件模块及组件那样的中间网络设备的服务中获益。
在点对点通信中使用安全套接层(SSL)协议,并继续作为最小公分母留给那些不设计成使用选择的基于消息的加密的应用。业内技术人员得知,IPSEC能有选择地用作点对点传输。通常传输的数据和信息的机密性和隐私性可使用已知方法的组合实现。
在本发明的又一个实施例中,安全性组件165可选地以加密形式保持所有经因特网发送的数据。目前而言,现在在因特网上发送的主要信息是不加密的。有足够的硬件和系统支持的情况下,本发明的安全性组件165能可选地将信息和数据的传输从当前的“按(有限的)需要加密”转变成“永远加密”的解决方案。虽然加密是有用的方式并借此保护了信息和数据,但对所有的安全性需求,它本身不是完全的解决方案。这样,本发明的安全性组件165可以在认证和/或授权的硬件和/或软件模块,组件,和功能的有益的特性和特征中组合可传输数据的总加密特征。
按本发明的另外方面,安全性组件165分布在整个服务器联盟120并从而提供分布式网络安全性。通常,安全性组件165的分布式特性提供了端到端的机密性和消息内容的完整性,无论它是主机到主机或点到点,同时允许中间代理服务器正确地路由事件和消息。整个网络安全性控制数据流,以防止对计算节点的蓄意干扰(如洪泛、破坏性病毒等)和敏感内容的非授权传播。通常,这些功能中许多由防火墙完成。不幸的是,随着在超文本传输协议(HTTP)上XML消息发送的出现,传统的防火墙在实体请求之间的区分方面不那么有效。如上所述在消息流中加密的选择使用允许消息内容过滤而不损失机密的个人的数据;但是这也限制了防火墙能承担的保护的类型。
当前,防火墙大多在传输层上操作,校验传输层信息,如源和目标的因特网协议(IP)地址,和传输控制协议/用户数据报协议(TCP/UDP)端口。虽然有用,许多传统的防火墙已经扩展到扫描访问的数据以寻找二进制的病毒,或扫描文本以寻找不合法的内容。因此典型的防火墙模型被两个独立的趋势上出现问题:加密的使用防止了数据的审视,或甚至端口的审视;由共享单个TCP端口的基于XML的应用对HTTP的使用降低了TCP级过滤的价值。这样,当前的防火墙在其有效性方面受到限制,因为它们混合了两个功能:保护免受外部的攻击和策略的强制性。这样,本发明包括防火墙模块1108,它通过在三个或更多不同模块和组件之间共享功能来增加防火墙的有效性,这些模块和组件可位于单个硬件和/或软件模块中或相反分布在服务器联盟120之中。
现参考图12,它画出防火墙模块1108的示范单元。改善的防火墙模块1108的一部分是个人的防火墙1310。个人的防火墙1310在解密以后完成本地的数据审视并完成各种其他保护功能。例如,个人的防火墙1310完成“病毒检查”系统的各种功能;但是当检测到新的攻击时,攻击的特征迅速传播到所有个人的防火墙,从而阻断了攻击而不必等待下一次系统或应用软件的升级。若个人防火墙安装在每个内部的主机上,主机能从其他主机或在如系统100那样的网络上检测特洛伊活动。从而降低了特洛伊攻击的可能性,这种攻击可以直接在本机上发起而不受周边防火墙监控。
改善的防火墙模块1108的第二部分是安全性网关1312,它对拥有特定硬件和/或软件模块和形成服务器联盟120的组件的实体强加实体的策略。每个安全性网关1312完成根据源和目标的统一资源定位符(URL)的检验和HTTP方法:GET,POST,NOTIFY。安全性网关1312作为HTTP代理直接插入应用200,并可以确定例如在一天的什么时间容易访问什么外部网页,或什么用户可以接收外部通知。安全性网关1312是主机,因而能是IPSEC或SSL的终点。另外,每个安全性网关1312可以访问XML结构化数据,并因而能访问从特定主机发送的消息的内容。
安全性网关1312的一项可选功能是在周边或传输层防火墙1314(下面讨论)“打孔”,如授权一个端到端的媒介流。此流可以由安全性网关1312监控的HTTP或SIP交换来设置,但将使用User Datagram Protocol/Real-TimeTransport Protocol(用户数据报协议/实时传输协议-UDP/RTP)而非HTTP发送。安全性网关1312确定被授权的IP地址和TCP/UDP端口对。每个安全性网关1312也具有在两个IP地址对之间授权使用IPSEC的能力。
改善的防火墙的第三部分是周边(传输层)防火墙1314,它可能在安全性网关1312的控制下授于或拒绝对系统100局域网的访问。传输层防火墙1314具有控制哪个“外部的”信息量到达内部的机器的责任,并限制那样的只对那些管理很好的“外部的”源的访问。在一个默认的配置中,这些授权的机器包括安全性网关1312。
通常,将周边控制功能分成“传输层防火墙”和“安全性网关”允许系统100和/或应用200性能和伸缩性。本质上类似于路由器,传输层防火墙1314可以并行地连接实现伸缩,而作为应用服务器的安全性网关1312可以利用用于伸缩的网络服务器的伸缩技术。
虽然图12示出加入这里的防火墙模块1308的每个部分1310,1312,的和1314,可以理解,每个部分1310,1312,1314可以分布在整个服务器联盟120。此外,安全性服务组件165可以包括多个防火墙模块1108和多个部分1310,1312,1314。
按照本发明的另一方面,安全性组件165可以包括各种硬件和/或软件模块以及允许使用数字签名,时间标签,和公证服务的组件。使用数字签名以电子交易方式为用户提供许多物理签名的好处,如来源的检验,授权的检验,在随后的争议情况中的合法的依据等,但不限于此。而且,在信息经常途径不可靠通信及处理通道的电子世界中完整密封文档的能力(任何修改使此签名无效)也是有价值的。
本发明的安全性组件165能配置成支持当前用于电子签名的技术,如数字签名算法(DSA),和椭圆曲线,和由RSA Data Security Inc.(RSA)开发的加密技术,但不限于此。另外,安全性组件165在它们能被操纵产生用于XML和XML模式的安全电子签名方面是灵活的。例如,在典型的签名电子邮件系统中(Secure/MultipurposeInternet Mail Extensions(S/Mine)或Pretty GoodPrivacy(PGP)技术),用户隐含地信任他们的电子邮件程序签署一个他们编写的电子邮件的邮件编码。不幸的是,对涉及高的价值和潜在责任的文档,需要更大的保护。使用XML或一般的XML模式表示那样的重要文档允许建立提供XML文档的规范表示的通用工具。产生文档的规范表示是对建立和验证数字签名的需要。
安全性组件165还可以包括时间标签和公证服务,它们可选地加入到完成数字签名功能和服务的硬件和/或软件模块之中。类似于数字签名,时间标签服务提供该文档(在最普遍意义下)在某个时间点存在的强有力的证据。类似地,数字公证服务提供某人在一个时间点上数字签署了给定文档的证据。可以加入到安全性服务300的这些服务类型例子包括担保(Surety),熵(Entropic),电子时间标签(e-TimeStamp),以及正在使用的带有基于x.509和PGP的信任模型,但不限于此。此外,提出涵盖到那些服务的接口的标准时间印记协议草案。本发明的安全性服务允许现有服务的互操作性,同时提供与当前发展的有关服务一致的硬件和/或软件的灵活性。
通常,安全性组件165能加入到一个设备的平台核心操作系统(OS)中,从而影响到该平台的所有其他模块和OS,服务,应用,及工具的功能。另外,安全性组件165,模块1102,1104,1106和1108以及这里提供的功能可以放置在服务器联盟120,客户服务110和/或应用200的各种位置,或可以遍及分布。在又一个配置中,安全性组件165可以放置在应用200的密使组件220和封地组件230之间。而且如图10所示,安全性组件165的每个模块可以或可以不与包含在那里的一个或多个其他模块1102,1104,1106和1108通信,如图中虚线所示。
安全性组件165可以在各种通信情况中使用,借助增加的网站间通信有助于使消费者,业务,政府等得到更大的因特网的连接和合作。例如,第一情景是消费者到服务或业务的环境。本发明的安全性组件165允许更大的通信,通知,流媒介,游戏和合作服务,而不管它们是否用于“永远在线”的数字用户线)DSL)和/或电缆调制解调器系统的家用计算机的安全性和其他家庭网络的情况。安全性组件165从下面几个方面保护在消费者到服务的环境中的消费者:
(I)滥用因特网发出的如即时消息或因特网电话那样的消息,等同于在前门随意地按铃;
(II)跟踪用户活动的活动,从而减少广告商和其他人“精确瞄准”用户;
(III)通过使用个人的计算机作为向第三方发动攻击的一部分的特洛伊过程而滥用个人的资源;
(IV)拒绝因特网服务;
(V)犯罪活动,如非法访问个人计算机导致金钱转移,不需要的购买(严格说来是对消费者的盗窃)等。
另外的情景是对容纳应用服务提供者(ASP)的面向小业务的服务。本发明的安全性组件165提供对消息发送,文件和打印服务的增加的保护,包容企业资源计划(ERP)应用,在线业务活动,如集成的电子文档管理和在线业务服务,雇员个人网络存储等。而且,安全性组件165使各种业务具有包容的网络可用,授权的,基于角色的管理,和空的域。这样,本发明,尤其是安全性组件165,允许小的业务有能力安全地访问多个ASP,以满足他们所有的业务应用需求。
又一个情景是消费者-到-业务-到-业务的环境。此情景包括以前有关消费者-到-服务情景所描述的许多需求,同时包括业务-到-业务关系的问题和需求。这样,安全性组件165为在不均匀的环境内的多个实体提供安全性,安全性组件165提供线上的,永久性信息保护,同时提供对客户信息功能的不可拒绝性。此外,安全性组件165可以认证和授权中间层的事务,顾客-服务器活动,和协商对等信任。
最后的示范情景是业务-到业务环境。安全性组件165可以配置成支持提供链式应用,业务-到-业务的合作等。此外,提供与特定认证机制无关的企业间信任关系的管理。而且安全性组件165减少了下列事情的可能性:
(I)非授权的交易导致经济损失;
(II)业务合作伙伴欺骗的声明,对一个交易的请求是不可信的,因为凭证被偶然地洩露。
(III)由未授权的个人非授权地访问服务器140或客户110;
(IV)信息洩漏给竞争者,它观察数据访问请求并响应和获得机密数据;
(V)攻击者在数据检索请求中佯装是业务合作者并返回不正确的数据;导致做出不正确的决定;
(VI)在存储数据处的不可靠的系统操作员将有价值的数据经过网络发送并洩漏给同伙;
(VII)使用因特网的内部成员发送不合适的信息到外部成员;
(VIII)误解或误用的策略的建立,导致洩漏的信息,未授权的交易,或对授权交易的干扰。
K、程序码管理
程序码管理组件175保证用户透明地访问他们需要的最新的应用软件和程序码。图13示出在程序码管理的各个方面对清单的使用。程序码管理主要考虑格式化在互操作的组件,服务,以及应用软件之间的抽象及交互作用。此格式化在用于管理包括这些基层组成块的软件的每一级上提供隔离层。一个清单本质上是数据库,它以一定的详细程度描述组件,服务或应用。通过描述程序码组件,各程序码组件之间的关系,和由它们组成的应用,清单使系统能理解,应用是什么,从而有效地管理此应用。应用或服务由一个根清单定义,它类似于程序码组件清单,不同处是根清单包括用于执行该应用或服务的起点。
清单1400包括用于描述与该清单有关的软件的各种信息类别。应该理解,识别的类别仅是示例性的,不是以任何方式对本发时的限制。类似地,在每个类别中的信息描述也是示例性的。在特定类别的上下文中信息的描述不能解释为要求该信息只出现在该类别中或出现在所有类别中。注意,结合图13使用于的术语“软件”,此术语应广义地解释为包括组件,服务器,应用等。
清单1400是信息的一个超级组,使它相关的软件能在一个或多个计算环境内可用。例如,清单1400识别可执行的程序码1410和作为软件一部分的资源1420。根据有关软件操作需要和需求,可执行的程序码1410和资源1420可以参考专有(本地)的或外部的依赖性。因为清单1400与所有软件有关且所有清单描述任何外部的依赖性,软件对象能是收集的垃圾而不管理对分享的DLL的参考记数,与现有技术实践的那样。
依赖的清单1430识别清单1400的外部依赖性。那是对软件和清单的参考,它们不是清单1400本地的。例如,清单可以是级联的,其中一个软件对象简单地是某些其他软件对象的扩展。这就便于简单的定制应用的直接构造。定制应用可以超越某些设置或由基本应用使用的资源,以改变该应用的外观和它们的行为。基本的应用可以对本身的哪些部分对此类的修改是开放的提供限制,以适本地将定制的范围限制到预定的区域。这些对其他软件的参考和对清单1400外部的清单的参考被存入依赖的清单1430。依赖清单1430也可以识别对清单1400是本地的但也是单独定义的清单。另外,依赖清单1430可以包括独立存储的清单,它们在逻辑上包括或连结清单1400。那样的安排可以是有益的,其中信息仅对有限的目的,如软件的开发是相关的,并在正常操作中不需要这样。
进入点1440展示对软件对象的公开名(如进入点,资源,和服务),清单1400和它相关的软件使得这些公开名对外部软件可用。清单1400本地的软件对象名也可以出现在进入点1440。使用名字和元数据识别特定的软件对象和所有由该软件使用的所有其他软件对象(元数据包括如版本,场所,和平台的信息)。连结是一个过程,通过它解析名字的依赖性。一旦名字被解析到它的最终对象,该对象能在应用中使用。在软件对象之间的所有绑定通过该清单并能受由计算机环境本身,管理者,或独立软件开发者施加到该清单的策略的影响。因此,名字解析提供插入策略和安全决策的机会。因为名字实际上不提供代码或数据,而是被解析到访问程序码和数据的间接途径,所以有可能在绑定过程中必要时重定向或限制访问。
例如,应用的清单1400可以请求使用元数据请求版本1的特定实时运行的软件对象。但是管理者可以设置策略,使得对所有请求使用特定实时运行软件对象的较新版本。注意,由于该元数据信息,若该应用使用较新版本停顿,管理员能改变策略,使得该应用使用已知对此应用可工作的实时运行版本。通过根据系统中的安全策略不允许某些名字的解析,名字解析还提供了将安全性插入过程的机会。
配置信息1450识别软件需要的数据表和平台服务。配置信息1450也可描述如何能使用与清单1400相关的软件,或它们的行为。例如,软件可提供信用卡清除服务。有两个选择用于管理信用卡交易:(1)服务提供者保持对过程的控制,或(2)服务提供者允许开发者加入服务以管理开发者自己的信用卡交易。若服务提供者只执行这些选项中之一,在用于运行该服务的配置信息1450中可以捕捉那个信息。监视器也能包括在配置信息1450中以向开发者提供性能和排错信息。
如上所指出的,清单1400方便了维持软件的各种版本。此特征在开发新软件时特别有用。清单1400的本质保证了互相隔离的各种组件,服务,和应用的各式各样的状态和配置信息。此隔离意味着不同版本的组件,服务和应用能并排运行,允许其他软件对象访问被设计和测试的软件的特定版本。结果,可能有多层配置(从前端服务器到后端服务器),隔离和共享的配置,和使老版本结束工作而新版本开始的按计划进行的配置。
如清单1400那样的清单对程序码管理提供重要的益处。例如,清单(1)允许组件,服务和应用的自描述;(2)使能由开发者和管理者从组件,服务,或其他应用作应用合成;(3)便于组件/服务/应用的命名,发现,和实时运行的绑定;(4)使开发/设计时间的情景带有许可证,版本,分配和做文档等增加的问题;(5)启用老的系统的互操作性;(6)容易分配/安装组件,服务,和应用;(7)使能在进行中管理应用/服务/组件的健康。
上述程序码管理使用清单以允许开发者,管理员和终端用户穿过在图1和2中示出的客户及服务器层编写,消耗,配置,更新,命名和定位应用软件。下面的例子参考图1和2描述如何使用清单来安排和运行从客户来的应用。
在此例中,用户经过搜索引擎或其他命令解释程序使用图1中的客户110为特定的文字处理应用软件导航到统一资源定位器(URL),URL位于服务器联盟120之中。若该应用已被“安装”(即已经运行)在客户端,当该URL被导航时,该应用从本地的缓冲运行。若该应用未被“安装”在客户端(即当未在客户端运行),该应用将使用现在描述的过程被下载并运行。
安装程序模块下载与该应用相关的清单。然后,安装程序将清单与客户针对平台需要及已知的不可兼容的组装两方面所用的配置进行比较。在该应用不能在客户端运行的情况下,在客户端出现错误消息。若该应用能在客户端运行,安装程序使用URL连接到服务器联盟120中的网站。然后客户端显示某个用户界面,如购买/租用/认证决策和终端用户许可协定(EULA)。该应用随后根据命令或作为典型的功能包下载。该应用的自动服务将通过使用按本发明的异步消息发送从安装URL对清单的定期更新而被驱动。
L、情景
下面情景表示了本发明的分布式计算服务平台115如何通过启用更容易的合作和通信而方便了用户。情景分成三类用户:(1)知识职工;(2)消费者;和(3)开发者。
                    知识职工/商务情景
Alex拥有一个称为7Cycles的小的商业自行车制造商。7Cycles刚设计了一种新的高端自行车并需要将新的自行车销售到体育用品分销店。此情景表示若干业务问题(如在任何时候/任何地方集成和访问信息)和技术问题(如基于模式的集成,下一代有效工具,设备之间的联盟)。
Alex的个人计算机(PC)显示她的个性化界面包括她的“起始页”或“主页”,它示出消息,日程表,联系/“合作伙伴表”等。用户界是多模态的,它在单个统一界面中包括了语音消息和电子邮件消息。语音消息可以转换成文本消息,而电子邮件消息在需要时能转换成语音消息。而且,用户界面不是基于应用而是基于内容的。例如,起始页包括传统上由各种应用提供信息(即语音邮件消息,日程表,联系等)。
Alex使用她的PC登录到设计成帮助管理商务的服务(如b CentralTM,由微软公司提供),并使用该服务将新的自行车加到7Cycles’的在线产品目录中。该服务引出一个产品目录条目的模板。然后她搜索7Cycles公司的企业内部网(包括个人数据存储及其他来源)寻找关于新自行车的信息(图片,市场估价,产品样本等)并将合适的信息拖放到产品目录模板。自行车的产品样本以公用的描述语言(即XML)提供,并符合一个模式(见上述模式段),使得产品目录模板服务理解杂样本中的信息并用适当的信息填入该模板。Alex预览并发布更新的产品目录页。新的自行车随即在7Cycles网站上列出。
然后Alex使用该服务询问列出其他网站/公司的目录,就能使此新自行车更具特色。因为目录服务(见上述目录段)通过企业级元目录的便于模式的同步提供整个因特网范围的目录服务,此类可靠的因特网范围的目录表是极大地方便了。然后Alex将有关新自行车的信息共享到这些其他公司。
Alex还使用该服务以自动地产生一个有关新自行车的关键词表,并将这些共享到若干搜索引擎,使得人们能立即找到有关新自行车的信息。
Alex从Sandra得到电子邮件,Sandra是体育用品分销店的雇员,她在网上看到7Cycles新自行车。她建议Alex在展销会上会见她。Alex在如移动电话那样的便携客户设备上接收了此消息。虽然此客户设备的用户界面比PC的要小,由用户界面提供的特征与由PC的用户界面提供的一致。例如,该电话显示具有定制高亮显示页面的Alex的起始页的缩小版本,示出如联系和紧急消息等。
Alex导航到联系管理页,它使Alex能连结到Sandra的时间安排表,并提供到她在展销会上的展台的地图。Sandra的时间表通过连结到Alex的MyState目录(见目录段)的适配目录可以访问到,该适配目录使得能发布那样的时间表。Alex使用语音到文本的转换回答Sandra的消息,使Alex能听写下电子邮件消息。她检查Sandra的日程表并建议她们在2:00左右见会。
Alex到达了展销会并使用邻近/位置警示服务在她的移动电话引出一张地图,示出她本人的位置和Sandra的展台的位置。当她接近该展台时地图跟踪她的位置。
当她见到Sandra时,Sandra问是否能看到新自行车的样本。Alex说,所有信息放在7cycle的公司企业内部网上。她借用Sandra的输入板PC并作为客人用户登入,显示她的起始页(很象在她工作PC上的那个),在底部附带有展台的地理相关信息(如Alex感兴趣的本地事物)。因此,上述的存储,目录和安全性组件使Alex能在新的客户设备上认证自己,并通过该客户设备得到她能得到的所有她的个性化信息。Alex找到自行车样本并从她当前的联系表请求将该信息共享给Sandra。在Sandra登录入以后,自行车样本通过联合的安全性范围以安全方式在她们的输入板PC上显示。
在Sandra从展销会返回以后,Sandra使用她的工作PC访问语音和电子邮件消息。Sandra的起始页混合显示个人的,职业的,和网上的信息。Sandra发送消息给她的同事,他们需要准备一个有关新自行车的建议给体育用品连锁零售商。当她打字时,系统识别某些内容适合于行动菜单,如另外同事的名和建议预定的日期。系统识别数据的相关性,使它们自动地和适本地连结到联系和日程表信息。此有意义的通信在模式段内描述。
然后Sandra为该建议建立项目页,它自动地使用在模式段中描述的自动完成特征来包括所有电子邮件的名字,并设置用于共享信息/合作以及将包括在该项目中的建议文档的网页。Alex(从不同的公司/安全范围)也被包括在该项目中。随后,Sandra开始写此建议,它与其他团队成员实时共享。这能使用在消息发送段中描述的异步消息发送完成。她们使用即时消息发送/聊天来讨论要作出的改变。建议是多媒体文档,它包括文本,图形,视频等。第三方内容(如从图像室来的照片)能直接加入到该对象处理程序。视谱内容能加注释。
从工作地驱车回家,当Sandra的车上PC通知她,她有关于该建议的消息(她规定,对此消息她应该被打断)时,她用她的车上电话与她的丈夫交谈。这些通知是响应在事件段中描述的预定事件发出的。部分这些预定事件包括用户定义的规则。例如,Sandra规定她在车上能被打断的条件。该电子邮件是从零售商来的消息,他们想要把附加图例信息包括在该建议中。到家后,Sandra使用她的家用PC(它在起始页上具有个人的“外表”,且其中她的简况略有不同)。形成个人“外表”的偏爱信息可以存入在目录段中讨论的Home Presence或MyState适配目录中。她将从外部网站和她公司的数据库来的信息过滤/合并/映射到该文档,从而将附加的图例信息加入到该建议中。通过模式,从不同网站来的信息的合并是方便了。
第二天,Alex收到从Sandra来的消息,他们需要改变他们的订单从连夜将自行车发货到30个不同的零售店,而不是象开始那样发到Sandra的业务点。Alex登录到业务服务,在那里Sandra为改变购买订单而填写模板的业务,服务也已经用通知形式对Alex表示过。Alex审视并点击工具栏上的“AcceptChang-接收改变”,导致系统使用模式认识到,它应询问Alex是否确认要通过UPS发货。她说是,且系统建立新的发货事件将Alex与安排发货的UPS联系起来。在UPS和7Cycle之间的日程协商设定取货时间,它自动地在Alex的日程表上示出。Sandra接收通知,改变订单已被处理。通过使用分布式事件系统,业务服务能为用户跟踪事件(定单接收,定单货运等)。业务服务经过通知管理程序发送通知给Sandra。为她提供对内容敏感的通知服务的整个通知系统的一部分的通知管理程序用作监控各种进入的通知。通知管理程序根据它对Sandra的当前情况,关注点,位置和设备可用性,将重要和对内容敏感的消息转送到Sandra。
                        消费者的情景
此情景关注对普通用户或消费者而言本发明的优点。此情景描述去渡假的家庭和青年女生活中的一天。
此情景说明了由本发明提供的改善的消息发送,日常生活任务的简化,改善的娱乐。某些关键特征包括对到处存在的一个给定人的公共角色,设备空间之间互操作的一致的组,一致的数据捕捉,对数字纪元所有资源的访问(隐私,通过设备空间自然的双向通信,一致的用户经历,个性化娱乐,人们生活的自然部分的网络化)。
家庭的父亲(“Dad”)使用家用PC计划到洛杉机和圣地亚哥动物园的家庭渡假。使用一个服务,Dad给PC机很少的数据,通过仅输入一次信息系统建议并预订机票,旅馆,车辆并得到动物园门票。因为服务器是有在基于模式消息发送的情况下有意义的交换信息的能力,服务器能作为一个服务器联盟通信,以使用单个用户请求获得如机票,旅馆,汽车预定数据和动物园门票的可获得性等不同的数据,因此,父亲不必与每个服务器联系以独立地获得此信息。
系统还指出,通过提前一天可以节省钱,并检查每个人的日程表,看他们是否有空。因为日程表信息是以XML格式存储的,系统能同步每个人的日程表,看什么时候可行。系统还通过提出与折扣有关的信息(如Prime Card,AAA成员)进一步节省钱。根据存储的个人偏爱,该服务还停止报纸,发送电子邮件给邻居让她在全家度假时喂猫。这示出根据概况和规则自动处理日常任务的系统能力。在事件段中描述的事件发生可用于检测该事件,并根据该事件完成任务。
然后母亲和父亲在PC上得到对祖父母的周年纪念的提示。他们使用视频会议作出预订,并在饭店订了特别蛋糕。这证明了用户界面的多模态属性。祖父母收到邀请并接受之(通过他们的PC或WebTV(网络电视))。
乘车到学校去的孩子们得到计划旅行的通知。此通知可以经过在消息发送段中描述的异步消息发送完成。到动物园应用/服务的连结使孩子们能查出动物园地图,表演时间等。
当该家庭在飞机场得到租用的车时,他装有下载的每个家庭成员所喜欢的音乐/视频节目(父亲在订车时指定此选项并付款)。如在存储段中所述,对每个人的爱好信息从海量存储中获得。因此,可得到的喜爱在租得的车中容易得到。
当在汽车内,女儿饿了。并使用邻近/位置感知服务定位在汽车的一定半径范围内她喜爱的快餐店之一,给出方向并为家庭预订食品。邻近/位置感知应用通过在目录段内描述的目录结构访问适配目录。家庭可选择其最短的预定线路去取食品。他们用智能卡支付。
在动物园的入口,儿子下载动物园应用的拷贝到他的PDA。动物园应用包括地图,事件(动物喂食),有关在动物园内个体显示的数据(如黑猩猩的细节),促销等。他接收到他在学校的伙伴也在动物园中的通知,他们于是交换消息并计划在稍晚时会面。为了便于这样的通知,与PDA相关的位置感应器可以提供数据给位置感知应用。此应用提供在目录段中描述的到因特网范围目录结构的位置。伙伴也有一个应用,它将伙伴们的位置传输到因特网范围的目录服务。当伙伴们在儿子的某个距离范围内,或与儿子在共同区域(如动物园)中时,包括在位置感知程序中的事件被触发。此事件通过异步消息发送从应用的封地组件通信到应用的页面组件。此事件随后能发通知,并通过PDA的用户界面通知儿子。
母亲拍下家庭在动物园的数码照片,他们将其邮寄到他们社区的网站。祖父母在他们看电视时在他们的电视因特网浏览器上接到通知,说有新的照片。他们喜欢该照片并将它们下载到屋子的电子相片架中。祖父母运行一个应用,它具有包容监视网站有无新照片的事件的封地层。当新相片邮寄到时,事件被触发,导致给祖父母发送一个消息。例如,消息可以响应该事件由在封地组件中的程序码的本体产生(见编程模型段)
从度假返回,青年女儿Jenna使用房间内的她的PC检索她离开时的消息。Jenna在她的用户界面上有“青年女孩”的外表。一个朋友留给她有关去音乐会的消息,但说票已售完。在听取消息时,她接受通知,她有一个有关的消息。她打开该消息,它通知她为她保留了两张票(幸运的是,Jenna向音乐服务预订了当她喜爱的乐队来到本镇时自动为她购买票)。此服务还从她的喜欢的乐队中提供新的音乐剪辑(Clips)。由于在事件段中描述的事件,Jenna能够自动的购买票子并获得新的音乐剪辑。
Jenna视频会见她的朋友讨论有关音乐会票子,因此证明了用户界面的多模态特性。然后他们在家庭作业分配上合作(做出有关雨林问题的视频报告)。他们还连接到项目网站并在视频会见期间实时编辑视频/文字。Jenna提供她在动物园期间制作的视频节目。当他们完成时,他们将他们的报告提交到学校的网站。
Jenna使用她的学校的网站下载她缺课的课程的视频,并上载任何家庭作业的分配。她得知,她必须在当前的环境问题上作报告。她命令智能新闻通信社从选定的来源找到最近的环境新闻剪辑,并在她醒来时可以得到它们。对环境新闻剪辑的搜索借助在目录段中描述的适配目录的因特网范围的同步而十分方便。
当Jenna起身时,她接收到通知,她的新闻剪辑已经就绪。此通知当新闻剪辑就绪时由一个触发事件产生,她开始扫视它们,但是时间已晚,将其声音传到她的汽车PC,所以她能在到学校的路上完成收听。当在汽车中时,她选择她的剪辑,并将其下载到她的输入板PC。这就证明Jenna使用在存储段中描述的海量存储将声音存入服务器联盟,并随后在不同的客户设备上,从该服务器联盟上重新获得声音。到达学校之后,Jenna在她的输入板PC上查阅学校网站以阅读学校报纸并查出午饭菜单。
放学以后,Jenna使用她的PC与她的朋友远程玩视频游戏。游戏包括面孔映射/扫描技术,其中Jenna的面孔出现在视频游戏人物上。在游戏期间,Jenna从她老师处接收一个即时消息,称赞她关于她的报告。Jenna还接收一个通知,一个她喜欢的电影已可下载。此通知是当喜欢的电影可用时响应一个触发事件而产生。
                           开发者
此情景描述一个在工作旅途上易出事故的人(即Steve)。此情景的关键点是对在海量存储或“云”中的个人信息的普遍安全的访问,将用户访问联系到信息,并简化信息交换
Steve在机场的租用电话亭,且非常激动,因为他将他的智能电话留在家里并需要访问他的信息。幸运的是,Steve带着他的智能卡,而且他能使用智能卡租用电话并从服务器联盟中的海量存储下载所有他的个人信息。这就展示了使用模式作为信息的单向访问方法,并使用在安全性段中描述的因特网认证,在任何地方访问从“海量存储”来的信息。智能卡认证了Steve,并告诉租用的电话,Steve的信息位于何处(即,日程表信息存在x处,联系信息存在y处等)。然后电话检索此信息并为Steve下载它。
在他离开机场的路上,Steve与一个自行车信使相撞,伤及他的踝骨。他是在陌生城市,不知道到哪里去求医。Steve呼叫他的家庭医生并询问可以接受他的保险的附近诊所。接收处使用诊所治疗安排服务用于更有效汇集信息,以定位靠近Steve的诊所和在他和他的妻子的现有健康计划下的百分比保险总额。她还是用日程表共享以将Steve安排为立即的约定并直接与该诊所交互。这解释了业务和个人模式的自动映射。而且,通过在目录段中描述的目录结构,使得可以获得列表或诊断和诊所的日程表。
接收处请求Steve同意与新的诊所共享他的医疗记录。Steve认证他自己并接收他的医疗记录的表(在他的智能电话上)。他然后检查,他想要使哪个记录对该诊所可用。这就说明了“联系的访问”-由位何应用作出基于规则的判断信息访问的合法性与否决,安全性建在系统级上并由丰富的模式及数据存储/访问支持。新的诊断说,Steve扭伤了踝骨。他们发通知给Steve的常规医生。他们还发出x光片,使得医生能确认此诊断
M、结论
分布式计算服务平台,包括编程模型,模式,用户界面,事件,消息发送,存储,目录,安全性,和程序码管理组件,方便了更多基于因特网的合作和更多网站间的通信。
本发明能以其他特定形式实施而不背离其精神或主要的特征。所描述的实施例在所有方面上应被认为是说明性的而不是限制性的。因此,本发明的范围由所附的权利要求指出而不是根据前面的描述。在权利要求的等价意义和范围内作出的所有改变被包括在它们的范围内。

Claims (51)

1、一种分布式计算服务平台,它分布于客户设备与服务器联盟之间,便于改善通信和通过计算机网络的进行协作,其特征在于,包括:
编程模式组件,其中遵循该编程模式的引用包括页面组件、密使组件和封地组件;
模式组件,用于识别符合特定结构的数据表示特定的项目;
用户界面组件,包括确定客户设备的用户界面能力的装置和提供与该设备的用户界面能力匹配的用户界面的装置;
事件组件,用于同步、报告或提供有关该计算机网络上某些活动的通知,并包括事件源、事件汇点和事件组合机构;
消息发送组件,用于使用各种传输协议中的任一种,在网络上提供消息发送;
存储组件,它既可以位于服务器联盟中的单个服务器上,也可以分布于联盟中的各服务器上,以提供对不同用户信息的海量存储;
目录组件,包括元目录和适配目录,其中元目录提供对特定适配目录的引用,而在适配目录中包括更详细的信息;
安全性组件,用于对具有多个身份的个体进行认证和授权;
程序码管理组件,包括清单,该清单描述了应用程序的结构,包括代码、资源、入口点和对该应用程序的配置信息,
其中每个平台组件松散地相互连接到其他平台组件,并同时连接至客户设备和服务器联盟。
2、按权利要求1的分布式计算服务平台,其特征在于,所述编程模式组件包括:配置成在客户设备上映射一个用户界面的页面组件;配置成可以在由页面组件映射的用户界面上表示的主活动数据的封地组件;和表示页面组件到封地组件的密使组件。
3、按权利要求2的分布式计算服务平台,其特征在于页面组件,密使组件,和封地组件在一台服务器上实现。
4、按权利要求2的分布式计算服务平台,其特征在于页面组件在客户设备上实现,封地组件在服务器上实现。
5、按权利要求1的分布式计算服务平台,其特征在于该设备是第一设备,用户界面还包括若用户切换到具有不同用户界面能力的第二设备时,伸缩到该用户界面能力的方法。
6、按权利要求1的分布式计算服务平台,其特征在于,用户界面组件,包括:
用于确定用户的状态或周围情况的装置,和
用于根据用户的状态或周围情况调节输入或输出方法的装置。
7、按权利要求1的分布式计算服务平台,其特征在于,用户界面组件,包括:
用于将用户输入识别成符合模式的装置;
用于将用户输入的意义识别成由模式隐含的意义的装置;和
用于完成适合于用户输入的意义的功能的装置。
8、按权利要求1的分布式计算服务平台,其特征在于,用户界面组件包括下列:
统一命令行;
在统一命令行中接收用户输入的询问的装置;
用于识别在询问中的多义性的装置;
用于形成和通信给用户一个响应询问请求信息的装置,该信息至少部分地澄清该多义性。
9、按权利要求1的分布式计算服务平台,其特征在于,事件组件包括:
配置成从多个预先存在的事件构造新的事件的事件合成装置;和
配置成路由新的事件的事件路由装置。
10、按权利要求1的分布式计算服务平台,其特征在于,目录组件包括:
包括有关对一个用户的多个识别的信息的适配目录;和
存储对用户的认证信息并管理对适配目录的访问的元目录。
11、按权利要求1的分布式计算服务平台,其特征在于,程序码管理组件包括:
用于描述多个代码组件的装置;
用于描述在各代码组件之间的关系的装置;和
用于描述包括多个代码组件中至少某些的应用的装置。
12、在包括与多个客户设备通信的多个服务器的服务器联盟中,完成一个请求的方法包括下列:
多个服务器的第一服务器接收对一个服务的一个请求;
第一服务器判定是否需要来自至少第二服务器的进一步信息,以便响应对该服务的请求;
第一服务器利用由第一服务器和第二服务器共同识别的模式构成对进一步的信息的请求,其中对进一步信息的请求的意义被该模式所隐含;
第一服务器使用与传输协议无关的信息发送底层结构传递对进一步信息的请求到第二服务器;
第一服务器接收从第二服务器来的响应,该响应包括进一步的信息;和
第一服务器使用进一步信息响应对服务的请求。
13、按权利要求12的方法,其特征在于第一服务器构成对进一步信息的请求包括:
第一服务器按可扩展标记语言XML构造请求。
14、按权利要求12的方法,其特征在于第一服务器从第二服务器接收响应包括:
第一服务器以按照可扩展标记语言XML构造的数据结构形式从第二服务器接收响应。
15、按权利要求12的方法,其特征在于第一服务器使用与传输协议无关的消息发送底层结构传递对进一步信息的请求到第二服务器包括:
第一服务器使用简单对象访问协议SOAP传递对进一步信息的请求。
16、按权利要求15的方法,其特征在于第一服务器构造对进一步信息的请求包括:
第一服务器按照可扩展标记语言XML构造请求。
17、按权利要求12的方法,其特征在于第一服务器从第二服务器接收响应包括:
第一服务器使用简单对象访问协议SOAP从第二服务器接收响应。
18、按权利要求17的方法,其特征在于第一服务器从第二服务器接收响应还包括:
第一服务器以按照可扩展标记语言XML构成的数据结构形式从第二服务器接收响应。
19、按权利要求12的方法,其特征在于第一服务器使用与传输协议无关的消息发送底层结构传递对进一步信息的请求到第二服务器包括下列:
一个消息发送组件与支持多个传输协议的公共应用程序接口通信。
20、按权利要求19的方法,其特征在于第一服务器使用与传输协议无关的消息发送底层结构传递对进一步信息的请求到第二服务器包括:
公共的应用程序界面与多个传输协议中的合适的一个通信以响应消息发送组件与公共应用程序接口的通信。
21、按权利要求20的方法,其特征在于公共应用程序接口与多个传输协议中的合适的一个通信包括:
公共应用程序接口与超文本传输协议(HTTP)传输通信。
22、按权利要求20的方法,其特征在于公共应用程序接口与多个传输协议中的合适的一个通信包括:
公共应用与MSMQ二进制传输通信。
23、按权利要求20的方法,其特征在于公共应用程序接口与多个传输协议中的合适的一个通信包括:
公共应用程序接口与组播传输通信。
24、按权利要求20的方法,其特征在于公共应用程序接口与多个传输协议中的合适的一个通信包括:
公共应用程序接口与SMTP传输通信。
25、按权利要求12的方法,其特征在于多个服务器的第一服务器接收对服务的请求包括:
多个服务器的第一服务器从第三服务器接收对服务的请求。
26、按权利要求12的方法,其特征在于多个服务器的第一服务器接收对服务的请求包括:
多个服务器的第一服务器从客户端接收对服务的请求。
27、用于服务器联盟的第一个服务器的计算机系统,服务器联盟包括与多个客户设备通信的多个服务器,该计算机系统包括下列装置:
用于检测对服务请求的接收的装置;
用于判断需要从至少第二服务器来的进一步信息以响应对服务的请求的装置;
用于利用由第一服务器和第二服务器两者识别的模式构造对进一步信息的请求的装置,其中对进一步信息请求的意义由该模式隐含;
使用与传输协议无关的消息发送底层结构使对进一步信息的请求传递到第二服务器的装置;
用于检测从第二服务器来的响应的接收的装置;和
用于使用进一步信息响应对服务的请求的装置。
28、按权利要求27的计算机系统,其特征在于用于利用由第一服务器和第二服务器两者识别的模式构造对进一步信息的请求的装置包括:
用于按照可扩展标记语言XML构造请求的装置。
29、按权利要求27的计算机系统,其特征在于使用与传输协议无关的消息发送底层结构使对进一步信息的请求传递到第二服务器的装置包括:
用于与支持多个传输协议的公共应用程序接口通信的装置。
30、按权利要求29的计算机系统,其特征在于使用与传输协议无关的消息发送底层结构使对进一步信息的请求传递到第二服务器的装置包括:
用于实现公共应用程序接口的装置,使得公共应用程序接口与多个传输协议中的合适的一个进行通信以响应用于与公共应用程序接口通信的装置的运行。
31、在包括与含有第一客户设备和第二客户设备的多个客户设备进行通信的多个服务器的网络中,一种便于在会话中在第一客户设备与第二客户设备之间转移的方法,该方法包括下列步骤:
检索存储在至少一个服务器的状态信息;
在与第一客户设备的会话中交互导致状态信息的更新;
将更新后的信息存入至少一个服务器上;
当会话在第二客户设备继续时,检索更新的状态信息;和
根据更新的状态信息在继续的会话中与第二客户设备交互。
32、按权利要求31的方法,其特征在于还包括:
在响应在会话中与第一客户设备的交互而允许状态信息更新以前认证第一客户设备的用户。
33、按权利要求32的方法,其特征在于还包括:
在继续会话中与第二客户设备交互以前将第二客户设备的用户认证成与第一客户设备的用户相同的同户。
34、按权利要求31的方法,其特征在于使用遵循由多个服务器识别的模式的数据结构将状态信息存储在至少一个服务器上,其中状态信息的意义由该模式隐含。
35、按权利要求34的方法,其特征在于该数据结构是按可扩展的标记语言XML构造的。
36、按权利要求31的方法,其特征在于至少一个服务器包括服务器联盟。
37、按权利要求31的方法,其特征在于至少一部分状态信息包括用户界面信息,其中与第一客户设备会话中的交互包括下列步骤:
确定第一客户设备的第一用户界面特征;和
提供第一组用户界面信息到第一客户设备,使第一组用户界面信息适合于第一用户界面特征。
38、按权利要求37的方法,其特征在于在与第二客户设备继续的会话中的交互包括下列步骤:
确定第二客户设备的第二用户界面特征;和
提供第二组用户界面信息给第二客户设备,使第二组用户界面信息适合于第二用户界面特征。
39、按权利要求38的方法,其特征在于第一和第二客户设备具有相同的用户界面能力,其中第一和第二组状态信息包括基本相同的用户界面信息,从而允许第一和第二客户设备显示相同的信息。
40、按权利要求38的方法,其特征在于第一和第二客户设备具有不同的用户界面能力,其中第一和第二组用户界面信息是不同的。
41、按权利要求40的方法,其特征在于与第一客户设备会话中的交互包括:
与个人计算机的会话中的交互。
42、按权利要求41的方法,其特征在于个人计算机包括第一个人计算机,其中与第二客户设备的继续会话中的交互包括:
与第二个人计算机的继续会话中的交互。
43、按权利要求41的方法,其特征在于与第二客户设备的继续会话中的交互包括:
与移动电话的继续会话中的交互。
44、按权利要求40的方法,其特征在于与第一客户设备的会话中的交互包括:
与移动电话会话中的交互。
45、按权利要求44的方法,其特征在于移动电话包括第一移动电话,其中与第二客户设备的继续会话中的交互包括:
与第二移动电话的继续会话中的交互。
46、按权利要求44的方法,其特征在于与第二客户设备的继续会话中的交互包括:
与个人计算机的继续会话中的交互。
47、按权利要求31的方法,其特征在于还包括:
至少暂时地中止与第一客户设备的会话中的交互,其中与第二客户设备的继续会话中的交互发生在至少暂时地中止与第一客户设备的会话中的交互之后。
48、按权利要求31的方法,其特征在于检索存储在至少一个服务器上的状态信息包括:
检索存储在至少一个服务器上的偏爱信息。
49、按权利要求31的方法,其特征在于在至少一个服务器存储更新的信息包括:
在至少一个服务器上存储用于会话的会话状态信息。
50、按权利要求31的方法,其特征在于多个服务器包括服务器联盟,其中检索状态信息、与第一客户设备的会话中的交互、存储更新的信息、检索更新的状态信息和在继续的会话中的交互等动作由服务器联盟的二个或多个服务器合作完成。
51、一种用于包括与含有第一客户设备及第二客户设备的多个客户设备通信的多个服务器的网络中的计算机系统,该计算机系统用于实现便于在会话中在第一客户设备与第二客户设备之间转移的方法,该计算机系统包括下列装置:
用于检测接收到存储在至少一个服务器上的状态信息的装置;
用于引起与第一客户设备的会话中的交互的装置;
用于响应与第一客户设备的会话中的交互而引起状态信息更新的装置;
用于引起将更新的信息存储在至少一个服务器的装置;
用于当会话在第二客户设备上继续时检测接收到更新的状态信息的装置;和
用于根据更新的状态信息引起与第二客户设备的继续会话中的交互的装置。
CNB01811458XA 2000-06-22 2001-06-22 分布式计算服务平台 Expired - Lifetime CN1300677C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21356200P 2000-06-22 2000-06-22
US60/213,562 2000-06-22
US09/887,847 US6990513B2 (en) 2000-06-22 2001-06-22 Distributed computing services platform
US09/887,847 2001-06-22

Publications (2)

Publication Number Publication Date
CN1524217A CN1524217A (zh) 2004-08-25
CN1300677C true CN1300677C (zh) 2007-02-14

Family

ID=26908190

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01811458XA Expired - Lifetime CN1300677C (zh) 2000-06-22 2001-06-22 分布式计算服务平台

Country Status (6)

Country Link
US (3) US6990513B2 (zh)
JP (1) JP2004531780A (zh)
CN (1) CN1300677C (zh)
AU (1) AU2001268674B2 (zh)
CA (2) CA2409920C (zh)
WO (1) WO2001098936A2 (zh)

Families Citing this family (972)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6020189A (en) * 1996-08-30 2000-02-01 The Johns Hopkins University School Of Medicine Fibroblast growth factor homologous factors (FHFs) and methods of use
US6324685B1 (en) * 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
US6697489B1 (en) 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US7062484B2 (en) * 1999-04-16 2006-06-13 Pass Dwayne A Interactive wireless devices to on-line system
WO2000079361A2 (en) * 1999-06-22 2000-12-28 Transcomputing International Corporation Event planning system
US7330886B2 (en) * 1999-10-27 2008-02-12 American Power Conversion Corporation Network appliance management
US6714977B1 (en) 1999-10-27 2004-03-30 Netbotz, Inc. Method and system for monitoring computer networks and equipment
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US6832245B1 (en) 1999-12-01 2004-12-14 At&T Corp. System and method for analyzing communications of user messages to rank users and contacts based on message content
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US7037886B2 (en) * 2000-06-01 2006-05-02 Ecolab Inc. Method for manufacturing a molded detergent composition
US6990513B2 (en) * 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
CA2416766A1 (en) * 2000-07-21 2002-01-31 Hewlett-Packard Company Dual level encrypted cache for secure document print on demand
US20050203673A1 (en) * 2000-08-18 2005-09-15 Hassanayn Machlab El-Hajj Wireless communication framework
US6895586B1 (en) 2000-08-30 2005-05-17 Bmc Software Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance
GB2367643B (en) * 2000-09-14 2005-03-30 Wecomm Ltd Distributing displayable data
US20020129345A1 (en) * 2000-09-27 2002-09-12 Tilden Mark D. Scripting business logic in a distributed object oriented environment
US7146644B2 (en) * 2000-11-13 2006-12-05 Digital Doors, Inc. Data security system and method responsive to electronic attacks
US20020069192A1 (en) * 2000-12-04 2002-06-06 Aegerter William Charles Modular distributed mobile data applications
US8230323B2 (en) * 2000-12-06 2012-07-24 Sra International, Inc. Content distribution system and method
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US7769791B2 (en) * 2001-01-12 2010-08-03 Oracle America, Inc. Lightweight reference counting using single-target synchronization
US8271626B2 (en) 2001-01-26 2012-09-18 American Power Conversion Corporation Methods for displaying physical network topology and environmental status by location, organization, or responsible party
US7389341B2 (en) * 2001-01-31 2008-06-17 Accenture Llp Remotely monitoring a data processing system via a communications network
US20020103898A1 (en) * 2001-01-31 2002-08-01 Moyer Stanley L. System and method for using session initiation protocol (SIP) to communicate with networked appliances
US7174363B1 (en) * 2001-02-22 2007-02-06 Charles Schwab & Co., Inc. Distributed computing system architecture
US20030069887A1 (en) * 2001-03-14 2003-04-10 Lucovsky Mark H. Schema-based services for identity-based access to inbox data
US20030131142A1 (en) * 2001-03-14 2003-07-10 Horvitz Eric J. Schema-based information preference settings
US20030061365A1 (en) * 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7788399B2 (en) 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7516191B2 (en) * 2001-03-26 2009-04-07 Salesforce.Com, Inc. System and method for invocation of services
EP1374600A1 (en) * 2001-03-26 2004-01-02 Koninklijke Philips Electronics N.V. Storage of multi-media items
US7689711B2 (en) 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US6996076B1 (en) * 2001-03-29 2006-02-07 Sonus Networks, Inc. System and method to internetwork wireless telecommunication networks
US7249195B2 (en) * 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
US8412746B2 (en) * 2001-05-25 2013-04-02 International Business Machines Corporation Method and system for federated querying of data sources
US7146399B2 (en) * 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US20060064666A1 (en) 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7145900B2 (en) 2001-05-31 2006-12-05 Go2Call.Com, Inc. Packet-switched telephony call server
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7139398B2 (en) 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US7747853B2 (en) 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7007035B2 (en) * 2001-06-08 2006-02-28 The Regents Of The University Of California Parallel object-oriented decision tree system
US7430738B1 (en) * 2001-06-11 2008-09-30 Microsoft Corporation Methods and arrangements for routing server requests to worker processes based on URL
US7594230B2 (en) 2001-06-11 2009-09-22 Microsoft Corporation Web server architecture
US20040215592A1 (en) * 2001-06-20 2004-10-28 Satoshi Matsuura Network system and agent server
US7054939B2 (en) * 2001-06-28 2006-05-30 Bellsouth Intellectual Property Corportion Simultaneous visual and telephonic access to interactive information delivery
US7092950B2 (en) * 2001-06-29 2006-08-15 Microsoft Corporation Method for generic object oriented description of structured data (GDL)
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
US20030014395A1 (en) * 2001-07-12 2003-01-16 International Business Machines Corporation Communication triggered just in time information
JP4024608B2 (ja) 2001-07-16 2007-12-19 株式会社リコー デジタル計算装置、動作情報記録システム
JP3771923B2 (ja) * 2001-07-16 2006-05-10 株式会社リコー デジタル計算装置および外部装置
US8650321B2 (en) * 2001-07-24 2014-02-11 Digi International Inc. Network architecture
US20030023739A1 (en) * 2001-07-28 2003-01-30 Lan Ngoc Vu System and method for multi-tier multi-casting over the Internet
US20030105812A1 (en) * 2001-08-09 2003-06-05 Gigamedia Access Corporation Hybrid system architecture for secure peer-to-peer-communications
US20030033369A1 (en) * 2001-08-09 2003-02-13 Bernhard Benjamin Karb Donovan Web services container
CN1407780A (zh) * 2001-08-13 2003-04-02 国际商业机器公司 在多种终端设备访问服务内容时保持过程持续性的方法和设备
US20030037171A1 (en) * 2001-08-16 2003-02-20 Kedar Madineni System and method for distributed device control
US20040205554A1 (en) * 2001-08-22 2004-10-14 Goswami Kumar K. Systems and methods for accessing multiple internal information sources of a business from a composite web document
US7065740B2 (en) * 2001-08-24 2006-06-20 Microsoft Corporation System and method to automate the management of computer services and programmable devices
US8739112B1 (en) 2001-08-27 2014-05-27 Goldman, Sachs & Co. Developers' resource portal
US7191233B2 (en) * 2001-09-17 2007-03-13 Telecommunication Systems, Inc. System for automated, mid-session, user-directed, device-to-device session transfer system
EP1298515A3 (de) * 2001-09-26 2004-02-04 Siemens Aktiengesellschaft Verfahren zur Steuerung des Zugriffs auf Ressourcen eines Datenverarbeitungssystems
US7774711B2 (en) * 2001-09-28 2010-08-10 Aol Inc. Automatic categorization of entries in a contact list
GB2380279B (en) * 2001-10-01 2006-05-10 Soundvoice Ltd Computer firewall system and method
FR2831370B1 (fr) * 2001-10-18 2005-07-29 Prima Solutions Procede et plate-forme de transaction numerique en temps reel
US20030078830A1 (en) * 2001-10-22 2003-04-24 Wagner Todd R. Real-time collaboration and workflow management for a marketing campaign
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
US7275260B2 (en) 2001-10-29 2007-09-25 Sun Microsystems, Inc. Enhanced privacy protection in identification in a data communications network
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US7085840B2 (en) * 2001-10-29 2006-08-01 Sun Microsystems, Inc. Enhanced quality of identification in a data communications network
US7496751B2 (en) * 2001-10-29 2009-02-24 Sun Microsystems, Inc. Privacy and identification in a data communications network
EP1446739A1 (en) * 2001-11-14 2004-08-18 Chiptec International N.V. Telecommunication system and telecommunication device for application therein
US6988129B2 (en) * 2001-11-26 2006-01-17 Pitney Bowes Inc. Method for providing address change notification in an electronic message forwarding system
US20030140068A1 (en) * 2001-11-26 2003-07-24 Peter Yeung Arrangement, system and method relating to exchange of information
US7734793B2 (en) 2001-11-27 2010-06-08 Accenture Global Services Gmbh Service control framework for seamless transfer of a multimedia conference over different media
EP1461688A4 (en) 2001-11-27 2006-02-08 Accenture Llp SERVICE CONTROL ARCHITECTURE
US6959420B1 (en) * 2001-11-30 2005-10-25 Microsoft Corporation Method and system for protecting internet users' privacy by evaluating web site platform for privacy preferences policy
CA2364628A1 (en) * 2001-12-04 2003-06-04 Kevin W. Jameson Collection role changing gui
CA2364632A1 (en) * 2001-12-04 2003-06-04 Kevin W. Jameson Collection adaptive focus gui
US20030125929A1 (en) * 2001-12-10 2003-07-03 Thomas Bergstraesser Services for context-sensitive flagging of information in natural language text and central management of metadata relating that information over a computer network
US7257638B2 (en) * 2001-12-20 2007-08-14 Microsoft Corporation Distributing network applications
US6665634B2 (en) * 2001-12-21 2003-12-16 Hewlett-Packard Development Company, L.P. Test system for testing dynamic information returned by a web server
US7136909B2 (en) * 2001-12-28 2006-11-14 Motorola, Inc. Multimodal communication method and apparatus with multimodal profile
US20030125063A1 (en) * 2001-12-31 2003-07-03 Bo Svensson Peer-to-peer communications within a mobile network
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7218738B2 (en) * 2002-01-02 2007-05-15 Sony Corporation Encryption and content control in a digital broadcast system
US7039938B2 (en) * 2002-01-02 2006-05-02 Sony Corporation Selective encryption for video on demand
US7607171B1 (en) 2002-01-17 2009-10-20 Avinti, Inc. Virus detection by executing e-mail code in a virtual machine
US9652613B1 (en) 2002-01-17 2017-05-16 Trustwave Holdings, Inc. Virus detection by executing electronic message code in a virtual machine
US20030163544A1 (en) * 2002-02-04 2003-08-28 Wookey Michael J. Remote service systems management interface
US20030149870A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services wide area network connection anti-spoofing control
US20030149771A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services system back-channel multicasting
US20030149740A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services delivery architecture
US20030149889A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Automatic communication and security reconfiguration for remote services
US20030177259A1 (en) * 2002-02-04 2003-09-18 Wookey Michael J. Remote services systems data delivery mechanism
US7167448B2 (en) * 2002-02-04 2007-01-23 Sun Microsystems, Inc. Prioritization of remote services messages within a low bandwidth environment
DE10204837A1 (de) * 2002-02-06 2003-08-14 Siemens Ag Verwaltungsverfahren für personenbezogene medizinische Daten
JP2003233654A (ja) * 2002-02-07 2003-08-22 Matsushita Electric Ind Co Ltd サービス提供システム
US20030154398A1 (en) * 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
US20040215711A1 (en) * 2002-03-14 2004-10-28 Openwave Systems Inc. Mobile services platform architecture
US7490137B2 (en) 2002-03-22 2009-02-10 Microsoft Corporation Vector-based sending of web content
US7159025B2 (en) * 2002-03-22 2007-01-02 Microsoft Corporation System for selectively caching content data in a server based on gathered information and type of memory in the server
JP3920675B2 (ja) * 2002-03-22 2007-05-30 株式会社リコー データ通信方法、コンピュータ、プログラム及び記憶媒体
US20030187691A1 (en) * 2002-03-28 2003-10-02 Health Net, Inc. Method and system for matching a service seeker with a service provider
US7340520B1 (en) * 2002-04-01 2008-03-04 Microsoft Corporation System and method to facilitate manageable and agile deployment of services in accordance with various topologies
US7917581B2 (en) * 2002-04-02 2011-03-29 Verizon Business Global Llc Call completion via instant communications client
US8856236B2 (en) 2002-04-02 2014-10-07 Verizon Patent And Licensing Inc. Messaging response system
AU2003223408A1 (en) * 2002-04-02 2003-10-20 Worldcom, Inc. Communications gateway with messaging communications interface
US20030195922A1 (en) * 2002-04-10 2003-10-16 Alcatel SNMP trap and inform shaping mechanism
EP1495611B1 (de) * 2002-04-12 2014-06-18 Siemens Aktiengesellschaft Repräsentation bool'scher ausdrücke zur spezifikation von filtern mittels xml
US20030225848A1 (en) * 2002-05-31 2003-12-04 Brian Heikes Remote instant messaging personalization items
US7689649B2 (en) * 2002-05-31 2010-03-30 Aol Inc. Rendering destination instant messaging personalization items before communicating with destination
US7779076B2 (en) 2002-05-31 2010-08-17 Aol Inc. Instant messaging personalization
US7779026B2 (en) 2002-05-03 2010-08-17 American Power Conversion Corporation Method and apparatus for collecting and displaying network device information
US9137035B2 (en) * 2002-05-09 2015-09-15 Netstreams Llc Legacy converter and controller for an audio video distribution system
AU2003241405B2 (en) * 2002-05-09 2008-06-19 Netstreams, Llc Audio network distribution system
US20030212738A1 (en) * 2002-05-10 2003-11-13 Wookey Michael J. Remote services system message system to support redundancy of data flow
US7222106B2 (en) * 2002-05-21 2007-05-22 International Business Machines Corporation Mechanisms for handling software license agreements on multi-user system
US7610404B2 (en) * 2002-05-22 2009-10-27 Cast Iron Systems, Inc. Application network communication method and apparatus
US8296433B2 (en) * 2002-05-22 2012-10-23 International Business Machines Corporation Virtualization method and apparatus for integrating enterprise applications
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
JP2004046817A (ja) 2002-05-23 2004-02-12 Ricoh Co Ltd プログラム、記憶媒体、データ管理装置及びデータ管理システム
US20030218632A1 (en) * 2002-05-23 2003-11-27 Tony Altwies Method and architecture of an event transform oriented operating environment for a personal mobile display system
US20030225850A1 (en) * 2002-05-28 2003-12-04 Teague Alan H. Message processing based on address patterns
US7356711B1 (en) 2002-05-30 2008-04-08 Microsoft Corporation Secure registration
US7478233B2 (en) * 2002-05-30 2009-01-13 Microsoft Corporation Prevention of software tampering
US7210132B2 (en) 2002-05-30 2007-04-24 Microsoft Corporation Interoperability of objects between various platforms
JP2004005189A (ja) * 2002-05-31 2004-01-08 Ricoh Co Ltd 文書管理システムおよび文書管理方法
US7685237B1 (en) 2002-05-31 2010-03-23 Aol Inc. Multiple personalities in chat communications
US20030225847A1 (en) * 2002-05-31 2003-12-04 Brian Heikes Sending instant messaging personalization items
US7398209B2 (en) * 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7823060B2 (en) 2002-06-07 2010-10-26 Microsoft Corporation Undo/redo architecture across multiple files
US20040059802A1 (en) * 2002-06-24 2004-03-25 Christian Jacquemot Modeling states and/or transitions in a computer system
US20030236826A1 (en) * 2002-06-24 2003-12-25 Nayeem Islam System and method for making mobile applications fault tolerant
US8046832B2 (en) * 2002-06-26 2011-10-25 Microsoft Corporation Spam detector with challenges
US7003527B1 (en) * 2002-06-27 2006-02-21 Emc Corporation Methods and apparatus for managing devices within storage area networks
US7240109B2 (en) * 2002-06-27 2007-07-03 Sun Microsystems, Inc. Remote services system service module interface
US7181455B2 (en) * 2002-06-27 2007-02-20 Sun Microsystems, Inc. Bandwidth management for remote services system
US7260623B2 (en) * 2002-06-27 2007-08-21 Sun Microsystems, Inc. Remote services system communication module
US8266239B2 (en) * 2002-06-27 2012-09-11 Oracle International Corporation Remote services system relocatable mid level manager
US7051038B1 (en) 2002-06-28 2006-05-23 Microsoft Corporation Method and system for a reporting information services architecture
US20040003007A1 (en) * 2002-06-28 2004-01-01 Prall John M. Windows management instrument synchronized repository provider
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
JP2004046375A (ja) * 2002-07-09 2004-02-12 Canon Inc 帳票処理装置および帳票処理方法ならびにプログラム
US7693720B2 (en) 2002-07-15 2010-04-06 Voicebox Technologies, Inc. Mobile systems and methods for responding to natural language speech utterance
US8140660B1 (en) 2002-07-19 2012-03-20 Fortinet, Inc. Content pattern recognition language processor and methods of using the same
US7206788B2 (en) 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US20060059230A1 (en) * 2002-08-08 2006-03-16 Dykas John J System and method for transferring data between applications
US20040034531A1 (en) * 2002-08-15 2004-02-19 Wu Chou Distributed multimodal dialogue system and method
US8272020B2 (en) * 2002-08-17 2012-09-18 Disney Enterprises, Inc. System for the delivery and dynamic presentation of large media assets over bandwidth constrained networks
CA2494817A1 (en) * 2002-08-21 2004-03-04 Disney Enterprises, Inc. Digital home movie library
US7406511B2 (en) * 2002-08-26 2008-07-29 International Business Machines Corporation System and method for processing transactions in a multisystem database environment
AU2003237363A1 (en) * 2002-08-29 2004-03-19 United States Postal Services Shared services platform
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7941542B2 (en) 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7912899B2 (en) 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7412481B2 (en) 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US7945846B2 (en) * 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7401158B2 (en) * 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7818375B2 (en) * 2002-10-17 2010-10-19 At&T Intellectual Property I, L.P. Providing advanced instant messaging (IM) notification
US7546465B2 (en) 2002-10-17 2009-06-09 At&T Intellectual Property I, L.P. Instant messaging private tags
US7340508B1 (en) * 2002-09-18 2008-03-04 Open Invention Network, Llc Exposing process flows and choreography controllers as web services
FR2845174B1 (fr) * 2002-09-27 2005-04-08 Thales Sa Procede permettant de rendre l'interaction utilisateur-systeme independante de l'application et des medias d'interaction
AU2003275297A1 (en) * 2002-09-27 2004-04-23 Hill-Rom Services, Inc. Universal communications, monitoring, tracking, and control system for a healthcare facility
US7426535B2 (en) * 2002-10-08 2008-09-16 Telecommunication Systems, Inc. Coordination of data received from one or more sources over one or more channels into a single context
US7487248B2 (en) * 2002-10-08 2009-02-03 Brian Moran Method and system for transferring a computer session between devices
US7464268B2 (en) * 2002-10-17 2008-12-09 At&T Intellectual Property I, L.P. Customizable instant messaging private tags
DE10250641A1 (de) * 2002-10-30 2004-05-13 Siemens Ag Auf- und abwärtskompatible Schemaevolution
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US20040088647A1 (en) * 2002-11-06 2004-05-06 Miller Adrian S. Web-based XML document processing system
NO318166B1 (no) * 2002-11-15 2005-02-14 Telenor Asa System for kommunikasjon
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US7899862B2 (en) 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
CA2506585A1 (en) * 2002-11-18 2004-06-03 Valerie Kucharewski People lists
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US8037150B2 (en) 2002-11-21 2011-10-11 Aol Inc. System and methods for providing multiple personas in a communications environment
AU2003291041A1 (en) * 2002-11-21 2004-06-18 America Online, Inc. Multiple personalities
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US7707059B2 (en) * 2002-11-22 2010-04-27 Accenture Global Services Gmbh Adaptive marketing using insight driven customer interaction
US7593530B2 (en) * 2002-12-11 2009-09-22 Broadcom Corporation Secure legacy media peripheral association with authentication in a media exchange network
US8667525B2 (en) 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US7565443B2 (en) * 2002-12-13 2009-07-21 Sap Ag Common persistence layer
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
US20040123139A1 (en) * 2002-12-18 2004-06-24 At&T Corp. System having filtering/monitoring of secure connections
US20040123147A1 (en) * 2002-12-19 2004-06-24 Christopher White Control of security or ease-of-use sensitivity for a wireless communication device
US20040128545A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Host controlled dynamic firewall system
US7945674B2 (en) 2003-04-02 2011-05-17 Aol Inc. Degrees of separation for handling communications
US7263614B2 (en) * 2002-12-31 2007-08-28 Aol Llc Implicit access for communications pathway
US7853471B2 (en) 2002-12-31 2010-12-14 International Business Machines Corporation Instance messaging auto-scheduling
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
US7472272B2 (en) * 2003-01-23 2008-12-30 Verdasys, Inc. Digital asset usage accountability via event journaling
US7100047B2 (en) * 2003-01-23 2006-08-29 Verdasys, Inc. Adaptive transparent encryption
US7814021B2 (en) * 2003-01-23 2010-10-12 Verdasys, Inc. Managed distribution of digital assets
JP3747910B2 (ja) * 2003-01-24 2006-02-22 ソニー株式会社 通信システムおよび方法、情報処理装置および方法、情報管理装置および方法、記録媒体、並びにプログラム
ES2348260T3 (es) 2003-01-31 2010-12-02 Visto Corporation Recuperacion asincrona de datos en tiempo real.
FR2850814A1 (fr) * 2003-02-03 2004-08-06 France Telecom Systeme et procede de synchronisation de donnees entre des portails de services et plate-forme d'acces a des services utilisant un tel systeme de synchronisation
WO2004071051A2 (en) * 2003-02-04 2004-08-19 Reliance Infocomm Limited Mobile telephony application platform
US7912902B2 (en) * 2003-02-13 2011-03-22 Telcordia Licensing Company, Llc Application service peering and aggregation
US7487502B2 (en) * 2003-02-19 2009-02-03 Intel Corporation Programmable event driven yield mechanism which may activate other threads
US7849465B2 (en) * 2003-02-19 2010-12-07 Intel Corporation Programmable event driven yield mechanism which may activate service threads
US7249162B2 (en) * 2003-02-25 2007-07-24 Microsoft Corporation Adaptive junk message filtering system
US20040167961A1 (en) * 2003-02-26 2004-08-26 Microsoft Corporation Fragment response cache
US7219148B2 (en) 2003-03-03 2007-05-15 Microsoft Corporation Feedback loop for spam prevention
US7543053B2 (en) * 2003-03-03 2009-06-02 Microsoft Corporation Intelligent quarantining for spam prevention
US7913176B1 (en) 2003-03-03 2011-03-22 Aol Inc. Applying access controls to communications with avatars
US7908554B1 (en) 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
US20040179037A1 (en) 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate context out-of-band
US7809679B2 (en) * 2003-03-03 2010-10-05 Fisher-Rosemount Systems, Inc. Distributed data access methods and apparatus for process control systems
DE10310151A1 (de) * 2003-03-07 2004-09-16 Linde Ag Verfahren zum Betreiben einer Kraftstoffanlage für einen LPG-Motor
US8762415B2 (en) * 2003-03-25 2014-06-24 Siebel Systems, Inc. Modeling of order data
US7200676B2 (en) * 2003-03-26 2007-04-03 Microsoft Corporation Transmitting and receiving messages through a customizable communication channel and programming model
US7613776B1 (en) 2003-03-26 2009-11-03 Aol Llc Identifying and using identities deemed to be known to a user
US7548992B2 (en) * 2003-03-28 2009-06-16 Safenet, Inc. Method for preparing a decision tree for packet processing
US7536695B2 (en) * 2003-03-28 2009-05-19 Microsoft Corporation Architecture and system for location awareness
DE602004024296D1 (de) * 2003-04-14 2010-01-07 American Power Conv Corp Erweiterbare sensorüberwachung, warnungsverarbeitungs- und benachrichtigungssystem und verfahren
US8566292B2 (en) * 2003-04-14 2013-10-22 Schneider Electric It Corporation Method and system for journaling and accessing sensor and configuration data
EP1616236B1 (en) * 2003-04-14 2016-11-23 Schneider Electric IT Corporation Method and system for journaling and accessing sensor and configuration data
US10069808B2 (en) 2003-04-16 2018-09-04 Eileen Chu Hing Methods and systems for providing a customized network
US9177337B2 (en) 2003-04-16 2015-11-03 Eileen Chu Hing Methods and systems for providing a customized network
GB0308991D0 (en) * 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
JP4222184B2 (ja) 2003-04-24 2009-02-12 日本電気株式会社 セキュリティ管理支援システム、セキュリティ管理支援方法およびプログラム
US20040220996A1 (en) * 2003-04-29 2004-11-04 Taiwan Semiconductor Manufaturing Co., Ltd. Multi-platform computer network and method of simplifying access to the multi-platform computer network
WO2004107099A2 (en) 2003-04-30 2004-12-09 Disney Enterprises, Inc. Cell phone multimedia controller
US7483947B2 (en) * 2003-05-02 2009-01-27 Microsoft Corporation Message rendering for identification of content features
US7257603B2 (en) 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
US7516157B2 (en) * 2003-05-08 2009-04-07 Microsoft Corporation Relational directory
US7240073B2 (en) 2003-05-08 2007-07-03 Microsoft Corporation Rules customization and related methods
US7634480B2 (en) 2003-05-08 2009-12-15 Microsoft Corporation Declarative rules for metadirectory
US7636720B2 (en) 2003-05-08 2009-12-22 Microsoft Corporation Associating and using information in a metadirectory
US7330853B2 (en) * 2003-05-08 2008-02-12 Microsoft Corporation Attribute value selection for entity objects
US7124134B2 (en) * 2003-05-08 2006-10-17 Eugene Buzzeo Distributed, multi-user, multi-threaded application development system and method
US20040225632A1 (en) * 2003-05-08 2004-11-11 Microsoft Corporation Automated information management and related methods
US7739363B1 (en) * 2003-05-09 2010-06-15 Apple Inc. Configurable offline data store
US7210137B1 (en) * 2003-05-13 2007-04-24 Microsoft Corporation Memory mapping and parsing application data
US8321590B2 (en) 2003-05-22 2012-11-27 International Business Machines Corporation Application network communication
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
JP2004350234A (ja) * 2003-05-26 2004-12-09 Seiko Epson Corp 半導体集積回路
WO2004107130A2 (en) * 2003-05-28 2004-12-09 Caymas Systems, Inc. Multilayer access control security system
US7272853B2 (en) * 2003-06-04 2007-09-18 Microsoft Corporation Origination/destination features and lists for spam prevention
CN103001923B (zh) * 2003-06-05 2016-03-30 英特特拉斯特技术公司 用于控制对在计算机系统上的电子内容片段的访问的方法和系统
US7519668B2 (en) 2003-06-20 2009-04-14 Microsoft Corporation Obfuscation of spam filter
US7356697B2 (en) * 2003-06-20 2008-04-08 International Business Machines Corporation System and method for authentication to an application
US7711779B2 (en) * 2003-06-20 2010-05-04 Microsoft Corporation Prevention of outgoing spam
US7603442B2 (en) * 2003-06-20 2009-10-13 Microsoft Corporation Method and system for maintaining service dependency relationships in a computer system
US7406694B2 (en) * 2003-06-20 2008-07-29 Microsoft Corporation Method and system for tracking kernel resource usage
US8533270B2 (en) 2003-06-23 2013-09-10 Microsoft Corporation Advanced spam detection techniques
US7266557B2 (en) * 2003-06-25 2007-09-04 International Business Machines Corporation File retrieval method and system
US7979448B2 (en) * 2003-06-25 2011-07-12 International Business Machines Corporation Mail and calendar tool and method
US20040268124A1 (en) * 2003-06-27 2004-12-30 Nokia Corporation, Espoo, Finland Systems and methods for creating and maintaining a centralized key store
US20040267564A1 (en) * 2003-06-30 2004-12-30 Rebecca Dunn Facilitating effective medical treatment management
US20040267563A1 (en) * 2003-06-30 2004-12-30 Rebecca Dunn Implementing an effective medical treatment management program
US7643442B1 (en) * 2003-06-30 2010-01-05 Cisco Systems, Inc. Dynamic QoS configuration based on transparent processing of session initiation messages
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
US20050015293A1 (en) * 2003-07-16 2005-01-20 International Business Machines Corporation Collaboration enhanced workflow system
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
EP1505505A1 (en) * 2003-08-08 2005-02-09 Sony International (Europe) GmbH Method and System for Remotely Diagnosing Devices
EP1654668A2 (en) * 2003-08-15 2006-05-10 The Sco Group, Inc. Web services enablement and deployment substrate
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7555497B2 (en) * 2003-08-21 2009-06-30 Microsoft Corporation Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization
US7590643B2 (en) 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US8238696B2 (en) * 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US7428546B2 (en) * 2003-08-21 2008-09-23 Microsoft Corporation Systems and methods for data modeling in an item-based storage platform
US20050055354A1 (en) * 2003-08-21 2005-03-10 Microsoft Corporation Systems and methods for representing units of information manageable by a hardware/software interface system but independent of physical representation
US7401104B2 (en) 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US7739316B2 (en) * 2003-08-21 2010-06-15 Microsoft Corporation Systems and methods for the implementation of base schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) * 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7349913B2 (en) * 2003-08-21 2008-03-25 Microsoft Corporation Storage platform for organizing, searching, and sharing data
US7483915B2 (en) * 2003-08-21 2009-01-27 Microsoft Corporation Systems and method for representing relationships between units of information manageable by a hardware/software interface system
US20050050298A1 (en) * 2003-08-25 2005-03-03 International Business Machines Corporation Method and system for mapping open grid services architecture service data to native resource representation
US7958055B2 (en) * 2003-08-29 2011-06-07 International Business Machines Corporation Method and apparatus for temporary ownership of digital items in a network data processing system
US8869061B1 (en) 2003-08-29 2014-10-21 Microsoft Corporation User interface for searching an electronic document
US20050050170A1 (en) * 2003-08-29 2005-03-03 International Business Machines Corporation Method and apparatus for securely conducting digital property trade
US7698229B2 (en) * 2003-08-29 2010-04-13 International Business Machines Corporation Method and apparatus for trading digital items in a network data processing system
US8285881B2 (en) * 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
WO2005038555A2 (en) * 2003-09-12 2005-04-28 Aristocrat Technologies Australia Pty Ltd Communications interface for a gaming machine
US7139894B1 (en) * 2003-09-12 2006-11-21 Microsoft Corporation System and methods for sharing configuration information with multiple processes via shared memory
WO2005026952A2 (en) * 2003-09-17 2005-03-24 Research In Motion Limited System and method for management of mutating applications
CN1853148A (zh) * 2003-09-17 2006-10-25 西门子医疗健康服务公司 处理装置安全管理和配置系统及用户接口
US8543566B2 (en) 2003-09-23 2013-09-24 Salesforce.Com, Inc. System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data
US7529728B2 (en) 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
US7620658B2 (en) * 2003-09-24 2009-11-17 Microsoft Corporation Configuration of a directory system
US20050071422A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Method, system, and computer program product for an automation tool adapter for use with multiple different automation tools
US7590936B1 (en) * 2003-09-30 2009-09-15 Microsoft Corporation Method for extracting information associated with a search term
US7418472B2 (en) * 2003-09-30 2008-08-26 Microsoft Corporation Systems and methods for determining remote device media capabilities
GB0322871D0 (en) * 2003-09-30 2003-10-29 British Telecomm A method of operating a computer network
US20050080858A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation System and method for searching a peer-to-peer network
US8453196B2 (en) 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
GB2407403A (en) * 2003-10-22 2005-04-27 Ibm Validating a variable data item in a software routine
US7765540B2 (en) * 2003-10-23 2010-07-27 Microsoft Corporation Use of attribution to describe management information
US20050091272A1 (en) * 2003-10-23 2005-04-28 Smith Walter R. Contact management
US8150923B2 (en) * 2003-10-23 2012-04-03 Microsoft Corporation Schema hierarchy for electronic messages
US8321506B2 (en) * 2003-10-23 2012-11-27 Microsoft Corporation Architecture for an extensible real-time collaboration system
US7539974B2 (en) 2003-10-24 2009-05-26 Microsoft Corporation Scalable synchronous and asynchronous processing of monitoring rules
US20050089023A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Architecture for an extensible real-time collaboration system
US7676560B2 (en) * 2003-10-24 2010-03-09 Microsoft Corporation Using URI's to identify multiple instances with a common schema
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7424513B2 (en) 2003-10-23 2008-09-09 Microsoft Corporation Decoupling an attachment from an electronic message that included the attachment
US7506307B2 (en) * 2003-10-24 2009-03-17 Microsoft Corporation Rules definition language
US8370436B2 (en) 2003-10-23 2013-02-05 Microsoft Corporation System and method for extending a message schema to represent fax messages
US7194516B2 (en) * 2003-10-23 2007-03-20 Microsoft Corporation Accessing different types of electronic messages through a common messaging interface
US8055907B2 (en) 2003-10-24 2011-11-08 Microsoft Corporation Programming interface for a computer platform
US7310807B2 (en) 2003-10-29 2007-12-18 Sbc Knowledge Ventures, L.P. System and method for local video distribution
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
DE10351351B4 (de) * 2003-11-04 2007-03-22 Siemens Ag Verfahren und System zur dynamischen Generierung von User Interfaces
US20050102500A1 (en) * 2003-11-12 2005-05-12 International Business Machines Corporation System and method for integrating applications in different enterprises separated by firewalls
US8479101B2 (en) * 2003-11-13 2013-07-02 Koninklijke Philips Electronics N.V. Consistent user interface front end for remote user interfaces
US20050108570A1 (en) * 2003-11-19 2005-05-19 International Business Machines Corporation Method, system and program product for obtaining application data
US7590713B2 (en) * 2003-11-24 2009-09-15 Microsoft Corporation Presenting a merged view of remote application shortcuts from multiple providers
US7720906B2 (en) * 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
CN1954574B (zh) * 2003-12-08 2011-04-06 美国博通公司 以太网上的统一架构
US7434157B2 (en) * 2003-12-09 2008-10-07 Microsoft Corporation Programmable object model for namespace or schema library support in a software application
US7313756B2 (en) * 2003-12-15 2007-12-25 Microsoft Corporation Schema editor extensions
US8639755B2 (en) * 2003-12-17 2014-01-28 International Business Machines Corporation System and method of managing real-time communications using context-based awareness states
US20050138156A1 (en) * 2003-12-19 2005-06-23 Alexander Gebhart Grid application customization
US8775654B2 (en) * 2003-12-19 2014-07-08 Salesforce.Com, Inc. Apparatus and methods for mediating messages
US7486698B2 (en) * 2003-12-19 2009-02-03 Solace Systems, Inc. Multiplexing of control and data over an HTTP connection
US7401337B2 (en) * 2003-12-19 2008-07-15 International Business Machines Corporation Managing application interactions using distributed modality components
US7409690B2 (en) * 2003-12-19 2008-08-05 International Business Machines Corporation Application module for managing interactions of distributed modality components
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US20050149498A1 (en) * 2003-12-31 2005-07-07 Stephen Lawrence Methods and systems for improving a search ranking using article information
US8196044B2 (en) * 2004-01-05 2012-06-05 Microsoft Corporation Configuration of user interfaces
KR100447041B1 (ko) * 2004-01-17 2004-09-07 박기복 멀티-티어(Tier) 분산 환경에서 티어별 서버의 성능측정을 위한 클라이언트의 요청 리소스(resource)의 수집과 티어별 서버의 성능과 요청 리소스들에 대한 성능정보를 측정,분석,모니터 하는 시스템 및 방법
US20050176421A1 (en) * 2004-01-20 2005-08-11 Narendra Matenge Multiple subscription service for wireless communications
US20050172261A1 (en) * 2004-01-30 2005-08-04 Yuknewicz Paul J. Architecture for creating a user interface using a data schema
EP1560137A1 (en) * 2004-01-30 2005-08-03 Sap Ag Technique for reliable message confirmation
US7665147B2 (en) * 2004-02-05 2010-02-16 At&T Mobility Ii Llc Authentication of HTTP applications
US7853665B1 (en) * 2004-02-18 2010-12-14 Microsoft Corporation Content targeting with audiences
WO2005081735A2 (en) * 2004-02-18 2005-09-09 Ipass Inc. Method and system for managing transactions in a remote network access system
US20050193145A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Providing a portion of an electronic mail message based upon digital rights
US7698383B2 (en) * 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US8214438B2 (en) 2004-03-01 2012-07-03 Microsoft Corporation (More) advanced spam detection features
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US20050203921A1 (en) * 2004-03-11 2005-09-15 Newman Aaron C. System for protecting database applications from unauthorized activity
US20050204006A1 (en) * 2004-03-12 2005-09-15 Purcell Sean E. Message junk rating interface
US7665085B2 (en) * 2004-03-15 2010-02-16 Ramco Systems Limited Flexible deployment of software applications
US7441246B2 (en) * 2004-03-19 2008-10-21 Microsoft Corporation Configurable collection of computer related metric data
US20050234929A1 (en) * 2004-03-31 2005-10-20 Ionescu Mihai F Methods and systems for interfacing applications with a search engine
US7680888B1 (en) 2004-03-31 2010-03-16 Google Inc. Methods and systems for processing instant messenger messages
US7412708B1 (en) 2004-03-31 2008-08-12 Google Inc. Methods and systems for capturing information
US8161053B1 (en) 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US8346777B1 (en) 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US7725508B2 (en) * 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US7581227B1 (en) 2004-03-31 2009-08-25 Google Inc. Systems and methods of synchronizing indexes
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US7941439B1 (en) 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
US8275839B2 (en) * 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7467399B2 (en) * 2004-03-31 2008-12-16 International Business Machines Corporation Context-sensitive confidentiality within federated environments
US20050223027A1 (en) * 2004-03-31 2005-10-06 Lawrence Stephen R Methods and systems for structuring event data in a database for location and retrieval
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US8099407B2 (en) * 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US7533134B2 (en) * 2004-04-01 2009-05-12 Microsoft Corporation Systems and methods for the propagation of conflict resolution to enforce item convergence (i.e., data convergence)
US7590685B2 (en) * 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US20050234954A1 (en) * 2004-04-16 2005-10-20 Infoblox Maintaining data integrity in a distributed environment
US7865617B1 (en) * 2004-06-10 2011-01-04 Infoblox Inc. Maintaining consistency in a database
US8516035B2 (en) * 2006-06-21 2013-08-20 Apple Inc. Browsing and searching of podcasts
US8412763B2 (en) 2006-06-21 2013-04-02 Apple Inc. Podcast organization and usage at a computing device
US7533149B2 (en) 2004-04-30 2009-05-12 Microsoft Corporation Maintaining multiple versions of message bodies in a common database
US7552175B2 (en) * 2004-04-30 2009-06-23 Microsoft Corporation Mechanism for controlling communication paths between conference members
US7778962B2 (en) * 2004-04-30 2010-08-17 Microsoft Corporation Client store synchronization through intermediary store change packets
US7636922B2 (en) * 2004-05-03 2009-12-22 Microsoft Corporation Generic user interface command architecture
US7649854B2 (en) * 2004-05-19 2010-01-19 Bea Systems, Inc. System and method for providing channels in application servers and transaction-based systems
US7650432B2 (en) * 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US20050262075A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for collaboration shared state management
US20060030292A1 (en) * 2004-05-20 2006-02-09 Bea Systems, Inc. Client programming for mobile client
WO2005114957A1 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Method and apparatus for providing security to web services
WO2005114956A1 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Method and apparatus for processing web service messages
US7617239B2 (en) * 2004-05-21 2009-11-10 Siebel Systems, Inc. Modeling of activity data
US7702724B1 (en) * 2004-05-27 2010-04-20 Oracle America, Inc. Web services message broker architecture
US20050268219A1 (en) * 2004-05-28 2005-12-01 Microsoft Corporation Method and system for embedding context information in a document
CN101031882B (zh) * 2004-06-08 2010-09-08 达尔特设备互操作有限公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
US8646107B1 (en) * 2004-06-25 2014-02-04 Altera Corporation Implementing usage limited systems
US7664819B2 (en) * 2004-06-29 2010-02-16 Microsoft Corporation Incremental anti-spam lookup and update service
US7877465B2 (en) * 2004-07-14 2011-01-25 International Business Machines Corporation Providing artifact and configuration cohesion across disparate portal application models
US8528078B2 (en) * 2004-07-15 2013-09-03 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
US8533791B2 (en) 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
US20100100967A1 (en) * 2004-07-15 2010-04-22 Douglas James E Secure collaborative environment
US20060020545A1 (en) * 2004-07-26 2006-01-26 Microsoft Corporation Payroll system
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US8402283B1 (en) * 2004-08-02 2013-03-19 Nvidia Corporation Secure content enabled drive system and method
US8359332B1 (en) 2004-08-02 2013-01-22 Nvidia Corporation Secure content enabled drive digital rights management system and method
US7725605B2 (en) * 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US7904517B2 (en) * 2004-08-09 2011-03-08 Microsoft Corporation Challenge response systems
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US7660865B2 (en) 2004-08-12 2010-02-09 Microsoft Corporation Spam filtering with probabilistic secure hashes
US20060159077A1 (en) * 2004-08-20 2006-07-20 Vanecek George Jr Service-oriented middleware for managing interoperability of heterogeneous elements of integrated systems
US7418719B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support a unified process model for handling messages sent in different protocols
US7418712B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support multiple-protocol processing within worker processes
US7418709B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation URL namespace to support multiple-protocol processing within worker processes
US8150926B2 (en) 2004-09-09 2012-04-03 Microsoft Corporation Organizing electronic mail messages into conversations
US20060064468A1 (en) * 2004-09-20 2006-03-23 Brown K R Web services interface and object access framework
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7853947B2 (en) 2004-09-30 2010-12-14 Citrix Systems, Inc. System for virtualizing access to named system objects using rule action associated with request
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8117559B2 (en) * 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
US7613703B2 (en) 2004-09-30 2009-11-03 Microsoft Corporation Organizing resources into collections to facilitate more efficient and reliable resource access
US7721328B2 (en) 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US20060075391A1 (en) * 2004-10-05 2006-04-06 Esmonde Laurence G Jr Distributed scenario generation
US7865495B1 (en) * 2004-10-06 2011-01-04 Shopzilla, Inc. Word deletion for searches
US8086261B2 (en) * 2004-10-07 2011-12-27 At&T Intellectual Property I, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US8392515B2 (en) * 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
US8549180B2 (en) * 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US7730220B2 (en) 2004-10-22 2010-06-01 Microsoft Corporation Broadcasting communication within a rendezvous federation
US8095601B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US7567965B2 (en) 2004-10-22 2009-07-28 Microsoft Corporation Presenting message attachments independent of electronic messages at a user-interface
US20060090003A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7694167B2 (en) * 2004-10-22 2010-04-06 Microsoft Corporation Maintaining routing consistency within a rendezvous federation
US8090880B2 (en) 2006-11-09 2012-01-03 Microsoft Corporation Data consistency within a federation infrastructure
US8014321B2 (en) * 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US8095600B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US7958262B2 (en) * 2004-10-22 2011-06-07 Microsoft Corporation Allocating and reclaiming resources within a rendezvous federation
US20110082928A1 (en) 2004-10-22 2011-04-07 Microsoft Corporation Maintaining consistency within a federation infrastructure
AU2005299366A1 (en) * 2004-10-25 2006-05-04 Empower Technologies Inc., A Washington Corporation System and method for global data synchronization
US7984085B1 (en) 2004-10-25 2011-07-19 Network Appliance, Inc. Rate of change of data using on-the-fly accounting
JP4677412B2 (ja) * 2004-11-08 2011-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のクライアントにまたがってデータをバックアップするための方法
US20060168275A1 (en) * 2004-11-22 2006-07-27 Lin Peter A Method to facilitate a service convergence fabric
US20060212472A1 (en) * 2004-11-30 2006-09-21 Wavenetworx Inc. Method and system for creating a rich media content portal using third-party commercial portal application software
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US7613383B2 (en) 2004-12-02 2009-11-03 Hitachi, Ltd. Editing method and recording and reproducing device
US20060120518A1 (en) * 2004-12-03 2006-06-08 Motorola, Inc. Method and system for information relay between multiple user environments
US7474359B2 (en) 2004-12-06 2009-01-06 At&T Intellectual Properties I, L.P. System and method of displaying a video stream
US8145748B2 (en) 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
US7711814B1 (en) 2004-12-13 2010-05-04 American Power Conversion Corporation Method and system for remote monitoring of a power supply device with user registration capability
US8875309B1 (en) 2004-12-15 2014-10-28 Nvidia Corporation Content server and method of providing content therefrom
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US8788425B1 (en) 2004-12-15 2014-07-22 Nvidia Corporation Method and system for accessing content on demand
US8751825B1 (en) 2004-12-15 2014-06-10 Nvidia Corporation Content server and method of storing content
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US8346807B1 (en) 2004-12-15 2013-01-01 Nvidia Corporation Method and system for registering and activating content
US8219807B1 (en) 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US9652809B1 (en) 2004-12-21 2017-05-16 Aol Inc. Using user profile information to determine an avatar and/or avatar characteristics
US8271574B1 (en) * 2004-12-22 2012-09-18 Hewlett-Packard Development Company, L.P. Content sharing and collaboration
US20060150082A1 (en) * 2004-12-30 2006-07-06 Samir Raiyani Multimodal markup language tags
US8332844B1 (en) 2004-12-30 2012-12-11 Emendable Assets Limited Liability Company Root image caching and indexing for block-level distributed application management
US20060168112A1 (en) * 2004-12-30 2006-07-27 Jie Weng Generic integration within an auto-id system
US7721282B1 (en) * 2004-12-30 2010-05-18 Panta Systems, Inc. Block-level I/O subsystem for distributed application environment management
US8417854B2 (en) * 2004-12-30 2013-04-09 Sap Aktiengesellschaft Generic device integration within an auto-id system
US8156560B2 (en) * 2004-12-30 2012-04-10 General Instrument Corporation Method and apparatus for providing a border guard between security domains
EP1849093A2 (en) * 2005-01-06 2007-10-31 Tervela Inc. Hardware-based messaging appliance
AU2005322959A1 (en) 2005-01-06 2006-07-13 Tervela, Inc. Intelligent messaging application programming interface
US7519825B2 (en) * 2005-01-17 2009-04-14 House Of Development Llc Electronic certification and authentication system
US9202084B2 (en) 2006-02-01 2015-12-01 Newsilike Media Group, Inc. Security facility for maintaining health care data pools
US7640346B2 (en) * 2005-02-01 2009-12-29 Microsoft Corporation Dispatching network connections in user-mode
US20080046471A1 (en) * 2005-02-01 2008-02-21 Moore James F Calendar Synchronization using Syndicated Data
US7307574B2 (en) 2005-02-02 2007-12-11 Sbc Knowledge Ventures, Lp Remote control, apparatus, system and methods of using the same
US7882236B2 (en) * 2005-02-04 2011-02-01 Microsoft Corporation Communication channel model
US20060178898A1 (en) * 2005-02-07 2006-08-10 Babak Habibi Unified event monitoring system
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US7490072B1 (en) 2005-02-16 2009-02-10 Novell, Inc. Providing access controls
US7801954B2 (en) * 2005-02-25 2010-09-21 Microsoft Corporation Method and system for providing expanded presence information when a user is offline
US7853961B2 (en) * 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
US7805422B2 (en) 2005-02-28 2010-09-28 Microsoft Corporation Change notification query multiplexing
CA2598832A1 (en) * 2005-03-01 2006-09-08 Irm Llc Method and system for enterprise data access, annotation and sharing
US20060206381A1 (en) * 2005-03-12 2006-09-14 Felix Frayman Method and system for creating interactive guides and information exchange services
US20060218027A1 (en) * 2005-03-22 2006-09-28 Carrion Veronica L System and method for single user interface window event scheduling
US9665833B2 (en) * 2005-03-24 2017-05-30 Oracle International Corporation System and method for providing collaboration communities in a computer portal environment
US7571228B2 (en) * 2005-04-22 2009-08-04 Microsoft Corporation Contact management in a serverless peer-to-peer system
US8036140B2 (en) * 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US8893299B1 (en) 2005-04-22 2014-11-18 Nvidia Corporation Content keys for authorizing access to content
US7617281B2 (en) * 2005-04-25 2009-11-10 Microsoft Corporation System and method for collaboration with serverless presence
US20060242109A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation Server-deployed cache list management for presenting an auto-complete list
US7793260B2 (en) * 2005-04-25 2010-09-07 Microsoft Corporation System for defining and activating pluggable user interface components for a deployed application
US7752253B2 (en) * 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
US7634515B2 (en) * 2005-05-13 2009-12-15 Microsoft Corporation Data model and schema evolution
US8352935B2 (en) 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US7783635B2 (en) * 2005-05-25 2010-08-24 Oracle International Corporation Personalization and recommendations of aggregated data not owned by the aggregator
US8365306B2 (en) * 2005-05-25 2013-01-29 Oracle International Corporation Platform and service for management and multi-channel delivery of multi-types of contents
US7917612B2 (en) 2005-05-25 2011-03-29 Oracle International Corporation Techniques for analyzing commands during streaming media to confirm delivery
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
US20070027715A1 (en) * 2005-06-13 2007-02-01 Medcommons, Inc. Private health information interchange and related systems, methods, and devices
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US8392836B1 (en) 2005-07-11 2013-03-05 Google Inc. Presenting quick list of contacts to communication application user
US9479468B2 (en) 2005-07-11 2016-10-25 Google Inc. Presenting instant messages
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US7890452B2 (en) * 2005-07-13 2011-02-15 Sap Ag Methods for enterprise-level data and process access and presentation
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US20070027732A1 (en) * 2005-07-28 2007-02-01 Accu-Spatial, Llc Context-sensitive, location-dependent information delivery at a construction site
US20070028174A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing dynamic screensaver
US20070028175A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
CN100361553C (zh) * 2005-07-29 2008-01-09 华为技术有限公司 一种无线终端用户标识保存方法与装置
US7925985B2 (en) 2005-07-29 2011-04-12 Sap Ag Methods and apparatus for process thumbnail view
US7930353B2 (en) * 2005-07-29 2011-04-19 Microsoft Corporation Trees of classifiers for detecting email spam
US7640160B2 (en) 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7620549B2 (en) * 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
CN1916890A (zh) * 2005-08-16 2007-02-21 鸿富锦精密工业(深圳)有限公司 分布式系统中组件的存储管理系统及方法
US20070192140A1 (en) * 2005-08-17 2007-08-16 Medcommons, Inc. Systems and methods for extending an information standard through compatible online access
US8751582B1 (en) 2005-08-22 2014-06-10 Google Inc. Managing presence subscriptions for messaging services
US8700668B2 (en) * 2005-08-23 2014-04-15 Business Integrity Limited Completeness in dependency networks
US7941448B2 (en) 2005-08-26 2011-05-10 At&T Intellectual Property Ii, Lp System and method for event driven publish-subscribe communications
US7949529B2 (en) * 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US7634409B2 (en) 2005-08-31 2009-12-15 Voicebox Technologies, Inc. Dynamic speech sharpening
US20070052672A1 (en) 2005-09-08 2007-03-08 Swisscom Mobile Ag Communication device, system and method
US8539064B1 (en) * 2005-09-13 2013-09-17 Aruba Networks, Inc. Analysis of encrypted streaming media traffic
US8103545B2 (en) 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
US8688671B2 (en) 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US9076175B2 (en) 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US8364521B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US10592930B2 (en) 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US8229914B2 (en) 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US7912458B2 (en) 2005-09-14 2011-03-22 Jumptap, Inc. Interaction analysis and prioritization of mobile content
US8503995B2 (en) 2005-09-14 2013-08-06 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US9201979B2 (en) 2005-09-14 2015-12-01 Millennial Media, Inc. Syndication of a behavioral profile associated with an availability condition using a monetization platform
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US8989718B2 (en) 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US8027879B2 (en) 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer System for targeting advertising content to a plurality of mobile communication facilities
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US8666376B2 (en) 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US8532633B2 (en) 2005-09-14 2013-09-10 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US8290810B2 (en) 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US7660581B2 (en) 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
EP1764761A1 (en) * 2005-09-16 2007-03-21 Sap Ag A system for handling data for describing one or more resources and a method of handling meta data for describing one or more resources
US20070078816A1 (en) * 2005-10-05 2007-04-05 Microsoft Corporation Common sub-expression elimination for inverse query evaluation
US20070083620A1 (en) * 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
KR101285946B1 (ko) * 2005-10-18 2013-08-23 인터트러스트 테크놀로지즈 코포레이션 디지털 권리 관리를 위한 방법
US20070204078A1 (en) * 2006-02-09 2007-08-30 Intertrust Technologies Corporation Digital rights management engine systems and methods
US9626667B2 (en) * 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US8181226B2 (en) * 2005-10-26 2012-05-15 Sony Mobile Communications Ab Method and apparatus for multimedia session transfer
US8065370B2 (en) 2005-11-03 2011-11-22 Microsoft Corporation Proofs to filter spam
US8248965B2 (en) * 2005-11-03 2012-08-21 Motorola Solutions, Inc. Method and apparatus regarding use of a service convergence fabric
US8175585B2 (en) 2005-11-05 2012-05-08 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8285784B2 (en) * 2005-11-08 2012-10-09 Alcatel Lucent Service creation via presence messaging
US20070112871A1 (en) * 2005-11-17 2007-05-17 Mulagund Gopal B Method and apparatus for facilitating condition-based dynamic auditing policies in a database
TWI287744B (en) * 2005-11-22 2007-10-01 Inst Information Industry Method and system for discover capabilities of communication device
US20070124156A1 (en) * 2005-11-29 2007-05-31 The Boeing Company Representing business transactions
GB0524350D0 (en) * 2005-11-30 2006-01-04 Ibm Method and apparatus for propagating address change in an email
US8055707B2 (en) * 2005-11-30 2011-11-08 Alcatel Lucent Calendar interface for digital communications
KR100759800B1 (ko) * 2005-12-01 2007-09-20 한국전자통신연구원 이종 연방 환경에서 메시지 전송 방법 및 장치와 이를이용한 서비스 제공 방법 및 장치
EP1955281A4 (en) 2005-12-01 2009-03-11 Firestar Software Inc SYSTEM AND METHOD FOR EXCHANGING INFORMATION BETWEEN EXCHANGE APPLICATIONS
US7853590B2 (en) * 2005-12-02 2010-12-14 Microsoft Corporation Remote read-write access to disparate data stores
US7676548B2 (en) * 2005-12-07 2010-03-09 Samsung Electronics Co., Ltd System and method for providing a presence service
US20070136472A1 (en) * 2005-12-12 2007-06-14 Ip3 Networks Systems and methods for requesting protocol in a network using natural language messaging
US9116998B2 (en) 2005-12-14 2015-08-25 At&T Intellectual Property I, L.P. Guest browser
US7882560B2 (en) * 2005-12-16 2011-02-01 Cisco Technology, Inc. Methods and apparatus providing computer and network security utilizing probabilistic policy reposturing
US9286469B2 (en) * 2005-12-16 2016-03-15 Cisco Technology, Inc. Methods and apparatus providing computer and network security utilizing probabilistic signature generation
US8413245B2 (en) * 2005-12-16 2013-04-02 Cisco Technology, Inc. Methods and apparatus providing computer and network security for polymorphic attacks
US8495743B2 (en) * 2005-12-16 2013-07-23 Cisco Technology, Inc. Methods and apparatus providing automatic signature generation and enforcement
WO2007076484A2 (en) * 2005-12-22 2007-07-05 Flory Clive F Method, system, and apparatus for the management of the electronic files
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
US7877409B2 (en) 2005-12-29 2011-01-25 Nextlabs, Inc. Preventing conflicts of interests between two or more groups using applications
US8150816B2 (en) 2005-12-29 2012-04-03 Nextlabs, Inc. Techniques of optimizing policies in an information management system
US7533111B2 (en) * 2005-12-30 2009-05-12 Microsoft Corporation Using soap messages for inverse query expressions
US7617214B2 (en) * 2006-01-31 2009-11-10 Dell Products L.P. Porting security application preferences from one system to another
US8601127B2 (en) * 2006-01-31 2013-12-03 Panasonic Corporation Method for selective service updates for communication networks
US20070198682A1 (en) * 2006-02-22 2007-08-23 Pazhyannur Rajesh S Method and system for seamless media handover across devices
US7703099B2 (en) * 2006-02-24 2010-04-20 Microsoft Corporation Scalable transformation and configuration of EDI interchanges
US7984373B2 (en) * 2006-02-24 2011-07-19 Microsoft Corporation EDI instance based transaction set definition
US7620645B2 (en) * 2006-02-24 2009-11-17 Microsoft Corporation Scalable algorithm for sharing EDI schemas
US7685208B2 (en) * 2006-02-24 2010-03-23 Microsoft Corporation XML payload specification for modeling EDI schemas
US8156148B2 (en) * 2006-02-24 2012-04-10 Microsoft Corporation Scalable algorithm for sharing EDI schemas
US8788706B2 (en) * 2006-02-27 2014-07-22 Vudu, Inc. Method and system for managing data transmission between devices behind network address translators (NATs)
KR100703811B1 (ko) * 2006-02-28 2007-04-09 삼성전자주식회사 휴대용 저장장치 및 휴대용 저장장치의 데이터 관리 방법
US8185921B2 (en) * 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US8676973B2 (en) * 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US8364965B2 (en) * 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
US8122087B2 (en) 2006-03-21 2012-02-21 Aol Inc. Matching engine for comparing data feeds with user profile criteria
US8060871B2 (en) * 2006-03-30 2011-11-15 Microsoft Corporation Servicing software through versioning
US20070233685A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Displaying access rights on search results pages
US20070245227A1 (en) * 2006-04-13 2007-10-18 Workflow.Com, Llc Business Transaction Documentation System and Method
US20070256068A1 (en) * 2006-05-01 2007-11-01 Microsoft Corporation Product updating with custom actions
US20070276863A1 (en) * 2006-05-02 2007-11-29 Research In Motion Limited Plug in registration method and apparatus for push content delivery
US8259623B2 (en) 2006-05-04 2012-09-04 Bridgewater Systems Corp. Content capability clearing house systems and methods
US20070288254A1 (en) * 2006-05-08 2007-12-13 Firestar Software, Inc. System and method for exchanging transaction information using images
US7860825B2 (en) * 2006-05-08 2010-12-28 Palm, Inc. Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks
US7702747B1 (en) * 2006-05-31 2010-04-20 Oracle America, Inc. Identity synchronization across multiple domains
US8407670B2 (en) * 2006-06-02 2013-03-26 Microsoft Corporation Collaborative code conflict detection, notification and resolution
JP2007323537A (ja) * 2006-06-02 2007-12-13 Navitime Japan Co Ltd 広告配信システム、情報配信サーバおよび端末装置
US7913244B2 (en) * 2006-06-12 2011-03-22 Oracle International Corporation Side by side for web services
US7966362B2 (en) * 2006-06-21 2011-06-21 Apple Inc. Management of podcasts
US8009566B2 (en) 2006-06-26 2011-08-30 Palo Alto Networks, Inc. Packet classification in a network security device
US8560463B2 (en) 2006-06-26 2013-10-15 Oracle International Corporation Techniques for correlation of charges in multiple layers for content and service delivery
US20080005235A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Collaborative integrated development environment using presence information
US8869066B2 (en) 2006-07-06 2014-10-21 Addthis, Llc Generic content collection systems
US7953861B2 (en) * 2006-08-10 2011-05-31 International Business Machines Corporation Managing session state for web applications
US7730480B2 (en) * 2006-08-22 2010-06-01 Novell, Inc. System and method for creating a pattern installation by cloning software installed another computer
JP2010503072A (ja) * 2006-09-02 2010-01-28 ティーティービー テクノロジーズ,エルエルシー コンピュータベースのミーティング準備方法および実施システム
US20090066348A1 (en) * 2006-09-06 2009-03-12 Young Shik Shin Apparatus and method for quantitative determination of target molecules
US20080072334A1 (en) * 2006-09-18 2008-03-20 Todd Bailey System and method for electronic collaboration
US8291439B2 (en) * 2006-09-21 2012-10-16 Convergys Information Management Group, Inc. Data platform web services application programming interface
US7730028B2 (en) * 2006-09-22 2010-06-01 Research In Motion Limited Schema updating for synchronizing databases connected by wireless interface
US8645973B2 (en) * 2006-09-22 2014-02-04 Oracle International Corporation Mobile applications
BRPI0717323A2 (pt) 2006-09-26 2014-12-23 Ralph Korpman Sistema e aparelho para registro de saúde individual
US11170879B1 (en) * 2006-09-26 2021-11-09 Centrifyhealth, Llc Individual health record system and apparatus
US20080080526A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Migrating data to new cloud
US7680908B2 (en) * 2006-09-28 2010-03-16 Microsoft Corporation State replication
US8719143B2 (en) * 2006-09-28 2014-05-06 Microsoft Corporation Determination of optimized location for services and data
US8056092B2 (en) * 2006-09-29 2011-11-08 Clearspring Technologies, Inc. Method and apparatus for widget-container hosting and generation
US20080082627A1 (en) * 2006-09-29 2008-04-03 Allen Stewart O Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation
US8095531B2 (en) 2006-10-03 2012-01-10 Salesforce.Com, Inc. Methods and systems for controlling access to custom objects in a database
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
US8073681B2 (en) * 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US20080104169A1 (en) * 2006-10-30 2008-05-01 Microsoft Corporation Processing initiate notifications for different modes of communication
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
US9124437B2 (en) * 2006-10-31 2015-09-01 The Hotel Communication Network, Inc. Method and system for a hotel based meeting and conference communications network
US8583793B2 (en) * 2006-11-20 2013-11-12 Apple Inc. System and method for providing a hypertext transfer protocol service multiplexer
US8095474B2 (en) * 2006-11-29 2012-01-10 Caterpillar Inc. Method for processing advanced ship notices (ASNs)
US7908292B2 (en) * 2006-12-05 2011-03-15 Nokia Corporation Metadata broker
US8120802B2 (en) * 2006-12-06 2012-02-21 Sharp Laboratories Of America, Inc. System and method for securely accessing downloaded print job resources
US8224905B2 (en) 2006-12-06 2012-07-17 Microsoft Corporation Spam filtration utilizing sender activity data
KR100834977B1 (ko) * 2006-12-08 2008-06-04 한국전자통신연구원 임베디드 에이전트 프레임워크 및 이를 이용한 유비쿼터스서비스 제공 방법
US7849497B1 (en) * 2006-12-14 2010-12-07 Athena Security, Inc. Method and system for analyzing the security of a network
US8176561B1 (en) 2006-12-14 2012-05-08 Athena Security, Inc. Assessing network security risk using best practices
US7934207B2 (en) * 2006-12-19 2011-04-26 Microsoft Corporation Data schemata in programming language contracts
US20080147821A1 (en) * 2006-12-19 2008-06-19 Dietrich Bradley W Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes
US20080148044A1 (en) * 2006-12-19 2008-06-19 Motorola, Inc. Locking carrier access in a communication network
US9602880B2 (en) 2006-12-29 2017-03-21 Kip Prod P1 Lp Display inserts, overlays, and graphical user interfaces for multimedia systems
WO2008085203A2 (en) 2006-12-29 2008-07-17 Prodea Systems, Inc. Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises
US20080159139A1 (en) * 2006-12-29 2008-07-03 Motorola, Inc. Method and system for a context manager for a converged services framework
US11783925B2 (en) 2006-12-29 2023-10-10 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9569587B2 (en) 2006-12-29 2017-02-14 Kip Prod Pi Lp Multi-services application gateway and system employing the same
US11316688B2 (en) 2006-12-29 2022-04-26 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US8239504B2 (en) 2007-01-07 2012-08-07 Apple Inc. Synchronization methods and systems
US7660831B2 (en) * 2007-01-07 2010-02-09 Apple Inc. Synchronization methods and systems
US7778971B2 (en) * 2007-01-07 2010-08-17 Apple Inc. Synchronization methods and systems
US7761414B2 (en) * 2007-01-07 2010-07-20 Apple Inc. Asynchronous data synchronization amongst devices
US7739410B2 (en) * 2007-01-07 2010-06-15 Apple Inc. Synchronization methods and systems
US20080163743A1 (en) * 2007-01-07 2008-07-10 Freedman Gordon J Synchronization methods and systems
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
WO2008085175A1 (en) * 2007-01-12 2008-07-17 Secureach Systems, Inc. Method and system for communicating information
US8184781B2 (en) * 2007-01-12 2012-05-22 Secureach Systems, Llc Method and system for communicating information
US8640124B2 (en) * 2007-01-15 2014-01-28 Microsoft Corporation Multi-installer product advertising
US8640121B2 (en) * 2007-01-15 2014-01-28 Microsoft Corporation Facilitating multi-installer product installations
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
WO2008109761A2 (en) 2007-03-06 2008-09-12 Clearspring Technologies, Inc. Method and apparatus for data processing
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US20080235246A1 (en) * 2007-03-20 2008-09-25 Arun Hampapur Filter sequencing based on a publish-subscribe architecture for digital signal processing
JP2008234445A (ja) * 2007-03-22 2008-10-02 Brother Ind Ltd コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
US7765261B2 (en) * 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers
US7950046B2 (en) * 2007-03-30 2011-05-24 Uranus International Limited Method, apparatus, system, medium, and signals for intercepting a multiple-party communication
US8702505B2 (en) 2007-03-30 2014-04-22 Uranus International Limited Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication
US8627211B2 (en) * 2007-03-30 2014-01-07 Uranus International Limited Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication
US8060887B2 (en) * 2007-03-30 2011-11-15 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7765266B2 (en) * 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium, and signals for publishing content created during a communication
WO2008124366A1 (en) * 2007-04-04 2008-10-16 Motorola, Inc. Method and apparatus to facilitate using an application-layer control protocol message to facilitate federation-based network activities
US9059986B2 (en) * 2007-04-04 2015-06-16 Motorola Solutions, Inc. Method and apparatus to facilitate using a federation-based benefit to facilitate communications mobility
US8094669B2 (en) * 2007-04-24 2012-01-10 Oracle International Corporation System and method for store and forward routing for distributed destinations
DK2147585T3 (en) 2007-05-15 2017-01-16 Schneider Electric It Corp PROCEDURE AND SYSTEM FOR HANDLING EQUIPMENT AND COOLING
US7971209B2 (en) * 2007-05-18 2011-06-28 Sap Ag Shortcut in reliable communication
US20080294448A1 (en) * 2007-05-23 2008-11-27 At&T Knowledge Ventures, Lp Methods and systems associated with telephone directory advertisements
US8291445B2 (en) * 2007-05-25 2012-10-16 Verizon Patent And Licensing Inc. Expanded media content access systems and methods
US8402529B1 (en) 2007-05-30 2013-03-19 M86 Security, Inc. Preventing propagation of malicious software during execution in a virtual machine
JP4888556B2 (ja) * 2007-06-20 2012-02-29 富士通株式会社 ユニット間設定同期装置
US20090006646A1 (en) * 2007-06-26 2009-01-01 Data Frenzy, Llc System and Method of Auto Populating Forms on Websites With Data From Central Database
US8209540B2 (en) 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
US20090013262A1 (en) * 2007-07-03 2009-01-08 Lunarr, Inc. Systems and methods for providing document collaboration using a front and back framework
US20090018877A1 (en) * 2007-07-10 2009-01-15 Openconnect Systems Incorporated System and Method for Modeling Business Processes
US8468168B2 (en) 2007-07-25 2013-06-18 Xobni Corporation Display of profile information based on implicit actions
US20090055364A1 (en) * 2007-08-21 2009-02-26 Microsoft Corporation Declarative views for mapping
US8150886B2 (en) * 2007-08-29 2012-04-03 Microsoft Corporation Multiple database entity model generation using entity models
US8239455B2 (en) * 2007-09-07 2012-08-07 Siemens Aktiengesellschaft Collaborative data and knowledge integration
US7948978B1 (en) 2007-09-19 2011-05-24 Sprint Communications Company L.P. Packet processing in a communication network element with stacked applications
US8179906B1 (en) 2007-09-19 2012-05-15 Sprint Communications Company L.P. Communication network elements with application stacking
CN101803353B (zh) 2007-09-20 2013-12-25 西门子企业通讯有限责任两合公司 用于运行通信连接的方法和通信装置
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US7925694B2 (en) * 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US20090165021A1 (en) * 2007-10-23 2009-06-25 Microsoft Corporation Model-Based Composite Application Platform
US20090112915A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Class configuration for locally cached remote data binding
US8307439B2 (en) * 2007-11-30 2012-11-06 Intel Corporation Add-in card based cheat detection platform for online applications
US8140335B2 (en) 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US20090158298A1 (en) * 2007-12-12 2009-06-18 Abhishek Saxena Database system and eventing infrastructure
US8331958B2 (en) * 2007-12-13 2012-12-11 Garmin Switzerland Gmbh Automatically identifying location information in text data
US8949470B2 (en) * 2007-12-31 2015-02-03 Genesys Telecommunications Laboratories, Inc. Federated access
US8904031B2 (en) * 2007-12-31 2014-12-02 Genesys Telecommunications Laboratories, Inc. Federated uptake throttling
US9584343B2 (en) 2008-01-03 2017-02-28 Yahoo! Inc. Presentation of organized personal and public data using communication mediums
US8090877B2 (en) 2008-01-26 2012-01-03 Citrix Systems, Inc. Systems and methods for fine grain policy driven cookie proxying
US9026623B2 (en) * 2008-01-31 2015-05-05 Microsoft Technology Licensing, Llc Layered architectures for remote dynamic administration of distributed client configurations
US20090204966A1 (en) * 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US8169304B2 (en) 2008-02-22 2012-05-01 Hill-Rom Services, Inc. User station for healthcare communication system
EP2093988B1 (en) * 2008-02-22 2019-09-25 Hill-Rom Services, Inc. Distributed fault tolerant architecture for a healthcare communication system
US8126748B2 (en) * 2008-02-25 2012-02-28 Tixtrack, Inc. Sports and concert event ticket pricing and visualization system
US20090222519A1 (en) * 2008-03-03 2009-09-03 John Boyd Computer-based methods for arranging meetings and systems for performing the same
AU2009222007A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on accessible entitlements
US20090228868A1 (en) * 2008-03-04 2009-09-10 Max Drukman Batch configuration of multiple target devices
US7991740B2 (en) 2008-03-04 2011-08-02 Apple Inc. Synchronization server process
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
AU2009222009B2 (en) * 2008-03-04 2013-02-07 Apple Inc. System and method of authorizing execution of software code in a device based on entitlements granted to a carrier
JP5069359B2 (ja) * 2008-03-04 2012-11-07 アップル インコーポレイテッド 少なくとも1つのインストールされたプロフィールに基づいてソフトウェアコードの実行を許可するシステム及び方法
US8533453B2 (en) * 2008-03-12 2013-09-10 Go Daddy Operating Company, LLC Method and system for configuring a server and dynamically loading SSL information
US20090240707A1 (en) * 2008-03-18 2009-09-24 International Business Machines Corporation Event driven input data validation
US9003059B2 (en) * 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
WO2009134430A1 (en) * 2008-05-01 2009-11-05 Salesforce.Com, Inc. System, method and computer program product for generating a set of instructions to an on-demand database service
US8751948B2 (en) 2008-05-13 2014-06-10 Cyandia, Inc. Methods, apparatus and systems for providing and monitoring secure information via multiple authorized channels and generating alerts relating to same
KR20110063617A (ko) * 2008-05-13 2011-06-13 몬트레이 그룹 원 엘엘씨 다양한 타입의 컴퓨팅 장치들을 통하여 다수의 정보 형태들과 상호작용하기 위한 장치 및 방법들
US8589161B2 (en) * 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US9305548B2 (en) 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US20090300169A1 (en) * 2008-06-03 2009-12-03 Microsoft Corporation Synchronization throttling based on user activity
US9396280B2 (en) * 2008-06-23 2016-07-19 Microsoft Technology Licensing, Llc Command driven web site browsing
US20090328062A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Scalable and extensible communication framework
US8001154B2 (en) * 2008-06-26 2011-08-16 Microsoft Corporation Library description of the user interface for federated search results
US7877461B1 (en) * 2008-06-30 2011-01-25 Google Inc. System and method for adding dynamic information to digitally signed mobile applications
JP4894826B2 (ja) * 2008-07-14 2012-03-14 ソニー株式会社 通信装置、通信システム、報知方法、及びプログラム
MX2011000025A (es) 2008-07-28 2011-05-30 Sony Corp Dispositivo de cliente y metodologia asociada para acceder a servicios en red.
US8275870B2 (en) * 2008-08-12 2012-09-25 Olive Interactive, LLC Internet identity graph and social graph management system and method
US8495212B2 (en) * 2008-08-12 2013-07-23 Olive Interactive, LLC Internet identity graph and social graph management system and method
US8336047B2 (en) * 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
JP5536067B2 (ja) * 2008-09-08 2014-07-02 セールスフォース ドット コム インコーポレイティッド データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント
US20100100605A1 (en) * 2008-09-15 2010-04-22 Allen Stewart O Methods and apparatus for management of inter-widget interactions
US8490052B2 (en) * 2008-10-14 2013-07-16 Microsoft Corporation Declarative programming model for authoring and execution control and data flow for resource oriented system
US8438295B2 (en) 2008-10-14 2013-05-07 Microsoft Corporation Declarative programming model for modeling and execution of triggers for resource oriented system
US8533666B2 (en) * 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
US8873556B1 (en) 2008-12-24 2014-10-28 Palo Alto Networks, Inc. Application based packet forwarding
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US8489633B2 (en) * 2009-03-06 2013-07-16 Hewlett-Packard Development Company, L.P. Correlated query process (CQP) and peer-to-peer (P2P) execution
US8966090B2 (en) * 2009-04-15 2015-02-24 Nokia Corporation Method, apparatus and computer program product for providing an indication of device to device communication availability
US8775467B2 (en) * 2009-04-29 2014-07-08 Blackberry Limited System and method for linking an address
WO2010127365A1 (en) 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US9240015B2 (en) 2009-05-08 2016-01-19 A2Zlogix, Inc. Method and system for synchronizing delivery of promotional material to computing devices
US8122041B2 (en) * 2009-05-08 2012-02-21 Microsoft Corporation Sharing and collaboration of search findings
US20100303046A1 (en) * 2009-05-27 2010-12-02 Netstreams, Llc Wireless video and audio network distribution system
WO2010141216A2 (en) 2009-06-02 2010-12-09 Xobni Corporation Self populating address book
US8621574B2 (en) * 2009-06-02 2013-12-31 Microsoft Corporation Opaque quarantine and device discovery
US20100318957A1 (en) * 2009-06-16 2010-12-16 International Business Machines Corporation System, method, and apparatus for extensible business transformation using a component-based business model
US8438544B2 (en) * 2009-06-18 2013-05-07 International Business Machines Corporation Open systems developer portal and managing software development projects
US9721228B2 (en) 2009-07-08 2017-08-01 Yahoo! Inc. Locally hosting a social network using social data stored on a user's computer
US8990323B2 (en) 2009-07-08 2015-03-24 Yahoo! Inc. Defining a social network model implied by communications data
US8984074B2 (en) 2009-07-08 2015-03-17 Yahoo! Inc. Sender-based ranking of person profiles and multi-person automatic suggestions
US7930430B2 (en) 2009-07-08 2011-04-19 Xobni Corporation Systems and methods to provide assistance during address input
CN101964742B (zh) * 2009-07-24 2012-05-23 华为技术有限公司 一种网络开放能力使用方法、系统和装置
US20110035594A1 (en) * 2009-07-27 2011-02-10 Barbara Ann Fox Apparatus and method for providing elective message tagging
US8875219B2 (en) * 2009-07-30 2014-10-28 Blackberry Limited Apparatus and method for controlled sharing of personal information
US20110060812A1 (en) * 2009-09-10 2011-03-10 Level 3 Communications, Llc Cache server with extensible programming framework
US8997077B1 (en) * 2009-09-11 2015-03-31 Symantec Corporation Systems and methods for remediating a defective uninstaller during an upgrade procedure of a product
US20110071867A1 (en) * 2009-09-23 2011-03-24 International Business Machines Corporation Transformation of data centers to manage pollution
US20110071856A1 (en) * 2009-09-23 2011-03-24 Nasenbenny Mary B System and method for dynamic real time insurance litigation management
JP5326974B2 (ja) * 2009-09-30 2013-10-30 富士通株式会社 中継装置、異なる端末装置間のサービス継続方法、及び中継プログラム
US9475359B2 (en) * 2009-10-06 2016-10-25 Johnson Controls Technology Company Systems and methods for displaying a hierarchical set of building management system information
US8655830B2 (en) * 2009-10-06 2014-02-18 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US20110087650A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Creation and use of causal relationship models in building management systems and applications
US20110083377A1 (en) * 2009-10-13 2011-04-14 Randall Lee Graffis Big drawer
US9087323B2 (en) 2009-10-14 2015-07-21 Yahoo! Inc. Systems and methods to automatically generate a signature block
WO2011056665A1 (en) * 2009-10-27 2011-05-12 Mobile Imagination, Llc System and method for the generation and distribution of an electronic interactive call sheet
WO2011059997A1 (en) 2009-11-10 2011-05-19 Voicebox Technologies, Inc. System and method for providing a natural language content dedication service
US9171541B2 (en) * 2009-11-10 2015-10-27 Voicebox Technologies Corporation System and method for hybrid processing in a natural language voice services environment
US9514466B2 (en) * 2009-11-16 2016-12-06 Yahoo! Inc. Collecting and presenting data including links from communications sent to or from a user
US8468345B2 (en) 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
JP2011107557A (ja) * 2009-11-20 2011-06-02 Fuji Xerox Co Ltd 画像形成装置
US9270687B2 (en) * 2009-11-24 2016-02-23 Verizon Patent And Licensing Inc. System and method for providing sensor overlay networks
US9537650B2 (en) 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
US10348693B2 (en) 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
US9760866B2 (en) 2009-12-15 2017-09-12 Yahoo Holdings, Inc. Systems and methods to provide server side profile information
US8924569B2 (en) 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
CN102118426B (zh) * 2009-12-31 2014-09-17 方正宽带网络服务股份有限公司 网络安全支付终端及其网络安全支付方法
US9020938B2 (en) 2010-02-03 2015-04-28 Yahoo! Inc. Providing profile information using servers
US8924956B2 (en) * 2010-02-03 2014-12-30 Yahoo! Inc. Systems and methods to identify users using an automated learning process
US20110197200A1 (en) * 2010-02-11 2011-08-11 Garmin Ltd. Decoding location information in content for use by a native mapping application
US8326948B2 (en) * 2010-03-02 2012-12-04 Microsoft Corporation Abstract protocol independent data bus
US20110225658A1 (en) * 2010-03-10 2011-09-15 Microsoft Corporation End user license agreement on demand
US20110225627A1 (en) * 2010-03-11 2011-09-15 Ricoh Company, Ltd. Access Limited Search Results
CN102200907A (zh) * 2010-03-24 2011-09-28 深圳市金蝶中间件有限公司 一种门户应用程序的个性化配置方法及装置
US8982053B2 (en) 2010-05-27 2015-03-17 Yahoo! Inc. Presenting a new user screen in response to detection of a user motion
US8972257B2 (en) 2010-06-02 2015-03-03 Yahoo! Inc. Systems and methods to present voice message information to a user of a computing device
US8620935B2 (en) 2011-06-24 2013-12-31 Yahoo! Inc. Personalizing an online service based on data collected for a user of a computing device
US20110302593A1 (en) * 2010-06-08 2011-12-08 Chad Gatesman Processing An Asynchronous Message Event
US8914544B2 (en) 2010-06-23 2014-12-16 Smartek21, Llc Computer-implemented system and method for transparently interfacing with legacy line of business applications
US9636584B2 (en) 2010-06-24 2017-05-02 Zynga Inc. Mobile device interface for online games
US20130079145A1 (en) 2011-09-26 2013-03-28 Serena Lam Mobile device interface for online games
US8516016B2 (en) 2010-07-07 2013-08-20 Johnson Controls Technology Company Systems and methods for facilitating communication between a plurality of building automation subsystems
US8682921B2 (en) 2010-07-07 2014-03-25 Johnson Controls Technology Company Query engine for building management systems
KR20120010047A (ko) * 2010-07-23 2012-02-02 삼성전자주식회사 이메일 처리 방법 및 장치
US20120030343A1 (en) 2010-07-29 2012-02-02 Apple Inc. Dynamic migration within a network storage system
WO2012027472A2 (en) 2010-08-24 2012-03-01 Copiun, Inc. Constant access gateway and de-duplicated data cache server
US8661084B1 (en) * 2010-08-27 2014-02-25 Okta, Inc. Metadata based platform for accessing and managing multiple heterogeneous information services
WO2012051539A2 (en) 2010-10-14 2012-04-19 Cyandia, Inc. Methods, apparatus, and systems for presenting television programming and related information
US8818963B2 (en) 2010-10-29 2014-08-26 Microsoft Corporation Halloween protection in a multi-version database system
JP5522735B2 (ja) * 2010-11-04 2014-06-18 Necシステムテクノロジー株式会社 セッション管理装置、セッション管理システム、セッション管理方法、及びプログラム
US10694402B2 (en) 2010-11-05 2020-06-23 Mark Cummings Security orchestration and network immune system deployment framework
US10687250B2 (en) 2010-11-05 2020-06-16 Mark Cummings Mobile base station network
EP2636186B1 (en) 2010-11-05 2019-08-14 Mark Cummings Orchestrating wireless network operations
US10285094B2 (en) 2010-11-05 2019-05-07 Mark Cummings Mobile base station network
US10531516B2 (en) 2010-11-05 2020-01-07 Mark Cummings Self organizing system to implement emerging topologies
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US9239708B2 (en) * 2010-12-28 2016-01-19 Microsoft Technology Licensing, Llc Contextually intelligent code editing
CN102571733B (zh) * 2010-12-31 2015-11-25 中国移动通信集团陕西有限公司 Boss系统的访问方法及系统、云计算平台
US9311324B2 (en) * 2011-01-26 2016-04-12 Mitre Corporation Synchronizing data among a federation of servers with intermittent or low signal bandwidth
US9838351B2 (en) 2011-02-04 2017-12-05 NextPlane, Inc. Method and system for federation of proxy-based and proxy-free communications systems
US20120239413A1 (en) * 2011-02-16 2012-09-20 Medicity, Inc. Sending Healthcare Information Securely
US20120233552A1 (en) * 2011-03-07 2012-09-13 Sony Corporation Personalizing the user experience
EP2500856A1 (en) 2011-03-15 2012-09-19 Amadeus S.A.S. Method and system for providing a session involving a plurality of software applications
EP2500848A1 (en) 2011-03-15 2012-09-19 Amadeus S.A.S. Method and system for centralized reservation context management on multi-server reservation system
EP2501107B1 (en) 2011-03-15 2014-01-22 Amadeus S.A.S. Method and system for providing a session in a heterogeneous environment
CN102143022B (zh) * 2011-03-16 2013-09-25 北京邮电大学 用于ip网络的云测量装置和测量方法
US8261295B1 (en) * 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
US9203799B2 (en) 2011-03-31 2015-12-01 NextPlane, Inc. Method and system for advanced alias domain routing
US9077726B2 (en) 2011-03-31 2015-07-07 NextPlane, Inc. Hub based clearing house for interoperability of distinct unified communication systems
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
CN103597488B (zh) 2011-04-11 2016-08-24 英特托拉斯技术公司 信息安全系统和方法
US20120317474A1 (en) * 2011-04-20 2012-12-13 IBT - Internet Business Technologies Methods and systems for real-time web content publishing
US9489325B2 (en) * 2011-04-28 2016-11-08 Sandeep Jain Method and a system for polling and processing data
US9235620B2 (en) 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
EP2541473A1 (en) 2011-06-27 2013-01-02 Amadeus S.A.S. Method and system for a pre-shopping reservation system with increased search efficiency
US8695096B1 (en) 2011-05-24 2014-04-08 Palo Alto Networks, Inc. Automatic signature generation for malicious PDF files
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9063776B2 (en) 2011-05-27 2015-06-23 Microsoft Technology Licensing, Llc Application activation framework
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
US8706869B2 (en) 2011-06-14 2014-04-22 International Business Machines Corporation Distributed cloud placement software
US9584877B2 (en) * 2011-06-16 2017-02-28 Microsoft Technology Licensing, Llc Light-weight validation of native images
US9336060B2 (en) * 2011-06-17 2016-05-10 Microsoft Technology Licensing, Llc Middleware services framework for on-premises and cloud deployment
US10078819B2 (en) 2011-06-21 2018-09-18 Oath Inc. Presenting favorite contacts information to a user of a computing device
US9747583B2 (en) 2011-06-30 2017-08-29 Yahoo Holdings, Inc. Presenting entity profile information to a user of a computing device
US20130013284A1 (en) * 2011-07-05 2013-01-10 Haiqin Wang System and methods for modeling and analyzing quality of service characteristics of federated cloud services in an open eco-system
US20130031187A1 (en) * 2011-07-30 2013-01-31 Bhatia Rajesh Method and system for generating customized content from a live event
US9531801B1 (en) * 2011-08-30 2016-12-27 Virtual Command, LLC Dynamic information technology multi-directional multi-protocol resource convergence system
US20130066832A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Application state synchronization
US9247004B2 (en) 2011-10-25 2016-01-26 Vital Connect, Inc. System and method for reliable and scalable health monitoring
US10546057B2 (en) * 2011-10-28 2020-01-28 Microsoft Technology Licensing, Llc Spreadsheet program-based data classification for source target mapping
US10277421B2 (en) * 2011-10-31 2019-04-30 Extreme Networks, Inc. Route lookup resolution
US8842840B2 (en) 2011-11-03 2014-09-23 Arvind Gidwani Demand based encryption and key generation and distribution systems and methods
FI125252B (en) * 2011-12-07 2015-08-14 Arm Finland Oy Procedure, device and system for managing web services
KR101878488B1 (ko) 2011-12-20 2018-08-20 한국전자통신연구원 대화 연관 컨텐츠 제공 방법 및 장치
CN104137105B (zh) 2011-12-22 2017-07-11 施耐德电气It公司 关于瞬时事件对数据中心中的温度的影响分析
US10402926B2 (en) * 2011-12-30 2019-09-03 Cerner Innovation, Inc. Multidevice collaboration
US8799675B2 (en) 2012-01-05 2014-08-05 House Of Development Llc System and method for electronic certification and authentication of data
US9489243B2 (en) * 2012-01-26 2016-11-08 Computenext Inc. Federating computing resources across the web
US9836770B2 (en) 2012-02-24 2017-12-05 Ad Persistence, Llc Data capture for user interaction with promotional materials
US10977285B2 (en) 2012-03-28 2021-04-13 Verizon Media Inc. Using observations of a person to determine if data corresponds to the person
CN102624919A (zh) * 2012-03-30 2012-08-01 电子科技大学 一种面向服务架构的分布式业务集成系统及其应用方法
WO2013151574A1 (en) * 2012-04-05 2013-10-10 Hing Eileen Chu Methods and systems for providing a customized network
US8839375B2 (en) * 2012-05-25 2014-09-16 Microsoft Corporation Managing distributed operating system physical resources
US8955146B1 (en) * 2012-05-30 2015-02-10 CBANC Network, Inc. System and method for regulated collaboration marketplace
US9047442B2 (en) * 2012-06-18 2015-06-02 Microsoft Technology Licensing, Llc Provisioning managed devices with states of arbitrary type
US8966064B2 (en) 2012-07-09 2015-02-24 Parentsware, Llc Agreement compliance controlled electronic device throttle
US9847948B2 (en) 2012-07-09 2017-12-19 Eturi Corp. Schedule and location responsive agreement compliance controlled device throttle
US9887887B2 (en) 2012-07-09 2018-02-06 Eturi Corp. Information throttle based on compliance with electronic communication rules
US9854393B2 (en) 2012-07-09 2017-12-26 Eturi Corp. Partial information throttle based on compliance with an agreement
US10079931B2 (en) 2012-07-09 2018-09-18 Eturi Corp. Information throttle that enforces policies for workplace use of electronic devices
US9864810B2 (en) * 2012-08-24 2018-01-09 International Business Machines Corporation User-specified user application data sharing
US8745261B1 (en) 2012-10-02 2014-06-03 Nextbit Systems Inc. Optimized video streaming using cloud computing platform
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9811586B2 (en) * 2012-10-18 2017-11-07 Oath Inc. Systems and methods for processing and organizing electronic content
US10013672B2 (en) 2012-11-02 2018-07-03 Oath Inc. Address extraction from a communication
US20140130063A1 (en) * 2012-11-07 2014-05-08 Cloudcar, Inc. Systems and methods for low overhead remote procedure calls
US20140157108A1 (en) * 2012-11-30 2014-06-05 Meteor Development Group, Inc. Live-updating web page generation
CN102981913B (zh) * 2012-12-04 2015-04-08 公安部第三研究所 支持大规模分布式增量计算的推理控制方法及推理控制系统
US10192200B2 (en) 2012-12-04 2019-01-29 Oath Inc. Classifying a portion of user contact data into local contacts
CN103888484B (zh) * 2012-12-19 2017-08-04 华为技术有限公司 呼叫控制方法及装置
US20140245140A1 (en) * 2013-02-22 2014-08-28 Next It Corporation Virtual Assistant Transfer between Smart Devices
US9672822B2 (en) 2013-02-22 2017-06-06 Next It Corporation Interaction with a portion of a content item through a virtual assistant
US9195712B2 (en) 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
US8819127B1 (en) 2013-04-12 2014-08-26 Fmr Llc Ensemble computing
US9524147B2 (en) * 2013-05-10 2016-12-20 Sap Se Entity-based cross-application navigation
US11289200B1 (en) 2017-03-13 2022-03-29 C/Hca, Inc. Authorized user modeling for decision support
US10412028B1 (en) 2013-05-24 2019-09-10 HCA Holdings, Inc. Data derived user behavior modeling
US9705840B2 (en) 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9819636B2 (en) 2013-06-10 2017-11-14 NextPlane, Inc. User directory system for a hub-based system federating disparate unified communications systems
US8949998B2 (en) 2013-07-01 2015-02-03 Medidata Solutions, Inc. Method and system for maintaining data in a substantiated state
US11216293B2 (en) * 2013-07-09 2022-01-04 Allied Telesis Holdings Kabushiki Kaisha Command line interface
US20150026658A1 (en) * 2013-07-18 2015-01-22 Appsense Limited Systems, Methods and Media for Dynamic Creation and Update of Activation Context for Component Object Model
CN103390224A (zh) * 2013-07-31 2013-11-13 昆明能讯科技有限责任公司 一种用于电网公司的组件应用共享管理系统及其实现方法
WO2015031861A1 (en) * 2013-08-30 2015-03-05 U-Me Holdings LLC Making a user's data, settings, and licensed content available in the cloud
US9729615B2 (en) * 2013-11-18 2017-08-08 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications
US10148710B2 (en) 2013-11-27 2018-12-04 At&T Intellectual Property I, L.P. Method, computer-readable storage device and apparatus for establishing persistent messaging sessions
US9430539B2 (en) * 2013-12-12 2016-08-30 Netflix, Inc. Universal data storage system that maintains data across one or more specialized data stores
KR101548228B1 (ko) * 2013-12-27 2015-08-28 주식회사 케이티 사용자 상태에 기반하여 사용자 인터페이스를 동기화하는 동기화 기기 및 동기화 방법
CN104765638B (zh) * 2014-01-08 2019-04-09 携程计算机技术(上海)有限公司 并发模块、业务系统、预装配方法以及创建方法
US10231622B2 (en) * 2014-02-05 2019-03-19 Self Care Catalysts Inc. Systems, devices, and methods for analyzing and enhancing patient health
US10474645B2 (en) 2014-02-24 2019-11-12 Microsoft Technology Licensing, Llc Automatically retrying transactions with split procedure execution
US9509560B2 (en) 2014-02-25 2016-11-29 Sap Se Unified configuration for cloud integration
US10140276B1 (en) * 2014-04-08 2018-11-27 Quest Software Inc. System and method for dynamically generating client-side database forms
US8850034B1 (en) 2014-04-15 2014-09-30 Quisk, Inc. Service request fast fail circuit breaker
US10789300B2 (en) 2014-04-28 2020-09-29 Red Hat, Inc. Method and system for providing security in a data federation system
US9659182B1 (en) 2014-04-30 2017-05-23 Symantec Corporation Systems and methods for protecting data files
GB2527118A (en) * 2014-06-13 2015-12-16 Ibm Automatic transformation of messages between service versions
US10721594B2 (en) * 2014-06-26 2020-07-21 Microsoft Technology Licensing, Llc Location-based audio messaging
US11360828B2 (en) * 2014-07-08 2022-06-14 Able World International Limited Method for combining unified matters in personal workspace and system using the same
US9898459B2 (en) 2014-09-16 2018-02-20 Voicebox Technologies Corporation Integration of domain information into state transitions of a finite state transducer for natural language processing
CN107003996A (zh) 2014-09-16 2017-08-01 声钰科技 语音商务
WO2016061309A1 (en) 2014-10-15 2016-04-21 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US10452739B2 (en) 2014-10-16 2019-10-22 Adp, Llc Graph loader for a flexible graph system
US20160125329A1 (en) * 2014-10-30 2016-05-05 Siemens Product Lifecycle Management Software Inc. System and method for configuration-managed lifecycle diagrams
US10614799B2 (en) 2014-11-26 2020-04-07 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance
US10431214B2 (en) 2014-11-26 2019-10-01 Voicebox Technologies Corporation System and method of determining a domain and/or an action related to a natural language input
US9853868B2 (en) 2014-12-05 2017-12-26 Accenture Global Services Limited Type-to-type analysis for cloud computing technical components
CN104539424B (zh) * 2014-12-18 2017-10-17 广东讯飞启明科技发展有限公司 一种防篡改的考生数据传输方法
US20160269251A1 (en) * 2015-03-13 2016-09-15 Microsoft Technology Licensing, Llc Subscription for Communication Attributes
US20160321025A1 (en) * 2015-04-30 2016-11-03 Kabushiki Kaisha Toshiba Electronic apparatus and method
EP3115898B1 (en) * 2015-07-06 2022-06-15 Intuilab Method for generating user-level events for an application
US9910685B2 (en) 2015-08-13 2018-03-06 Samsung Electronics Co., Ltd. System and method for identifying, indexing, and navigating to deep states of mobile applications
AU2015412727A1 (en) * 2015-10-28 2018-06-07 Ent. Services Development Corporation Lp Associating a user-activatable element with recorded user actions
US9983892B2 (en) * 2015-11-06 2018-05-29 Samsung Electronics Co., Ltd. Deep linking to mobile application states through programmatic replay of user interface events
US9858094B2 (en) 2015-11-10 2018-01-02 Samsung Electronics Co., Ltd. Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention
US9992187B2 (en) * 2015-12-21 2018-06-05 Cisco Technology, Inc. Single sign-on authentication via browser for client application
JP2017120554A (ja) * 2015-12-28 2017-07-06 株式会社ブロードリーフ プログラム、見積方法および見積装置
CN107203552B (zh) 2016-03-17 2021-12-28 阿里巴巴集团控股有限公司 垃圾回收方法及装置
US10310718B2 (en) * 2016-06-22 2019-06-04 Microsoft Technology Licensing, Llc Enabling interaction with an external service feature
WO2018023106A1 (en) 2016-07-29 2018-02-01 Erik SWART System and method of disambiguating natural language processing requests
US10762446B2 (en) 2016-08-02 2020-09-01 Ebay Inc. Access control for a digital event
GB2553540B (en) * 2016-09-07 2022-04-27 Sage Uk Ltd Cloud system
US10637814B2 (en) * 2017-01-18 2020-04-28 Microsoft Technology Licensing, Llc Communication routing based on physical status
US10762040B2 (en) * 2017-01-24 2020-09-01 Microsoft Technology Licensing, Llc Schematized data roaming
US10051107B1 (en) 2017-03-16 2018-08-14 Microsoft Technology Licensing, Llc Opportunistic timing of device notifications
US10951600B2 (en) 2017-05-08 2021-03-16 Microsoft Technology Licensing, Llc Domain authentication
EP3526684A4 (en) * 2017-05-23 2020-07-08 Vatbox, Ltd. SYSTEM AND METHOD FOR IDENTIFYING MISSING DATA ELEMENTS IN ELECTRONIC DOCUMENTS
US10664538B1 (en) * 2017-09-26 2020-05-26 Amazon Technologies, Inc. Data security and data access auditing for network accessible content
US10826890B2 (en) 2017-10-06 2020-11-03 Bank Of America Corporation Multi-level authentication system with persistent integration platform
US11228573B1 (en) * 2018-03-09 2022-01-18 Equinix, Inc. Application programming interface exchange
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
CN108763323B (zh) * 2018-05-03 2022-03-15 华风象辑(北京)气象科技有限公司 基于资源集和大数据技术的气象格点文件应用方法
US11477667B2 (en) 2018-06-14 2022-10-18 Mark Cummings Using orchestrators for false positive detection and root cause analysis
US10440063B1 (en) 2018-07-10 2019-10-08 Eturi Corp. Media device content review and management
CN109344355B (zh) * 2018-09-26 2022-03-15 北京因特睿软件有限公司 针对网页变化的自动回归检测与块匹配自适应方法和装置
KR102612312B1 (ko) * 2018-11-05 2023-12-12 삼성전자주식회사 전자 장치 및 이의 제어방법
US10841153B2 (en) * 2018-12-04 2020-11-17 Bank Of America Corporation Distributed ledger technology network provisioner
US11070449B2 (en) 2018-12-04 2021-07-20 Bank Of America Corporation Intelligent application deployment to distributed ledger technology nodes
US11669514B2 (en) 2019-04-03 2023-06-06 Unitedhealth Group Incorporated Managing data objects for graph-based data structures
CN110377463A (zh) * 2019-06-19 2019-10-25 深圳壹账通智能科技有限公司 接口测试方法、装置、终端及计算机可读存储介质
US11157241B2 (en) * 2019-09-18 2021-10-26 Servicenow, Inc. Codeless specification of software as a service integrations
US11249976B1 (en) 2020-02-18 2022-02-15 Wells Fargo Bank, N.A. Data structures for computationally efficient data promulgation among devices in decentralized networks
US11615110B2 (en) 2020-04-17 2023-03-28 Auditoria.AI, Inc. Systems and methods for unifying formats and adaptively automating processing of business records data
CN111782422B (zh) * 2020-06-30 2023-08-15 百度在线网络技术(北京)有限公司 分布式消息处理方法、装置、电子设备及存储介质
US20220137801A1 (en) * 2020-10-29 2022-05-05 Medecision, Inc. System and method for project collaboration
WO2022195300A1 (en) * 2021-03-18 2022-09-22 Citrix Systems, Inc. Context-based generation of activity feed notifications
CN113476831A (zh) * 2021-07-27 2021-10-08 北京果仁互动科技有限公司 跨服方法、系统和相关装置
US11818092B2 (en) * 2022-01-25 2023-11-14 Rakuten Mobile, Inc. Internet protocol schema generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265014A (en) 1990-04-10 1993-11-23 Hewlett-Packard Company Multi-modal user interface
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6201962B1 (en) * 1997-05-14 2001-03-13 Telxon Corporation Seamless roaming among multiple networks including seamless transitioning between multiple devices
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6327608B1 (en) * 1998-09-25 2001-12-04 Microsoft Corporation Server administration tool using remote file browser
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6418413B2 (en) * 1999-02-04 2002-07-09 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US6697849B1 (en) * 1999-08-13 2004-02-24 Sun Microsystems, Inc. System and method for caching JavaServer Pages™ responses
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US6557026B1 (en) * 1999-09-29 2003-04-29 Morphism, L.L.C. System and apparatus for dynamically generating audible notices from an information network
US6944642B1 (en) * 1999-10-04 2005-09-13 Microsoft Corporation Systems and methods for detecting and resolving resource conflicts
US6418448B1 (en) * 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6772216B1 (en) * 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US6990513B2 (en) 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
US6748417B1 (en) 2000-06-22 2004-06-08 Microsoft Corporation Autonomous network service configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment

Also Published As

Publication number Publication date
US20060230124A1 (en) 2006-10-12
CA2409920A1 (en) 2001-12-27
CN1524217A (zh) 2004-08-25
US20020059425A1 (en) 2002-05-16
AU2001268674B2 (en) 2007-04-26
US7263551B2 (en) 2007-08-28
US20050246415A1 (en) 2005-11-03
CA2808275C (en) 2016-11-15
US6990513B2 (en) 2006-01-24
WO2001098936A3 (en) 2004-03-04
WO2001098936A2 (en) 2001-12-27
CA2808275A1 (en) 2001-12-27
CA2409920C (en) 2013-05-14
JP2004531780A (ja) 2004-10-14
US7454462B2 (en) 2008-11-18

Similar Documents

Publication Publication Date Title
CN1300677C (zh) 分布式计算服务平台
AU2001268674A1 (en) Distributed computing services platform
US7484213B2 (en) Agent architecture employed within an integrated message, document and communication system
CN1171200C (zh) 通过会话虚拟机进行会话式计算的系统和方法
CN1853180A (zh) 语义知识提取、管理、捕获、共享、发现、交付、表示之系统与方法
CN1231039A (zh) 个人信息安全与交换的工具
US20050004978A1 (en) Object-based on-line transaction infrastructure
CN1527222A (zh) 任务计算
CN1860477A (zh) 通过代理服务器的搜索系统和方法
CN1360782A (zh) 在不同网络的匿名用户之间智能建立会话的分布式系统
CN1783792A (zh) 动态内容改变通知
US7376652B2 (en) Personal portal and secure information exchange
CN1337026A (zh) 用于表达频道化数据的系统和方法
CN1725680A (zh) 联合用户生命周期管理的信任基础结构支持的方法和系统
EP1774708A1 (en) System and method for multi-tiered rule filtering
KR100919606B1 (ko) 분산 컴퓨팅 서비스 플랫폼
CN1477575A (zh) 从公布/订阅服务接收电子消息的方法和系统
CN1520572A (zh) 用于自动通知和响应的方法和设备
US20080028070A1 (en) Method and system for remote management of online activities
Hung et al. Engineering Financial Enterprise Content Management Services
Thint et al. Soft Computing and Personalized Information Provision
He et al. Business process management with group features in pervasive environments
US20080301236A1 (en) Contextual social language
KR20030097118A (ko) 통합 메시징 시스템을 이용한 통합적 전자 고객 관계 관리방법 및 시스템

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150504

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

Effective date of registration: 20150504

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term

Granted publication date: 20070214

CX01 Expiry of patent term