CN102754411A - 使用客户端-服务器网桥管理对象 - Google Patents
使用客户端-服务器网桥管理对象 Download PDFInfo
- Publication number
- CN102754411A CN102754411A CN2010800638188A CN201080063818A CN102754411A CN 102754411 A CN102754411 A CN 102754411A CN 2010800638188 A CN2010800638188 A CN 2010800638188A CN 201080063818 A CN201080063818 A CN 201080063818A CN 102754411 A CN102754411 A CN 102754411A
- Authority
- CN
- China
- Prior art keywords
- client
- message
- server
- change
- data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种支持客户端和服务器之间的通信的方法,包括从客户端(202)接收(302,210)第一消息。该方法还包括响应于该第一消息而创建(312)对象。该方法还包括将对该第一消息的响应发送到(320,212)客户端。该方法还包括从服务器接收(224,406)对该对象的改变。该方法还包括存储(408)对该对象的改变。该方法还包括从该客户端接收(302,210,410)第二消息。该方法还包括利用对该第二消息的响应而向客户端发送(320,212,414)所存储的改变。
Description
相关申请的交叉引用
本申请要求2009年12月14日提交的美国申请第61/286,293号的优先权,通过引用将该美国申请并入于此。
技术领域
本说明书涉及使用客户端-服务器网桥管理对象。
背景技术
一些客户端-服务器***采用两种操作方法之一。一些***具有“瘦”客户端,其呈现向用户提供具有独立于服务器执行操作的非常小的能力的外观(veneer)的界面(例如,HTML网页)。一些***具有“胖”客户端,其利用客户端硬件的资源提供能够执行复杂操作的界面(例如,基于微软基础类的用户界面)。以相同或相似的编程语言将一些“胖”客户端编制为服务器应用程序,并且因此客户端可以紧密地耦接到后端服务器(例如,Java RMI或微软COM+技术)。
发明内容
在一个方面,总的而言,支持客户端和服务器之间的通信的方法包括从客户端接收第一消息。该方法还包括响应于该第一消息而创建对象。该方法还包括将对该第一消息的响应发送到客户端。该方法还包括从服务器接收对该对象的改变。该方法还包括存储对该对象的改变。该方法还包括从该客户端接收第二消息。该方法还包括利用对该第二消息的响应而向客户端发送所存储的改变。
各方面可以包括以下特征中的一个或多个。
存储改变可以包括创建改变的日志,向客户端发送所存储的改变可以包括发送改变的日志。存储改变可以包括更新对象的当前状态,向客户端发送所存储的改变可以包括发送对象的当前状态。从客户端接收第一消息可以包括接收用于客户端对象的临时标识符;创建对象包括获得用于该对象的永久标识符;以及发送对第一消息的响应包括发送临时标识符和永久标识符之间的映射。获得永久标识符可以包括向服务器发送服务器消息。发送服务器消息可以包括将该服务器消息与其它服务器消息进行交织。
方法还可以包括向服务器注册对该对象的兴趣。接收对该对象的改变可以包括接收与服务器生成的事件相关联的、对该对象的改变。接收第一消息可以包括利用第一协议,并且接收改变包括利用与第一协议不同的第二协议。方法还可以包括存储对于多个客户端的多个对象的改变。
对象可以对应于数据流图的一部分,其包括表示数据流图的组件(components)的多个节点、以及表示各组件之间的数据流的节点间链接。从客户端接收第一消息可以包括接收用于定义数据流图的组件的至少一个特性的参数的值。方法可以包括提供以下界面,该界面接收用于定义数据流图的组件的相应特性的一个或多个参数。该界面可以显示多个用户界面元素,并且各用户界面元素之间的关系基于数据流图的各组件之间的依赖性。可以通过在服务器中存储的规范来定义所述关系。
接收第一消息可以包括接收对中间数据的请求,创建对象可以包括:编译数据流图的一部分,并且通过运行编译后的数据流图的该部分来产生输出至输出数据集。创建对象还可以包括:确定生成中间数据所需的第一组件集合;禁止数据流图中不在该第一组件集合中的组件;以及创建与数据流图耦接的中间数据宿(intermediate data sink)以存储该输出数据集。确定第一组件集合可以包括:标识不将数据源连接到中间数据宿的链接。创建中间数据宿可以包括:确定至中间数据宿的链接呈现并行数据流;以及将并行数据宿创建为中间数据宿。
在另一方面,总的而言,一种计算机可读介质存储用于支持客户端和服务器之间的通信的计算机程序。该计算机程序包括用于使计算机执行以下操作的指令:从客户端接收第一消息;响应于该第一消息而创建对象;将对该第一消息的响应发送到客户端;从服务器接收对该对象的改变;存储对该对象的改变;从该客户端接收第二消息;以及利用对该第二消息的响应而向客户端发送所存储的改变。
在另一方面,总的而言,一种支持客户端和服务器之间的通信的***包括:包括至少一个处理器的服务器;以及包括被配置来管理该***中的对象至少一个处理器的网桥。所述管理包括:从客户端接收第一消息;响应于该第一消息而创建对象;将对该第一消息的响应发送到客户端;从服务器接收对该对象的改变;存储对该对象的改变;从该客户端接收第二消息;以及利用对该第二消息的响应而向客户端发送所存储的改变。
在另一方面,总的而言,一种支持客户端和服务器之间的通信的***包括:用于服务数据的部件;以及用于管理该***中的对象的部件。所述管理包括:从客户端接收第一消息;响应于该第一消息而创建对象;将对该第一消息的响应发送到客户端;从用于服务数据的部件接收对该对象的改变;存储对该对象的改变;从该客户端接收第二消息;以及利用对该第二消息的响应而向客户端发送所存储的改变。
各方面可以包括以下优点中的一个或多个。可以简化客户端和服务器之间的通信。为鲁棒性的客户端开发的服务器可以被适配为支持脚本客户端。可以跟踪对于对象的改变,并且可以在不必保持网桥和客户端之间的连续连接的情况下更新客户端。
本发明的其它特征和优点将从以下说明以及权利要求中变得明显。
附图说明
图1是桥接的客户端服务器***的示意图。
图2是客户端、网桥、和服务器之间的示例通信模式的示意图。
图3-5是该***执行的示例操作的流程图。
图6A是示例的数据流图的图。
图6B和6C是用于定制数据流图的界面的各部分的图。
图7A表示界面中的示例结果显示。
图7B是示例的数据流图的图。
图8是桥接的客户端服务器***的示意图。
具体实施方式
与在典型的瘦客户端上可用的功能相比,一些工具在利用浏览器的客户端***上使能更多功能。以与被用来创建服务器应用的编程语言不同的编程语言来构造这些工具中的一些。为了促进使用不同技术构建的客户端和服务器之间的通信,在客户端***和服务器***之间建立“网桥”通信层,如图1所示。客户端102a、102b、102c每个经由网桥110与在服务器104上运行的对应的服务器会话116a、116b、116c进行通信。从客户端102a、102b、102c到网桥110的消息被发送到消息处理器108,其将客户端102a、102b、102c的无状态协议(例如,超文本传输协议HTTP)转译至服务器104所提供的协议集合。在一些布置中,可以使用代码生成来使该转换自动化。在一些布置中,客户端、网桥110和服务器104每个都运行在独立的处理器或计算机***上,并且通过网络进行通信。客户端102a、102b、102c可以是依赖于网桥110与服务器104进行通信的瘦客户端,并且可以存在其它的能够直接与服务器104进行通信的胖客户端(未示出)。
通常,单个客户端102a经由网桥112与单个客户端会话114a连接。网桥可以同时与多个客户端交互。单个客户端会话114a继而连接到单个服务器会话116a。消息处理器108创建响应对象以便封装被交换的信息,包括来自服务器的、对于来自客户端的消息的响应,并且消息处理器108将该响应对象发送到适当的客户端102a、102b、102c。然而,在一些实例中,可以使用其它配置。例如,可以通过负荷平衡器使得与网桥110的通信或者与服务器104的通信是负荷平衡的,以便提高性能。
如箭头120a、120b、120c所表示的,客户端102a、102b、102c与网桥110之间的通信可以包括请求和响应。客户端102a、102b、102c可以向网桥110做出请求并且等待响应。网桥110可以为客户端102a、102b、102c创建客户端会话114a、114b、114c,或者如果已经存在,则可以使用现有的会话。网桥110将输入消息转译至服务器104所理解的协议。可以在网桥110和服务器104之间、在消息流124a、124b、124c中传送各种类型的消息,包括远程例程调用(RPC)、数据(例如“字节流”和“对象流”)、以及事件(例如,单向消息)。
通常,RPC通过发送请求和接收响应来进行操作。该基本模式具有三个变型:“单机”RPC,其特征在于,等待或轮询响应而没有隐式的完成或失败通知的处理线程;“同步”RPC,其特征在于,阻塞(blocking)直至接收到指示成功或失败的响应的处理线程;以及“异步”RPC,其特征在于,注册在例程完成时将被触发的回叫。在一些示例中,确保按照特定线程所作出的RPC以它们所调用的顺序来运行。
网桥110和服务器104之间的通信使得包括RPC的消息流能够被交织。可以同时操纵多个不同的RPC消息流,使得消息彼此重叠地到达网桥。网桥110独立地接收并处理每个消息。网桥110还允许发送取消或放弃消息。在接收到放弃消息时,网桥110终止当前运行的例程,或者通知服务器104终止当前运行的例程。
网桥110和服务器104可以使用数据流进行通信。数据流是逻辑字节流,其采用窗口协议来限制可以一次传送的数据量。数据流可以作为RPC请求或响应消息、明文消息(plain message)、或进度消息的一部分而在网桥110和服务器104之间传递。一旦数据流被传递到网桥或服务器,就通过握手例程来建立数据流,该握手例程标识用于已经接收到流对象的连接侧的流、以及流控制参数。可以基于由服务器104或网桥110建立的约束来限制在流上传送的数据量。
参考图2,在一些布置中,客户端202可以保持在服务器104上可运行并存储的处理和信息的表示。可以使客户端202意识到服务器104上的处理和信息发生的改变。如箭头210、212所示,客户端202可以与网桥110通信。在一些布置中,该通信可以源自与在客户端202上存储的数据的表示进行的编程交互。网桥110接收请求,并且可以与服务器104通信,如由处理箭头214、216表示的。如上面讨论的,与客户端202和网桥110之间的通信相比,网桥110和服务器104之间的通信可以利用一组更具鲁棒性的协议。如箭头224所示,服务器104在当前没有处理消息时,可以向网桥110通知对底层对象(underlying object)的改变。例如,网桥110可以注册对给定对象的兴趣,并且服务器104可以向网桥110通知何时该对象被变更或访问。在一些布置中,客户端202和网桥110之间的通信的无状态特性防止了网桥110将改变立即发送给客户端202。在这些情况下,信息可以被存储在网桥110中,并且可以作为对随后的请求的响应的一部分而被递送给客户端202。在其它布置中,可以在客户端和服务器之间建立数据流以便允许持续更新。
在一些布置中,客户端202可以创建在服务器104上不存在的信息的表示,例如,创建新的客户对象。该新创建的信息可以被提供有临时标识符。客户端202可以随后利用该新信息执行若干动作。在一些布置中,客户端202可以执行利用该新信息和从服务器访问的现有信息两者的操作,有时候使用临时标识符来更新现有信息。客户端202可以在向服务器104进行通知之前使用该信息执行各种操作。最终,客户端202可以向网桥110发送一个或多个请求,请求在服务器104上运行操作。网桥110识别在服务器104上不存在的新信息。结果,网桥可以创建表示服务器上的信息的记录,并且获得永久标识符。网桥110然后使得消息上提供的临时标识符与永久标识符相一致(reconcile)。作为响应的一部分,网桥110向客户端202提供临时标识符到永久标识符的映射。
在网桥110上,消息处理器108所管理的消息服务接收输入消息。在一些布置中,该消息可以指定使用多个对象可执行的多个操作。一些对象可能已经存在,而其它对象可能是新的。通常,将使用标识符来标识所有对象。将使用永久标识符来标识现有对象,而使用临时标识符来标识新创建的对象。消息服务标识需要执行哪些操作。
网桥110上的对象服务标识哪些对象已经存在于服务器104上并且将它们取回。对于新信息,将数据添加到服务器104并且分配永久标识符,对象服务提供永久标识符和临时标识符之间的映射。
参考图3,流程图300表示网桥110所执行的操作的示例布置。典型地,通过该网桥所驻留的计算机***的一个或多个处理器来运行操作。尽管典型地由单个电子设备运行,但是在一些布置中,可以在两个或多个电子设备(例如,计算机***)之间分布操作运行。
操作包括接收具有参考的消息302。例如,参考可以是指向存储器中所存储的对象的指针,或者参考可以是定位对象的标识符。该消息可以参考多个对象。可以在分离的列表中提供参考,或者它们可以被嵌套在该消息内部。
操作还包括检查以确定对象是否存在304。在一些情况下,网桥可以向服务器发送消息来询问对象是否存在。在其它情况下,操作304可以与其它操作组合。例如,网桥可以执行操作以试图从服务器中取出对象306。可以使用特定标识符来标识新对象,例如,特定范围的关键词、特定关键词前缀、或者消息上的另一字段可以指示该对象是新的。网桥可以将该操作执行多次,对于该消息参考的每个对象执行一次。
操作还包括取出对象306。在一些情况下,网桥可以从服务器中取出在消息中标识的对象。在其它情况下,网桥可以在本地存储装置中高速缓存对象的本地副本。在向服务器发送消息之前,网桥可以在其本地存储装置中检查该对象,并且如果找到,则直接将响应返回客户端。如上面所讨论的,可以经由反向信道通信与服务器上的副本同步地保存对象的本地副本。在一些实现方式中,网桥可以与若干服务器交互,并且可以使用路由表来确定该对象位于哪个服务器上。
操作还包括检查以确定任何更新是否被挂起(pending)308。在一些布置中,网桥可以高速缓存对所述对象的本地副本做出的改变。这些改变可以被存储在特定的存储器位置、表、或其它存储设备中。可以基于对象类型和主关键词来标识所述改变,或者可以基于全局唯一标识符来标识所述对象。
操作还包括将更新添加到结果310。一旦网桥标识了对象的被挂起的更新,则网桥可以编译那些更新的列表并且将它们附于要递送给客户端的响应消息。
操作还包括创建对象312。在一些情况下,如果对象不存在,则网桥创建新对象。这通常通过向服务器发送消息而实现。新创建的对象将通常包括与客户端使用的标识符不同的新的标识符。
操作还包括创建映射314。例如,网桥创建用于将客户端标识符与在创建对象时提供的永久标识符配对的映射。一旦客户端意识到该映射,则客户端不再使用其原始标识符,而是对于所有的随后通信,可以采用永久标识符。
操作还包括将映射添加到结果316。在一些布置中,为了将映射传送给客户端,网桥将映射添加到响应消息上。
操作还包括处理消息318。一旦网桥已经标识、取出、并且创建了所有必需对象,则网桥执行所请求的操作。在一些实现方式中,该操作可以包括向服务器发送一个或多个消息。在一些实现方式中,网桥所支持的消息与服务器所执行的消息相同。在此情况下,可以自动地生成用于支持客户端和服务器之间的消息转译所需的编程。
操作还包括向客户端发送结果320。例如,一旦处理了消息,该消息的结果与任何更新和映射相组合并且被返回到客户端。
参考图4,流程图400表示网桥110所执行的操作的另一示例操作。典型地,通过该网桥所驻留的计算机***的一个或多个处理器来运行操作。尽管典型地由单个电子设备运行,但是在一些布置中,可以在两个或更多个电子设备(例如,计算机***)之间分布操作运行。
操作包括从客户端接收第一请求402。从客户端接收的请求可以导致创建或者访问来自服务器的一个或多个对象。可以在网桥上高速缓存这些对象,以便提高稍后访问的性能。
操作还包括向客户端发送结果404。在一些情况下,将对请求的响应发送到客户端。在处理该请求期间创建或访问的对象可以在网桥上保存于本地数据存储装置,例如存储器或数据库中。在一些布置中,可以对于期望访问该对象的所有客户端存储该对象的一个公用副本。在其它布置中,可以将对象连同客户端标识符一起存储,从而每个客户端具有在网桥上存储的各自副本。在其它布置中,在网桥上存储公用副本,除非客户端修改该对象,在此情况下,对于该客户端保存带有改变的对象的各自的版本。
操作还包括接收对该对象的更新406。例如,网桥可以从服务器接收对该对象的更新。可以通过数据流或基于事件的通信,从服务器发送更新。
更新还包括存储更新408。在一些布置中,对于该对象所接收的更新可以被存储在特定位置中。在一些布置中,改变可以被存储为审核跟踪(audittrail),其列出了被改变的字段和值、以及改变发生的时间。在其它布置中,基于何时向网桥通知改变,可以跟踪改变。在另一些布置中,即使仅改变了单个值,也可以更新整个对象。操作还可以包括从客户端接收也被网桥操纵的任何数量的另外请求。在将那些请求的结果提供回客户端时,可以包括对于对象的更新。该示例包括:从客户端接收第二请求410,以及将更新添加到结果412。网桥可以将从服务器接收的、对在服务器上存储的对象的改变添加到正在被发送到客户端的响应消息上。在一些情况下,网桥还可以将已经发生的任何改变添加到对象,以作为处理客户端消息的结果。操作还包括向客户端发送结果414。
参考图5,流程图500表示由与网桥110交互的客户端(图1,102a、102b、102c)执行的操作的示例布置。典型地,通过该客户端所驻留的计算机***的一个或多个处理器来运行操作。尽管典型地由单个电子设备运行,但是在一些布置中,可以在两个或更多个电子设备(例如,计算机***)之间分布操作运行。
操作包括向网桥发送消息502。例如,客户端可以向网桥发送消息,请求执行与在服务器上存储的对象相关的动作。
操作还包括从网桥接收响应504。例如,客户端从网桥接收响应,包括执行所请求的动作的结果。
操作还包括检查映射506。在一些情况下,在客户端从网桥接收响应时,客户端检查是否存在被附于消息的任何更新的映射。
如果存在更新的映射,则操作包括更新参考508。例如,客户端更新其已经创建的具有临时标识符的新对象,利用服务器所分配的永久标识符来替代在对象创建时分配的临时标识符。
操作还包括检查对象更新510。例如,客户端检查响应以查看是否在服务器处已经更新了任何现有对象。如果是,则操作包括在客户端处更新对象512。例如,客户端可以将在消息中包括的改变应用于当前存储在客户端处的对象的任何本地副本。
操作还包括处理结果514。例如,来自服务器的响应消息可以将信息传达到客户端,使得客户端能够基于结果采取预定动作。该响应消息可以指示所请求的操作是否成功或者该操作是否失败。该响应消息还可以包括与请求相关联的对象和其它信息。例如,对于访问特定的客户对象的请求可以导致在响应中返回该客户对象。
利用网桥的***的一个示例是用于生成用户界面以允许非技术用户来配置参数化的数据流图的***。数据流图是在数据流图运行环境下运行的计算机程序,其处理来自一个或多个数据源的数据。根据数据流图操纵并处理来自数据源的数据,并且该数据被导出到一个或多个数据宿(data sink)。例如,数据源和数据宿可以包括文件、数据库、数据流、或队列。数据流图被表示为有向图(directed graph),该有向图包括表示数据处理组件的节点,每个包括用于处理来自至少一个数据输入的数据并且将数据提供给至少一个数据输出的代码,该有向图还包括表示用于访问数据源和/或数据宿的数据集对象的节点。节点通过有向链路被连接起来,所述有向链路表示组件之间的数据流,源于数据源并终止于数据宿。上游组件的数据输出端口连接到下游组件的数据输入端口。对于由数据集对象所表示的不同的数据源和不同的数据宿,可以重用数据流图。例如,用于实现数据流图的数据结构和程序代码可以通过被参数化来支持多种不同的配置,以使得容易替换不同的源和宿。此外,在一些布置中,通过使用参数可以更改数据流图的流程,使得可以旁路一个组件或者一系列组件。
运行环境可以宿主(host)于在合适的操作***(诸如UNIX操作***)的控制下的一个或多个通用计算机。例如,运行环境可以包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)的计算机***的配置:本地的(例如,诸如SMP计算机之类的多处理器***)、或者本地分布的(例如,被耦接为簇的多个处理器或MPP)、或者远程的、或者远程分布的(例如,经由局域网(LAN)和/或广域网(WAN)耦接的多个处理器)、或者其任何组合。
数据流图的构造在一些情况下本质上可以是高度技术性的。在编写以实现特定业务端时,基于技术上的考虑来确定该图的结构和构造。例如,可以选择图的组件以便使重用性最大化,或者支持并行处理。另一方面,如何使用图以及在哪里使用图,可能很大程度上是业务决定。可以使用与参数化的数据流图相关联的一些参数,来使得业务用户能够定制数据流图,而无需用户理解在其实现方式背后的技术上的复杂性。参数化的数据流图简化了定制,并且促进了重用。
可以在客户端机器上呈现用于标识用以构造数据流图的参数值的界面。在一些实现方式中,客户端可以使用客户端上的提供了参数界面的网络浏览器、以及使用提供了一些客户端侧处理能力的脚本语言,来访问在服务器上运行的开发环境。脚本语言可以与服务器进行通信,以便更新参数并执行其它必要操作。该通信可以经由网桥机器进行,该网桥机器通过运行开发环境,来转译客户端和服务器之间的通信,存储对象和用于正在被构造的图的关联参数值。
例如,参考图6A,数据流图602可以包括数据源606a、606b,组件608a-c、610,以及数据宿612。源、组件、和宿每一个可以与一组参数604a-g相关联。用于一个源、组件、或宿的参数可以被用来评估用于不同的源、组件、或宿的参数。源606a、606b与组件608a、608c的输入端口连接。组件608a的输出端口与组件608b的输入端口连接。组件610的输出端口与数据宿612连接。源、组件、以及宿之间的连接定义了数据流。
一些数据源、组件或宿可能具有输入参数604a-g,其可以定义该图的一些行为。例如,参数可以定义数据源或宿在物理盘上的位置。参数还可以定义组件的行为,例如,参数可以定义拣选(sort)组件如何拣选输入(例如,按照zip代码来进行拣选)。在一些布置中,一个参数的值可能依赖于另一参数的值。例如,源606a可以被存储在特定目录下的文件中。参数集604a可以包括被称为“DIRECTORY”的参数和被称为“FILENAME”的另一参数。在该情况下,FILENAME参数将依赖于DIRECTORY参数(例如,DIRECTORY可以是“/usr/local/”,FILENAME可以是“/usr/local/input.dat”)。参数还可以依赖于用于其它组件的参数。例如,宿612的物理位置可能依赖于源606a的物理位置。在该示例中,宿612包括一组参数604g,其包括依赖于源606a的DIRECTORY参数的FILENAME参数(例如,组604g中的FILENAME参数可以是“/usr/local/output.dat”,其中值“/usr/local/”是从集合604a中的DIRECTORY参数获得的。)。
在客户端上的用户界面内,参数组604a-604g的参数可以被组合,并且被重新组织为不同的编组以与用户进行交互,其反映了商务上的考虑而不是技术上的考虑。以不必受限于服务器上的开发环境方面的灵活方式,基于用户输入用于接收参数值的用户界面根据参数之间的关系,可以显示不同的参数。例如,参考图6B,可以呈现其中利用表示参数间的依赖性的关系来显示图标的用户界面。在该示例中,参数被划分为第一参数编组,其由以下项来表示:表示用于第一源数据集的参数的第一源图标624、表示用于第二源数据集的参数的第二源图标626、表示用于宿数据集的参数的宿图标630、以及表示用于正在被配置的数据流图的一个或多个组件的参数的转换图标628,示出了它们与源数据集和宿数据集的关系。可以基于所存储的规范622做出该参数编组,所述规范622定义用户将如何在客户端的用户界面内与来自数据流图的参数进行交互、以及用户界面元素(诸如图标624、626、628、630)将如何被彼此相关并且被布置为呈现在用户界面中。在一些实现方式中,规范为XML文档。该规范还可以标识数据流图组件,并且可以标识在用户正在配置该图的同时可以执行其某些功能的特定组件,诸如观看样本数据,如下面更详细描述的。
在一些情况下,该规范可以包括对于将如何显示参数的指令。例如,参考图6B和6C,规范622可以指示:响应于与源数据集图标624的交互,应将一个参数显示为用户可以填写的文本框702,而另一个参数应是具有预填充值的下拉列表704(例如,在规范中提供的值、或者在查找表中提供的值的列表),又一参数可以被显示为单选按钮706等等。因此,该规范在如何向用户呈现参数以便可以为商务和/或非技术性用户量身定制的方式定制数据流图方面提供了灵活性。例如,可以基于对数据库运行的查询(例如SQL查询)的值或者来自位于文件***上的文件的值来填充用户界面。在一些情况下,该规范可以使得用户能够选择应用的数据源。例如,该规范可以允许用户选择数据库、表、或文件。一个或多个参数可以成编组地一起显示。例如,规范可以声明:参数将要一起呈现在用户界面上的方框中。在一些实现方式中,用户界面可以被划分为列和行。规范可以基于用户界面上要显示参数的部分,来标识参数的位置或参数的集合(collection)。
在一些情况下,规范可以包括用户选择由组件处理的字段的能力。可以在用户界面中显示可用字段,并且用户可以选择一个或多个字段以便包括在参数集中。规范可以使得用户能够通过选择用于特定字段的值而对数据集进行过滤(例如,状态为“FL”的字段)。
在一些情况下,规范可以约束商务用户填充参数值的顺序。由虚线所表示的,与宿630相关联的参数可能对于用户不可见,直至用户满足了一些预先定义的条件。例如,在数据宿参数集出现之前,用户可能必须提供特定参数值或填入参数集。还可以如所需要地定义参数,指示必须向参数分配值。
在一些情况下,规范可以基于用户角色来呈现不同的参数。例如,模板可能隐藏或禁止一组文本输入控件和链接,除非用户具有“管理者”角色。在一些实现方式中,如由参数值所配置的,***可以允许用户从用户界面内发起在服务器上执行图而通过该图运行样本数据,并且允许在用户界面中将样本运行的结果702显示给用户,如图7A所示。依赖于在结果702中包括什么类型的数据,可以在用户界面的适当浏览器或者编辑器中观看结果702。在该示例中,结果702包括与样本数据内的记录相对应的行、以及与用于不同字段的记录中的值相对应的列。可以响应于客户端处的多种动作中的任一种,例如,响应于用户向参数提供值,来触发使用测试数据在服务器上运行该图。
参考图7B,在一些实现方式中,***通过添加观察器(watcher),可以捕获流过该***的数据。例如,数据流图710包括数据源712、726,组件714、720、728和730,以及数据宿732。用户可以在数据流图中的任何链接处添加观察点。例如,用户可以向组件720和组件730之间的链接添加观察点722。***检测观察点722,并且生成该图的修改版本以便将数据流从组件720重定向到存储观察点的数据的中间数据宿724。在一些实现方式中,观察点722被实现为允许数据流到中间数据宿724和数据组件730的复制器。
在一些实现方式中,***确定:对于生成观察点722的数据而言,不需要组件728、730,数据源726,以及数据宿732。***可以选择禁止这些不必要的组件以便节约***资源。此外,禁止不必要的组件可以具有简化开发的附加优点,这是因为未使用的组件(例如,组件728)的下游组件(例如,组件730)可能尚未被完全实现或配置。在禁止这些组件时,***可以运行该图的一部分,而无需开发者完全配置整个图。
在一些实现方式中,***标识对于产生观察点的数据而言不需要的链接。例如,***可以标识不将任何源(例如,数据源712)连接到中间数据宿724的链接。可以移除向这些链接提供数据的组件。
在一些实现方式中,***可以利用来自前一观察点的数据来确定随后观察点的数据。例如,在前一次运行该图时,开发者将观察点716添加到组件714和组件720之间的链接。观察点716的数据被存储在数据宿718中。如果在随后运行中,开发者在没有改变或修改数据源712或数据组件714的情况下添加观察点722,***可以将数据宿718中的数据用作组件720的数据源,并且因此可以禁止数据源712和组件714。
***可以检测数据流是正常流还是并行流。并行流是已经被划分的数据流。并行流上的观察点对于每个数据流使用独立的数据宿。例如,已经被划分为六个独立部分的并行数据流将在六个独立的数据宿中生成观察数据。
图可以被划分为阶段。之前阶段中的组件在之后阶段的组件之前完成所有运行。例如,如果组件730在组件728的之后阶段,则将高速缓存来自组件728的数据流,直至组件728已经完成对所有数据的处理。一旦组件728完成处理所有数据,则组件730将开始处理数据。在一些情形下,数据流图710包括未连接到其它组件(例如,查找表)的组件(诸如组件734)。如果组件在观察点的之后阶段,则从数据流图中排除未连接的组件,而如果组件与观察点在同一阶段或者在观察点的之前阶段,则在数据流图中包括未连接的组件。
参考图8,客户端***802可以向用户显示上述的用户界面804。基于通过用户界面804与用户的交互而生成的参数集814可以存储在服务器808上。因此,通过用户界面804做出的改变经由网桥806从客户端802被发送到服务器808。如箭头820所示,客户端802以一种格式向网桥806发送消息,例如使用简单对象访问协议(SOAP)发送的消息。网桥806将该消息转译为新格式,并且如果需要,则与服务器808开始客户端会话。如箭头822所示,网桥806以服务器808所理解的格式向服务器808发送消息,例如COM+消息。服务器808接收该消息,并更新参数集。如箭头824所示,服务器808向网桥806发送应答,包含由于客户端802所接收的输入而对参数集发生的任何改变。网桥806解码该消息并创建对客户端802的应答消息。如箭头826所示,网桥806向客户端802发送该应答消息。客户端802更新用户界面804以反映改变,这包括显示如上所述的由于先决条件未满足之前被隐藏的任何组件。
用户还可以向客户端802指示:他希望运行使用基于当前的参数集(可能完整或者可能不完整)的样本数据构造的图。如上,客户端802经由网桥806向服务器806发送消息。服务器808应用对参数集的任何改变,并且在服务器上运行的处理816编译该数据流图。服务器运行编译的数据流图,其从样本数据集810、812接收数据。运行的数据流图产生请求的输出至输出数据集818。数据流图的输出是客户端802所请求的中间数据,并且不一定是通过完全运行数据流图将产生的数据。
在一些实现方式中,例如,如果未定义足够参数来使能完整图的编译,或者如果客户端802请求查看用于正在被客户端802配置的数据流图内的特定链接的中间数据,则服务器808可以编译数据流图的子集。为了确定要编译并运行的数据流图的子集,服务器可以使用上面关于图7B描述的处理,其中对于正在被配置的链接而不是对于观察点添加中间数据宿。
如上所述,作为结果的数据从服务器808经由网桥806被发送到客户端802。
可以使用计算机上运行的软件来实现上述的对象管理方法。例如,软件形成在一个或多个编程的或可编程的计算机***(其可以是各种架构,诸如分布式的、客户端/服务器、或者网格)上运行的一个或多个计算机程序中的例程,每个计算机***包括至少一个处理器、至少一个数据存储***(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口、以及至少一个输出设备或端口。软件可以形成更大程序的一个或多个模块,例如,该更大程序提供与计算图的设计和配置有关的其它服务。可以将该图的节点和元件实现为在计算机可读介质中存储的数据结构、或者符合在数据储存库中存储的数据模型的其它组织数据。
软件可以在通用或专用可编程计算机可读取的存储介质(诸如CD-ROM)上提供,或者可以通过网络的通信介质(在传播信号中编码的)递送到执行该软件的计算机。可以在专用计算机上、或者使用专用硬件(诸如协处理器)来执行所有功能。软件可以以分布式方式实现,在分布式方式下,软件所规定的不同计算部分由不同计算机执行。每个这样的计算机程序优选地被存储在或者被下载到通用或专用可编程计算机可读取的存储介质或设备(例如,固态存储器或介质、或者磁或光介质)上,在计算机***读取该存储介质或设备时,所述计算机程序用于配置并操作计算机以便执行这里描述的例程。还可以考虑将本发明的***实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使得计算机***以特定的且预先定义的方式操作,以便执行这里描述的功能。
已经描述了本发明的多个实施例。然而,将理解,在不偏离本发明的精神和范围的情况下可以做出各种修改。例如,上述的一些步骤可以是与顺序无关的,并且因此可以与上面描述的顺序不同的顺序来执行。
应理解,前述说明意图例示而非限制本发明的范围,本发明的范围由所附权利要求的范围定义。例如,可以以不同顺序执行上述的多个功能步骤,而没有在实质上影响整体处理。其它实施例也在以下权利要求的范围内。
权利要求书(按照条约第19条的修改)
1.一种由用于支持客户端和服务器之间的通信的网桥执行的方法,包括:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从服务器接收对该对象的改变;
存储对该对象的改变;
在接收到所述改变之后,从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
2.如权利要求1所述的方法,其中存储改变包括创建改变的日志,并且其中向客户端发送所存储的改变包括发送改变的日志。
3.如权利要求1所述的方法,其中,存储改变包括更新对象的当前状态,并且向客户端发送所存储的改变包括发送对象的当前状态。
4.如权利要求1所述的方法,其中,从客户端接收第一消息包括接收用于客户端对象的临时标识符;创建对象包括获得用于该对象的永久标识符;以及发送对第一消息的响应包括发送临时标识符和永久标识符之间的映射。
5.如权利要求4所述的方法,其中,获得永久标识符包括向服务器发送服务器消息。
6.如权利要求5所述的方法,其中,发送服务器消息包括将该服务器消息与其它服务器消息进行交织。
7.如权利要求1所述的方法,还包括:向服务器注册对该对象的兴趣。
8.如权利要求7所述的方法,其中,接收对该对象的改变包括接收与服务器生成的事件相关联的、对该对象的改变。
9.如权利要求1所述的方法,其中,接收第一消息包括利用第一协议,并且接收对该对象的改变包括利用与第一协议不同的第二协议。
10.如权利要求1所述的方法,还包括存储对于多个客户端的多个对象的改变。
11.如权利要求1所述的方法,其中,该对象对应于数据流图的一部分,其包括表示数据流图的组件的多个节点、以及表示各组件之间的数据流的节点之间的链接。
12.如权利要求11所述的方法,其中,从客户端接收第一消息包括接收用于定义数据流图的组件的至少一个特性的参数的值。
13.如权利要求11所述的方法,还包括:提供接收用于定义数据流图的组件的相应特性的一个或多个参数的界面。
14.如权利要求13所述的方法,其中,该界面显示多个用户界面元素,并且各用户界面元素之间的关系基于数据流图的各组件之间的依赖性。
15.如权利要求14所述的方法,其中,通过在服务器中存储的规范来定义所述关系。
16.如权利要求11所述的方法,其中,接收第一消息包括接收对中间数据的请求,以及
创建对象包括:
编译数据流图的该部分,并且
通过运行编译后的数据流图的该部分来产生到输出数据集的输出。
17.如权利要求16所述的方法,其中,创建对象还包括:
确定生成中间数据所需的第一组件集合;
禁止数据流图中不在该第一组件集合中的组件;以及
创建与数据流图耦接的中间数据宿以存储该输出数据集。
18.如权利要求17所述的方法,其中,确定第一组件集合包括标识不将数据源连接到中间数据宿的链接。
19.如权利要求17所述的方法,其中,创建中间数据宿包括:
确定至中间数据宿的链接表示并行数据流;以及
将并行数据宿创建为中间数据宿。
20.一种存储用于支持客户端和服务器之间的通信的计算机程序的计算机可读介质,该计算机程序包括用于使网桥执行以下操作的指令:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从服务器接收对该对象的改变;
存储对该对象的改变;
在接收到所述改变之后,从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
21.一种支持客户端和服务器之间的通信的***,该***包括:
包括至少一个处理器的服务器;以及
包括被配置用以管理该***中的对象的至少一个处理器的网桥,
其中,所述管理包括:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从服务器接收对该对象的改变;
存储对该对象的改变;
在接收到所述改变之后,从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
22.一种使用网桥支持客户端和服务器之间的通信的***,该***包括:
用于服务数据的部件;以及
用于管理该***中的对象的部件,其中,所述管理包括:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从用于服务数据的部件接收对该对象的改变;
存储对该对象的改变;
在接收到所述改变之后,从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
Claims (22)
1.一种支持客户端和服务器之间的通信的方法,包括:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从服务器接收对该对象的改变;
存储对该对象的改变;
从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
2.如权利要求1所述的方法,其中存储改变包括创建改变的日志,并且其中向客户端发送所存储的改变包括发送改变的日志。
3.如权利要求1所述的方法,其中,存储改变包括更新对象的当前状态,并且向客户端发送所存储的改变包括发送对象的当前状态。
4.如权利要求1所述的方法,其中,从客户端接收第一消息包括接收用于客户端对象的临时标识符;创建对象包括获得用于该对象的永久标识符;以及发送对第一消息的响应包括发送临时标识符和永久标识符之间的映射。
5.如权利要求4所述的方法,其中,获得永久标识符包括向服务器发送服务器消息。
6.如权利要求5所述的方法,其中,发送服务器消息包括将该服务器消息与其它服务器消息进行交织。
7.如权利要求1所述的方法,还包括:向服务器注册对该对象的兴趣。
8.如权利要求7所述的方法,其中,接收对该对象的改变包括接收与服务器生成的事件相关联的、对该对象的改变。
9.如权利要求1所述的方法,其中,接收第一消息包括利用第一协议,并且接收对该对象的改变包括利用与第一协议不同的第二协议。
10.如权利要求1所述的方法,还包括存储对于多个客户端的多个对象的改变。
11.如权利要求1所述的方法,其中,该对象对应于数据流图的一部分,其包括表示数据流图的组件的多个节点、以及表示各组件之间的数据流的节点之间的链接。
12.如权利要求11所述的方法,其中,从客户端接收第一消息包括接收用于定义数据流图的组件的至少一个特性的参数的值。
13.如权利要求11所述的方法,还包括:提供接收用于定义数据流图的组件的相应特性的一个或多个参数的界面。
14.如权利要求13所述的方法,其中,该界面显示多个用户界面元素,并且各用户界面元素之间的关系基于数据流图的各组件之间的依赖性。
15.如权利要求14所述的方法,其中,通过在服务器中存储的规范来定义所述关系。
16.如权利要求11所述的方法,其中,接收第一消息包括接收对中间数据的请求,以及
创建对象包括:
编译数据流图的该部分,并且
通过运行编译后的数据流图的该部分来产生到输出数据集的输出。
17.如权利要求16所述的方法,其中,创建对象还包括:
确定生成中间数据所需的第一组件集合;
禁止数据流图中不在该第一组件集合中的组件;以及
创建与数据流图耦接的中间数据宿以存储该输出数据集。
18.如权利要求17所述的方法,其中,确定第一组件集合包括标识不将数据源连接到中间数据宿的链接。
19.如权利要求17所述的方法,其中,创建中间数据宿包括:
确定至中间数据宿的链接表示并行数据流;以及
将并行数据宿创建为中间数据宿。
20.一种存储用于支持客户端和服务器之间的通信的计算机程序的计算机可读介质,该计算机程序包括用于使计算机执行以下操作的指令:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从服务器接收对该对象的改变;
存储对该对象的改变;
从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
21.一种支持客户端和服务器之间的通信的***,该***包括:
包括至少一个处理器的服务器;以及
包括被配置用以管理该***中的对象的至少一个处理器的网桥,其中,所述管理包括:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从服务器接收对该对象的改变;
存储对该对象的改变;
从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
22.一种支持客户端和服务器之间的通信的***,该***包括:
用于服务数据的部件;以及
用于管理该***中的对象的部件,其中,所述管理包括:
从客户端接收第一消息;
响应于该第一消息而创建对象;
将对该第一消息的响应发送到客户端;
从用于服务数据的部件接收对该对象的改变;
存储对该对象的改变;
从该客户端接收第二消息;以及
利用对该第二消息的响应而向客户端发送所存储的改变。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28629309P | 2009-12-14 | 2009-12-14 | |
US61/286,293 | 2009-12-14 | ||
PCT/US2010/060270 WO2011081925A1 (en) | 2009-12-14 | 2010-12-14 | Managing objects using a client-server bridge |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102754411A true CN102754411A (zh) | 2012-10-24 |
CN102754411B CN102754411B (zh) | 2016-05-04 |
Family
ID=43640108
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080063806.5A Active CN102754072B (zh) | 2009-12-14 | 2010-12-03 | 规定用户界面元素 |
CN201610878767.3A Active CN107102848B (zh) | 2009-12-14 | 2010-12-03 | 规定用户界面元素 |
CN201080063818.8A Active CN102754411B (zh) | 2009-12-14 | 2010-12-14 | 使用客户端-服务器网桥管理对象 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080063806.5A Active CN102754072B (zh) | 2009-12-14 | 2010-12-03 | 规定用户界面元素 |
CN201610878767.3A Active CN107102848B (zh) | 2009-12-14 | 2010-12-03 | 规定用户界面元素 |
Country Status (8)
Country | Link |
---|---|
US (4) | US10845962B2 (zh) |
EP (2) | EP2513782A1 (zh) |
JP (4) | JP6084037B2 (zh) |
KR (2) | KR101862235B1 (zh) |
CN (3) | CN102754072B (zh) |
AU (3) | AU2010337218B2 (zh) |
CA (3) | CA2782414C (zh) |
WO (2) | WO2011081776A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106605209A (zh) * | 2014-09-02 | 2017-04-26 | 起元科技有限公司 | 控制数据处理任务 |
US10599475B2 (en) | 2014-09-02 | 2020-03-24 | Ab Initio Technology Llc | Controlling data processing tasks |
CN112199215A (zh) * | 2020-10-13 | 2021-01-08 | 恒生电子股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN112306578A (zh) * | 2020-11-06 | 2021-02-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 可配置数据源的DataFetcher实现***和方法 |
CN113835777A (zh) * | 2017-02-17 | 2021-12-24 | 谷歌有限责任公司 | 移动应用活动检测器 |
US11301445B2 (en) | 2014-09-02 | 2022-04-12 | Ab Initio Technology Llc | Compiling graph-based program specifications |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2750479C (en) | 2009-02-13 | 2019-03-12 | Ab Initio Technology Llc | Communicating with data storage systems |
AU2010337218B2 (en) | 2009-12-14 | 2015-09-24 | Ab Initio Technology Llc | Specifying user interface elements |
US9141403B2 (en) * | 2011-02-15 | 2015-09-22 | Microsoft Technology Licensing, Llc | Data-driven schema for describing and executing management tasks in a graphical user interface |
CN103782545A (zh) * | 2011-09-07 | 2014-05-07 | 多伦多证券交易所 | 高可用性***、复制器及方法 |
US8782595B1 (en) * | 2011-10-06 | 2014-07-15 | Google Inc. | Systems and methods for rule based meta-programming of actions for rule based build systems |
US10346422B2 (en) * | 2012-10-18 | 2019-07-09 | International Business Machines Corporation | Use of proxy objects for integration between a content management system and a case management system |
US20140114864A1 (en) * | 2012-10-22 | 2014-04-24 | International Business Machines Corporation | Case management integration with external content repositories |
US9811233B2 (en) * | 2013-02-12 | 2017-11-07 | Ab Initio Technology Llc | Building applications for configuring processes |
US11061539B2 (en) * | 2013-03-15 | 2021-07-13 | The Mathworks, Inc. | Reference nodes in a computational graph |
EP4375833A3 (en) | 2013-12-05 | 2024-07-31 | AB Initio Technology LLC | Managing interfaces for dataflow graphs composed of sub-graphs |
US10067652B2 (en) * | 2013-12-24 | 2018-09-04 | Dropbox, Inc. | Providing access to a cloud based content management system on a mobile device |
US20150180980A1 (en) * | 2013-12-24 | 2015-06-25 | Dropbox, Inc. | Systems and methods for preserving shared virtual spaces on a content management system |
US9575639B2 (en) | 2014-02-27 | 2017-02-21 | Ab Initio Technology Llc | Compound controls |
US9607073B2 (en) | 2014-04-17 | 2017-03-28 | Ab Initio Technology Llc | Processing data from multiple sources |
US9766789B1 (en) * | 2014-07-07 | 2017-09-19 | Cloneless Media, LLC | Media effects system |
EP3189422A1 (en) * | 2014-09-02 | 2017-07-12 | AB Initio Technology LLC | Executing graph-based program specifications |
US9933918B2 (en) * | 2014-09-02 | 2018-04-03 | Ab Initio Technology Llc | Specifying control and data connections in graph-based programs |
CN107145344B (zh) * | 2014-09-02 | 2020-12-04 | 起元科技有限公司 | 在基于图的程序中指定组件 |
EP2998817B1 (en) * | 2014-09-16 | 2017-06-07 | Aviovision | System for calculating aircraft performance and method for performing the same |
US9880818B2 (en) * | 2014-11-05 | 2018-01-30 | Ab Initio Technology Llc | Application testing |
US10055333B2 (en) | 2014-11-05 | 2018-08-21 | Ab Initio Technology Llc | Debugging a graph |
US10657134B2 (en) * | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US10181105B2 (en) | 2015-12-11 | 2019-01-15 | Adp, Llc | Object oriented organization management with dynamic grouping |
US11016646B1 (en) * | 2016-03-22 | 2021-05-25 | Open Text Corporation | Method and mechanism for context driven alteration of UI artifacts instances behavior using expression based pluggable UI aspects |
US10949748B2 (en) * | 2016-05-13 | 2021-03-16 | Microsoft Technology Licensing, Llc | Deep learning of bots through examples and experience |
US10936289B2 (en) | 2016-06-03 | 2021-03-02 | Ab Initio Technology Llc | Format-specific data processing operations |
JP6686762B2 (ja) * | 2016-07-22 | 2020-04-22 | 富士通株式会社 | 情報処理システム、情報処理装置、情報処理方法及びプログラム |
US11853529B2 (en) * | 2016-11-07 | 2023-12-26 | Tableau Software, Inc. | User interface to prepare and curate data for subsequent analysis |
US10802945B2 (en) * | 2016-12-07 | 2020-10-13 | Ab Initio Technology Llc | Differencing of executable dataflow graphs |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11194551B2 (en) | 2017-06-07 | 2021-12-07 | Ab Initio Technology Llc | Dataflow graph configuration |
US11423083B2 (en) | 2017-10-27 | 2022-08-23 | Ab Initio Technology Llc | Transforming a specification into a persistent computer program |
CN108037973B (zh) * | 2017-12-20 | 2021-11-16 | 苏州优圣美智能***有限公司 | 一种与数据处理工具交互的数据流建模和处理*** |
EP3824398A1 (en) | 2018-07-19 | 2021-05-26 | AB Initio Technology LLC | Publishing to a data warehouse |
CN109656453A (zh) * | 2018-12-20 | 2019-04-19 | 树根互联技术有限公司 | 规则编辑方法、装置和设备 |
US11061596B2 (en) * | 2019-11-04 | 2021-07-13 | Google Llc | Multi-pass distributed data shuffle |
US20210191845A1 (en) | 2019-12-23 | 2021-06-24 | Ab Initio Technology Llc | Unit testing of components of dataflow graphs |
US11567758B2 (en) | 2020-12-09 | 2023-01-31 | Adp, Inc. | Configuration properties management for software |
CN114063877A (zh) * | 2021-10-29 | 2022-02-18 | 深圳市正浩创新科技股份有限公司 | 储能设备数据显示方法、装置与设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205208A1 (en) * | 2001-03-26 | 2004-10-14 | Juha Koponen | Method and arrangements for providing efficient information transfer over a limited speed communications link |
US20090119302A1 (en) * | 2007-11-05 | 2009-05-07 | Microsoft Corporation | Asynchronous client to server updates |
Family Cites Families (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4901221A (en) * | 1986-04-14 | 1990-02-13 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US5481741A (en) * | 1986-04-14 | 1996-01-02 | National Instruments Corporation | Method and apparatus for providing attribute nodes in a graphical data flow environment |
US4914568A (en) * | 1986-10-24 | 1990-04-03 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US5291587A (en) * | 1986-04-14 | 1994-03-01 | National Instruments, Inc. | Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs |
US5301301A (en) * | 1991-01-30 | 1994-04-05 | National Instruments Corporation | Polymorphic dataflow block diagram system and method for programming a computer |
JPH05265802A (ja) * | 1992-03-18 | 1993-10-15 | Shimadzu Corp | ソフトウェアデバッグ装置 |
US5438659A (en) * | 1992-10-08 | 1995-08-01 | Hewlett-Packard Company | Object-action user interface management system |
JPH06230953A (ja) * | 1993-02-03 | 1994-08-19 | Mitsubishi Electric Corp | グラフィカル・ユーザインタフェース設計装置 |
JPH07152544A (ja) * | 1993-09-17 | 1995-06-16 | Toshiba Corp | ダイヤグラム作成支援システム及びダイアグラム作成支援方法 |
US5966072A (en) * | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US5844554A (en) * | 1996-09-17 | 1998-12-01 | Bt Squared Technologies, Inc. | Methods and systems for user interfaces and constraint handling configurations software |
US6437805B1 (en) * | 1996-09-23 | 2002-08-20 | National Instruments Corporation | System and method for accessing object capabilities in a graphical program |
US6102965A (en) * | 1996-09-23 | 2000-08-15 | National Instruments Corporation | System and method for providing client/server access to graphical programs |
US6064812A (en) * | 1996-09-23 | 2000-05-16 | National Instruments Corporation | System and method for developing automation clients using a graphical data flow program |
JPH10222355A (ja) * | 1997-01-31 | 1998-08-21 | Toshiba Corp | Guiアプリケーション開発装置 |
US6219628B1 (en) * | 1997-08-18 | 2001-04-17 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US6173438B1 (en) * | 1997-08-18 | 2001-01-09 | National Instruments Corporation | Embedded graphical programming system |
US6102968A (en) | 1998-05-21 | 2000-08-15 | Lucent Technologies Inc. | Method for automatically closing open reactive systems |
US6341279B1 (en) * | 1998-10-12 | 2002-01-22 | Starwave Corporation | Method and apparatus for event modeling |
US6813640B1 (en) * | 1998-12-08 | 2004-11-02 | Macrovision Corporation | System and method for controlling the editing by user action of digital objects created in a document server application |
US7937665B1 (en) * | 2000-06-13 | 2011-05-03 | National Instruments Corporation | System and method for automatically generating a graphical program to implement a prototype |
US20090241089A1 (en) * | 1999-08-19 | 2009-09-24 | Subramanian Ramamoorthy | Converting a First Graphical Program into a Second Graphical Program Using an Intermediate Abstract Representation |
US7210117B2 (en) * | 1999-08-19 | 2007-04-24 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to program information |
US7000190B2 (en) * | 1999-08-19 | 2006-02-14 | National Instruments Corporation | System and method for programmatically modifying a graphical program in response to program information |
US7120876B2 (en) * | 1999-08-19 | 2006-10-10 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to user input |
US6694321B1 (en) | 1999-09-23 | 2004-02-17 | Affymetrix, Inc. | System, method, and product for development and maintenance of database-related software applications |
US6985905B2 (en) | 2000-03-03 | 2006-01-10 | Radiant Logic Inc. | System and method for providing access to databases via directories and other hierarchical structures and interfaces |
JP2001344105A (ja) * | 2000-03-31 | 2001-12-14 | Hitachi Software Eng Co Ltd | Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体 |
US6763515B1 (en) * | 2000-06-05 | 2004-07-13 | National Instruments Corporation | System and method for automatically generating a graphical program to perform an image processing algorithm |
CN100429616C (zh) | 2000-06-09 | 2008-10-29 | 纽约市哥伦比亚大学托管会 | 混合异步同步***的低等待时间fifo电路 |
US7164422B1 (en) * | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
AU2001290546A1 (en) * | 2000-08-22 | 2002-03-04 | Akamai Technologies, Inc. | Dynamic content assembly on edge-of-network servers in a content delivery network |
US20070192863A1 (en) * | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US8042098B2 (en) * | 2000-12-06 | 2011-10-18 | Axiomatic Design Software, Inc. | Method and apparatus for producing software |
US7188091B2 (en) * | 2001-03-21 | 2007-03-06 | Resolutionebs, Inc. | Rule processing system |
US20040210445A1 (en) * | 2001-04-05 | 2004-10-21 | Luca Veronese | Method and system for specifying and implementing business applications |
US6801229B1 (en) | 2001-04-06 | 2004-10-05 | Plumbdesign | System for creation of visual representation of data |
US7493397B1 (en) | 2001-06-06 | 2009-02-17 | Microsoft Corporation | Providing remote processing services over a distributed communications network |
US20040093342A1 (en) | 2001-06-27 | 2004-05-13 | Ronald Arbo | Universal data mapping system |
AU2002313583A1 (en) * | 2001-08-01 | 2003-02-17 | Actona Technologies Ltd. | Virtual file-sharing network |
US20030172193A1 (en) * | 2002-03-07 | 2003-09-11 | Olsen Jesse Dale | User interface generator and method of automatically generating a user interface |
US20030174165A1 (en) | 2002-03-18 | 2003-09-18 | Barney Rock D. | System and method for rendering a directed graph |
US7353464B1 (en) | 2002-04-01 | 2008-04-01 | Microsoft Corporation | Hierarchical data navigation tool populated by a web service |
US20080091491A1 (en) * | 2002-04-18 | 2008-04-17 | Bdna Corporation | Method and/or system for flexible data handling |
US7574652B2 (en) * | 2002-06-20 | 2009-08-11 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
US20040030993A1 (en) * | 2002-08-08 | 2004-02-12 | Hong Huey Anna Onon | Methods and apparatus for representing dynamic data in a software development environment |
AU2003259744A1 (en) * | 2002-08-09 | 2004-02-25 | Corticon Technologies, Inc. | Rule engine |
CA2496779C (en) * | 2002-08-26 | 2011-02-15 | Guardednet, Inc. | Determining threat level associated with network activity |
US7167850B2 (en) * | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
US7840545B2 (en) | 2002-10-25 | 2010-11-23 | International Business Machines Corporation | Method and system for providing access to a database |
JP2004172695A (ja) * | 2002-11-18 | 2004-06-17 | Alpine Electronics Inc | マルチメディア再生方法およびマルチメディア再生システム、操作画面カスタマイズ用プログラム |
US7644361B2 (en) * | 2002-12-23 | 2010-01-05 | Canon Kabushiki Kaisha | Method of using recommendations to visually create new views of data across heterogeneous sources |
AU2002953555A0 (en) * | 2002-12-23 | 2003-01-16 | Canon Kabushiki Kaisha | Method for presenting hierarchical data |
JP4127194B2 (ja) * | 2003-01-15 | 2008-07-30 | セイコーエプソン株式会社 | レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法 |
GB0306971D0 (en) | 2003-03-26 | 2003-04-30 | British Telecomm | Client server model |
US7167580B2 (en) * | 2003-04-30 | 2007-01-23 | Unisys Corporation | Image quality assurance systems and methodologies for improving the identification of and access speed to image quality suspects in documents |
JP2004349355A (ja) * | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置、その冗長回路及び携帯電子機器 |
US20040239674A1 (en) * | 2003-06-02 | 2004-12-02 | Microsoft Corporation | Modeling graphs as XML information sets and describing graphs with XML schema |
US7624375B2 (en) | 2003-06-12 | 2009-11-24 | National Instruments Corporation | Automatically configuring a graphical user interface element to bind to a graphical program |
EP1665034B1 (en) | 2003-08-13 | 2017-03-22 | National Instruments Corporation | Creating a graphical user interface for selected parameters of a graphical program |
ATE515746T1 (de) * | 2003-09-15 | 2011-07-15 | Ab Initio Technology Llc | Datenprofilierung |
US7756907B2 (en) * | 2003-09-16 | 2010-07-13 | The Board Of Trustees Of The Leland Stanford Jr. University | Computer systems and methods for visualizing data |
US7448047B2 (en) * | 2004-04-29 | 2008-11-04 | Sybase, Inc. | Database system with methodology for providing stored procedures as web services |
US8296665B2 (en) * | 2004-05-11 | 2012-10-23 | Sap Ag | Developing and executing applications with configurable patterns |
US7913231B2 (en) * | 2004-05-11 | 2011-03-22 | Sap Ag | Testing pattern-based applications |
US7530052B2 (en) * | 2004-05-14 | 2009-05-05 | National Instruments Corporation | Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation |
US7281018B1 (en) * | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US8533229B2 (en) * | 2004-06-16 | 2013-09-10 | Salesforce.Com, Inc. | Soap-based web services in a multi-tenant database system |
JP4275013B2 (ja) * | 2004-06-21 | 2009-06-10 | 三洋電機株式会社 | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 |
US7730012B2 (en) | 2004-06-25 | 2010-06-01 | Apple Inc. | Methods and systems for managing data |
US20050289356A1 (en) | 2004-06-29 | 2005-12-29 | Idan Shoham | Process for automated and self-service reconciliation of different loging IDs between networked computer systems |
WO2006043012A1 (en) * | 2004-10-22 | 2006-04-27 | New Technology/Enterprise Limited | Data processing system and method |
US7899833B2 (en) * | 2004-11-02 | 2011-03-01 | Ab Initio Technology Llc | Managing related data objects |
US7523440B2 (en) * | 2004-11-16 | 2009-04-21 | The Mathworks, Inc. | Dynamic generation of formatted user interfaces in software environments |
US7349384B2 (en) * | 2004-12-10 | 2008-03-25 | Microsoft Corporation | Reliable one-way messaging over request-response transport protocols |
GB0501153D0 (en) * | 2005-01-20 | 2005-03-02 | Ibm | System and method for subscription management in a messaging system |
US20060190480A1 (en) * | 2005-02-22 | 2006-08-24 | Transparency Software, Inc. | Generation of names related to organization actions |
US20060190488A1 (en) | 2005-02-22 | 2006-08-24 | Transparency Software, Inc. | System and method for determining information related to user interactions with an application |
US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US7716630B2 (en) * | 2005-06-27 | 2010-05-11 | Ab Initio Technology Llc | Managing parameters for graph-based computations |
JP2007011809A (ja) * | 2005-06-30 | 2007-01-18 | Kureo:Kk | 業務フローを搭載した業務管理システム |
JP2009504652A (ja) * | 2005-08-11 | 2009-02-05 | メルク エンド カムパニー インコーポレーテッド | 非ヌクレオシド逆転写酵素阻害剤 |
US8078954B2 (en) | 2005-09-27 | 2011-12-13 | Oracle International Corporation | System and method for page flow editor |
US7739292B2 (en) | 2005-09-28 | 2010-06-15 | Altova Gmbh | System and method for modeling and managing enterprise architecture data and content models and their relationships |
US8095565B2 (en) * | 2005-12-05 | 2012-01-10 | Microsoft Corporation | Metadata driven user interface |
US7650316B2 (en) * | 2006-03-10 | 2010-01-19 | National Instruments Corporation | Automatic generation of help information for specified systems |
US20070233655A1 (en) * | 2006-04-03 | 2007-10-04 | National Instruments Corporation | Graphical program representation of queries |
JP2007280189A (ja) * | 2006-04-10 | 2007-10-25 | Toshiba Corp | プログラム生成装置、プログラム生成方法、及びプログラム生成プログラム |
WO2007134265A2 (en) * | 2006-05-12 | 2007-11-22 | Captaris, Inc. | Workflow data binding |
US7870556B2 (en) * | 2006-05-16 | 2011-01-11 | Ab Initio Technology Llc | Managing computing resources in graph-based computations |
JP2007316884A (ja) * | 2006-05-25 | 2007-12-06 | Hitachi Ltd | 制御装置、制御方法、及び、制御プログラム |
US8396848B2 (en) * | 2006-06-26 | 2013-03-12 | Microsoft Corporation | Customizable parameter user interface |
US7701869B2 (en) * | 2006-07-21 | 2010-04-20 | National Instruments Corporation | Generating a data flow diagram |
CN101501678B (zh) * | 2006-08-10 | 2013-10-16 | 起元科技有限公司 | 在基于图的计算中分配服务 |
CN100527131C (zh) | 2006-12-30 | 2009-08-12 | 中国建设银行股份有限公司 | 一种ims数据库互动式访问方法和工具 |
US8069129B2 (en) * | 2007-04-10 | 2011-11-29 | Ab Initio Technology Llc | Editing and compiling business rules |
US7644254B2 (en) * | 2007-04-18 | 2010-01-05 | International Business Machines Corporation | Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list |
US8271943B2 (en) * | 2007-04-24 | 2012-09-18 | National Instruments Corporation | Automatically generating a graphical program with a plurality of models of computation |
US9594731B2 (en) * | 2007-06-29 | 2017-03-14 | Microsoft Technology Licensing, Llc | WYSIWYG, browser-based XML editor |
CN101884024B (zh) * | 2007-09-20 | 2016-03-30 | 起元技术有限责任公司 | 在基于图的计算中管理数据流 |
US8156481B1 (en) * | 2007-10-05 | 2012-04-10 | The Mathworks, Inc. | Profiler-based optimization of automatically generated code |
US7886050B2 (en) * | 2007-10-05 | 2011-02-08 | Citrix Systems, Inc. | Systems and methods for monitoring components of a remote access server farm |
KR101510355B1 (ko) * | 2008-02-26 | 2015-04-14 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 관계의 그래픽 표현 |
US20090319494A1 (en) | 2008-06-20 | 2009-12-24 | Microsoft Corporation | Field mapping for data stream output |
CN104679807B (zh) | 2008-06-30 | 2018-06-05 | 起元技术有限责任公司 | 基于图的计算中的数据日志记录 |
US20100235495A1 (en) * | 2008-09-10 | 2010-09-16 | Salesforce.Com, Inc. | Methods and systems for reducing a load on a multi-tenant database |
CA2750479C (en) | 2009-02-13 | 2019-03-12 | Ab Initio Technology Llc | Communicating with data storage systems |
US9083759B2 (en) * | 2009-02-20 | 2015-07-14 | Citrix Systems, Inc. | Systems and methods for intermediaries to compress data communicated via a remote display protocol |
US8560941B2 (en) * | 2009-04-08 | 2013-10-15 | Microsoft Corporation | Schema based user interface mechanisms |
WO2011060257A1 (en) | 2009-11-13 | 2011-05-19 | Ab Initio Technology Llc | Managing record format information |
AU2010337218B2 (en) | 2009-12-14 | 2015-09-24 | Ab Initio Technology Llc | Specifying user interface elements |
US9552280B2 (en) | 2010-05-13 | 2017-01-24 | Microsoft Technology Licensing, Llc | Visual analysis and debugging of complex event flows |
CN103069385B (zh) | 2010-06-15 | 2016-12-28 | 起元技术有限责任公司 | 用于动态加载基于图的计算的***和方法 |
CA3052470C (en) | 2010-09-10 | 2021-06-15 | Ab Initio Technology Llc | An interface on a computing device for interacting with multi-dimensional data |
US8627296B1 (en) | 2010-09-15 | 2014-01-07 | Google Inc. | Unified unit and integration test with automatic mock creation |
US20120131559A1 (en) | 2010-11-22 | 2012-05-24 | Microsoft Corporation | Automatic Program Partition For Targeted Replay |
US9997659B2 (en) * | 2012-09-14 | 2018-06-12 | The Boeing Company | Group-IV solar cell structure using group-IV or III-V heterostructures |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9811233B2 (en) | 2013-02-12 | 2017-11-07 | Ab Initio Technology Llc | Building applications for configuring processes |
US20140189650A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Setting Breakpoints Using an Interactive Graph Representing an Application |
CA2942541C (en) | 2014-04-17 | 2022-11-22 | Ab Initio Technology Llc | Integrated monitoring and control of processing environment |
US10055333B2 (en) | 2014-11-05 | 2018-08-21 | Ab Initio Technology Llc | Debugging a graph |
-
2010
- 2010-12-03 AU AU2010337218A patent/AU2010337218B2/en active Active
- 2010-12-03 WO PCT/US2010/058875 patent/WO2011081776A1/en active Application Filing
- 2010-12-03 CA CA2782414A patent/CA2782414C/en active Active
- 2010-12-03 CN CN201080063806.5A patent/CN102754072B/zh active Active
- 2010-12-03 CN CN201610878767.3A patent/CN107102848B/zh active Active
- 2010-12-03 JP JP2012543166A patent/JP6084037B2/ja active Active
- 2010-12-03 KR KR1020127016762A patent/KR101862235B1/ko active IP Right Grant
- 2010-12-03 EP EP10795123A patent/EP2513782A1/en not_active Ceased
- 2010-12-03 US US12/959,985 patent/US10845962B2/en active Active
- 2010-12-14 JP JP2012543341A patent/JP5813655B2/ja active Active
- 2010-12-14 CA CA3012113A patent/CA3012113A1/en active Pending
- 2010-12-14 AU AU2010337107A patent/AU2010337107B2/en active Active
- 2010-12-14 KR KR1020127017686A patent/KR101784784B1/ko active IP Right Grant
- 2010-12-14 CN CN201080063818.8A patent/CN102754411B/zh active Active
- 2010-12-14 WO PCT/US2010/060270 patent/WO2011081925A1/en active Application Filing
- 2010-12-14 US US12/967,533 patent/US8661154B2/en active Active
- 2010-12-14 EP EP10795568A patent/EP2514176A1/en not_active Ceased
- 2010-12-14 CA CA2782402A patent/CA2782402C/en active Active
-
2014
- 2014-02-14 US US14/180,628 patent/US20140164495A1/en not_active Abandoned
-
2015
- 2015-09-16 JP JP2015182520A patent/JP6200472B2/ja active Active
-
2016
- 2016-03-02 AU AU2016201350A patent/AU2016201350B2/en active Active
- 2016-03-11 US US15/068,432 patent/US10129116B2/en active Active
- 2016-11-25 JP JP2016228563A patent/JP6313838B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205208A1 (en) * | 2001-03-26 | 2004-10-14 | Juha Koponen | Method and arrangements for providing efficient information transfer over a limited speed communications link |
US20090119302A1 (en) * | 2007-11-05 | 2009-05-07 | Microsoft Corporation | Asynchronous client to server updates |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106605209A (zh) * | 2014-09-02 | 2017-04-26 | 起元科技有限公司 | 控制数据处理任务 |
US10599475B2 (en) | 2014-09-02 | 2020-03-24 | Ab Initio Technology Llc | Controlling data processing tasks |
CN106605209B (zh) * | 2014-09-02 | 2020-05-12 | 起元科技有限公司 | 控制数据处理任务 |
US11301445B2 (en) | 2014-09-02 | 2022-04-12 | Ab Initio Technology Llc | Compiling graph-based program specifications |
CN113835777A (zh) * | 2017-02-17 | 2021-12-24 | 谷歌有限责任公司 | 移动应用活动检测器 |
CN113835777B (zh) * | 2017-02-17 | 2024-02-02 | 谷歌有限责任公司 | 移动应用活动检测器 |
CN112199215A (zh) * | 2020-10-13 | 2021-01-08 | 恒生电子股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN112199215B (zh) * | 2020-10-13 | 2024-01-19 | 恒生电子股份有限公司 | 消息处理方法、装置、设备及存储介质 |
CN112306578A (zh) * | 2020-11-06 | 2021-02-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 可配置数据源的DataFetcher实现***和方法 |
CN112306578B (zh) * | 2020-11-06 | 2022-04-19 | 湖南快乐阳光互动娱乐传媒有限公司 | 可配置数据源的DataFetcher实现***和方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102754411A (zh) | 使用客户端-服务器网桥管理对象 | |
US8407666B2 (en) | System and method for generating component based applications | |
US7676786B2 (en) | System and method and apparatus for using UML tools for defining web service bound component applications | |
Van Der Aalst et al. | Design and implementation of the YAWL system | |
US7720953B2 (en) | System and method of data source detection | |
US7493594B2 (en) | System and method for designing component based applications | |
CN112534398A (zh) | 用于连接器开发和集成通道部署的***和方法 | |
US20060095274A1 (en) | Execution engine for business processes | |
US20060248121A1 (en) | System and method for supporting packaging, publishing and republishing of wireless component applications | |
CA2506233A1 (en) | System and method for integrating disparate data sources and application sources using a web services orchestration platform with business process execution language (bpel) | |
US20060235928A1 (en) | System and method for creating a mapping document for binding messages between an application and an associated backend server | |
WO2008082517A1 (en) | Synchronization patterns for mobile applications | |
EP1703386B1 (en) | System and method for designing component based applications | |
CA2543898C (en) | System and method for unified visualization of two-tiered applications | |
EP1712995A1 (en) | System and method for supporting packaging, publishing and republishing of wireless component applications | |
EP1703387A1 (en) | System and method for generating component based applications | |
Millham | Software asset re-use: migration of data-intensive legacy system to the cloud computing paradigm | |
Jahed | Automatic Distribution and Cloud-Native Deployment of Executable Component and Connector Model | |
Méndez Valladares | Walkthough the Domain-Driven Design for developing a microservices system: a case study | |
Εμμανουήλ | IoT platform and data management using microservices | |
EP1978441A1 (en) | System and method for updating reference to a data-source in a component-based application | |
Lie | Enabling the compatible evolution of services based on a cloud-enabled ESB solution | |
Sam-Bodden et al. | Business Tier with JBoss | |
Varga et al. | Implementing Messaging APIs | |
Marozzo et al. | Designing Cloud services for data processing and knowledge discovery |
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 |