CN1714341A - 在n层交易中的同步方法 - Google Patents

在n层交易中的同步方法 Download PDF

Info

Publication number
CN1714341A
CN1714341A CNA038255626A CN03825562A CN1714341A CN 1714341 A CN1714341 A CN 1714341A CN A038255626 A CNA038255626 A CN A038255626A CN 03825562 A CN03825562 A CN 03825562A CN 1714341 A CN1714341 A CN 1714341A
Authority
CN
China
Prior art keywords
traditional computer
parts
key plate
data
copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA038255626A
Other languages
English (en)
Inventor
盖伊·P·欣德尔
劳伦斯·L·波特
理查德·T·史密斯
格雷厄姆·D·沃利斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1714341A publication Critical patent/CN1714341A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于分布数据处理系统的同步的方法,所述分布数据处理系统包括:一个传统计算机,它具有用于存储数据的主版本的部件;一个应用服务器;存储数据的主版本的瘦客户计算机。首先,所述瘦客户机对于所述拷贝本地执行操作。所述操作在列表中被发送到所述应用服务器。所述应用服务器代表瘦客户机对于所述主数据执行所述操作。如果可以成功地对于主版本执行所述操作,则发生同步在:成功的操作被应用到主版本。

Description

在N层交易中的同步方法
技术领域
本发明涉及一种同步领域,具体涉及在n层架构中的同步。
背景技术
因特网正在改变我们的生活的许多方面,但是没有一个领域像企业操作的方式那样正在经历迅速和较大的改变。对于今天的企业,因特网技术不再是在形成企业策略中的事后聪明,而是已经变成一种驱动力。许多组织将电子商务定义为通过使用因特网技术的、关键企业处理的变换。电子商务经由因特网将重要的商业系统与消费者、雇员、供货商和批发商直接连接以改善达到市场的时间、访问更宽范围的消费者和供货商、改进效率和降低成本。
实现电子商务模型的公司的示例包括提供与在线供应链管理集成的在线购买的零售商或电子金融服务组织,它们降低了交易的高成本,同时改进地访问消费者帐户。电子商务已经从用于自动化特定商业功能的手段发展而变成有竞争力企业的必要元素。
框架是一种可重新使用的设计,它被表达为一组抽象模式和它们的接口协作的方式。它是用于软件系统的全部或部分的一种可重用的设计;用户接口框架仅仅提供用于系统的用户界面的设计,而应用框架提供了用于整个应用的设计。
应用框架正在变得对于开发复杂应用越来越重要。应用框架描述了应用可以获得的一组交互部件和服务、所述部件和服务的责任与在所述部件和服务之间的交互。开发人员通过编制和扩展在应用框架中可用的部件和服务来建立一个应用。应用框架通常处理具体的商业领域,诸如制造或金融。
早期的框架以编程语言为中心,诸如面向对象(OO)的设计框架。应用框架不必以面向对象的语言来实现,但是它们具有与OO设计类似的特征,因为框架的每个部件具有定义的接口和行为。应用框架提供了用于建立、部署和管理复杂电子商务应用所需要的软件、服务器和服务的环境。
由国际商业机器公司用于电子商务的应用框架提供了一种用于设计电子商务解决方案的模型。这种模型已经从传统的客户机/服务器计算模型演化出来,并且基于一种“n层(n-tier)”分布式环境,其中,从通过网络彼此通信的部件来构建应用逻辑和商业服务的层。
在其最基本的形式中,可以将框架描述为逻辑三层计算模型,表示存在逻辑的而不必然是物理的、处理的分离。参见图1,其中示出了三层模型100的一个示例,所述三层模型100包括客户层105、中间层110和第三层115。
客户层105包括具有逻辑的客户机(例如智能卡、数字无线电话、个人数字助理(PDA)),所述逻辑与向应用发送请求(例如通过浏览器或Java小应用程序)和向用户(经由图形用户界面)提供由应用产生的信息和结果相关联。所述客户机有时被称为”瘦”客户机,表示在所述客户机上执行很少的或不执行应用逻辑,因此需要较少的软件来安装在客户机上。通常,仅仅用户交互和输入验证功能运行在客户机上。使用工业标准技术和协议(例如,TCP/IP、HTTP、HTML/DHTML/XML和Java(Java和所有基于Java的商标是Sun Microsystems公司在美国、其他国家或两者中的商标))来实现客户机,所述工业标准技术和协议使得客户机能够与用户交互、与中间层通信以及发送和接收标准数据格式。
瘦客户机的使用改善了可管理能力、灵活性和达到市场的时间。有益的是,可以支持更宽范围的客户机设备,因为降低了对于设备能力的依赖性。而且,用户的应用环境可以被集中地管理和分布到不同类型和在不同位置的客户机设备以提供对于移动用户的支持。
中间层110包括应用服务器,它们是单应用或多应用服务器。在电子商务环境中,服务器是被优化用于因特网应用的万维网应用服务器。所述应用服务器是提供用于应用的业务逻辑的运行时间环境的平台。所述业务逻辑与客户机类型和用户界面风格无关地被执行。表示逻辑与应用逻辑的分离使得能够建立可以从多种不同风格的用户界面使用的可重用应用部件。
中间层服务器并入了几种用于与其他层中的应用、数据和服务通信的应用集成技术。万维网应用交易服务器在电子商务基础结构中是必要的,因为在线交易的数量正在大幅度增加。消费者需要高速的交易处理、强壮的系统可靠性、对任务为关键的应用的备份和快速恢复。万维网应用服务器也必须提供一种与其他系统的综合集成能力。它们也必须彼此连接以及与后端第三层连接以便能进行这些新的业务处理。
使用各种因特网和Java技术来实现万维网应用服务器,其中包括HTTP服务器和独立于平台的企业Java编程环境。后者消除了业务逻辑对于基础硬件、操作系统和联网基础结构的依赖性,因此提高了可移植性(portability)和降低了开发和维护成本。中间层并入使得能够在分布网络环境中迅速地开发和部署应用的网络基础设施和基础服务。应用120作为在万维网应用服务器和它的Java虚拟机中的小服务程序、服务器端脚本和企业Java组件(JavaBeans(EJB))的组合而运行。EJB提供一个应用的业务逻辑的大部分,特别是对于数据库和交易服务的访问。EJB使开发人员与基础数据库和交易服务的独特特征相分离,简化了与平台无关的业务逻辑的开发。
第三层115包括:传统(legacy)系统,它们已经被使用多年(因此使用术语“传统”),它们支持新的和现有的内部应用、服务和数据;来自新的和现有的业务伙伴的外部应用、服务和数据。与这些服务的连接支配(leverage)了消费者、业务伙伴和雇员的值。外部服务和传统系统是万维网应用模型出现的基础,因为它们是在信息技术上多年的联合投资的结果。这些是任务重要的应用和每人日常依赖的数据,它们是需要以安全、可控的方式使其可用于万维网以使得公司能够平衡它们对于在内联网和外联网中的消费者、雇员和供货商的值的商业资产。在这个层中的服务器提供由万维网应用服务器处理使用的数据存储和交易应用。
在这三个逻辑层中驻留的应用元素通过一组工业标准的协议、服务和软件连接器连接。所述连接器125、126、127将在中间层中的新的、增值业务逻辑连接到在后台层中的一个公司的现有应用和数据系统中的大量积累的资产。运行在中间层上的业务逻辑接受来自客户机的请求,并且调用连接器来代表客户机与后台层服务安全地通信。
一种替代模型是“数据同步”模型。参见图2的分布系统200,一个应用驻留在服务器215上(例如在存储器220中),并且同一应用的复制品驻留在一个“肥客户机(fat client)”(例如个人计算机)205上(例如在存储器210中)。所述肥客户机执行应用的处理本身的全部或大多数。当用户离线时,它们可以在本地对所述复制数据进行工作,并且用户不时经由网络225连接到服务器215,并使所述复制数据与驻留在服务器215上的主数据同步。这个模型经常用于诸如日历、电子邮件等的个人信息管理(PIM)应用,并且对于移动客户机尤其有用,所述移动客户机仅仅间断地连接到网络。
当前,许多机构想包括数据同步来作为用于提供电子商务应用的方法。例如,银行想向消费者提供下述能力:通过使PDA上的本地数据与后台层上的主数据定期同步,从PDA应用查看和操纵他们的帐户。但是,所述数据同步模型不能很好地适用于电子商务三层模型。具体上,机构不愿意或不能将它们的复杂的、高度保护的后端数据库直接与客户机同步。另一个复杂性是:在万维网应用服务器上运行的应用的业务逻辑被HTTP请求驱动,并且产生HTTP响应。在客户机和后台层之间需要的同步协议不被业务逻辑理解。
一种可能的解决方案是从后台层向中间层提取数据的拷贝。客户机然后可以连接到中间层并更新数据。所更新的数据然后可以经由中间层与存储在后台层上的数据同步。
但是,这种解决方案具有缺点。首先,客户机工作的数据将总是过期,特别是如果所述数据是以通宵的批被提取的。而且,必须开发新的应用功能以使所更新的数据与在后台层上的数据同步,以便保持在后台层上的一致数据。这继而导致需要分布式的交易处理,这具有公知的缺点。例如,如果交易协调者向参加一个交易的所有资源管理者的“委托”了那个交易(例如银行A从帐户A划款,银行B将该款存入帐户B)但是然后网络出了故障(godown),则不能信赖交易状态的一致。一些资源管理者将所述交易登记为正在被完成,但是一些可能不。通常,需要澄清交易的结果的资源管理者需要联系交易协调者。但是,这直到网络再次工作并且同时帐户A和B可以被锁定一些时间才可能。另一个缺点是将所述解决方案扩大到几个瘦客户机,中间层必须通常包括几个万维网应用服务器。因此保持一致的问题大大地加剧。
美国专利第6,023,684号公开了一种三层的模型,由此,在使用客户机程序的逻辑会话启动时,一个应用服务通过使用经由主机接口从后端处理系统获得的数据来刷新用于与所述客户机程序相关联的消费者的数据。所述数据被存储在与所述应用服务相关联的本地数据存储器中,并且这个数据随后被所述应用服务使用来用于在逻辑会话期间处理客户机请求。所述本地数据存储器允许将客户机请求的处理与后端处理系统的更新相分离。
因此,需要这样的一种模型,它可以提供数据同步模型和所述“n层”模型的益处而不必大大改变所述“n层”模型。
发明内容
按照第一方面,提供了一种用于分布数据处理系统的同步的方法,所述分布数据处理系统包括:至少一个传统计算机,它具有用于存储数据的主版本的部件;第一非传统计算机,它具有用于支持同步的部件;第二非传统计算机,它具有用于存储所述数据的主版本的拷贝的部件和用于对所述拷贝执行至少一个操作的部件,所述方法包括步骤:通过所述第二非传统计算机来对所述拷贝执行所述至少一个操作;通过所述第二非传统计算机来向所述第一非传统计算机发送所述至少一个操作;由所述第一非传统计算机对在所述至少一个传统计算机上的所述主版本执行所述至少一个操作;确定所述执行步骤是否成功;响应于成功的执行步骤而通过应用所述至少一个操作来同步所述主版本;并且通过所述第一非传统计算机来发送来自对所述主版本执行所述至少一个操作的步骤的结果和数据的主版本的新拷贝。
因此,一旦已经在传统计算机上执行了所述至少一个操作,则第一非传统计算机向第二非传统计算机发送所述结果(即,成功/失败通知以及结果数据本身)和数据的主版本的新拷贝。
例如,传统计算机是主计算机。第一非传统计算机是万维网应用服务器,第二非传统计算机是PDA。优选是,所述方法还包括步骤:通过第二非传统计算机向所述第一非传统计算机发送同步协议。所述协议通常对于第二非传统计算机的类型是专用的。在优选实施例中,如果存在要在传统计算机上执行的两个或多个操作,则所述操作依序被执行。优选是,如果不能对所述主版本执行所述至少一个操作(例如因为同时操作冲突),则主版本不同步。
按照第二方面,提供了一种用于同步的分布数据处理系统,包括:至少一个传统计算机,它具有用于存储数据的主版本的部件;第一非传统计算机,它具有用于支持同步的部件;第二非传统计算机,它具有用于存储所述数据的主版本的拷贝的部件和用于对所述拷贝执行至少一个操作的部件,所述系统还包括:用于通过所述第二非传统计算机来对所述拷贝执行所述至少一个操作的部件;用于通过所述第二非传统计算机来向所述第一非传统计算机发送所述至少一个操作的部件;用于由所述第一非传统计算机对在所述至少一个传统计算机上的所述主版本执行所述至少一个操作的部件;用于确定所述执行步骤是否成功的部件;用于响应于成功的执行步骤而通过应用所述至少一个操作来同步所述主版本的部件;以及用于通过所述第一非传统计算机来发送来自对所述主版本执行所述至少一个操作的所述部件的结果和数据的主版本的新拷贝的部件。
按照第三方面,提供了一种计算机程序,它包括计算机程序代码,被适配来当所述程序运行在计算机上时执行上述方法的所有步骤。
附图说明
结合如下附图所示优选实施例,仅以举例方式来描述本发明,其中:
图1是现有技术的“n层”模型的示意图示;
图2是现有技术的数据同步模型的示意图示;
图3是按照本发明的“n层”模型的示意图示;
图4是示出在图3中所示的模型中实现的、在数据同步处理中涉及的操作步骤的流程图;
图5是图3的模型中的部件之间的数据同步处理中涉及的流程的时序图;
图6是数据同步的结果的图示。
具体实施方式
图3示出了其中可以实现本发明的三层模型300的图示。示出了具有相关联的存储部件(分别是310、320和330)的客户层305、中间层315和后台层325。客户层305和中间层315通过软件连接器331连接,中间层315和后台层325通过软件连接器332和333连接。在后台层325上的应用和服务被防火墙335保护。
现在参照图3、4和5来描述本发明的一个实施例。说明银行应用的一个示例,其中,瘦客户机305是PDA,中间层315是万维网应用服务器,后台层325是数据仓库,用于存储银行帐户数据的主版本。
优选的是,所述瘦客户机305包括一个功能,它在被执行时从后台层325的存储部件330获得用户的银行帐户数据的拷贝。优选的是,所述拷贝被本地存储在与瘦客户机305相关联的存储部件310中。在这个示例中,本地存储具有300英镑余额的银行帐户数据。用户对于本地数据执行(步骤400、500)操作(例如改变/更新),在这个实施例中,所述操作是:
·向所述帐户内转入50英镑
·从所述帐户建立100英镑的长期汇票(standing order)
·从所述帐户作出75英镑的一次支付
但是,相对于驻留在后台层325上的主版本,本地数据更可能过期。这是因为一些用户启动的操作可能与在后台层325同时被应用到用户的银行帐户的主版本的操作冲突。例如,被支付的长期汇票,向存储帐户的货币转帐和抵押支付等。在这个实施例中,同时操作已经被应用到用户的银行帐户的主版本上。在这个示例中,已经从用户的银行帐户提取了200英镑的一次支付,因此,实际的余额在100英镑(即,300-200=100英镑)。
因为由用户启动的操作还没有与已经被应用到主版本的任何同时操作相互一致,因此优选的是,将用户的操作保留在一个列表中。瘦客户机305因此存储两种类型的数据,即“当前”(可能与主版本略微偏离)数据(即用户的银行帐户数据)的拷贝和待决操作的列表(即上述的操作1、2和3的列表)。
接着,在瘦客户机305的用户经由HTTP请求向中间层315发送(步骤405、505)一个请求(请求A)以使更新的本地数据与所述主版本同步。中间层315通过发回(步骤410、510)用于指令瘦客户机305进行同步的HTTP响应(响应A’)而确认接收到“请求A”。应当明白,这个请求/响应交换是一个选用级。接着,在瘦客户机305的用户向中间层315发送(步骤415、515)一个HTTP请求(请求B)以便开始同步。瘦客户机的标准同步协议也被发送到中间层315。有益的是,除了通过使用所述HTTP请求/响应模型来在中间层上开发业务应用逻辑,也开发了可以运行本地瘦客户机同步协议的、中间层的功能。
现在开始同步处理(步骤420)。具体上,要同步的数据是在瘦客户机305的用户要执行的操作(上述的操作1、2和3)的列表。在同步步骤中,操作的列表被从瘦客户机305安装到中间层315。中间层315然后在后台层325重新进行520在所述列表中的所述操作,即向帐户内转入50英镑,从帐户建立100英镑的长期汇票,以及从帐户进行75英镑的一次支付。应当明白,优选的是,所述重新进行步骤迅速发生,以便降低冲突的机会。而且,优选的是,依序重新进行操作的所述列表。
应当明白,根据是否任何冲突的同时操作已经被应用到在后台层325上驻留的主版本,一些用户启动的操作可能成功,而它们的一些可能失败。如果同时操作已经被应用到主版本,则这些在瘦客户机305已经接收到数据的“当前”拷贝后已经被应用。在步骤425,对于每个操作,对它是否成功进行确定。响应于确定结果,数据的主版本被同步以反映成功的用户启动操作,而响应于否定结果,数据的主版本不被同步(步骤435)。在这个示例中,实际的银行帐户余额为100英镑。因此,操作1成功(其后,实际的银行帐户余额=150英镑),操作2成功(其后,实际的银行帐户余额=50英镑),操作3失败(因为实际的银行帐户余额将为=-25英镑)。
接着,后台层325向中间层315发送(525)用户启动的操作的结果以及银行帐户的新(更新)的主版本的拷贝(在这个示例中,实际银行帐户余额=50英镑)。
中间层315监控(步骤440)这些操作的结果,并且向瘦客户机305发送(步骤445、530)所述结果和银行帐户的新主版本的拷贝。所述银行帐户的新主版本在步骤400替代用户使用的本地拷贝。
同步处理现在已经结束,并且通过从中间层315向瘦客户机305发送(步骤450,535)一个HTTP响应(响应B’)来向用户指示这一点。优选的是,随后可以向用户提供银行帐户的状态的更新视图、成功操作的列表和失败操作的列表。图6中示出了所述视图(600)的一个示例。在步骤455,如果不执行进一步的操作,则处理结束。但是,响应于肯定结果,处理返回步骤400,在此,例如,用户可以通过取消、修改、延期失败的操作等来处理它们。
有益的是,中间层只需要在发生同步后访问数据的主版本,以便向瘦客户机发送数据的新主版本的最新拷贝。而且,所述优选实施例包含下述可能:同时操作可能已经被应用到数据的所述主版本。这种情况的处理不需要在瘦客户机和后台层的数据的一致拷贝。
另一个优点是:数据同步模型的益处被提供,而不必大幅度地改变所述三层模型。因此,可以在已经被今天的许多组织支持的系统中使用本发明。例如,可以使用在瘦客户机和中间层之间的现有关系,即,当前可用的HTTP和PDA同步协议。但是,应当明白,可以使用其他协议来实现本发明。而且,虽然已经说明了三层模型,但是可以以具有“n”层的模型来实现本发明。而且,虽然已经说明了PDA、万维网应用服务器和后端主机,但是应当明白所述层可以包括任何其他的计算机机器。

Claims (11)

1.一种用于分布式数据处理系统的同步的方法,所述分布数据处理系统包括:至少一个传统计算机,它具有用于存储数据的主版本的部件;第一非传统计算机,它具有用于支持同步的部件;第二非传统计算机,它具有用于存储所述数据的主版本的拷贝的部件和用于对所述拷贝执行至少一个操作的部件,所述方法包括步骤:
通过所述第二非传统计算机来对所述拷贝执行所述至少一个操作;
通过所述第二非传统计算机来向所述第一非传统计算机发送所述至少一个操作;
由所述第一非传统计算机对在所述至少一个传统计算机上的所述主版本执行所述至少一个操作;
确定所述执行步骤是否成功;并且
响应于成功的执行步骤而通过应用所述至少一个操作来同步所述主版本。
2.按照权利要求1的方法,还包括步骤:通过第二非传统计算机向所述第一非传统计算机发送同步协议。
3.按照权利要求1或权利要求2的方法,其中,所述至少一个操作包括两个或多个操作,并且通过所述第一传统计算机依序执行所述操作。
4.按照任何前述权利要求的方法,还包括步骤:通过所述第一非传统计算机来发送来自于对所述主版本执行所述至少一个操作的步骤的结果和数据的主版本的新拷贝。
5.按照权利要求1的方法,其中,响应于不成功的执行步骤,所述主版本不被同步。
6.一种用于同步的分布式数据处理系统,包括:至少一个传统计算机,它具有用于存储数据的主版本的部件;第一非传统计算机,它具有用于支持同步的部件;第二非传统计算机,它具有用于存储所述数据的主版本的拷贝的部件和用于对所述拷贝执行至少一个操作的部件,所述系统还包括:
用于通过所述第二非传统计算机来对所述拷贝执行所述至少一个操作的部件;
用于通过所述第二非传统计算机来向所述第一非传统计算机发送所述至少一个操作的部件;
用于由所述第一非传统计算机对在所述至少一个传统计算机上的所述主版本执行所述至少一个操作的部件;
用于确定所述执行步骤是否成功的部件;以及,
用于响应于成功的执行步骤而通过应用所述至少一个操作来同步所述主版本的部件。
7.按照权利要求6的系统,还包括:用于通过第二非传统计算机向所述第一非传统计算机发送同步协议的部件。
8.按照权利要求6或权利要求7的系统,其中,所述至少一个操作包括两个或多个操作,并且通过所述第一传统计算机依序执行所述操作。
9.按照权利要求6-8的任何一个的系统,还包括:用于通过所述第一非传统计算机来发送来自对所述主版本执行所述至少一个操作的部件的结果和数据的主版本的新拷贝的部件。
10.按照权利要求6的系统,其中,响应于不成功的确定,所述主版本不被同步。
11.一种计算机程序,它包括计算机程序代码部分,被适配来在所述程序在计算机上运行时执行权利要求1-5的所有步骤。
CNA038255626A 2002-12-04 2003-04-08 在n层交易中的同步方法 Pending CN1714341A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0228279.6 2002-12-04
GBGB0228279.6A GB0228279D0 (en) 2002-12-04 2002-12-04 A synchronization method

Publications (1)

Publication Number Publication Date
CN1714341A true CN1714341A (zh) 2005-12-28

Family

ID=9949054

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA038255626A Pending CN1714341A (zh) 2002-12-04 2003-04-08 在n层交易中的同步方法

Country Status (7)

Country Link
US (1) US7930269B2 (zh)
EP (1) EP1570350A1 (zh)
JP (1) JP4351636B2 (zh)
CN (1) CN1714341A (zh)
AU (1) AU2003219317A1 (zh)
GB (1) GB0228279D0 (zh)
WO (1) WO2004051472A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822741B2 (en) * 2004-06-21 2010-10-26 Microsoft Corporation API for programmatic retrieval and replay of database trace
US8290898B2 (en) * 2005-01-13 2012-10-16 Efficient Collaborative Retail Marketing Company Interactive database systems and methods for environments with high concentrations of mobile users
EP1760610A1 (en) * 2005-08-31 2007-03-07 France Telecom Method for managing shared data and related device
US20070061381A1 (en) * 2005-09-15 2007-03-15 Gregory Newton Methods, systems and computer program products for managing user information across multiple devices associated with the user
CN100454302C (zh) * 2005-10-24 2009-01-21 中兴通讯股份有限公司 一种文件管理系统及管理方法
US20070234306A1 (en) * 2006-03-31 2007-10-04 Klinger Uwe D Tracing performance of machine-readable instructions
CA2565847A1 (en) * 2006-10-27 2008-04-27 Cognos Incorporated System and method for controlling model editing and merging
US8762327B2 (en) * 2007-02-28 2014-06-24 Red Hat, Inc. Synchronizing disributed online collaboration content
US8527995B2 (en) * 2008-02-27 2013-09-03 Microsoft Corporation Synchronization system for entities maintained by multiple applications
KR101711863B1 (ko) * 2008-11-26 2017-03-13 캘거리 싸이언티픽 인코포레이티드 애플리케이션 프로그램의 상태에 대한 원격 액세스를 제공하기 위한 방법 및 시스템
SG173483A1 (en) * 2009-02-03 2011-09-29 Calgary Scient Inc Method and system for enabling interaction with a plurality of applications using a single user interface
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
WO2013024342A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for flow control and for reliable communication in a collaborative environment
KR20140080483A (ko) 2011-08-15 2014-06-30 캘거리 싸이언티픽 인코포레이티드 애플리케이션 프로그램에 대한 비-침투적 원격 액세스
EP2761808A4 (en) 2011-09-30 2015-05-20 Calgary Scient Inc DECOUPLED APPLICATION WITH EXTENSIONS INTERACTIVE DIGITAL SURFACE LAYER FOR COLLABORATIVE REMOTE COMMON USE OF APPLICATIONS AND ANNOTATION
AU2012342170B2 (en) 2011-11-23 2017-03-09 Calgary Scientific Inc. Methods and systems for collaborative remote application sharing and conferencing
US9602581B2 (en) 2012-03-02 2017-03-21 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (DLL) injection
US9535755B2 (en) * 2012-03-09 2017-01-03 Google Inc. Tiers of data storage for web applications and browser extensions
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US9633098B2 (en) 2012-09-25 2017-04-25 Visa International Service Association System and method for maintaining device state coherency
CA2931762C (en) 2013-11-29 2020-09-22 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
CN107431630B (zh) 2015-01-30 2021-06-25 卡尔加里科学公司 高度可扩展、容错的远程访问架构和与之连接的方法
CN106933823B (zh) * 2015-12-29 2020-11-27 北京国双科技有限公司 数据同步方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023684A (en) 1997-10-01 2000-02-08 Security First Technologies, Inc. Three tier financial transaction system with cache memory
GB2339622A (en) * 1998-07-15 2000-02-02 Ibm Client/server computing with transactional interface between legacy and non-legacy systems
US6546437B1 (en) * 1999-03-18 2003-04-08 Intel Corporation Communication between a computer and a peripheral with legacy failure control mechanism
WO2000070531A2 (en) 1999-05-17 2000-11-23 The Foxboro Company Methods and apparatus for control configuration
US6810429B1 (en) 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US6920458B1 (en) 2000-09-22 2005-07-19 Sas Institute Inc. Model repository
US7136881B2 (en) * 2000-12-15 2006-11-14 International Business Machines Corporation Method and system for processing directory events
US7421430B2 (en) 2001-05-14 2008-09-02 International Business Machines Corporation Method for processing real-time mobile transactions in a three-tier distributed database system
US20020178223A1 (en) 2001-05-23 2002-11-28 Arthur A. Bushkin System and method for disseminating knowledge over a global computer network
US6952708B2 (en) * 2001-06-27 2005-10-04 Microsoft Corporation Method and system for using a sync key
US20030046266A1 (en) 2001-07-26 2003-03-06 Ward Mullins System, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
US20030212578A1 (en) 2001-11-20 2003-11-13 Applied Surgical Data Corporation Method for obtaining dynamic informed consent
US7054910B1 (en) * 2001-12-20 2006-05-30 Emc Corporation Data replication facility for distributed computing environments
US7185317B2 (en) 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US20040153445A1 (en) 2003-02-04 2004-08-05 Horvitz Eric J. Systems and methods for constructing and using models of memorability in computing and communications applications

Also Published As

Publication number Publication date
AU2003219317A1 (en) 2004-06-23
US20060026006A1 (en) 2006-02-02
JP4351636B2 (ja) 2009-10-28
JP2006509281A (ja) 2006-03-16
EP1570350A1 (en) 2005-09-07
US7930269B2 (en) 2011-04-19
WO2004051472A1 (en) 2004-06-17
GB0228279D0 (en) 2003-01-08

Similar Documents

Publication Publication Date Title
CN1714341A (zh) 在n层交易中的同步方法
Tanenbaum et al. The Amoeba distributed operating system—a status report
AU2002326401B2 (en) System and method for transaction processing with delegated commit feature
AU2002318249B2 (en) System and method for transaction processing with transaction property feature
AU2002322495B2 (en) System and method for transaction processing with synchronized callback processing feature
US8185499B2 (en) System and method for transactional session management
EP1438672B1 (en) Method, apparatus and system for a mobile web client
US7953716B2 (en) Method for determining participation in a distributed transaction
US7305678B2 (en) Method and system for reducing synchronization waits when allocating sequenced identifiers in a multi-threaded server
US20040158549A1 (en) Method and apparatus for online transaction processing
WO2001013228A2 (en) Graceful distribution in application server load balancing
AU2002326401A1 (en) System and method for transaction processing with delegated commit feature
GB2328044A (en) Distributed computing with persistent transaction representation objects
US7328222B2 (en) Method and apparatus for preserving data coherency in a database by generating a command object that includes instructions for writing a data record to a local cache
JP2002510084A (ja) クライアント/サーバ・コンピューティング・システム
JP3548030B2 (ja) サーバ処理装置及びサーバ処理方法
Furht et al. Internet architectures for application service providers
US7503050B2 (en) Transaction polymorphism
US7636749B2 (en) System for distributing, installing and running web applications (agents)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication