CN1938679A - 用于程序执行的系统和方法 - Google Patents
用于程序执行的系统和方法 Download PDFInfo
- Publication number
- CN1938679A CN1938679A CNA2005800104635A CN200580010463A CN1938679A CN 1938679 A CN1938679 A CN 1938679A CN A2005800104635 A CNA2005800104635 A CN A2005800104635A CN 200580010463 A CN200580010463 A CN 200580010463A CN 1938679 A CN1938679 A CN 1938679A
- Authority
- CN
- China
- Prior art keywords
- server
- script
- client
- parts
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及当执行应用程序和应用程序部件时,使用软件应用程序内不同部件的相似功能性的方法和系统。在一个实施例中,为部件类型创建预定义结构,每个部件类型在执行时都有相似的功能。在客户端接收参数信息并链接到预定义结构以提供脚本特定预定义结构。通过执行脚本特定预定义结构来执行部件。在用户退出部件后,自动删除脚本特定预定义结构。
Description
技术领域
总的来说,本发明涉及软件程序领域。具体地,本发明涉及用于执行程序部件(component)的系统和方法。
背景技术
有些方法和系统可以用于在客户端-服务器或者独立环境下执行程序。但是这些方式都有一些缺点,比如平台独立问题、给服务器和网络带宽带来很大负担、垃圾回收、容错能力、执行速度慢以及其他问题。
在一些客户端/服务器环境下,客户端被设计得较小,因此大多数的数据操作都发生在服务器上。这些客户端一般称为瘦客户端,并且它们被诸如Netscape和Sun Microsystems的机构所强烈推荐,这些机构都支持在网络计算机上运行的基于Java的瘦客户端。另一方面,Microsoft和Intel推荐在台式计算机上本地运行的大型应用程序。
一般使用诸如C、Java、C#、VB、Perl等的许多高级语言中的一种来开发软件程序。源代码被编译成处理器可以识别以及用于执行程序的机器代码。通常,使用三种不同的方法来编译和执行程序。通过将程序编译为(a)依赖平台的可执行文件(‘exe’)或动态链接库(‘dll’)、(b)由虚拟机执行的平台无关的字节代码、或(c)逐行解译和执行来将高级语言编译成机器代码。
当准备软件程序时,选择使用哪种高级语言以及程序执行方法依赖于很多因素,例如,开发的简易性、部件的可复用性、维护的简易性(取决于平台的依赖性)以及用最少的资源(包括存储器和网络带宽负担)来实现更快的程序执行速度。脚本语言和字节代码选择一般用于程序维护的简易性(和操作系统及处理器无关)而不是执行速度。
用C/C++语言编写的程序编译时形成机器可读、依赖于平台的可执行文件。在客户端-服务器环境中,当客户端的用户期望执行程序时,客户端向服务器发送请求,并将整个可执行文件传送到客户端,例如,可执行文件的拷贝从服务器传送到客户端并在客户端计算机上执行。这包括用于在客户端和服务器之间来回发送信息的基本网络带宽的使用。虽然大部分操作是在客户端计算机上进行的,但是所需信息需要以发展为基础进行发送。
另外一个缺点是程序的平台依赖性。为Windows操作系统编译的程序不能在Linux操作系统上执行,反之亦然。结果,服务器保留可执行文件的多个版本,以为运行不同操作系统的客户端提供服务。
Sun创建Java语言解决了一些上述缺点。用Java语言编写的程序与平台无关。Java执行器编译器将Java源代码转换成Java虚拟机(JVM)可以识别的字节代码。JVM与平台无关并将程序翻译成机器可读的形式以便执行。然而,字节代码比较紧凑(dense)并且必须从服务器传送到客户端,因此,引起网络带宽混乱。此外,大部分用Java语言编写的程序被编程,使得所需处理在服务器计算机上执行。这就限制了由服务器同时可服务的客户端的数量。
JavaScript和其它类似语言是解译语言。在这种语言中,在客户端具有解译器,且客户端以文本格式接收脚本。客户端处的解译器同时解译一行或多行以执行程序。因为发送程序脚本的真实文本,所以与发送C/C++可执行文件或Java字节代码时相比占用较少的网络带宽。为什么占用较少带宽的一个原因是可执行文件和字节代码文件更紧凑。然而,JavaScript程序要求整个脚本从服务器发送到客户端。这会不必要地堵塞网络带宽,因为在很多情况下没有必要传送整个脚本。
在使用在客户服务器环境下的数据库(例如,SQL和Oracle数据库)中,客户端向服务器发送查询,然后服务器发送请求信息到客户端。要求显示信息的智能性驻留在客户端,因此,与用户界面相关的一些操作在客户端计算机执行。然而,如果需要解决表达式,则需要联系服务器。在这种情况下,服务器从数据库中检索信息,计算表达式的结果并将信息返回给客户端。这就要求服务处理器计算结果,因此,减慢和限制了在服务器服务的其它客户端。
当服务器需要进行常规维护、崩溃或故障时,客户端将被断开,并且只能在服务器的问题解决后才能重新访问服务器。这种问题尤其影响小公司,因为较小的公司无力购买多个服务器,以便当故障服务器计算机正在维修时转移客户负载。
在独立或客户端-服务器环境中,无用单元收集是企业的另外一个问题。分配在随机存取存储器(RAM)中的存储器在使用后需要释放以避免混乱存储器。当使用C/C++语言编写程序时,程序员必须手动释放存储器。程序员使用“malloc”命令来分配空间以及释放命令来释放空间。然而,程序员在写软件程序时经常忘记释放存储器空间,导致了存储器混乱。
Java试图在其JVM中解决这个问题。JVM持续跟踪在一段时间内没有被访问的存储器并自动释放那个存储器。然而,具有JVM的设备必须占用宝贵的处理能量以持续查找和删除没被访问的对象。此外,没被访问的对象当不使用并存储在存储器中时用尽了宝贵的存储器。
有必要解决与执行程序有关的问题,例如,网络带宽和服务器处理负担、平台独立性、无用单元收集、容错性及其它其他问题。
附图说明
对本领域技术人员来说,通过以下的详细描述和附图,本发明的很多目的和优点将变得显而易见,其中:
图1示出在客户端-服务器环境中的本发明实施例的方框图;
图1a示出图1中所示服务器的方框图;
图1b示出图1中所示客户端的方框图;
图2示出根据本发明实施例的用于创建运行时间引擎的一部分的步骤的流程图;
图3示出通过本发明实施例中服务器所执行的步骤的流程图;
图4示出通过本发明实施例中客户端所执行的步骤的流程图;
图5示出根据本发明实施例的在执行部件菜单之后菜单的图形显示;以及
图6示出根据本发明实施例的在执行部件表格(form)之后表格的图形显示。
具体实施方式
本发明可以以许多不同的形式、结构和方式来实施。下面提供的描述和附图示出了在客户服务器环境中的本发明的示例性实施例。本领域技术人员应该理解,本发明可以下面没有示出的其它形式、结构和方式,包括独立环境来实施。本发明应该具有权利要求的全部范围并且不局限于下面示出的实施例。
总的来说,本发明涉及执行程序和程序部件的方法和系统。一个程序或几个程序的很多部件都具有相同的预期(intended)功能性,即,执行时部件的功能性。例如,当执行表格时,该表格具有图形用户界面、数据输入字段(field)、将表格与其它表格或部件链接的按钮、显示输入表格的数据如何影响其它表格或部件的相互关系信息,以及计算表达式的解决能力的表达式的功能性。大部分的表格有相同的预期功能性。一个程序或几个程序的很多部件具有相同的预期功能性。
根据本发明的实施例,创建预定义结构(PDS,predefinedstructure),其具有多个部件类型其中之一的预期功能性。因此,在表格实例中,PDS包括类属结构,其包括用户界面、字段、按钮、相互关系和表达式的预期功能性。
在本发明的一个实施例中,PDS储存客户端的存储器中,而在其它实施例中,PDS储存在客户端和服务器中。客户端可从服务器请求特定部件,使得用户可以运行该部件,例如,运行用于商业程序的表格。在一个实施例中,服务器仅将关于部件的参数信息发送给客户端。例如,参数信息包括关于客户端打算运行的特定部件的特定信息。例如在表格实例中,参数信息可包括关于用户界面、字段名和类型、表格和其它表格之间的链接以及到将要插入到表格内字段中的先前输入用户数据的链接、示出输入到表格中的数据怎样影响其它表格中的数据的相互关系信息(例如,示出成本表格如何影响不同利润表格中数据的事例信息)、以及表达式解决信息(例如,指示处理器将几个部分成本相加以计算总成本的事例信息)的特定信息。
用户在客户端收到这些信息并将其链接到对应的预定义的系统,以提供脚本特定预定义结构,然后客户端执行该脚本特定预定义结构。因为表格的所有预期功能性都存储在客户端存储器中作为PDS,所以只有参数信息需要被传送给客户端用于在客户端进行处理。通过仅传送脚本格式的参数信息,与发送更紧凑的字节或机器代码或者发送包括表格基本结构的整个脚本相比,节约了许多网络带宽。
在另外一个实施例中,在用户退出部件后,客户端自动删除部件。例如,在用户关闭部件后。结果,实现了改善的存储器利用率,以及缓解了与无用单元收集相关的问题。其它系统要求程序员手工包括为运行在系统上的程序释放存储器的命令,或要求处理器定期扫描存储器并删除不使用的部件。程序员的疏忽以及周期性扫描导致存储器混乱以及处理能力的浪费。
图1示出了在客户端-服务器环境中的本发明的一个实施例。客户端102、104、106的每一个通过通信网络111与服务器108进行通信,例如,该通信网络可是诸如互联网的广域网、局域网、或包括基站和移动站的无线网络。
图1a示出了根据本发明实施例的服务器108。在图1a的实施例中,服务器108包含具有长期存储器114、短期存储112,处理器110、以及收发器116的计算机。服务器的长期存储器114存储数据并可包括计算机的硬盘驱动器。在一个实施例中,服务器长期存储器114包含程序脚本128,用户数据库127,以及存储其中的运行时间引擎120。运行时间引擎120包含语法分析程序122和执行引擎126,执行引擎包括PDS125和链接程序124。短期存储器112可包括计算机的随机存取存储器RAM,当通过服务器108运行程序或程序部件时使用该RAM。
处理器110可包括计算机的微处理器并用于执行许多功能。运行时间引擎可指导处理器110执行各种程序。在一个实施例中,服务器语法分析程序122指示处理器110搜索客户端102所请求的部件,以及服务器执行引擎126指示服务器收发器116将具有参数信息的部件脚本传送给客户端102。在其它实施例中,服务器执行引擎126还指示处理器110将先前输入的与请求部件相关的用户定义数据的参数信息传送给客户端102并存储在用户数据库127中。在可选实施例中,服务器链接程序124指示服务器处理器110将部件脚本链接到PDS125以提供脚本特定PDS,以及服务器的执行引擎126指示服务器处理器暂时存储在服务器短期存储器112中并执行脚本特定PDS,以及在其退回之后删除脚本特定PDS。
服务器处理器110也将诸如运行时间引擎120、脚本128或来自用户数据库127的数据的信息暂时从长期存储器114移到短期存储器112。服务器108的收发器116用于传送和接收信息,例如,传送脚本到客户端并从客户接收请求。
图1b示出可一个根据本发明实施例的客户端。例如,客户端102可包括计算机或者手持设备(例如,移动电话或者个人数字助理(PDA))。客户端102包括长期存储器136、短期存储器132、客户端处理器130、以及客户端收发器146。客户端长期存储器136用于存储信息并可包括计算机的硬盘驱动器或手持设备的存储器芯片。客户端长期存储器136包括存储在其中的运行时间引擎138,运行时间引擎138包括语法分析程序140和执行引擎144,且执行引擎144包括PDS143和链接程序142。客户端短期存储器132可包括计算机的随机存取存储器RAM或使用在手持设备里的类似芯片。客户端处理器130分别包括计算机或手持设备的芯片。
在一个实施例中,客户端语法分析程序140指示客户端处理器130搜索部件脚本和预定义结构143内的标识符(下面将更详细地解释),客户端链接程序142指示客户端处理器130将请求部件的参数信息链接到对应的PDS143以提供脚本特定PDS,以及客户端执行引擎144指示客户端处理器130暂时存储在客户端短期存储器132中并执行脚本特定PDS。当用户退出请求部件时,客户端执行引擎144指示客户端处理器130自动删除脚本特定PDS。
客户端处理器130还可用于暂时将诸如运行时间引擎138的信息从长期存储器136移动到短期存储器132。客户端收发器146可用于传送和接收信息,例如,传送请求到服务器108并从服务器108接收脚本。
客户端运行时间引擎138可存储在客户端和服务器中的一个上或存储在两个上。因此,运行时间引擎138可以用于起到客户端102、服务器108、或者对等(peer to peer)或脱机应用程序的作用。因为服务器108和客户端102都具有相同量的智能,所有他们能交换角色充当服务器或者客户端。交换增加了系统的容错性,而且因此,如果任何一个发生故障,网络上的其它机器可有效地支持故障机器的工作而不扰乱系统。除容错性外,这种架构还降低了网络流量,因为每台机器都能执行其自身的操作。因此,可不需要客户端和服务器之间的连续通信。
注意到,虽然在图1的在客户端-服务器环境中示出本发明,但是本发明可以其它的形式实施。例如,本发明可在包括有长期存储器和短期存储器以及处理器的独立计算机中实施。在其它实施例中,本发明可存储在任何介质上,例如,磁带、包括磁盘和光盘的存储盘、以及存储器芯片。本发明可从介质加载到其它具有处理能力的设备(例如,计算机或手持设备)中。
存在用于每种部件类型的PDS,图2示出了用于创建PDS的本发明的实施例。在步骤210中,识别期望的部件类型和它们的预期功能性。大多数的软件程序包括几个部件,部件包括当执行时显示出特定功能性的一行或多行脚本。脚本可为任何编程语言,例如,C、Fortran、Java、或在本发明优选实施例中为Vscript(将在下面更加详细地描述)。
部件基于它们的预期功能性被分成部件类型,当执行时部件展示功能性,且部件一般由处理器执行。在程序里找到的一些部件类型包括:程序员定义的数据类型,程序员定义的对象、表格、视图、报告,程序员定义的函数、菜单和第三方可执行文件。
如上所述,每个部件都具有类似的预期功能性,例如,用户界面怎样出现(例如,符号和记号位于用户界面上的什么位置)、应用程序模型(例如,部件的结构以及部件与其他部件之间的相互关系)、以及表达式解决能力。例如,大多数的表格在执行时都显示出下列功能性中的一个或多个:具有图形用户界面、用于数据输入的字段、链接表格和其它表格或部件的按钮、示出输入表格的数据如何影响其它表格或部件的相互关系信息,以及计算表达式的表达式解决能力。例如,菜单部件类型在执行时显示出包括下拉菜单的特定图形显示以及用于链接至各种其它部件类型的下拉菜单选择。本领域技术人员应该理解,存在具有其它预期功能性的其它部件类型,并且这些其它部件类型在本发明的范围内。
在步骤220中,为每个部件类型创建PDS。PDS包括编写的脚本,使得其具有其相应部件类型的预期功能性。因此,PDS的结构取决于其对应的部件类型。下面提供用于表格和菜单部件类型的PDS实例,并用C语言编写。然而,注意到,在其它实施例中,PDS可用其他语言编写,例如Fortran、Java等。还要注意,PDS以机器代码存储在客户端和/或服务器。根据特定的操作系统以及在加载PDS的客户端或服务器中使用的处理器类型对PDS进行预编译。因此,发送给客户端的参数信息是与平台无关的,以及不同类型的脚本或代码不需要不同的操作系统或处理器。
用于表格的PDS应该具有表格的预期功能性。在下面示出的实施例中,表格PDS包括类属标题部分(下面标记为”structtag_VQL_FormInfo”)、类属结构部分(下面标记为”structtag_VQL_Form”)、字段结构部分(下面标记为”structtag_VQL_FieldInfo”)、外部链接部分(下面标记为”structtag_VQL_ForeignLink”)、网格结构部分(下面标记为”structtag_VQL_Grid”)以及网格字段特性部分(下面标记为”structtag_VQL_BoundInfo”)。这些部分包括了表格的预期功能性。注意,下面示出的表格PDS包括指向PDS内特定线的箭头。当PDS链接到部件时,箭头示出用于特定表格的脚本将插入到PDS的位置。将提供来自一个程序的表格脚本的实例并将解释链接过程。
表格PDS的类属标题部分包括示出表格标题应该怎样出现的信息,下面将示出这样的标题部分的实例。下面用箭头示出关于标题和对象信息的PDS脚本。此外,示出了如表格脚本(脚本9)所示的标题。这种和/或其它表格结构能够被扩展以捕获表格的附加特性,如屏幕大小、显示坐标、背景颜色、将用在表格中所有标签和字段中的字体等。该信息在链接步骤期间被使用,下面将更详细地进行解释。
Struct tag_VQL_FormInfo
{
VosText*menuLink;
VqlSpec*vsForm;
VosText*formTitle;<----Form title
VosText*objName; <-----TOKEN Object
VosText*lblFontName;
VosInt lblFontSize;
VosText*inpFontName;
Vos Text inpFontSize;
};
表格PDS,标题部分-脚本1
表格PDS的类属结构部分包括关于小配件、网格名称的信息以及其它信息,下面示出这种类属结构部分的实例。下面由箭头标记示出关于字段列表之间的间隔以及怎样在表格中使用字段的信息的PDS脚本。
Struct tag_VQL_Form
{
VosBool remoteExec;
void *appContext;//VqlApp or VqlClient
VqlDict *objDict;
VqlTblInfo *vti;
VosText *recBuffer;
VosSize maxGrids;
VqlGrid *grids[VQL_MAX_FORM_GRIDS];
SgiQuery *query;
SgiFont *lblFont;
SgiFont *inpFont;
VosText *keyField;
VosList *widgetList;<-list of fields
VosEnum entryMode;<-append,updata,delete
VosInt error;
VdbRcdId prevDataPos;
VosList *foreignLinks;
VqlFieldSet formFields;
SgiWidget *delButton;
SgiWidget *key Widget;
VosLookup *vqlLookups;
};
表格PDS,类属结构部分-脚本2
表格PDS的字段结构部分包括关于表格内每个字段的信息,下面示出这种字段结构部分的实例。下面由箭头标记出示出关于使用在表格中字段的名称、识别符、大小的信息的PDS脚本。此外,示出了如在表格脚本(脚本9)中提供的字段的名称、识别符和大小。下面更加详细地解释在链接步骤期间使用这些信息。
Struct tag_VQL_FieldInfo
{
VosEnum fldType;
VqlColSpec *vqc;
VosText *label; <----Bill NO
VosText *fldName; <----TokenId
VosText *linkName;
VqlTblInfo *vti;
VosEnum vdtType;
VosText *recBuffer;
VosSize offset;
VosSize colSize; <----06
VosSize maxChars;
VosSize visChars;
VosSize precision;
VqlForeignLink*helpLink;
VqlForeignLink*srcLink;
VqlBoundInfo boundInfo;
SgiLabelSpace *lblSpace;
VosText *blanks;
VqlForm *parentForm;<-----tokform_clinic
};
表格PDS,字段结构部分-脚本3
根据本发明的实施例,如果表格包括到其它部件的链接,则其将具有外部链接,以及将会有包括关于从该表格到其它部件的链接的信息的表格PDS的外部链接部分。下面示出了这种外部链接部分的实例。
Struct tag_VQL_ForeignLink
{
VqlTblInfo*vti;
VdbHelp *help;
VdbFormat *keyFormatter;
VosText *keySource;
VosText *helpKey;
VosText *recBuffer;
VosEnum vdtType;
VosSize offset;
VosSize colSize;
};
表格PDS,外部链接部分-脚本4
根据本发明的实施例,如果表格包括网格,则将具有表格PDS的网格结构部分,其包括关于网格行和列大小的信息和其它网格信息。下面示出这种网格结构部分的实例。
Struct tag_VQL_Grid
{
VosText *alias;
VosSize maxRows,maxCo1umn,loadedRecords;
VosSize curRow,curCol;
VqlTblInfo *vti;
VosText *recBuffer;
VdbRecset *vrs;
VqlFieldSet gridFields;
VqlFieldInfo *vfiCheck;
SgiWidget *inpGrid;
VosText *curRowData;
VqlForm *parent;
};
表格PDS,网格结构部分-脚本5
根据本发明的实施例,如果表格包括网格,则将会有表格PDS网格字段结构部分,其包括关于网格内字段的信息,例如,字段和列标识码(id)以及列大小。下面示出这种网格结构部分的实例。
Struct tag_VQL_BoundInfo
{
VosBool exists;
VosEnum funcld;//Aggregate Function
VosSize gridId;
VosSize columnId;
VqlTblInfo *vti;
VosText *recBuffer;
VosEnum vdtType;
VosSize offset;
VosSize colSize;
VqlExpSolver *solver;
};
表格PDS,网格字段结构部分-脚本6
因此,在上面所示的实施例中,表格PDS包括表格的预期功能性,例如,关于当显示时怎样观看标题,当执行表格时表格的图形显示将怎样出现的信息;关于如果表格上的链接(或按钮)出现表格内字段的信息;关于链接会将表格链接到什么的信息和输入到表格中的数据怎样影响其他表格或部件的信息;以及如果表格包含网格,关于网格和网格内字段的信息。
菜单的PDS应该具有菜单的预期功能性。在下面所示的实施例中,菜单PDS包括菜单结构部分(下面标记为”sructtag_VQL_MenuInfo”)。菜单结构部分包括关于菜单图形显示、下拉菜单以及下拉菜单所包括链接的信息。
Struct tag_VQL_MenuInfo
{
VosEnum exeType;//Form,Report,View
VosEnum vqlCommand;
VosEnum uidMenu;
VosText *linkName;//Name of component to be executed
void *exeLink;//Arguments if any before activating the componentVqlArgSet *reqArgs;//Transmit to Client,Arguments required forexec
};
菜单PDS,菜单结构部分-脚本7
因此,上述PDS包括关于用户界面怎样出现(例如,符号和标记位于用户界面的什么位置)的信息、应用程序模型(例如,部件结构以及部件与其它部件之间的相互关系),以及表达式解答。本领域技术人员应该理解,虽然上面提供了两个PDS实例,以及上面只提供了有限数目的部件类型,但是本发明可应用于具有不同功能性的其它部件类型,并可应用到创建的其它PDS以包括其他部件类型的预期功能性,以及可应用到相应的执行引擎。
在本发明的实施例中,运行时间引擎120、138保持在介质中并加载进包括处理器110、130的设备中。设备的处理器110、130链接具有参数信息的PDS 125、143,以提供脚本特定PDS并执行该脚本特定PDS。在其它实施例中,处理器也可暂时存储脚本特定PDS并在用户退出部件之后自动删除脚本特定PDS。
根据本发明的实施例,PDS通过服务器108和客户端的其中一个或两个,或者在其它实施例中,仅通过独立的计算机来链接到相应部件脚本。图3显示了响应于客户端请求,服务器108将脚本发送给客户端102的实施例。
在步骤310中,服务器108接收用于程序的客户端请求。典型地,服务器108收发器接收由客户端收发器146传送的请求。在步骤320中,服务器108基于用户的访问级别对用户315进行验证。处理器110可将由用户传送的用户标识符和口令信息与存储在用户数据库中的访问级别信息进行比较。用户识别的其它方式包括生物测定、硬件封锁等。
在步骤330中,创建会话数(session number)。会话数经常用在WAN环境(例如,万维网)中。会话数识别客户端和服务器之间的特定通信。识别通信允许客户端或服务器稍后返回该通信,而且在很多情况中消除了特别保留通信信道的必要。根据本发明的一个方面,会话数的使用应用到LAN环境,并通过促进无连接通信协议的使用有助于客户端-服务器的会话管理。
在步骤340中,服务器108根据用户请求加载程序脚本。在一个实施例中,服务器处理器110将程序脚本128从长期存储器114转移到短期存储器112。在步骤350中,服务器108搜索合适的部件。根据来自服务器语法分析程序122的指令,服务器处理器110将运行时间引擎120从长期存储器114转移到短期存储器112,并在脚本中搜索合适的部件。在其它实施例中,如果先前输入的数据在适当的部件中被访问,则服务器处理器从用户数据库127中检索先前输入的用户数据。通常,被搜索的第一部件是发送到客户端的菜单。根据客户端请求,其它部件也可被搜索。下面提供了用VScript语言编写的菜单和表格脚本的实例。
在本发明的可选实施例中,用于测试或其它目的,PDS 125、143被链接到参数信息,以在服务器上提供脚本特定预定义结构,在这种情况下,服务器执行引擎126也可指示服务器处理器执行脚本特定预定义结构。在可选实施例中,在步骤360中,部件被链接到他们的对应部件上,这些对应部件具有与部件相同的功能性,以提供脚本特定PDS。根据来自服务器链接程序124的指令,服务器处理器110将包括来自用户数据库127和部件脚本128的任何相关的先前输入的用户数据的参数信息链接至PDS。(服务器和客户端的链接过程是一样的,将在后面进行更详细的讨论)
在步骤370中,一般通过服务器处理器110和收发器116将合适的脚本传送至客户端102。注意到,在上面提供的实例中,真实部件的脚本用Vscript编写,其是用于与本发明的运行时间引擎120、138一起使用所创建的脚本。使用Vscript是因为比使用其它编程语言编写部件所需相比,Vscript允许部件以较少的脚本编写。结果,减少了从服务器传送至客户端的脚本量,并且本发明可以更多种服务器108、客户端102、104、106以及通信网络来实施。应该相信,在本发明的其它实施例中,其它编程语言(包括C语言、Fortran、Java、和其它语言)可用于部件。
在本发明一个实施例中,客户端发送请求到服务器108,引起服务器将包括参数信息和诸如相关的、先前输入的用户数据的其它参数信息的部件脚本发送到客户端102。如图4所示,客户端在脚本内搜索标识符(下面将进行说明),将部件链接到PDS 143以形成脚本特定PDS,并执行脚本特定PDS。
在步骤405中,通常通过形成请求的客户端处理器110以及将请求传送给服务器108的客户端收发器146,客户端102发送请求到服务器108。如上所述,服务器108通过要求用户输入访问信息来验证客户端的访问级别,以及在步骤410中,用户输入用户访问信息(例如,可以是用户标识符和口令信息)。然后,在步骤415,服务器108将请求的部件脚本发送给128给用户,该部件脚本128包括关于部件的参数信息以及在部件脚本里中引用的任何相关的、先前输入的的用户数据的参数信息。
下面提供了示出关于特定菜单的下拉菜单和下拉菜单内链接的信息的菜单部件脚本的实例。
#DEFINE MENU
{
#SET MENU.FONT=arial,18
#DEFINE.Group=&Masters
{
docForm as &Doctor(CTRL_I+SHIFT_X)
grpForm as Test&Group
tstForm as &Test
}
#DEFINE.Group=&Reports
{
docView as List of &Doctors
grpView as List of Test&Groups
tstView as &Test
}
#DEFINE.Group=&Maintenance
{
VQL.REINDEX as Reindex
VQL.COMPACT as &Compact
VQL.TRANSFER as Annual &Transfer
VQL.ARCHIEVE as &Backup
VQL.RESTORE as &Restore
}
Exit
}
菜单部件脚本-脚本8
下面提供示出关于表格标题和表格内各种字段的信息的表格部件脚本的实例。
#DEFINE.FORM as tokForm_Clinic
{
#SET FORM.OBJECT=TOKEN
#SET FORM.TITLE=TOKEN ISSUE
Tokenld AS Bill No(06),Date AS Date(d6)
PatName AS Patient Name(48)
PatAgeYear AS‘Age_Years’(6),PatAgeMonths(4),PatSex ASSex(4)
Nationality AS Nationality(15)
DocName AS Doctors Name(48)
#DEFINE.GRID as Q
{
#SET GRID.OBJECT=RESULT
#SET GRID.MAX_ROWS=32
#SET GRID.VIS_ROWS=4
TestId AS TestId(04)
TEST.TestName(TestId)AS Test Description(48.40)
Charges=(TEST.Charges*5.0)AS Test Charges(10.2)
GRID_ROW.TokenId=TOKEN.TokenId
GRID_ROW.SetNum=ROW_ID
}
BillValue=#GRID.TOTAL(Q,3)AS Bill Value(10.2);
}
表格部件脚本-脚本9
脚本9中所示的表格包括几个在表格内引用的对象,如权标和结果对象。下面提供了用于权标和结果对象的示例性脚本(在脚本10和11)。
Object definition for TOKEN
#Define.Object as TOKEN
{
#define.Record
{
long TokenId;(LINK COUNTER)
long PatId;
double BillValue;
double Discount;
double PaidValue;
short TokenStatus;
short PatAgeYear;
short PatAgeMonth;
short Docld;
short TestId[64];(LINK TEST.TestId)
date6 Date[7];
char PatStatus[3];
char PatName[49];
char DocName[49];
char Nationality[16];
char PatSex[3];
};
#SET Object.Key=token,“TokenId(06)”;
#SET Object.Key=tokbydat,“Date(6)+TokenId(06)”;
}
表格脚本的权标对象-脚本10
#define.Object as RESULT
}
#define.Record
{
long TokenId;(LINK TOKEN.TokenId)
double Charges;
short SerNum;
short TestId;(LINK TEST.TestId)
char Data[43];
char DataEntered;
};
#SET Object.Key=result,“TokenId(06)+TestId(04)+SerNum(02)”;
}
表格脚本的结果对象-脚本11
在步骤425中,通过使用脚本中的标识符和PDS中的对应标识符来链接脚本和PDS。例如,在表格脚本中,“#SET FORM.TITLE”是示出表格(“TOKEN ISSUE”)的相应标题应设置在表格PDS中的相应标识符“formTitle”附近的标识符。在步骤420中,客户端102在传送的参数信息中搜索标识符。在一个实施例中,客户端处理器130将客户端运行时间引擎138从长期存储器136转移到短期存储器132,且客户端语法分析程序140指示客户端处理器130在传送的部件脚本中搜索标识符。客户端语法分析程序140还指示客户端处理器搜索链接到请求部件的任何部件,如果搜索到,从服务器请求这些部件并前进到步骤415,如果没有搜到,则客户端前进到步骤425。
在步骤425中,包括关于部件的参数信息以及任何相关的先前访问的用户数据的参数信息的参数信息134链接到相应的PDS 143以提供脚本特定PDS。在上面给出的实例中,权标脚本(和相关对象)(脚本9-11)将被链接到适当的权标PDS(脚本1-6)以提供表格特定PDS。
在步骤430中,执行脚本特定PDS。在一个实施例中,客户端执行引擎144指示客户端处理器130执行脚本特定PDS。在图5和图6中分别示出通过执行菜单脚本特定PDS和表格脚本特定PDS而执行的菜单和表格部件的实例。
如上面所述,PDS包括部件用户界面如何出现以及PDS的图形显示机制如何利用的预期功能性。在本发明的一个实施例中,利用坐标图形显示机制,其中,执行引擎144读取相邻于部件脚本的坐标来识别执行引擎144应该在显示器上何处显示脚本的特定信息。
在本发明的另一个实施例中,利用自动图形显示机制。例如,当使用自动图形显示机制显示表格时,执行引擎144根据怎样脚本编写来确定在哪里插入信息。图6示出了使用自动图形显示机制由执行引擎144执行的示例性表格。当执行脚本9的权标时,执行引擎144将“Bill No”字段作为第一字段提供在显示器的左上角,因为“Bill No”是提供在脚本中的第一字段。如脚本9中所提供的,该字段为六个字符长。具有6字符的“Data”字段紧跟“Bill No”字段设置,因为“Data”字段与“Bill No”字段在同一行。如脚本9中所提供的,具有48字符的“Patient Name”字段放置在下一行,因为“Patient Name”字段设置在随后的行上。在脚本链接到PDS之后,保留脚本结构的完整性,使得自动图形显示机制可适当地执行部件。注意到,在其它实施例中,自动图形显示机制可配置为不同以满足其它程序的需要。
依然在步骤430中,执行引擎144指示客户端处理器130在执行部件时,利用PDS的表达式解算程序预期功能以解决部件脚本中的任何表达式。客户端102在执行脚本时解决脚本中的任何表达式。可以通过表达式解算程序解决的表达式的实例在脚本9中被标记为“charges=(TEST.Charges*5.0)”。此外,在步骤430中,基于PDS的应用程序模型功能性维持脚本特定PDS和其它部件之间的任何相互关系。
因为PDS包括关于用户界面、表达式解决和应用程序模型的预期功能性,所以只有参数信息需要从服务器传送给客户端。可通过组合具有PDS的参数信息以提供脚本特定PDS以及执行脚本特定PDS来执行部件。结果,减轻了网络带宽和服务器处理负荷。现有系统要求服务器形成用户界面,确定部件结构,确定部件相互关系,或解决表达式,或者执行所有这些功能。因此,紧凑的可执行文件、紧凑的字节代码,或者不必要的大源代码文件通过网络传送用于部件执行,并且网络带宽和/或服务器处理压力妨碍了系统。
在本发明的一个实施例中,在步骤435中,客户端102确定是否需要附加部件,如果需要,则如果它们在步骤415中没有接收到就请求附加部件。然后重复步骤420至435。如果没有请求附加部件,在步骤440中,客户端102确定使用部件是否已经结束。如果用户没有退出或关闭部件,客户端102没有结束使用部件,则在步骤450中,继续使用部件。如果用户已经关闭或退出部件,客户端已经结束使用部件,则在步骤440或步骤450之后,客户端前进至步骤445,客户端102从客户端短期存储器中自动删除所有脚本134和脚本特定PDS。
通常,当客户端102从服务器108接收包括参数信息的脚本时,客户端将参数信息链接到相应的预定义结构143以提供脚本特定PDS。脚本和脚本特定PDS存储在客户端短期存储器132中。在客户端102已经完成使用程序后,自动从客户端短期存储器132中删除脚本和脚本特定PDS。通过自动删除脚本和脚本特定PDS,缓解了与程序员忘记释放存储器以及要求处理器周期性的扫描文件来删除文件相关的问题。
注意到,如上所述,图3和图4示出了应用到客户端-服务器环境的实施例。本领域技术人员应该理解,本发明也可应用到独立环境中。本发明的范围并不限于上面示出的实施例,而是根据下面提供的权利要求所给出本发明的完整范围。
Claims (30)
1.一种用于执行脚本的请求部件的方法,包括以下步骤:将关于所述请求部件的参数信息从服务器传送到客户端;
在所述客户端将所述传送的部件参数信息链接到预定义结构,以提供脚本特定预定义结构,所述预定义结构具有相应于所述请求部件的预期功能性的预期功能性;以及
执行所述脚本特定预定义结构,以执行所述部件。
2.根据权利要求1所述的执行方法,还包括将用于部件的请求从所述客户端发送到所述服务器。
3.根据权利要求2所述的执行方法,还包括在所述服务器处搜索所述脚本中的所述请求部件。
4.根据权利要求1所述的执行方法,其中,所述链接步骤还包括:在所述参数信息内定位标识符,并基于所述预定义结构中的相应标识符将与所述标识符相关的脚本数据插入到所述预定义结构中。
5.根据权利要求1所述的执行方法,还包括确定用户的访问级别,其中,所述传送步骤还包括基于所述所述用户访问级别传送所述参数信息。
6.根据权利要求1所述的执行方法,还包括在所述客户端存储所述预定义结构,以及在所述服务器存储所述预定义结构的拷贝,使得具有客户端预定义结构和服务器预定义结构。
7.根据权利要求1所述的执行方法,还包括在用户退出所述部件之后自动删除所述脚本特定预定义结构。
8.根据权利要求1所述的执行方法,还包括:所述客户端将用于所述部件的请求发送到所述服务器以建立连接,以及所述服务器为所述连接创建会话识别号,使得所述客户端和所述服务器可以遵从无连接协议。
9.一种用于执行脚本部件的系统,包括:客户端,包括彼此通信的客户端存储器、客户端处理器、以及客户端收发器,所述客户端存储器包括由服务器传送的部件脚本,所传送的部件脚本包括关于所述部件的参数信息,所述客户端存储器还包括具有相应于所述部件预期功能性的预期功能性的客户端预定义结构,其中,所述处理器用于将所传送的部件脚本的参数信息链接到所述客户端预定义结构,以提供脚本特定预定义结构,以及通过执行所述脚本特定预定义结构来执行所述部件。
10.根据权利要求9所述的系统,还包括与所述客户端进行通信的服务器,所述服务器包括彼此通信的服务器存储器、服务器处理器、以及服务器收发器,所述服务器存储器包括所述脚本,所述服务器收发器用于传送所述部件脚本,其中,所述部件脚本包括关于所述部件的所述参数信息。
11.根据权利要求9所述的系统,其中,所述服务器存储器还包括具有相应于多个部件类型中一个部件类型预期功能性的预期功能性的预定义结构,其中,所述部件具有所述多个部件类型中一个部件类型的所述预期功能性。
12.根据权利要求9所述的系统,其中,所述客户端还包括存储在所述客户端存储器中的客户端运行时间引擎,所述客户端运行时间引擎包括客户端语法分析程序和客户端执行引擎,所述客户端执行引擎包括客户端链接程序和客户端预定义结构,所述客户端语法分析程序用于指示所述处理器在所述传送的部件脚本中搜索标识符,所述客户端链接程序用于指示所述客户端处理器将所述参数信息链接到所述客户端预定义结构,以提供所述脚本特定预定义结构。
13.根据权利要求12所述的系统,还包括与所述客户端进行通信的服务器,所述服务器包括彼此通信的服务器存储器、服务器处理器、以及服务器收发器,所述服务器存储器包括脚本和服务器运行时间引擎,所述服务器运行时间引擎包括服务器语法分析程序和服务器执行引擎,所述服务器执行引擎包括服务器链接程序和服务器预定于结构,所述服务器预定义结构具有相应于多个部件类型中一个部件类型预期功能性的预期功能性,其中,所述部件具有所述多个部件类型中的一个部件类型的所述预期功能性,所述服务器语法分析程序用于指示所述服务器处理器在所述脚本中搜索所述部件,所述部件被所述客户端请求并包括所述部件脚本,所述部件脚本包括关于所述部件的参数信息,所述服务器链接程序用于指示服务器处理器将所述参数信息链接到所述服务器预定义结构,以提供服务器脚本特定预定义结构,以及所述服务器收发器用于传送所述部件脚本,其中,所述服务器和所述客户端相对于所述客户端运行时间引擎和所述服务器的运行时间引擎具有相同的智能。
14.根据权利要求9所述的系统,其中,当所述客户端请求所述部件脚本时,所述部件脚本从所述服务器传送到所述客户端,其中,所述客户端存储器还包括客户端长期存储器和客户端短期存储器,在所述客户端请求所述部件脚本之前,所述运行时间引擎存储在所述客户端长期存储器中,其中,所述客户端处理器用于当所述客户端请求所述部件脚本时将所述运行时间引擎传送到所述客户端短期存储器,以将所述脚本特定预定义结构暂时存储在所述客户端短期存储器中,并在所述客户端退出所述部件之后,从所述客户端短期存储器中自动删除所述脚本特定预定义结构。
15.根据权利要求9所述的系统,其中,所述传送的参数信息包括与部件信息相关的标识符以及包括相应标识符的所述预定义结构。
16.根据权利要求9所述的系统,其中,所述服务器为每个建立的连接创建唯一的会话标记号,以唯一地识别每个连接,并重新创建先前建立的会话,从而促进无连接协议。
17.一种用于当用户在系统上运行部件时执行脚本的部件的应用程序,包括:
包括执行引擎的第一运行时间引擎,所述执行引擎包括预定义结构和链接程序,所述预定义结构具有多个部件类型中一个部件类型的预期功能性,以及其中,所述部件具有所述多个部件类型中的一个部件类型的所述预期功能性,以及其中,当用户运行所述部件时:(a)链接程序指示客户端处理器将关于所述部件的参数信息链接到预定义结构以提供脚本特定预定义结构,所述参数信息从服务器传送到客户端并存储在客户端处理器可读存储器中,以及(b)所述执行引擎指示所述客户端处理器执行所述脚本特定预定义结构以执行所述部件,其中,所述第一运行时间引擎存储在介质中,以及当所述系统使用所述介质时,所述第一运行时间引擎被传送到包括客户端处理器可读存储器和所述客户端处理器的系统的所述客户端处理器可读存储器。
18.根据权利要求17所述的应用程序,其中,服务器运行时间引擎被传送给所述系统的服务器处理器可读存储器,并且所述服务器运行时间引擎包括所述第一运行时间引擎的拷贝,其中,所述系统包括服务器,所述服务器包括所述服务器处理器可读存储器、服务器收发器、以及服务器处理器,其中,所述服务器与客户端进行通信,所述客户端包括所述客户端处理器和所述客户端处理器可读存储器,所述服务器运行时间引擎包括服务器语法分析程序和服务器执行引擎,其中,客户端用户在运行所述部件之前从所述服务器请求所述部件,以及当用户请求所述部件时:(a)服务器语法分析程序指示所述服务器处理器为所述请求部件搜索所述脚本,所述脚本存储在所述服务器处理器可读存储器中,以及(b)所述执行引擎指示所述服务器处理器通过所述服务器收发器将包括关于所述部件的所述参数信息的部件脚本传送到所述客户端。
19.根据权利要求18所述的应用程序,其中,所述服务器执行引擎还包括服务器预定义结构,所述服务器预定义结构具有多个部件类型中的一个部件类型的预期功能性,其中,所述请求部件具有所述多个部件类型中一个部件类型的所述预期功能性。
20.根据权利要求19所述的应用程序,其中,当所述客户端请求所述部件时,所述服务器执行引擎指示所述服务器处理器创建会话数并将所述会话数传送到所述客户端。
21.根据权利要求17所述的应用程序,其中,所述执行引擎指示所述客户端处理器将所述脚本特定预定义结构存储在所述客户端处理器可读存储器中,并指示所述处理器在所述用户退出所述部件之后自动删除所述脚本特定预定义结构。
22.一种用于执行脚本的部件的系统,包括:存储器,其包括部件脚本,其中,所述部件脚本包括关于所述部件的参数信息,以及所述存储器还包括预定义结构,所述预定义结构具有相应于所述部件预期功能性的预期功能性;以及
处理器,与所述存储器进行通信,其中,所述处理器用于将所述部件脚本的所述参数信息链接到所述预定义结构,以提供脚本特定预定义结构,将所述脚本特定预定义结构暂时存储在所述存储器中,通过执行所述脚本特定预定义结构执行所述部件,以及当所述用户退出所述部件时自动删除所述脚本特定预定义结构。
23.根据权利要求22所述的系统,其中,所述脚本还包括从服务器传送的脚本。
24.根据权利要求23所述的系统,还包括与所述客户端进行通信的服务器,所述服务器包括彼此通信的服务器存储器、服务器处理器、以及服务器收发器,所述服务器存储器包括所述脚本,以及所述服务器收发器用于传送所述部件脚本。
25.根据权利要求24所述的系统,其中,所述服务器存储器还包括预定义结构,所述预定义结构具有相应于多个部件类型中一个部件类型预期功能性的预期功能性,其中,所述部件具有所述多个部件类型中的一个部件类型的所述预期功能性。
26.一种用于执行程序脚本部件的方法,包括以下步骤:将预定义结构传送到存储器,所述预定义结构具有相应于多个部件类型中一个部件类型的预期功能性的预期功能性,
将部件脚本链接到所述预定义结构,以提供脚本特定预定义结构,其中,所述部件具有所述多个部件类型中一个部件类型的所述预期功能性,
将所述脚本特定预定义结构暂时存储在所述存储器中;
通过执行所述脚本特定预定义结构来执行所述部件;以及
在退出所述程序之后从所述存储器中自动删除所述脚本特定预定义结构。
27.根据权利要求26所述的方法,还包括在将所述预定义结构存储在长期存储器中,其中,所述传送步骤还包括当用户请求部件时将所述预定义结构传送到短期存储器,所述存储步骤还包括将所述脚本特定预定义结构存储在所述短期存储器中,以及所述自动删除步骤还包括从所述短期存储器中自动删除所述脚本特定预定义结构。
28.根据权利要求26所述的方法,还包括将部件脚本从服务器传送到客户端,其中,所述传送步骤还包括将所述预定义结构传送到客户端存储器,所述存储步骤还将所述脚本特定预定于结构存储在在所述客户端存储器中,以及所述自动删除步骤还包括从所述客户端存储器中自动删除所述脚本特定预定义结构。
29.一种用于当用户在系统上运行部件时执行脚本的所述部件的应用程序,所述应用程序包括:
包括执行引擎的第一运行时间引擎,所述执行引擎包括预定义结构和链接程序,所述预定义结构具有多个部件类型中的一个部件类型的预期功能性,其中,所述部件具有所述多个部件类型中的一个部件类型的所述预期功能性,以及其中,当用户运行所述部件时:(a)所述链接程序指示处理器将关于所述部件的参数信息链接到所述预定义结构,以提供脚本特定预定义结构,(b)所述执行引擎指示所述处理器将所述脚本特定预定义结构暂时存储在处理器可读存储器中,以及(c)所述执行引擎指示所述处理器执行所述脚本特定预定义结构以执行所述部件,以及当所述用户退出所述应用程序时,所述执行引擎指示所述处理器从所述处理器可读存储器中自动删除所述脚本特定预定义结构,其中,所述第一运行时间引擎存储在介质中,以及当所述系统使用所述介质时,将所述第一运行时间引擎传送到包括处理器可读存储器和所述处理器的系统的所述处理器可读存储器。
30.根据权利请求29所述的应用程序,其中,服务器运行时间引擎被传送到所述系统的服务器处理器可读存储器,以及所述服务器运行时间引擎包括所述第一运行时间引擎的拷贝,其中,所述系统服务器,所述服务器包括服务器处理器可读存储器、服务器收发器、以及服务器处理器,其中,所述系统与客户端进行通信,所述客户端包括处理器和处理器可读存储器,所述服务器运行时间引擎包括服务器语法分析程序和服务器执行引擎,其中,用户在运行部件之前请求所述部件,以及当用户请求所述部件时:(a)所述服务器语法分析程序指示所述服务器处理器为所述请求部件搜索所述脚本,所述脚本存储在所述服务器处理器可读存储器中,以及(b)所述执行引擎指示所述服务器处理器通过所述服务器收发器将所述部件的参数信息传送到所述客户端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/816,493 | 2004-04-01 | ||
US10/816,493 US7685230B2 (en) | 2004-04-01 | 2004-04-01 | System and method for program execution |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1938679A true CN1938679A (zh) | 2007-03-28 |
Family
ID=35055827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800104635A Pending CN1938679A (zh) | 2004-04-01 | 2005-03-16 | 用于程序执行的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7685230B2 (zh) |
EP (1) | EP1735696A4 (zh) |
JP (1) | JP2007531147A (zh) |
CN (1) | CN1938679A (zh) |
WO (1) | WO2005096139A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577533A (zh) * | 2012-08-12 | 2014-02-12 | 查平 | 开放式网络计算系统 |
CN101663664B (zh) * | 2007-02-21 | 2016-06-01 | 金雅拓股份有限公司 | 具有用于传递html数据的增强的性能的个人令牌 |
CN106845221A (zh) * | 2016-11-09 | 2017-06-13 | 哈尔滨安天科技股份有限公司 | 一种基于语法形式的脚本类文件格式识别方法和系统 |
CN109375987A (zh) * | 2018-10-30 | 2019-02-22 | 张家口浩扬科技有限公司 | 一种虚拟机选择物理机的方法和系统 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US7685230B2 (en) * | 2004-04-01 | 2010-03-23 | Vaakya Technologies Private Limited | System and method for program execution |
US20090228862A1 (en) * | 2008-03-04 | 2009-09-10 | Anders Bertelrud | Modularized integrated software development environments |
US20100169457A1 (en) * | 2008-12-26 | 2010-07-01 | International Business Machines Corporation | Social user script service by service proxy |
US20110016477A1 (en) * | 2009-07-14 | 2011-01-20 | Microsoft Corporation | Pre-calculation and caching of dependencies |
JP5230572B2 (ja) * | 2009-09-29 | 2013-07-10 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、データ管理プログラム、及びデータ管理システム |
US8566823B2 (en) * | 2010-02-05 | 2013-10-22 | Tripwire, Inc. | Systems and methods for triggering scripts based upon an alert within a virtual infrastructure |
KR101732186B1 (ko) * | 2010-08-19 | 2017-05-02 | 삼성전자주식회사 | 단말 관리 패키지를 제공하는 장치, 방법 및 상기 단말 관리 패키지를 제공받는 방법 |
US8819631B2 (en) * | 2011-01-13 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | System and method for self dependent web automation |
EP2598990A1 (en) * | 2011-10-04 | 2013-06-05 | audius GmbH | Method and system for client side user interface generation |
WO2013111144A2 (en) * | 2011-11-04 | 2013-08-01 | Vserv Digital Services Pvt.Ltd. | System for inserting services in a software application |
US9348928B2 (en) | 2011-12-07 | 2016-05-24 | International Business Machines Corporation | Generating an electronic form locally on a client computer from input parameters |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01209531A (ja) * | 1988-02-17 | 1989-08-23 | Hitachi Ltd | プログラム実行制御方式 |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5898835A (en) * | 1996-08-16 | 1999-04-27 | Electronic Data Systems Corporation | System and method for remotely executing a command |
US5991802A (en) * | 1996-11-27 | 1999-11-23 | Microsoft Corporation | Method and system for invoking methods of objects over the internet |
US6023714A (en) * | 1997-04-24 | 2000-02-08 | Microsoft Corporation | Method and system for dynamically adapting the layout of a document to an output device |
US6029196A (en) * | 1997-06-18 | 2000-02-22 | Netscape Communications Corporation | Automatic client configuration system |
JPH11102289A (ja) * | 1997-09-26 | 1999-04-13 | Hitachi Software Eng Co Ltd | 業務処理用画面生成方法 |
US6154212A (en) * | 1997-11-06 | 2000-11-28 | Lucent Technologies Inc. | Method and apparatus for constructing network interfaces |
US6493870B1 (en) * | 1998-03-20 | 2002-12-10 | Sun Microsystems, Inc. | Methods and apparatus for packaging a program for remote execution |
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6393605B1 (en) * | 1998-11-18 | 2002-05-21 | Siebel Systems, Inc. | Apparatus and system for efficient delivery and deployment of an application |
US6651087B1 (en) * | 1999-01-28 | 2003-11-18 | Bellsouth Intellectual Property Corporation | Method and system for publishing an electronic file attached to an electronic mail message |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
EP1117035A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Runtime environment component services |
CA2409138A1 (en) * | 2000-05-17 | 2001-11-22 | Interwoven Inc. | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
US6681386B1 (en) * | 2000-05-22 | 2004-01-20 | International Business Machines Corporation | Method, system, and program for parameter expansion, generation, and execution of scripts in a networked environment |
JP2002073557A (ja) * | 2000-08-25 | 2002-03-12 | Fujitsu Ltd | サーバに認証に係る処理を行なわせるためのプログラムを記憶した記憶媒体 |
JP2002182937A (ja) * | 2000-10-02 | 2002-06-28 | Media Knowledge Industrial Co Ltd | 動的データ処理システム |
US20020112049A1 (en) * | 2000-12-14 | 2002-08-15 | International Business Machines Corporation | Measuring response time for a computer accessing information from a network |
US20030023754A1 (en) * | 2001-07-27 | 2003-01-30 | Matthias Eichstadt | Method and system for adding real-time, interactive functionality to a web-page |
US6854112B2 (en) * | 2001-08-29 | 2005-02-08 | International Business Machines Corporation | System and method for the automatic installation and configuration of an operating system |
JP3815599B2 (ja) * | 2001-08-30 | 2006-08-30 | 株式会社ディーアンドエムホールディングス | データ再生装置 |
US20030182424A1 (en) * | 2002-03-22 | 2003-09-25 | Steve Odendahl | Scriptable proxy server |
AU2003239555A1 (en) * | 2002-05-20 | 2003-12-12 | Vigilos, Inc. | System and method for providing data communication in a device network |
US20040015537A1 (en) * | 2002-07-15 | 2004-01-22 | Richard Doerksen | Handheld client framework system |
US7685230B2 (en) * | 2004-04-01 | 2010-03-23 | Vaakya Technologies Private Limited | System and method for program execution |
CA2608269A1 (en) * | 2005-05-10 | 2006-11-16 | Brent J. Angeline | Internet operating system |
US7827545B2 (en) * | 2005-12-15 | 2010-11-02 | Microsoft Corporation | Dynamic remediation of a client computer seeking access to a network with a quarantine enforcement policy |
-
2004
- 2004-04-01 US US10/816,493 patent/US7685230B2/en not_active Expired - Fee Related
-
2005
- 2005-03-16 EP EP05733234A patent/EP1735696A4/en not_active Withdrawn
- 2005-03-16 CN CNA2005800104635A patent/CN1938679A/zh active Pending
- 2005-03-16 WO PCT/IN2005/000083 patent/WO2005096139A1/en active Application Filing
- 2005-03-16 JP JP2007505741A patent/JP2007531147A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663664B (zh) * | 2007-02-21 | 2016-06-01 | 金雅拓股份有限公司 | 具有用于传递html数据的增强的性能的个人令牌 |
CN103577533A (zh) * | 2012-08-12 | 2014-02-12 | 查平 | 开放式网络计算系统 |
CN106845221A (zh) * | 2016-11-09 | 2017-06-13 | 哈尔滨安天科技股份有限公司 | 一种基于语法形式的脚本类文件格式识别方法和系统 |
CN109375987A (zh) * | 2018-10-30 | 2019-02-22 | 张家口浩扬科技有限公司 | 一种虚拟机选择物理机的方法和系统 |
CN109375987B (zh) * | 2018-10-30 | 2021-12-07 | 青岛民航凯亚系统集成有限公司 | 一种虚拟机选择物理机的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1735696A4 (en) | 2008-04-02 |
JP2007531147A (ja) | 2007-11-01 |
WO2005096139A1 (en) | 2005-10-13 |
US20050223356A1 (en) | 2005-10-06 |
US7685230B2 (en) | 2010-03-23 |
EP1735696A1 (en) | 2006-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1938679A (zh) | 用于程序执行的系统和方法 | |
US7458062B2 (en) | Framework to access a remote system from an integrated development environment | |
US6658461B1 (en) | Method of, system for, and computer program product for providing a user interface for configuring connections between a local workstation file system and a remote host file system | |
US9292306B2 (en) | System, multi-tier interface and methods for management of operational structured data | |
EP0690375A2 (en) | Persistent object-mapping in an object-oriented environment | |
US6286129B1 (en) | Method and apparatus for compiling transaction processing workflows | |
US20020002606A1 (en) | Method and system for managing storage devices over a network | |
WO2000010083A2 (en) | Method and apparatus for data item movement between disparate sources and hierarchical, object-oriented representation | |
US20040237066A1 (en) | Software design system and method | |
CN101939736A (zh) | 远程计算设备的开发富互联网应用的系统和方法 | |
CN111931471B (zh) | 表单收集方法、装置、电子设备及存储介质 | |
CN111784108B (zh) | 一种主数据管理平台的建模方法和装置 | |
CN102317905A (zh) | 网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质 | |
CN110889013A (zh) | 一种基于xml的数据关联方法、装置、服务器及存储介质 | |
Fox et al. | Building solutions with the Microsoft. Net compact framework: architecture and best practices for mobile development | |
CN110334031A (zh) | 内存分配代码检测方法、装置、计算机设备及存储介质 | |
US8204920B2 (en) | Method and system for accessing software-based systems | |
US7334015B1 (en) | Integration of legacy mainframe systems through data stream objectification into finite state machines | |
CN1932760B (zh) | 用于运行应用程序的系统和方法 | |
WO2003030020A2 (en) | Handling relational metanodes in databases | |
Kanchev | Employee Management System | |
Hanafi | Hand phone packages system advisor/Hanafi Muhamad | |
Chambers et al. | Distributed computing with data: A corba-based approach | |
Polakovic | Information system for measurement data | |
Ferreira | Formalizing markup languages for user interface |
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 |