CN1168503A - 便于“短线”信息动态加载处理的系统和方法 - Google Patents

便于“短线”信息动态加载处理的系统和方法 Download PDF

Info

Publication number
CN1168503A
CN1168503A CN97111235A CN97111235A CN1168503A CN 1168503 A CN1168503 A CN 1168503A CN 97111235 A CN97111235 A CN 97111235A CN 97111235 A CN97111235 A CN 97111235A CN 1168503 A CN1168503 A CN 1168503A
Authority
CN
China
Prior art keywords
short
term
remote method
retrieval
server device
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
Application number
CN97111235A
Other languages
English (en)
Other versions
CN1103963C (zh
Inventor
A·M·沃尔拉思
J·H·维尔多
R·里格斯
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1168503A publication Critical patent/CN1168503A/zh
Application granted granted Critical
Publication of CN1103963C publication Critical patent/CN1103963C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]

Abstract

一种涉及远程方法调用的短线检索和加载子系统。所述短线检索和加载子系统控制一个与远程方法相关的短线的检索和将该短线加载到一个执行环境中,以便于利用在所述执行环境中执行的一个程序调用所述远程方法。所述短线检索和加载子系统包括一个用于启动所述短线检索的短线检索器和一个用于当所述短线检索器接收了所述短线时将该短线加载到所述执行环境,以便使所述短线能够被用于所述远程方法的远程调用中。

Description

便于“短线”信息动态加载处理的系统和方法
本发明通常涉及到数字计算机系统领域。特别是涉及到一种用于有助于通过利用计算机在一个地址空间中正在处理的程序请求在另一个空间地址内可以由同一个计算机或其它计算机执行的方法和过程的处理的方法和系统。本发明特别提供一种用于获得和动态加载“短线”(STUB)信息的系统和方法,该“短线”信息有助于利用在一个地址空间中运行的程序请求在另一个地址空间中的远程方法或过程,并且,可以利用另一个计算机运行。
在现代“企事业单位”的计算中,在一个或多个计算机网络中,通常互连有一定数量的个人计算机、工作站、和诸如海量存储子系统、网络打印机以及到公用电话系统的接口等的其它设备。单独的用户使用所述个人计算机和工作站对可以存储在网络海量存储子系统内的数据和程序进行处理,在这样一种配置中,作为客户而运行的个人算机和工作站通常下装来自网络海量存储子系统并用于处理的数据和程序。另外,个人计算机或工作站能够将经过处理的数据上装到网络海量存储子系统以便进行存储、上装到网络打印机以便进行打印、上装到电话接口以便在公用电话系统上以便进行发射等等。在这样一种配置中,由于所述网络海量存储子系统、网络打印机和电话接口能够服务器于在该网络中所有客户的请求,所以,它们被作为服务器器加以运行。借助于以这种方式构成所述网络,在所述网络中的所有个人计算机可以很容易地使用这种服务器器。由于所述个人计算机/工作站可以通过诸如电缆或缆进行互连,所以,这种网络可以广泛地应用于各个区域。
除了来自所述服务器器用于处理的下装信息以外,客户在处理一个程序的同时,可以利用一个服务器计算机根据所述客户提供的某些“参数”信息遥控启动多个特定程序和过程(一般“过程”)的处理。在服务器对所述过程处理完毕之后,它将把所述处理的结果提供给该客户,从而使该客户能够在此后使用它的处理操作。通常,在这种“远程过程调用”过程中,所述程序将利用局部“短线”,当被调用时,该“短线”将所述请求传输给执行所述特定过程的服务器、接收所述结果并将它们提供给所述程序。通常,在调用远程过程所需的信息必须在编译时间而不是在程序运行时间被确定时,必须利用所述程序对短线进行编译。由于客户程序可以得到的短线是静态的,所以最多它可以是当该程序被编译时能够被确定并将被提供给程序的完全密闭的短线。因此,由于在提供给一个程序的短线和当该程序运行时被调用的远程过程的请求之间的不匹配将导致误差和低效率。
本发明提供一种新的和经过改善的系统和方法,由于方便的获得和动态加载所提供的短线,以使在一个地址空间中运行的程序能够遥控启动在另一个地址空间中的方法或过程处理,以便当在该短线被运行或被需要时、而不是当程序被编译时所述短线被静态确定时能够利用所述程序加载该短线。实际上,被加载的短线可以从用于提供遥控方法或过程的一个源中获得,所以,它(所述短线)可以极精确地规定所述远程方法或过程的的请求需要。由于短线能够被加载,并且是在所述程序正在运行的同时、而不是当该程序正在编译时所述程序被静态确定的同时进行动态加载的,所以,可以使运行时间和由于在所提供的短线和被请求的遥控方法或过程的需要之间的失配导致的低效率被最小化。
概括地说,本发明提供一种与遥控方法请求系统结合使用的短线检索和加载子系统。该短线检索和加载子系统控制用于遥控方法的短线的检索和向一个执行环境的加载,以便通过在所述执行环境中执行一个程序请求所述遥控方法。所述短线检索子系统包括用于启动所述短线检索的短线检索器,和用于当所述短线被短线检索器所接收时,将所述短线加载到执行环境中以便使所述短线能够被用于远程方法遥控启动的短线加载器。在一个实施例中,该短线检索和加载子系统执行与运行于一个计算机提供的一个地址空间的短线类别实例程序相关的检索和加载。以便执行由运行于另一个地址空间的目标提供的多个方法的远程请求,所述另一个地址可以是由同一个计算机提供的,也可以是由不同的计算机提供的。尽管在另一个实施例中可以是在遥控方法被请求时执行所述的检索和加载。但是,在同一个实施例中,当所述远程目标被作为一个参考时,短线检索和加载子系统执行短线类别实例的检索和加载。
图1是一个计算机网络的功能性方框图,该计算机网络包括一个根据本发明所构成的配置,用于帮助“短线”信息的获得、动态加载和使用,以便使得运行于一个地址空间中的程序能够请求在另一个地址空间中的远程方法或过程的处理;
图2和图3是两个流程图,用于描述由图1所示配置执行的操作,这对理解本发明是非常有用的。图2描述了为获得和动态加载短线信息所执行的操作,图3描述了为使用短线信息去请求所述远程方法或过程处理所执行的操作。
图1简要地示出了一个计算机网络10,包括一个用于方便“短线”信息的动态加载以使得运行于一个地址空间中的程序能够远程请求在另一个地址空间中的方法或过程的处理。参看图1,计算机网络10包括多个客户计算机11(I)到11(N)(通常由标号11(n)表示)、多个服务器计算机12(I)到12(M)(通常由12(m)表示)、所有的这些计算机都是通过由通信线14表示的网络互连的。另外,网络10还可以包括至少一个名称服务器计算机13,该计算机13也可以连接到通信线14上,其用途将在下面描述,与传统技术相同,至少某些计算机处于个人计算机或计算机网络形式,其中的每一个通常都包括一个系统单元,一个视频显示单元、和一个诸如键盘和鼠标的操作者输入装置(所有的这些都没有单独示出)。服务器计算机12(m)和名称服务器计算机13通常还包括一个系统单元(也没有单独示出),还可以包括一个视频单元和一个操作者输入单元。
客户计算机11(n)、服务器计算机12(m)和名称服务器计算机13都具有传统的程序存储计算机结构。系统单元通常包括处理器、存储器、以及诸如磁盘和/或磁带存储元件和其它元件的海量存储装置,从而包括将相应计算机连接到通信线14上的网络接口装置15(n)和16(m)。视频显示单元允许计算机向操作者显示经过处理的数据和处理状态,操作者输入装置使操作者能够通过计算机输入数据并控制处理。计算机11(n)、12(m)和13能够以消息的形式经过相应的网络接口装置15(n)、16(m)在通信线14上彼此传输信息。
在一个实施例中,网络10以客户-服务器形式构成,其中,一个或多个如图1所示用做计算机12(m)的计算机被作为服务器进行工作,而如图1所示的另外一些用做计算机11(n)的计算机被用做客户。一方面,作为“文件服务器”的一个或多个服务器计算机12(m)包括大容量海量存储装置,该存储装置能够存储可由客户计算机经过通信线14检索并用于它们处理操作的程序和数据的拷贝。客户计算机11(n)有时还可以在服务器计算机12(m)上存储数据,这些数据可以是在以后由客户计算机11(n)存储该数据的客户计算机)或在它们处理操作中使用的其它计算机检索的。另外,用做“计算机服务器”的一个或多个服务器计算机12(m)响应来自客户计算机11(n)的遥控请求执行某些处理操作,并将处理结果返回到发出请求的客户计算机上,以便在后续处理中由它们(即:发出请求的客户计算机11(n)使用。在这两种情况中的任何一种情况下,服务器计算机通常与客户计算机类似地包括一个系统单元、一个视频显示单元和一个操作者输入单元,并可被所述操作者与以和客户计算机类似的方式用于数据处理操作。另外,至少有某些服务器计算机可以只包括用于接收和处理检索,存储或遥控处理来自所述客户计算机的遥控请求并产生对其响应的处理器、存储器、海量存储器和网络接口元件。下面这一点将是适当的,即:客户计算机11(n)还可以执行由服务器计算机12(m)所执行的操作,类似的,服务器计算机12(m)也可以执行由客户计算机11(n)所执行的操作。
由通信线14表示的网络可以由任意数量类型的网络组成。利用该网络,服务器计算机12(m)、客户计算机11(n)和名称服务器计算机13可以相互通信,所述网络包括例如局部地区网络(LAN)和通常保持在独立企事业单位之内的宽区域网络(WAN)、公用电话系统、互连网络和其它网络,该网络可以使数字数据在各个计算机之间传输。该网络还可以使用任意数量的通信介质实现。包括例如导线、光缆、无线连接和/或用于运载表示在图1所示各个计算机之间信息信号的其它介质。如上所述,所述计算机中的每一个通常都包括一个网络接口,用于将相应的计算机连接到通信线14上,并允许计算机发射和接收所述信息。
本发明提供了一种系统,以便于获得和动态载“短线”信息,从而使在一个地址间运行的程序能够请求在另一个地址空间中的遥控方法或过程的处理,作为请求程序,它可以被置于同一个计算机上,也可以被置于不同的计算机上。本发明将结合如在java语言说明中描述的在javaTM编程语言中提供的程序进行描述,所述程序结合由java虚拟机提供的执行环境进行处理。然后利用java虚拟说明规定所述java虚拟机。如在java语言说明中所描述的,在java程编语言中的程序规定“类别”和“接口”。类别被用于规定一个或多个方法或过程,其中的每一个都可以借助于一个接口被请求。一个类别可以涉及和扩展一个“母集合”,并且,在这种考虑之下将插入该母集合的所有接口和方法,同时还可以包括附加的接口和方法。一个类别还可以包括一个或多个子类别(由此将包括其每一个子类别的母集合),从而可以使每一个子类别插入并可以扩展相应的母集合。
接口提供了一种机理,利用这种机理可以说明一组方法。在这方面,接口利用例如一个名称识别由该接口说明的每一个方法,并识别将被提供给所述方法的一个或多个算法的数据类型、将被所述方法返回的返回值的数据类型以及与在方法处理期间可能出现的异常相关的识别符。一个类别可以指出它使用了一个特定的接口,由此,它将包括用于对在该接口中说明的所有方法进行处理的程序码。另外,不同的类别可以指出它们使用相同的接口,并且,每个类别具有用于对在接口中说明的所有方法进行处理的程序码,但是,在每个类别中提供的用于对所述方法进行处理的程序码不同于在用于对同一方法进行处理的其它类别中提供的程序码,由此,接口提供了一种机理,利用这种机理,可以说明一组方法,而不必指出将被用于对所述方法中任何一种方法进行处理的过程一个接口可以利用特定类别单独说明,该特定类别执行能够被所述接口启动的一种或多种方法。在这种考虑之下,启动所述方法的类别和实际执行所述方法的类别将不必共享一个公用的母集合。
在java程序处理期间,如在java虚拟机说明中所描述的,客户计算机11(n)提供一个执行环境以便译码所述java程序。所述java虚拟机包括一类别加载器21,该类别加载器21在控制模块19的控制下能够在执行所述程序的同时动态地将通过由图1标号22表示的多个类别实例(instance)连接成运行程序的执行环境。在这个运行过程中,控制模块19能够有效地使类别加载器检索通常用标号23表示的未具体说明的类别,具体说明它们并将它们作为类别实施22连接到作为相应类别23被调用的方法时的java程序运行时间处的执行环境地址中。另外,当不需要或不需要保存类别实例22时,类别加载器21能够丢掉类别实例22中的一部分。下面的做法将是适当的,即:如果类别实例22被丢掉了,但是,假如在后面还需要,那么,可以通过类别加载器21重新加载。
本发明提供了一种配置,这种配置有助于利用由客户计算机11(n)执行的一个程序远程请求由在服务器计算机12(m)上的类别执行的方法。在执行该方法的过程中,服务器计算机12(m)还将提供一个用于在控制模块28控制下对java方法进行处理的执行环境24。在这个操作中,用于提供执行环境21的java虚拟机包括类别加载器25(该加载器可与类别加载器21相似),该类别加载器25在控制模块28的控制下能够动态地连接类别26的实例,以便使能将在执行环境24中被进行处理的方法和可能为对远程启动方法所需要的其它的类别实例(通常以标号26表示)。在这个运动过程中,控制模块28能够有效地使类别加载器25从多个未被具体说明并通常由标号27表示的类别中检索出与将被调用方法相关的未被具体说明的说明类别,具体说明(即:用于提供将被调用方法的未被具体说明的类别)和将其作为类别实例26连接到所述执行环境中。另外,当所述方法的处理结束时,类别加载器25可以舍掉类别实例26。下述做法将是适当的,即:如果类别实例26以被舍掉,假如在后面还需要,那么,在后面的某个点处它还可以被重新加载。
如果所述名称服务器计算机13被提供的话,那么,该计算机13的结构通常类似于服务计算机12(m)的结构,这将在下面描述。
为了便于一个方法的远程启动,客户计算机执行环境21的控制模块19利用一个或多个通常由标号30表示的短线类别实例,该短线类别实例通常是作为执行环境21的一部分而提供的,在这部分中,包括用于请求远程方法的类别实例在内的各程类别实例22被进行处理。每个短线类别实例30是未具体说明短线类别31的一种情况。这使得服务器计算机12(m)可以保持各种类别实例26和未具体说明的类别27,并使得服务器计算机12(m)具有一个“出口”,即:使得所述服务器计算机12(m)可以成为用于远程启动所提供方法的的客户计算机11(n)。未具体说明的短线类别31包括与用于执行被调用远程方法的特定远程未具体说明类别27的整组接口相关的说明,还提供或调用便于访问由该远程类别执行的远程方法的多种方法。当未具体说明短线类别31被具体说明并提供给作为短线类别实例30的客户计算机11(n)的执行环境20时,该类别31有效地提供一个调用java程序执行环境20的控制模块19所需要的信息,这样,当利用在一个特定执行环境中运行的java程序请求由其相关类别执行的远程方法时,该远程方法将被处理,并将返回值提供给调用java程序。在一个实施例中,可以将短线类别实例提供给执行环境20的配置类似于在前述Waldo等专利申请中所述的配置。
另外,服务器计算机12(m)提供一个骨架(skeleton)32,该骨架32用于识别由服务器计算机12(m)输出的特定类别和方法,并用于识别关于它(即:服务器计算机12(m))如何借此以加载所提供特定方法的相应类别和启动处理的信息。
当一个类别实例调用由服务器计算机12(m)所保持的远程方法时,它将向与该远程方法相关的短线类别实例30提供用于各种参数的值,这些值都是该远程方法在处理过程中需要使用的值。如果作为调用java程序该远程方法在同一个计算机上执行,那么,当调用java程序请求一个远程方法时,所述计算机可以建立一个类似于执行环境20的执行环境,以便使所述执行环境类别加载器能够加载和说明用于执行作为类似于类别实例22的一个类别实例的方法的类别,并且使用在该远程调用中调用类别实例提供的参数值对该远程方法进行处理。在所述方法处理完成之后,用于在其中对所述远程方法进行处理的执行环境将处理结果提供给与被调用远程方法相关的短线类别实例30,然后再提供给用于调用所述远程方法的特定类别实例22。
如果客户计算机11(n)和服务器计算机12(m)是在不同的实际计算机上实现的,那么,将执行类似的操作。在这种情况下,响应一个远程调用,在与用于调用类别实例22执行环境10相关的控制模块19控制下,正在对调用类别实例22进行处理的客户计算机11(n)将使用一个适当的短线类别实例30在由通信链路14表示的网络上与服务器计算机12(m)进行通信,所述服务器计算机12(m)执行该远程方法以便使它(服务器计算机12(m))能够建立一个与执行该远程方法相关的执行环境,并使用类别加载器25加载所述类别实例以用做类别实例26。另外,客户计算机11(n)还使用适当的短线类别实例30将任何一个需要的参数值通过网络14提供给服务器计算机12(m)。此后,服务器计算机12(m)将使用如此提供的参数值对所述远程方法进行处理,并产生将被通过所述网络传输给客户计算机11(n)、特别是将被传输给适当的短线类别实例30的生成值。在客户计算机11(n)接收了来自所述网络的生成值以后,该客户计算机11(n)将它们提供给与其处理相关的调用类别实例22。
在任何一种情况下,当客户计算机执行环境20的控制模块19确定已经接收了所基准的远程目标时,如果它确定当它接收这个基准时不存在短线类别实例30,它将试图从例如执行该远程方法的服务器计算机12(m)中获得所述短线类别实例30并使得该短线类别实例30能够被动态地加载到用于调用类别实例22的执行环境20中。所接收的远程目标例如可以被用做另一个远程方法调用的返回值或在另一个远程方法调用期间接收的参数。所述短线类别实例可以以与在执行环境22中加载类别实例22相类似的方式动态地加载到所述执行环境中。执行环境20被提供有短线类别加载器33,当在执行环境中进行处理的类别实例22需要时,该加载器33在控制模块19的控制下试图发现和加载所述短线类别实例30。保持用于执行将被远程调用方法的类别的特定服务器计算机12(m)的位置可以被包括在来自所述调用类别实例的调用(call)之中,或者经过由客户计算机11(n)保持的另一种机构(未示出)使短线类别加载器33所知道。
但是,如果短线类别加载器33没有通知服务器计算机12(m)保持用于执行可以被远程调用方法的类别,它可以使用名称服务器计算机13提供一个标识。该标识可以包括一个识别符,用于识别服务器计算机12(m)或在所述网络14上可以得到和所述服务器计算机12(m)可以响应的源。所示出的识别符例如可以包括用于识别服务器计算机和/或源的网络地址,或如果网络14是一个互连网络或包括互连网络,可以包括一个涉及到例如用于提供所述标记的World WideWeb源或用于提供用于识别经过互连网络可以获得的源的均匀机构的“均匀源位置”(“URL”)的识别符。响应来自客户计算机11(n)的请求执行所述远程方法的服务器计算机12(m)将提供短线类别实例30,客户计算机11(n)将该请求30加载到执行环境21中,然后启动所述的远程调用。
如上所述,如果短线类别加载器33不知道哪个服务器计算机12(m)执行可以被调用的远程方法(和因此而不知道哪个计算机将提供用于远程调用的短线类别码),那么,在控制模块19的控制下,它可以从名称服务器计算机13中获得所述标记。在这个操作过程中,短线类别加载器33可以使用事前提供并用于这种情况的缺省短线类别。当由调用java程序使用时,缺省短线类别使正在对调用java程序进行处理的计算机能够与名称服务器计算机13相互通信,以便获得在调用远程方法中使用的信息。由于所述远程方法包括用于识别类别和将被远程调用方法的参数、使名称服务器计算机13能够向请求客户计算机11(n)提供可以对所述方法进行处理的服务器计算机12(m)的标记以及对与服务器计算机12(m)进行通信有帮助的其它信息和调用特定方法,所以,这个操作基本上与利用名称服务器计算机13调用将被处理的操作相同。应当理解,名称服务器计算机13将保持多个“出口”源的表,所述源诸如是连接到网络14上的客户计算机11(n)可以得到的类别和方法,以及诸如提供这些源的特定服务器计算机12(m)的标记的信息,在利用所述出口源的过程中,上述信息对于客户计算机11(n)将是有用的。
应当理解,名称服务器计算机13可以以现有技术中公知的多种类型建立和保持所述出口表。例如,名称服务器计算机13可以在网络14上周期性地向可以对所述请求作出响应并保持所述出口源的各种服务器计算机12(m)传送与出口源信息相关的上述请求,在这种情况下,名称服务器计算机13可以根据来自服务器计算机12(m)的响应建立它自己的出口源表。另外,保持所述出口源的各个服务器计算机12(m)中的每一个计算机可以周期性地传送它自己所保存的有关出口源的信息,并且,名称服务器计算机13可以根据来自服务器计算机12(m)的传送修正它自己的出口源表。此外,可以通过系统操作者建立名称服务器计算机的出口源表并在他或她进行修改之前保持固定。
在任何一种情况下,由名称服务器计算机13响应被缺省短线启动的请求而提供的信息都包括例如是如下信息:可以提供用于执行将被调用远程方法的类别的计算机12(m)的标记、所述计算机(即:执行该远程方法的计算机)用于请求提供所需要的短线类别码的信息等。在从名称服务器计算机13接收了该信息之后,正在对调用java程序进行处理的计算机11(n)在控制模块19的控制下,利用所述信息与所述计算机(即:执行所述远程方法的计算机)通信,以获得短线类别,并在此后如上所述地调用所述方法。
在这种背景的基础上,下面结合图2的流程来描述由客户计算机11(n)、服务器计算机12(m)、必要时还有名称服务器计算机13在接收到一个远程方法的基准时为获得和动态加载短线类别实例所进行的操作。另外,将结合图3的流程来描述由客户计算机11(n)和服务器计算机12(m)为使用所述短线类别实例远程调用一个方法所进行的操作。首先参考图2,当执行环境控制模块19接收了一个远程方法的基准时,它首先要确定在所述执行环境20中是否存在有适当的短线类别实例,以便有助于所述远程方法的调用(步骤100)。如果控制模块19确定在该执行环境中存在有与所述远程方法相关的短线类别实例30,它将继续其它操作(步骤101)。但是,如果控制模块19在步骤101中确定在执行环境20中不存在与所述远程方法相关的短线类别实例,控制模块19将使用所述短线类别加载器33试图设置和加载与用于对所述远程方法进行处理的类别相关的短线类别实例30。在这种情况下,控制模块19将首先确定来自类别实例22的调用是否包括用于识别服务器计算机12(m)或保持将被调用方法类别的其它源的源设置器,或者确定它(即:控制模块19)短线类别加载器33是否被提供有这样一种源设置器(步骤102)。如果在这个步骤中控制模块10得到了一个肯定的答复,那么,它将前进到步骤103,以使得短线类别加载器33能够启动与一个被识别的服务器计算机12(m)的通信,以便获得与将被调用类别和方法相关的短线类别实例(步骤103)。当短线类别加载器33接收了来自服务器计算机12(m)的短线类别实例30时,它将把短线类别实例30加载到与在步骤100中启动远程方法调用的类别实例21相关的执行环境20中(步骤104)。在与所基准远程方法相关的短线类别实例30已经被加载到所述执行环境中之后,如下面结合图3所述,这个方法将可以被调用。
回到步骤102,如果控制模块19确定来自类别实例22的调用不包括用于识别服务器计算机12(m)或用于保持与将被调用方法相关的类别的其它源,并确定它(即:控制模块19)或短线类别加载器33没有被提供这种源设置器,那么,将指出一个“没有发现类别”的异常情况,在该点处,控制模块19可以调用异常情况处理器。所述异常情况处理器可以执行任何数量的恢复操作,包括例如仅仅通知控制模块19所述的方法不能够被设置和允许它确定后续的操作。
另外,控制模块19试图通过调用例如缺省短线类别实例30从名称服务器计算机13或网络14提供的其它源(在图1中通常由名称服务器计算机13表示)中获得一个源设置器。对缺省短线类别实例30的调用包括将被调用的类别和方法的标记和所述名称服务器计算机13(m)的名称。使用缺省短线类别实例30,控制模块19将使计算机11(n)能够启动与名称服务器计算机13的通信,以便获得用于保持将被调用的类别和方法的服务器计算机12(m)的识别符(步骤110)。根据缺省短线类别实例30的通信基本上相当于一个远程方法的调用,所以,所述方法使名称服务器计算机能够提供用于识别是否存在有与将被远程调用的类别和方法相关内容的服务器计算机12(m)的标记,或能够提供一个没有识别出哪一个服务器计算机12(m)与所述类别和方法相关的指示。在步骤110的通信期间,缺省短线类别接口30将提供作为参数值的将被调用类别和方法的标记。
响应来自缺省短线类别实例30的通信,名称服务器计算机13将对作为远程方法的请求进行处理(步骤111),并使其生成信息包括用于识别是否存在与将被调用类别和方法相关的服务器计算机12(m)的标记或指出没有识别出哪一个服务器计算机12(m)与所述类别和方法相关的指示。在该方法完成之后,名称服务器计算机13将启动与缺省短线类别实例30的通信,以便向缺省短线类别实例30提供生成信息(步骤112)。
在从名称服务器计算机13中接收了所述生成信息以后,在控制模块19的控制下,缺省短线类别实例将生成信息传送给短线类别加载器33(步骤113)。此后,短线类别加载器33确定由名称服务器计算机生成的信息是否包括用于服务器计算机12(m)的标记和表示没有识别出哪一个服务器计算机12(m)与所述类别相关的指示(步骤114)。如果短线类别加载器33确定所述生成信息包括了用于服务器计算机12(m)的标记,它(即:短线类别加载器33)将返回到步骤101,以启动与被识别的服务器计算机12(m)的通信,从而获得用于可以被调用类别和方法的短线类别实例。另一方面,如果短线类别加载器33在步骤114确定名称服务器计算机13已经提供了表示没有识别出哪一个服务器计算机12(m)与可以被调用的类别和方法相关的指示,那么,“没有发现类别”的异常情况可以被指出(步骤115),并且,如上所述地调用异常情况处理器。
如上面所讲的,用于如上面结合图2所述检索和加载的短线类别加载器30可以被用于方法的远程调用上。下面结合图3描述在所述方法的远程调用方面由客户计算机11(n)执行的操作。如图3所示,当类别实例22调用一个方法时,控制模块19首先核实在所述执行环境中是否存在有用于将被调用远程方法的短线类别实例30(步骤120)。如果在步骤120中所做核实的答案是肯定的,那么,短线类别实例30将被用于远程调用,并且在远程调用过程中将被用于对所述远程方法进行处理的参数值(步骤121)。此后,用于可以被调用远程方法的短线类别实例30将被用于启动与保持与所述远程方法相关类别的服务器计算机12(m)的通信(步骤122),在这个处理中,将被用于对所述远程方法进行处理的传送参数值将被通过。应当理解,如果将对所述方法进行处理的服务器计算机12(m)与正在调用该方法的客户计算机12(n)是同一个计算机,那么,所述通信可以在实际计算机内正在被进行处理的执行环境之间进行。另一方面,如果将要对所述方法进行处理的服务器计算机12(m)与正在调用该方法的客户计算机12(n)不是同一个计算机,所述通信可以经过客户计算机和服务器计算机的相应接口(15n)和(16n)和网络14。
响应来自在步骤122的短线类别实例的通信,如果需要,服务器计算机12(m)建立用于保持可以被调用方法的类别的执行环境24,并使用由骨架32提供的信息设置用于那个类别的类别实例26(步骤123)。此后,在控制模块28的控制下,服务器计算机12(m)根据由短线类别实例30提供的参数值对所述方法进行处理(步骤124)。在完成对所述方法的处理之后,还是在控制模块28的控制下,服务器计算机12(m)将与客户计算机的短线类别实例30通信,以向该短线类别实例提供生成结果(步骤125)。利用与上述步骤102相同的方式,如果对所述方法进行处理的服务器计算机12(m)和调用该方法的客户计算机12(n)是同一个计算机,所述通信可以在该计算机内正在被进行处理的执行环境24和20之间进行。另一方面,如果对所述方法进行处理的服务器计算机12(m)与正在调用该方法的客户计算机12(n)是不同的计算机,那么,通信将通过服务器计算机和客户计算机的相应网络接口(16m)和(15n)以及所述网络14。在短线类别实例30接收了来自服务器计算机12(m)的生成信息以后,它可以向用于启动远程方法调用的类别实例22提供所述的生成信息(步骤126),并且,在控制模块19的控制下,那个类别实例22可以继续处理。
回到步骤120,如果控制模块19在那个步骤确定没有适于可以被调用远程方法的短线类别实例30,那么,它可以在那个点调用异常处理器(步骤127)以执行所选择的误差校正处理。
本发明提供了很多的优点。特别是,它提供了一种新的系统和方法,用于方便地动态加载能够使运行于一个执行环境中的程序远程调用在另一个执行环境中的方法的处理的短线,以便当该短线被运行或需要时由所述程序进行加载。在利用该程序对所述短线进行编译和由此确定甚麽时候所述程序被进行编译的系统中,它们(短线)可以执行由所述程序接收的远程基准所支持的一组实际远程接口的子组,由于在用于提供一个程序的短线和当该程序被运行时所调用远程过程的请求之间的失配,所以,这将导致误差和低效率。但是,由于在该动态短线加载系统和方法中,被加载的短线可以从用于提供所述远程方法的特定源中获得,所以。它(短线)可以在运行时间处精确地规定一组接口并提供给调用程序,借此,以避免可能由于被提供短线和被调用远程方法的请求之间的失配引起的运行时间的不兼容。
应当理解,对如上所述的配置可以作出很多修改。例如,执行环境20被规定成获得和加载短线类别实例,以便当接收了远程方法的基准时便于调用多个远程方法,应当理解,所述的短线类别实例不是在该远程方法刚刚被调用时获得和加载的。在接收向它的基准时获得和加载用于远程方法的所述短线类别实例所具有的优点是(i)当所述远程方法被实际调用时在执行环境中存在有所述短线类别实例,和(ii)如果没有设置适当的短线类别实例,可以比较早的通知给程序或操作者。另一方面,即使是在不需要设置和加载接收所述短线类别实例基准的情况下,如果事实上一个方法并没有被调用,在该方法将被调用时获得和加载用于远程方法的短线类别实例将导致在正确短线类别实例被发现之前的调用延迟。
应当理解,根据本发明的系统可以由专用或通用计算机系统整体或部分地构成、或由它们的任意相互组合和任意可由适当程序控制的部分构成。任意程序都可以是完整的或仅包括其中的一部分或以惯用形式存储在系统中,或它可以整个的或部分的经过所述网络或用于以传统形式传送信息的其它机构被提供给所述系统。另外,应当理解,可以借助由一个操作者使用可以被直接连接到所述系统或可以经过网络或可以用传统形式传输信息的其它机构的操作者输入元件(未示出)提供的信息运行和/或控制所述系统。
前面的叙述仅限定了本发明的一些特定实施例。很明显,可以对本发明作出很多变化和修改,并使之具有本发明的全部或部分优点。所附权利要求的目的就是要覆盖落入本发明实质精神和范围内的这些和那些的变化和修改。

Claims (33)

1,一种涉及远程方法调用系统的短线检索和加载子系统。用于控制一个与远程方法相关的短线的检索以及到一个执行环境中的加载,以便于利用在所述执行环境中执行的程序调用一个远程方法,所述短线检索子系统包括:
短线检索器,用于启动所述述短线的检索,和
短线加载器,用于当所述短线检索器接收到所述短线时将所述短线加载到所述执行环境中,以便使所述短线能够被用于所述远程方法的远程调用上。
2,如权利要求1所述的短线检索和加载子系统。其特征在于还包括一个远程方法基准检测器,用于检测在所述的执行环境中是否接收到了一个远程方法的基准,当所述远程方法基准检测器检测到在所述执行环境中接收到了一个远程方法的基准时,所述短线检索器启动所述短线的检索。
3,如权利要求1所述的短线检索和加载子系统。其特征在于还包括一个远程方法调用控制器,用于控制所述远程方法的调用,当所述远程方法被调用时,所述短线检索器启动所述短线的检索。
4,如权利要求1所述的短线检索和加载子系统。其特征在于所述远程方法检索子系统还包括一个服务器器,用于响应提供给它的处理请求对所述的远程方法进行处理,所述服务器器还响应来自所述短线检索器的检索请求提供所述的短线。
5,如权利要求4所述的短线检索和加载子系统。其特征在于,所述服务器器提供一个单独的地址空间,用于对来自由所述执行环境提供的一个地址空间的所述远程方法进行处理。
6,如权利要求5所述的短线检索和加载子系统。其特征在于,由多个单独的计算机提供由所述服务器器提供的地址空间和由所述执行环境提供的地址空间。
7,如权利要求4所述的短线检索和加载子系统。其特征在于还包括一个远程服务器器识别器,用于提供用于别所述服务器器的一个服务器标记。
8,如权利要求7所述的短线检索加载子系统。其特征在于还包括一个远程方法基准检测器,用于检测在所述的执行环境是否接收到了一个远程方法的基准。所述远程方法的基准包括一个远程方法服务器器识别符,该远程服务器器识别器使用所述远程方法服务器器识别符作为服务器器标记。
9,如权利要求7所述的短线检索和加载子系统。其特征在于还包括一个远程方法调用控制器,用于提供与所述远程方法调用的控制相关的远程方法调用标记。所述远程服务器器识别器使用所述远程方法服务器器识别符作为服务器器标记。
10,如权利要求7所述的短线检索和加载子系统。其特征在于所述远程方法调用系统还包括一个名称服务器器,用于提供所述服务器器标记。所述远程服务器器标记启动与所述名称服务器器的通信,以便获得用于所述远程方法的服务器器标记。
11,一种涉及远程方法调用方法的短线检索和加载方法,用于方便检索与一个远程方法相关的短线和将该短线加载到一个执行环境中,以便通过在所述执行环境中执行的一个程序调用所述远程方法,所述的短线检索方法包括如下步骤:
A.短线检索步骤,用于启动所述短线的检索,和
B.短线加载步骤,用于当接收了所述的短线时,其特征在于将所述短线加载到所述执行环境中,借此使所述的短线能够被用于所述远程方法的远程调用上。
12,如权利要求11所述的短线检索和加载方法,其特征在于还包括一个远程方法基准检测步骤,用于检测在所述的执行环境中是否接收到了所述远程方法的基准,所述短线检索步骤包括当在所述的执行环境中接收到了一个远程方法的基准时启动所述短线检索的步骤。
13,如权利要求11所述的短线检索和加载方法,其特征在于还包括一个远程方法调用控制步骤,用于控制所述远程方法的调用,所述短线检索步骤包括当所述远程方法被调用时启动所述短线检索的步骤。
14,如权利要求11所述的短线检索和加载方法,其特征在于所述远程方法调用系统还包括一个服务器器,用于响应提供给它的处理请求对所述远程方法进行处理,所述服务器器还响应来自所述短线检索器检索请求提供所述短线。
15,如权利要求14所述的短线检索和加载方法,其特征在于,所述服务器器提供一个单独的地址空间,用于对来自由所述执行环境提供的地址空间的所述远程方法进行处理。
16,如权利要求15所述的短线检索和加载方法,其特征在于,由一些单独的计算机提供由所述服务器器提供的地址空间和由所述执行环境提供的地址空间。
17,如权利要求14所述的短线检索和加载方法,其特征在于还包括一个远程服务器器识别步骤,用于提供与识别所述服务器器相关的服务器器标记。
18,如权利要求17所述的短线检索和加载方法,其特征在于还包括一个远程方法基准检测步骤,用于检测在所述的执行环境中是否接收到了一个远程方法的基准,所述远程方法的基准包括一个远程方法服务器器识别符,所述远程方法服务器器识别符在远程方法基准检测步骤中被用做所述服务器器标记。
19,如权利要求17所述的短线检索和加载方法,其特征在于还包括一个远程方法调用控制步骤,用于提供一个远程方法调用标记。以便控制所述远程方法的调用,所述远程方法调用提供一个远程方法调用服务器器识别符,所述远程方法调用服务器器识别符在远程方法基准检测步骤期间被用做所述服务器器标记。
20,如权利要求17所述的短线检索和加载方法,其特征在于所述远程方法调用系统还包括一个名称服务器器,用于提供所述服务器器标记。所述远程方法服务器器识别符启动与所述名称服务器器的通信,以便获得用于所述远程方法的服务器器标记。
21,一种涉及远程方法调用系统的短线检索和加载计算机程序产品,用于控制一个计算机。并接着控制一个用于远程方法的短线的检索和将该短线加载到一个执行环境中,以便于利用在所述执行环境中执行的一个程序调用所述远程方法,所述短线检索计算机程序产品包括一个在下述装置上进行编码的计算机可读介质:
A.短线检索器代码装置,用于使所述计算机能够启动所述短线的检索;和
B.短线加载器代码装置,用于当接收到了所述短线时,将所述短线加载到所述执行环境中,借此使得所述短线能够被用于所述远程方法的远程调用中。
22.如权利要求21所述的短线检索和加载计算机程序产品,其特征在于还包括一个远程方法基准检测器代码装置,用于使所述计算机能够检测在所述执行环境中是否接收了一个远程方法基准,当远程方法基准检测器代码装置使所述计算机能够检测在所述执行环境中已经接收到了一个远程方法的基准时,所述短线检索器代码装置使所述计算机能够启动所述短线的检索。
23.如权利要求21所述的短线检索和加载计算机程序产品,其特征在于还包括一个远程方法调用控制代码装置,用于使所述计算机能够控制所述远程方法的调用,当所述远程方法被调用时,所述短线检索器代码装置使所述计算机能够启动所述短线的检索。
24.如权利要求21所述的短线检索和加载计算机程序产品,其特征在于所述远程方法调用系统还包括一个服务器器,用于响应提供给它的一个处理请求对所述远程方法进行处理,所述服务器器还响应来自所述短线检索器的检索请求提供所述短线。
25.如权利要求24所述的短线检索和加载计算机程序产品,其特征在于,所述服务器器提供一个单独的地址空间,用于对来自由所述执行环境提供的所述远程方法进行处理。
26.如权利要求25所述的短线检索和加载计算机程序产品,其特征在于,由所述服务器器提供的地址空间和由所述执行环境提供的地址空间是由不同的计算机提供的。
27.如权利要求24所述的短线检索和加载计算机程序产品,其特征在于还包括一个远程服务器器识别符代码装置,用于使所述计算机能够提供一个与识别所述服务器器相关的服务器器标记。
28.如权利要求27所述的短线检索和加载计算机程序产品,其特征在于还包括一个远程方法基准检测器代码装置,用于使所述计算机能够检测在所述执行环境中是否接收到了一个远程方法基准,所述远程方法基准包括一个远程方法服务器器识别符,所述远程服务器器识别符代码装置使所述计算机能够使用远程方法服务器器识别符作为所述服务器器标记。
29.如权利要求27所述的短线检索和加载计算机程序产品,其特征在于还包括一个远程方法调用控制代码装置,用于使所述计算机能够提供一个与控制所述远程方法调用相关的远程方法调用标记,所述远程方法调用提供一个远程方法调用识别符,所述远程服务器器识别符代码装置使所述计算机能够使用所述远程方法服务器器识别符作为所述服务器器标记。
30.如权利要求27所述的短线检索和加载计算机程序产品,其特征在于所述远程方法调用系统还包括一个名称服务器器,用于提供所述服务器器标记。所述远程服务器器识别符代码装置使所述计算机能够启动与所述名称服务器器的通信,以便获得用于所述远程方法的服务器器标记。
31.一种涉及远程方法调用系统的短线检索和加载子系统。用于检索和一个远程方法相关的短线并将该短线加载到一个执行环境中,以便于利用在所述执行环境中执行的一个程序调用所述远程方法,所述短线检索子系统包括:
A.计算机;和
B.控制装置,用于控制所述计算机。所述控制装置包括:
i.短线检索模块用于控制所述计算机启动所述短线的检索;和
ii.短线加载模块,用于当响应所述短线检索模块接收了所述短线时,将所述短线加载到所述执行环境中,借此,使所述短线能够被用于所述远程方法的远程调用中。
32.一种控制装置,用于和计算机相结合对检索与远程方法相关的短线和向一个执行环境加载该短线进行控制,以便于利用在所述执行环境中执行的一个程序调用所述远程方法,所述控制装置包括:
i.短线检索模块,用于控制所述计算机启动所述短线的检索;和
ii.短线加载模块,用于当响应所述短线检索模块接收到了所述短线时,控制所述计算机将所述短线加载到所述执行环境中,借此,使所述短线能够被用于所述远程方法的远程调用中。
33.一种用于分布存储在计算机可读介质上并可由计算机执行的代码的系统。所述代码包括多个模块,其中的每一个模块被构成的可以控制所述计算机便于检索与一个远程方法相关的短线并将该短线加载到一个执行环境中,以便于利用在所述执行环境中执行的一个程序调用所述远程方法,所述系统包括:
i.短线检索模块,用于控制所述计算机启动所述短线的检索;和
ii.短线加载模块,用于当响应所述短线检索模块接收了所述短线时,控制所述计算机将所述短线载到所述执行环境中,借此使所述短线能够被用于所述远程方法的远程调用上。
CN97111235A 1996-04-23 1997-04-23 便于“占位程序”信息动态加载处理的系统和方法 Expired - Fee Related CN1103963C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/636,706 US6938263B2 (en) 1996-04-23 1996-04-23 System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US636,706 1996-04-23
US636706 1996-04-23

Publications (2)

Publication Number Publication Date
CN1168503A true CN1168503A (zh) 1997-12-24
CN1103963C CN1103963C (zh) 2003-03-26

Family

ID=24553013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97111235A Expired - Fee Related CN1103963C (zh) 1996-04-23 1997-04-23 便于“占位程序”信息动态加载处理的系统和方法

Country Status (7)

Country Link
US (3) US6938263B2 (zh)
EP (1) EP0803811A3 (zh)
JP (1) JPH1083308A (zh)
KR (1) KR970071321A (zh)
CN (1) CN1103963C (zh)
SG (1) SG70006A1 (zh)
TW (1) TW385396B (zh)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6272559B1 (en) * 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6421704B1 (en) * 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
JP3490256B2 (ja) * 1997-06-12 2004-01-26 三菱電機株式会社 エージェント方式
US6378002B1 (en) * 1997-08-05 2002-04-23 International Business Machines Corporation, Object oriented server process framework with implicit data handling registry for remote method invocations
JP2002505467A (ja) * 1998-02-26 2002-02-19 サン・マイクロシステムズ・インコーポレーテッド 分散システムにおける動的参照サービス
KR20010034514A (ko) 1998-02-26 2001-04-25 케네쓰 올센 원격 메소드를 식별하는 해시 판정 방법 및 시스템
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
EP1058884A1 (en) * 1998-02-26 2000-12-13 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
WO1999044296A2 (en) * 1998-02-26 1999-09-02 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US20020046228A1 (en) * 1998-03-20 2002-04-18 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6236999B1 (en) 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US6571274B1 (en) 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6581088B1 (en) 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
US6381737B1 (en) * 1999-04-23 2002-04-30 Sun Microsystems, Inc. Automatic adapter/stub generator
US6807549B2 (en) * 1999-06-03 2004-10-19 B.I.S. Advanced Software Systems Ltd. General purpose interpreter and database for accessing enterprise servers over an internet protocol network
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US7072967B1 (en) * 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6944827B2 (en) * 2000-09-11 2005-09-13 Appeon Corporation System and method of data transmission for computer networks utilizing HTTP
GB0024918D0 (en) * 2000-10-11 2000-11-22 Sealedmedia Ltd Method of providing java tamperproofing
US20020065946A1 (en) * 2000-10-17 2002-05-30 Shankar Narayan Synchronized computing with internet widgets
JP2002132739A (ja) * 2000-10-23 2002-05-10 Nec Corp スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体
US6851111B2 (en) * 2000-12-15 2005-02-01 International Business Machines Corporation System and method for class loader constraint checking
US7340748B2 (en) * 2000-12-21 2008-03-04 Gemplus Automatic client proxy configuration for portable services
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US6817014B2 (en) * 2001-04-11 2004-11-09 Hewlett-Packard Development Company, L.P. Analysis of executable program code using compiler-generated function entry points and endpoints with other sources of function entry points and endpoints
US6918110B2 (en) * 2001-04-11 2005-07-12 Hewlett-Packard Development Company, L.P. Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code
US7434234B2 (en) * 2001-05-04 2008-10-07 Outlooksoft Corporation Method and system for facilitating communications in a network using on demand distribution
US7054901B2 (en) * 2001-05-31 2006-05-30 Juniper Networks, Inc. Network management interface with selective rendering of output
US7072946B2 (en) * 2001-05-31 2006-07-04 Juniper Networks, Inc. Network router management interface with API invoked via login stream
JP4233775B2 (ja) 2001-07-06 2009-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション データ通信方法、データ通信システムおよびプログラム
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US20030051029A1 (en) 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
US7111206B1 (en) 2001-09-19 2006-09-19 Juniper Networks, Inc. Diagnosis of network fault conditions
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
US7146321B2 (en) * 2001-10-31 2006-12-05 Dictaphone Corporation Distributed speech recognition system
US7133829B2 (en) * 2001-10-31 2006-11-07 Dictaphone Corporation Dynamic insertion of a speech recognition engine within a distributed speech recognition system
US7178129B2 (en) * 2001-12-07 2007-02-13 Dbase, Inc. Drag-and drop dynamic distributed object model
US7236931B2 (en) * 2002-05-01 2007-06-26 Usb Ag, Stamford Branch Systems and methods for automatic acoustic speaker adaptation in computer-assisted transcription systems
US7292975B2 (en) * 2002-05-01 2007-11-06 Nuance Communications, Inc. Systems and methods for evaluating speaker suitability for automatic speech recognition aided transcription
US20030217191A1 (en) * 2002-05-20 2003-11-20 Yang Gao System and method for converting the UI logic of a windows software application to run within a web browser
US7234137B2 (en) * 2002-07-25 2007-06-19 Sun Microsystems, Inc. Method, system, and program for processing objects in a distributed computing environment
KR100520681B1 (ko) * 2002-12-23 2005-10-11 주식회사 하이닉스반도체 플래시 메모리 소자의 플로팅 게이트 형성방법
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US8607241B2 (en) * 2004-06-30 2013-12-10 Intel Corporation Compare and exchange operation using sleep-wakeup mechanism
JP4293959B2 (ja) * 2004-09-16 2009-07-08 シャープ株式会社 画像処理装置、プログラム及び記録媒体
WO2006040991A1 (ja) * 2004-10-08 2006-04-20 Sharp Kabushiki Kaisha 端末装置、サーバ装置、及びWebサービス提供システム
IL164577A (en) * 2004-10-14 2011-12-29 Tadiran Telecom Ltd Communication in a distributed system
IL166085A (en) * 2004-12-30 2011-08-31 Tadiran Telecom Ltd Method and apparatus for use of identical data objects representing a user in a distributed communications network
US8250226B2 (en) * 2005-07-21 2012-08-21 Ca, Inc. Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
US9606846B2 (en) * 2005-07-29 2017-03-28 Sap Se System and method for dynamic proxy generation
US20070027877A1 (en) * 2005-07-29 2007-02-01 Droshev Mladen I System and method for improving the efficiency of remote method invocations within a multi-tiered enterprise network
US8032372B1 (en) 2005-09-13 2011-10-04 Escription, Inc. Dictation selection
US7765560B2 (en) * 2005-10-26 2010-07-27 Oracle America, Inc. Object oriented communication between isolates
US8046773B1 (en) 2005-10-26 2011-10-25 Oracle America, Inc. Object oriented communication between isolates
US7716681B2 (en) * 2005-11-01 2010-05-11 Sap Ag Service provider inheritance in a digital information system
US20070168509A1 (en) * 2005-12-30 2007-07-19 Droshev Mladen I System and method for remote loading of classes
US8601456B2 (en) * 2006-08-04 2013-12-03 Microsoft Corporation Software transactional protection of managed pointers
US8051426B2 (en) * 2007-01-04 2011-11-01 Microsoft Corporation Co-routines native to a virtual execution environment
US8006227B2 (en) * 2007-06-01 2011-08-23 Microsoft Corporation Efficiently locating transactional code blocks in a transactional memory system
US8099719B2 (en) 2007-06-19 2012-01-17 Microsoft Corporation Transactional debugger for a transactional memory system and detecting conflicts
US8032870B2 (en) * 2007-06-25 2011-10-04 Microsoft Corporation Transacting accesses via unmanaged pointers
US8196123B2 (en) 2007-06-26 2012-06-05 Microsoft Corporation Object model for transactional memory
US7941411B2 (en) 2007-06-29 2011-05-10 Microsoft Corporation Memory transaction grouping
US8788309B2 (en) * 2008-10-23 2014-07-22 International Business Machines Corporation Application of cost constraints in event scheduling
US20100174575A1 (en) * 2009-01-02 2010-07-08 International Business Machines Corporation Meeting management system with failover and failback capabilities for meeting moderators
JP5936103B2 (ja) * 2011-10-04 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
KR101642713B1 (ko) * 2014-12-29 2016-08-10 서강대학교산학협력단 디바이스간 원격 프로시저 호출 방법
WO2017090005A1 (en) * 2015-11-27 2017-06-01 Cadens Imagerie Medicale Inc. Method and system for executing a function for processing data using a server
CN112256448A (zh) * 2020-09-30 2021-01-22 北京达佳互联信息技术有限公司 远程控制方法、装置、电子设备、系统及存储介质

Family Cites Families (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2476349A1 (fr) 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4491946A (en) 1981-03-09 1985-01-01 Gould Inc. Multi-station token pass communication system
AU556499B2 (en) 1981-05-22 1986-11-06 Data General Corporation Data processing system
US4558413A (en) 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0640302B2 (ja) 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4567359A (en) 1984-05-24 1986-01-28 Lockwood Lawrence B Automatic information, goods and services dispensing system
US4823122A (en) 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
US4809160A (en) 1985-10-28 1989-02-28 Hewlett-Packard Company Privilege level checking instruction for implementing a secure hierarchical computer system
US4800488A (en) 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
US4713806A (en) 1986-03-14 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Communication system control arrangement
US4819233A (en) 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
US4939638A (en) 1988-02-23 1990-07-03 Stellar Computer Inc. Time sliced vector processing
US5724540A (en) 1988-03-28 1998-03-03 Hitachi, Ltd. Memory system having a column address counter and a page address counter
US5287511A (en) 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
US4979105A (en) 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
JPH0293952A (ja) 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
US5133075A (en) 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5109486A (en) 1989-01-06 1992-04-28 Motorola, Inc. Distributed computer system with network and resource status monitoring
US5088036A (en) 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
DE69030340T2 (de) 1989-02-24 1997-11-20 Digital Equipment Corp Makler für die Auswahl von Rechnernetzwerkservern
US5341477A (en) 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US4992940A (en) 1989-03-13 1991-02-12 H-Renee, Incorporated System and method for automated selection of equipment for purchase through input of user desired specifications
US5430876A (en) * 1989-06-27 1995-07-04 Digital Equipment Corporation Remote procedure callback system and method
US5297283A (en) 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5257369A (en) 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5187787B1 (en) 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5557798A (en) 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5218699A (en) * 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
US5253165A (en) 1989-12-18 1993-10-12 Eduardo Leiseca Computerized reservations and scheduling system
US5555427A (en) 1989-12-26 1996-09-10 Fujitsu Limited Distributed processing in a system of computers at terminals connected by a communication network
GB2242293A (en) 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
AU639802B2 (en) 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
AU628264B2 (en) * 1990-08-14 1992-09-10 Oracle International Corporation Methods and apparatus for providing a client interface to an object-oriented invocation of an application
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5446897A (en) 1990-08-31 1995-08-29 International Business Machines Corporation Automated address discovery method and apparatus for local area networks
DE69126666T2 (de) 1990-09-17 1998-02-12 Cabletron Systems Inc Netzwerkverwaltungssystem mit modellbasierter intelligenz
US5319542A (en) 1990-09-27 1994-06-07 International Business Machines Corporation System for ordering items using an electronic catalogue
US5327559A (en) 1990-10-23 1994-07-05 International Business Machines Corporation Remote and batch processing in an object oriented programming system
JPH0799497B2 (ja) 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
EP0497022B1 (en) * 1991-01-31 1999-04-07 Hewlett-Packard Company Conference system
IE910553A1 (en) 1991-02-19 1992-08-26 Tolsys Ltd Improvements in and relating to stable memory circuits
DE69228621T2 (de) 1991-02-25 1999-07-22 Hewlett Packard Co Objektorientiertes verteiltes Rechnersystem
EP0501613A3 (en) 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
US5293614A (en) 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5481721A (en) 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
FR2680255B1 (fr) 1991-08-09 1994-01-28 Gerbaulet Jean Pierre Dispositif pour une meilleure gestion des operations courantes d'achat de produits et de services.
DE4131380A1 (de) 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
JPH05173988A (ja) 1991-12-26 1993-07-13 Toshiba Corp 分散処理方式および該分散処理に適用されるトランザクション処理方式
US5319751A (en) 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5826017A (en) 1992-02-10 1998-10-20 Lucent Technologies Apparatus and method for communicating data between elements of a distributed system using a general protocol
US5303042A (en) 1992-03-25 1994-04-12 One Touch Systems, Inc. Computer-implemented method and apparatus for remote educational instruction
US5390328A (en) 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
US5553305A (en) 1992-04-14 1996-09-03 International Business Machines Corporation System for synchronizing execution by a processing element of threads within a process using a state indicator
US5353343A (en) 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
WO1993025962A1 (en) * 1992-06-18 1993-12-23 International Business Machines Corporation Distributed applications processing network
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5581760A (en) * 1992-07-06 1996-12-03 Microsoft Corporation Method and system for referring to and binding to objects using identifier objects
US5307490A (en) 1992-08-28 1994-04-26 Tandem Computers, Inc. Method and system for implementing remote procedure calls in a distributed computer system
JP2524472B2 (ja) 1992-09-21 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 電話回線利用の音声認識システムを訓練する方法
US5423042A (en) 1992-10-23 1995-06-06 International Business Machines Corporation Remote procedure execution
US5561785A (en) 1992-10-29 1996-10-01 International Business Machines Corporation System for allocating and returning storage and collecting garbage using subpool of available blocks
JPH0827769B2 (ja) * 1992-10-30 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 通信インターフェースの生成システム及びその方法
US5515536A (en) 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
DE69309485T2 (de) * 1992-11-13 1997-07-10 Microsoft Corp Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe
US5511196A (en) 1992-11-17 1996-04-23 International Business Machines Corporation Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment
US5386568A (en) 1992-12-01 1995-01-31 Yamaha Corporation Apparatus and method for linking software modules
EP0602263A1 (en) 1992-12-15 1994-06-22 International Business Machines Corporation User interface program generator
EP0604010B1 (en) * 1992-12-21 1999-12-29 Sun Microsystems, Inc. Method and apparatus for subcontracts in distributed processing systems
US6157961A (en) * 1992-12-21 2000-12-05 Sun Microsystems, Inc. Client-side stub interpreter
US5560003A (en) 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5452459A (en) 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
DE69429686T2 (de) 1993-02-25 2003-04-30 Sun Microsystems Inc Transaktionsverwaltung in objektorientiertem System
US5548724A (en) 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
US5475840A (en) 1993-04-13 1995-12-12 Sun Microsystems, Inc. High performance dynamic linking through caching
US5832593A (en) 1993-04-14 1998-11-10 Minnesota Mining And Manufacturing Company Splice head for insulated telecommunication wires
US5459837A (en) 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
RU2183854C2 (ru) 1993-05-20 2002-06-20 Мур Бизнес Формз, Инк. Система заявок и система сопровождения заявок
CA2121612A1 (en) 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
US5506984A (en) 1993-06-30 1996-04-09 Digital Equipment Corporation Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
US5794207A (en) 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US5446901A (en) 1993-06-30 1995-08-29 Digital Equipment Corporation Fault tolerant distributed garbage collection system and method for collecting network objects
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
EP0635792B1 (de) 1993-07-16 2003-08-27 Siemens Aktiengesellschaft Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
US5331637A (en) 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
US5666493A (en) 1993-08-24 1997-09-09 Lykes Bros., Inc. System for managing customer orders and method of implementation
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US5617537A (en) 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5590181A (en) * 1993-10-15 1996-12-31 Link Usa Corporation Call-processing system and method
CA2118169A1 (en) 1993-10-27 1995-04-28 Michael R.C. Seaman Event architecture for system management in an operating system
US5455952A (en) 1993-11-03 1995-10-03 Cardinal Vision, Inc. Method of computing based on networks of dependent objects
US5742848A (en) 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5699518A (en) * 1993-11-29 1997-12-16 Microsoft Corporation System for selectively setting a server node, evaluating to determine server node for executing server code, and downloading server code prior to executing if necessary
US5581704A (en) 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5485617A (en) 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
US5594921A (en) 1993-12-17 1997-01-14 Object Technology Licensing Corp. Authentication of users with dynamically configurable protocol stack
AU6702594A (en) 1993-12-17 1995-07-03 Taligent, Inc. Object-oriented distributed communications directory service
US5548726A (en) 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
WO1995019008A1 (en) 1994-01-05 1995-07-13 Covey Peter J Dynamic-state, multi-dimensional, multi-media database
US5832219A (en) 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5664111A (en) 1994-02-16 1997-09-02 Honicorp, Inc. Computerized, multimedia, network, real time, interactive marketing and transactional system
US5592375A (en) 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US5392280A (en) 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5675796A (en) 1994-04-08 1997-10-07 Microsoft Corporation Concurrency management component for use by a computer program during the transfer of a message
US6216138B1 (en) 1994-04-22 2001-04-10 Brooks Automation Inc. Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships
US5680617A (en) 1994-05-16 1997-10-21 Apple Computer, Inc. Computer-human interface which provides for user customization of object behavior
US5675797A (en) 1994-05-24 1997-10-07 International Business Machines Corporation Goal-oriented resource allocation manager and performance index technique for servers
EP0684553B1 (en) 1994-05-26 2004-06-16 Sun Microsystems, Inc. Method and apparatus for generating and using short operation identifiers in object oriented systems
US5655148A (en) 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5664191A (en) * 1994-06-30 1997-09-02 Microsoft Corporation Method and system for improving the locality of memory references during execution of a computer program
US5680573A (en) 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
EP0694837A1 (en) * 1994-07-25 1996-01-31 International Business Machines Corporation Dynamic workload balancing
US5778228A (en) * 1994-08-16 1998-07-07 International Business Machines Corporation Method and system for transferring remote procedure calls and responses over a network
US5922054A (en) 1994-08-19 1999-07-13 Canon Kabushiki Kaisha System for managing external applications and files
US5555367A (en) 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5961582A (en) * 1994-10-25 1999-10-05 Acorn Technologies, Inc. Distributed and portable execution environment
US6009413A (en) 1994-11-10 1999-12-28 America Online, Inc. System for real time shopping
JP4058118B2 (ja) 1994-11-15 2008-03-05 株式会社日立製作所 プログラム生成システム及び方法
US5577231A (en) 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5664110A (en) 1994-12-08 1997-09-02 Highpoint Systems, Inc. Remote ordering system
US5644768A (en) 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
US5553282A (en) 1994-12-09 1996-09-03 Taligent, Inc. Software project history database and method of operation
DE69521977T2 (de) 1994-12-13 2002-04-04 Ibm Verfahren und System zur gesicherten Programmenverteilung
US5677851A (en) 1994-12-15 1997-10-14 Novell, Inc. Method and apparatus to secure digital directory object changes
US5608903A (en) 1994-12-15 1997-03-04 Novell, Inc. Method and apparatus for moving subtrees in a distributed network directory
US5630066A (en) 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5491791A (en) 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US5872928A (en) 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
JPH08235260A (ja) 1995-03-01 1996-09-13 Fujitsu Ltd マルチメディア通信システム
US5727203A (en) 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
EP0735472A3 (en) 1995-03-31 2000-01-19 Sun Microsystems, Inc. Method and apparatus for conspiracy among objects
US5721832A (en) 1995-05-12 1998-02-24 Regal Greetings & Gifts Inc. Method and apparatus for an interactive computerized catalog system
US5812819A (en) 1995-06-05 1998-09-22 Shiva Corporation Remote access apparatus and method which allow dynamic internet protocol (IP) address management
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5903731A (en) 1995-06-14 1999-05-11 Us West Technologies, Inc. System and associated method for re-engineering a telecommunications network support system with object-oriented translators
US5761656A (en) 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5790677A (en) 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
US5802367A (en) 1995-07-07 1998-09-01 Microsoft Corporation Method and system for transparently executing code using a surrogate process
US5745703A (en) 1995-07-18 1998-04-28 Nec Research Institute, Inc. Transmission of higher-order objects across a network of heterogeneous machines
US5734706A (en) 1995-07-27 1998-03-31 Windsor; Victoria Brein Caller identification and data retrieval system
US5644720A (en) 1995-07-31 1997-07-01 West Publishing Company Interprocess communications interface for managing transaction requests
US5805805A (en) 1995-08-04 1998-09-08 At&T Corp. Symmetric method and apparatus for interconnecting emulated lans
US5774551A (en) 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5809144A (en) 1995-08-24 1998-09-15 Carnegie Mellon University Method and apparatus for purchasing and delivering digital goods over a network
JPH0962526A (ja) 1995-08-28 1997-03-07 Fujitsu Ltd 耐故障型rpcシステムおよび方法
JP2964926B2 (ja) 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5710887A (en) 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
US5671225A (en) 1995-09-01 1997-09-23 Digital Equipment Corporation Distributed interactive multimedia service system
US5682534A (en) 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US6009464A (en) * 1995-09-20 1999-12-28 Sun Microsystems, Inc. Method and apparatus for enabling application programs to communicate with network clients and servers
US5737607A (en) 1995-09-28 1998-04-07 Sun Microsystems, Inc. Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats
US5765174A (en) 1995-10-06 1998-06-09 Sun Microsystems, Inc. System amd method for distributed object resource management
US5806042A (en) * 1995-10-11 1998-09-08 Kelly; William Franklin System for designing and implementing bank owned life insurance (BOLI) with a reinsurance option
US5864862A (en) 1996-09-30 1999-01-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for creating reusable components in an object-oriented programming environment
US5872973A (en) 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5671279A (en) 1995-11-13 1997-09-23 Netscape Communications Corporation Electronic commerce using a secure courier system
US5860153A (en) 1995-11-22 1999-01-12 Sun Microsystems, Inc. Memory efficient directory coherency maintenance
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US6067575A (en) 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US6003763A (en) 1995-12-29 1999-12-21 Visa International Service Method and apparatus for recording magnetic information on traveler's checks
US5887172A (en) * 1996-01-10 1999-03-23 Sun Microsystems, Inc. Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends
US5745695A (en) 1996-01-16 1998-04-28 Motorola Inc. Radio system with suspension of packet data service during non-data service connection
US5754849A (en) 1996-01-30 1998-05-19 Wayfarer Communications, Inc. Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations
US5946485A (en) 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
US5758328A (en) 1996-02-22 1998-05-26 Giovannoli; Joseph Computerized quotation system and method
CA2199108C (en) 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
US5754977A (en) 1996-03-06 1998-05-19 Intervoice Limited Partnership System and method for preventing enrollment of confusable patterns in a reference database
US5721825A (en) 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
US5845129A (en) 1996-03-22 1998-12-01 Philips Electronics North America Corporation Protection domains in a single address space
US5706502A (en) 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5850442A (en) 1996-03-26 1998-12-15 Entegrity Solutions Corporation Secure world wide electronic commerce over an open network
US5790548A (en) 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6938263B2 (en) * 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6134603A (en) 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US5815709A (en) 1996-04-23 1998-09-29 San Microsystems, Inc. System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US5978484A (en) 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
US5963924A (en) 1996-04-26 1999-10-05 Verifone, Inc. System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce
EP0805393B1 (en) 1996-04-30 2011-11-09 International Business Machines Corporation Method and apparatus for managing membership of a group of processors in a distributed computing environment
US5778368A (en) 1996-05-03 1998-07-07 Telogy Networks, Inc. Real-time embedded software respository with attribute searching apparatus and method
US5778187A (en) 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5835737A (en) 1996-05-10 1998-11-10 Apple Computer, Inc. Method and apparatus for arbitrating access to selected computer system devices
US5889951A (en) 1996-05-13 1999-03-30 Viewpoint Corporation Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
US6199116B1 (en) 1996-05-24 2001-03-06 Microsoft Corporation Method and system for managing data while sharing application programs
US6018619A (en) * 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5928323A (en) 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5813013A (en) 1996-06-06 1998-09-22 Microsoft Corporation Representing recurring events
US5729594A (en) 1996-06-07 1998-03-17 Klingman; Edwin E. On-line secured financial transaction system through electronic media
US5768532A (en) 1996-06-17 1998-06-16 International Business Machines Corporation Method and distributed database file system for implementing self-describing distributed file objects
JP3488019B2 (ja) 1996-06-17 2004-01-19 株式会社山武 制御設計用コンフィギュレーション・ツールの部品再利用方法
US5727145A (en) 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
US5991823A (en) 1996-06-26 1999-11-23 Sun Microsystems, Inc. Low overhead object adaptor
US6044409A (en) 1996-06-26 2000-03-28 Sun Microsystems, Inc. Framework for marshaling and unmarshaling argument object references
SG67354A1 (en) 1996-06-27 1999-09-21 Inst Of Systems Science Nation Computationally efficient method for trusted and dynamic digital objects dissemination
US5809507A (en) 1996-07-01 1998-09-15 Sun Microsystems, Inc. Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework
US6360256B1 (en) 1996-07-01 2002-03-19 Sun Microsystems, Inc. Name service for a redundant array of internet servers
US5818448A (en) 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5748897A (en) 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5949998A (en) 1996-07-03 1999-09-07 Sun Microsystems, Inc. Filtering an object interface definition to determine services needed and provided
US5860004A (en) 1996-07-03 1999-01-12 Sun Microsystems, Inc. Code generator for applications in distributed object systems
US5742768A (en) 1996-07-16 1998-04-21 Silicon Graphics, Inc. System and method for providing and displaying a web page having an embedded menu
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5758077A (en) 1996-08-02 1998-05-26 Hewlett-Packard Company Service-centric monitoring system and method for monitoring of distributed services in a computing network
US6016516A (en) 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
JP3484019B2 (ja) 1996-08-30 2004-01-06 富士通株式会社 Lan間接続方法
US6212578B1 (en) * 1996-09-09 2001-04-03 Oracle Corporation Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls
US5875335A (en) 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5974201A (en) 1996-10-01 1999-10-26 Siemens Corporate Research, Inc. Smart image system
US5787425A (en) 1996-10-01 1998-07-28 International Business Machines Corporation Object-oriented data mining framework mechanism
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6154844A (en) * 1996-11-08 2000-11-28 Finjan Software, Ltd. System and method for attaching a downloadable security profile to a downloadable
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US5944793A (en) 1996-11-21 1999-08-31 International Business Machines Corporation Computerized resource name resolution mechanism
US5987506A (en) 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US5884024A (en) 1996-12-09 1999-03-16 Sun Microsystems, Inc. Secure DHCP server
JPH10171701A (ja) 1996-12-10 1998-06-26 Fuji Xerox Co Ltd 手続実行装置及び方法
US5787431A (en) 1996-12-16 1998-07-28 Borland International, Inc. Database development system with methods for java-string reference lookups of column names
US5933647A (en) 1997-01-24 1999-08-03 Cognet Corporation System and method for software distribution and desktop management in a computer network environment
US6052761A (en) 1997-01-31 2000-04-18 Hewlett-Packard Company Increment update in an SCI based system
US5913029A (en) 1997-02-07 1999-06-15 Portera Systems Distributed database system and method
US5815149A (en) 1997-02-19 1998-09-29 Unisys Corp. Method for generating code for modifying existing event routines for controls on a form
US5935249A (en) 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6061713A (en) 1997-03-12 2000-05-09 Fujitsu Limited Communications system for client-server data processing systems
US5864866A (en) 1997-03-26 1999-01-26 International Business Machines Corporation Apparatus and method for providing externalization in an object-oriented environment
US6282581B1 (en) * 1997-03-27 2001-08-28 Hewlett-Packard Company Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment
US6189046B1 (en) * 1997-03-27 2001-02-13 Hewlett-Packard Company Mechanism and method for merging cached location information in a distributed object environment
US6104716A (en) * 1997-03-28 2000-08-15 International Business Machines Corporation Method and apparatus for lightweight secure communication tunneling over the internet
US6408342B1 (en) * 1997-03-28 2002-06-18 Keith E. Moore Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US5999988A (en) * 1997-03-31 1999-12-07 Sun Microsystems, Inc. Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems
US5890158A (en) 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US6247091B1 (en) 1997-04-28 2001-06-12 International Business Machines Corporation Method and system for communicating interrupts between nodes of a multinode computer system
US6157960A (en) * 1997-05-07 2000-12-05 International Business Machines Corporation Technique for programmatically creating distributed object programs
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US5991808A (en) * 1997-06-02 1999-11-23 Digital Equipment Corporation Task processing optimization in a multiprocessor system
US5808911A (en) 1997-06-19 1998-09-15 Sun Microsystems, Inc. System and method for remote object resource management
US5878411A (en) 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US5887134A (en) 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6052724A (en) * 1997-09-02 2000-04-18 Novell Inc Method and system for managing a directory service
US5946694A (en) 1997-09-29 1999-08-31 International Business Machines Corporation Apparatus and method for transparent application of service to business objects
US5951652A (en) 1997-10-06 1999-09-14 Ncr Corporation Dependable data element synchronization mechanism
US6061699A (en) 1997-11-03 2000-05-09 International Business Machines Corporation Method and computer program product for extracting translatable material from browser program function codes using variables for displaying MRI
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
US6032151A (en) 1997-11-17 2000-02-29 Sun Microsystems, Inc. Database system employing polymorphic entry and entry matching
US6167449A (en) * 1997-11-19 2000-12-26 Apple Computer, Inc. System and method for identifying and locating services on multiple heterogeneous networks using a query by type
US6016496A (en) 1997-11-20 2000-01-18 International Business Machines Corporation Method and apparatus for an object-oriented object for retrieving information from local and remote databases
US6009103A (en) 1997-12-23 1999-12-28 Mediaone Group, Inc. Method and system for automatic allocation of resources in a network
US5963947A (en) 1998-01-27 1999-10-05 International Business Machines Corporation Technique of dynamically adding functionality from a client to manipulated data at a server
US6023586A (en) 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
US6026414A (en) 1998-03-05 2000-02-15 International Business Machines Corporation System including a proxy client to backup files in a distributed computing environment
US6093216A (en) 1998-05-29 2000-07-25 Intel Corporation Method of run-time tracking of object references in Java programs
US6185602B1 (en) 1998-06-29 2001-02-06 Sony Corporation Multi-user interaction of multimedia communication
US6108346A (en) 1998-08-27 2000-08-22 Xiox Corporation Combined synchronous and asynchronous message transmission
US6385643B1 (en) * 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
US6301613B1 (en) * 1998-12-03 2001-10-09 Cisco Technology, Inc. Verifying that a network management policy used by a computer system can be satisfied and is feasible for use
US6282568B1 (en) 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network
US6216158B1 (en) 1999-01-25 2001-04-10 3Com Corporation System and method using a palm sized computer to control network devices
US6578074B1 (en) * 1999-06-25 2003-06-10 Mediaone Group, Inc. Provisioning server enhancement
JP2002132739A (ja) * 2000-10-23 2002-05-10 Nec Corp スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体

Also Published As

Publication number Publication date
SG70006A1 (en) 2000-01-25
US6654793B1 (en) 2003-11-25
US6938263B2 (en) 2005-08-30
CN1103963C (zh) 2003-03-26
US7058954B1 (en) 2006-06-06
KR970071321A (ko) 1997-11-07
TW385396B (en) 2000-03-21
JPH1083308A (ja) 1998-03-31
EP0803811A2 (en) 1997-10-29
US20030084204A1 (en) 2003-05-01
EP0803811A3 (en) 2000-12-06

Similar Documents

Publication Publication Date Title
CN1103963C (zh) 便于“占位程序”信息动态加载处理的系统和方法
US5815709A (en) System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US5539909A (en) Negotiation method for calling procedures located within other objects without knowledge of their calling syntax
US6904597B2 (en) Inter-thread communications between different components using double buffer
US6393458B1 (en) Method and apparatus for load balancing in a distributed object architecture
US6636900B2 (en) Method and apparatus for executing distributed objects over a network
CN1113290C (zh) 为应用程序透明地加载只读存储器中的资源的系统和方法
US7469405B2 (en) System and method for scheduling execution of cross-platform computer processes
US20090282395A1 (en) Common class loaders
CA2428404A1 (en) Information provider
CN112148610A (zh) 测试用例执行方法、装置、计算机设备和存储介质
US20080209447A1 (en) Pooling stateful session enterprise java beans for reuse
US10114620B2 (en) Manager superclass method for displaying a component in different segments of a web page
CN115344533A (zh) 微服务日志检索方法、系统、控制装置及存储介质
EP1058884A1 (en) Method and system for facilitating access to a lookup service
CN114077446B (zh) 一种通讯模组调用系统
CN112363843B (zh) 任务处理方法、装置及设备
CN112740230B (zh) 数据标注系统、方法和数据标注管理器
CN113934512A (zh) 负载均衡实现方法、装置、设备及存储介质
US6795969B2 (en) Transfer of basic knowledge to agents
CN114064213A (zh) 基于Kubernets容器环境的快速编排服务方法及系统
EP1544733B1 (en) Data processing system and method
US6412001B1 (en) Method to monitor and control server applications using low cost covert channels
US20080294642A1 (en) Remote service system and method for functionally constrained data processing devices
EP0860776A1 (en) Inter-object communication method

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee