CN1127231C - 程序与用户之间交互的实现方法及其设备 - Google Patents

程序与用户之间交互的实现方法及其设备 Download PDF

Info

Publication number
CN1127231C
CN1127231C CN99110511A CN99110511A CN1127231C CN 1127231 C CN1127231 C CN 1127231C CN 99110511 A CN99110511 A CN 99110511A CN 99110511 A CN99110511 A CN 99110511A CN 1127231 C CN1127231 C CN 1127231C
Authority
CN
China
Prior art keywords
program
user
server
described program
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN99110511A
Other languages
English (en)
Other versions
CN1246757A (zh
Inventor
阿加·默因吉
阿普拉蒂姆·普拉卡亚萨
戴维·米切尔·绍菲
威廉·哈罗德·特兹拉夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1246757A publication Critical patent/CN1246757A/zh
Application granted granted Critical
Publication of CN1127231C publication Critical patent/CN1127231C/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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明所提出的系统和方法使移动用户或与移动式程序交互的用户能在任何时候发起程序状态请求。程序状态请求引发一系列事件,确定程序的当前位置和/或使程序可以得到用户的当前位置而不必哪个实体改变位置。此外,程序的代理脚本维护一个复合数据结构,它包括:一个存储输入变量的输入缓存区,一个存储需向用户显示的输出值的输出缓存区,一个程序状态数据结构,以及一个可选的暂时存储程序在将来执行的过程中要用到的输入值的数据袋缓存区。

Description

程序与用户之间交互的实现方法及其设备
技术领域
本发明与计算机程序的输入和输出功能有关。具体地说,本发明与使程序与用户(其中一方或双方是移动的)之间的交互与位置无关和对位置透明的技术有关。
背景技术
为了支持一个用户与一个程序之间的交互,当前的系统要求用户和程序一直都知道对方的位置。如果诸如移动式代理程序(mobile agentprogram)那样的一个程序移动到了一个不同的主机,那么它必需返回到用户位置或通过在用户位置的另一个程序进行通信,以便接收来自用户的输入或向用户显示输出。这在用户是移动用户(例如用的是膝上型或手持型设备)时就成为一个问题,因为此时通常已不是发出这个程序的原来位置了。类似,如果一个用户选择移动到网络的另一个位置,为了给这个程序提供输入或从这个程序接收输入,用户必需访问执行这个程序的机器。
在现有技术的系统中,程序与用户之间的交互是利用标准的输入和输出结构处理的。例如,在C编程语言中,输入结构是“scanf()”函数,而输出结构是“prinf()”函数。在Java语言中,输入是利用诸如“java.io.InputStreamReader”和“java.io.InputStream”那样的类中的方法执行的,而输出是利用诸如“java.io.PrintWrite”和“java.io.PrintStream”那样的类中的方法执行的。对于这样一些程序,用户和程序双方必需处在同一位置。
在传统的移动式代理系统中,诸如在1997年2月11日颁布的美国专利No.5,603,031“网络中过程的基于运动的分布计算、执行和交互的系统和方法”(“System and Method for Distributed ComputationBased Upon the Movement,Execution,and Interaction of Processes in aNetwork”,by white et al.)中和在“IBM Aglets工作台-Jave中的编程移动式代理”(“IBM Aglets workbench-Programming MobileAgents in Java”,Proceedings of 1997 World Wide Computing and ItsApplications,Japan pp.253-266 by Lange et al)中所说明的那些,程序在一个主机位置执行它的部分代码,然后移动到另一个主机位置,执行下一部分代码,如此等等。在这样一个系统中一个移动式代理与一个用户之间的交互是通过在要向用户显示数据和/或从用户接收输入时使代理移动到用户的机器执行来实现的。
这些传统的系统具有以下三个主要缺点。第一,程序和用户双方必需始终知道对方的位置。第二,在一个程序必需移动到用户位置执行的情况下,用户的机器必需具备主机可利用的相应程序执行环境,并且在任何时候都能执行这个程序。第三,虽然有着在一个程序开始执行前向这个程序提供初始化参数的机制,但在程序开始执行后这些系统并没有允许用户在程序执行期间和/或在程序请求前确定程序的执行状态和向程序提供输入的机制。
发明内容
本发明的一个目的是提供一种允许在用户和程序两个实体之间不需要一直知道对方实体的位置的情况下进行输入和输出的系统和方法。
本发明的另一个目的是提供一种允许在用户和程序之间进行输入和输出而并不要求用户的机器具备程序可运行的执行环境的系统和方法。
本发明的又一个目的是使用户可以确定一个移动式程序在执行期间的状态和向一个程序在执行期间和实际需要输入前提供输入。
本发明的这些和其他一些目的是通过本发明所提供的移动用户或与移动式程序交互的用户可以在任何时候发出一个程序状态请求的系统和方法来实现的。这个程序状态请求产生一系列事件,从而可以确定程序的当前位置和/或使程序可以得到用户的当前位置,不必哪个实体改变位置。此外,程序的代理脚本维护一个复合数据结构,它包括:一个存储输入变量的输入缓冲区,一个存储需向用户显示的输出值的输出缓冲区,一个程序状态数据结构,以及一个可选的暂时存储程序在将来执行的过程中要用到的输入值的数据袋(bag)缓冲区。通过维护这样一个复合数据结构,保证了在一个程序位置能提供所有必要信息,无论程序或用户是否已经改变了位置。
本发明提供了在包括多个服务器和至少一个客户机的网络中,一种使一个程序与所述至少一个客户机的一个用户之间的交互能与所述程序和用户的相互位置无关并对该位置透明的方法,所述程序已在一个第一位置服务器处启动并具有一个用于至少存储程序状态的程序状态数据结构,所述方法包括下列步骤:由所述用户向网络发起一个针对所述程序的程序状态请求;由所述多个服务器中的至少一个确定所述程序驻留于其中的当前位置服务器;在所述当前位置服务器中检查所述程序状态以确定程序状态;以及根据所述程序状态使得所述用户与所述程序进行交互。
附图说明
下面将结合附图对本发明进行说明。在这些附图中:
图1示出了可以采用本发明的一个联网系统;
图2例示了一个带有输入和输出语句的代理脚本;
图3示出了按本发明的一种情况构成的移动式代理脚本的相关数据结构的实施例;
图4示出了本发明用图1系统的代理执行外壳处理输入和输出的逻辑的实施例;
图5示出了本发明处理用户对状态的请求的逻辑的实施例;以及
图6a、6b、6c和6d例示了用户从一个地理位置发出脚本而在运动中不断监视程序、观察程序结果和按需要提供输入值的情况。
具体实施方式
下面列出了本说明中所使用的一些术语的定义。
主机(host或host machine)是一个可以执行程序的计算机系统,如大型计算机、桌面个人计算机、便携型膝上计算机等。
网络(network)是一个由一些物理和逻辑通信设施互联的主机构成的集合体。
用户(user)是网络环境中的使用人员。
客户机(client)是用户的网络接口,可以是计算机、手持便携型设备等具有通信能力的设备。
程序(program)是一个在主机上执行的指令序列。
移动式程序(mobile program)是一个诸如移动式代理(mobileagent)那样的程序,可以从一个主机移动到另一个主机,在每个主机上执行它的指令中的某些指令。
代理服务器(Agent Server)是一个具有执行移动式代理的环境的主机。
代理执行外壳(Agent Execution Shell AES)是移动式代理执行它的部分指令的主机的代理服务器的软件子系统。
下面以程序是一个诸如移动式代理那样的移动式程序为背景对本发明的优选实施例进行说明。
图1示出了一个可以采用本发明的系统。联网系统100将系统内的起着不同作用的计算机连接起来。能运行诸如OS/2、UNIX、AIX或Windows NT那样的传统的操作系统的计算机102、104a、104b和106通过通信网108和通信协议连接。通信协议可以是例如能按UDP/IP或TCP/IP运行的Sun Microsystems RPC。网络108可以是一个LAN、互联网或内部网。客户机102和代理服务器104a和104b可以用诸如IBMPC那样的传统的个人计算机(PC)来实现。每个计算机都配有一个传统的通信系统112,例如在操作系统内的TCP/IP堆栈,用来在网络108上进行通信。或者,客户机也可以是手持式便携移动设备,如PalmPilot或智能型蜂窝电话机。这些移动设备可以利用蜂窝电话技术、红外通信装置或其他等效装置运行专用操作系统,接到通信网108上。注意,客户机102与代理服务器104a、104b之间的差别可以是逻辑上的或物理上的,客户机不需要能提供有关程序的执行环境。
虽然图1中只示出一个客户机,但实际上在系统100内可以有许多客户机。客户机102利用一个称为代理个人助理(Agent PersonalAssistant APA)110的子系统编发代理程序。除了编发代理以外,这个子系统还能调试、更新和检验代理状态。这种子系统可参见1997年5月1日收编的Devarakonda等人的美国专利申请No.08/847,079“动态移动式代理”(“Dynamic Mobile Agents”)。在本发明中,推荐将APA 100作为一个带web接口的应用加以实现。APA 110与web服务机106内的桌面型服务机114交互,执行这些任务。
系统100中可以有多个代理服务器。代理服务器104a、104b各支持一个包括一个称为代理执行外壳(Agent Execution Shell AES)120的软件子系统的执行环境。AES 120起着独自协调代理执行的作用,维护一个含有所有当前有效代理的状态的表。每个代理服务器还维护至少一个记录各移动式代理的来去位置的路由表。
图2示出了配合本发明使用的代理代码的典型例子。在一台机器上执行了某些运算后,代理移动到下一个主机Q(步骤200)。这个主机Q可以在代码内加以规定,也可以如在上述专利申请中所说明的那样动态地确定,该申请的内容列作本申请的参考。代理代码可以含有提供输出的结构PRINT和从机器Q读输入值的结构READ。如图所示,在步骤202a,PRINT结构使代理能向用户显示结果;而在步骤204a,READ结构使代理能请求用户进行输入。按要求完成了诸如执行READ、PRINT或其他指令的运算后,在步骤206,代理移动到机器R。同样,代理代码可以含有PRINT结构和READ结构,分别在步骤202b和204b执行。在步骤208,代码完成执行。
图3示出了按照本发明与代理脚本302配合在网络108内移动的复合数据结构。虽然复合数据结构各成分的内容随着代理脚本的移动改变,但数据结构各成分,如数据袋304、STDOUT 306、STDIN 308和程序状态310,始终是保持着的。“数据袋”304是一个缓冲区,用来存储预置或根据以后程序需要动态输入的一组变量名/值对。在程序需要输入时,代理脚本对数据袋的内容进行检查,确定变量的值的位置,检索出这些值。对于一个具体变量名的值可能是一组要依次返回的值,供以后对这个变量名的请求使用。如果数据袋中没有所需变量的值,代理脚本就会暂停,等待用户输入所需数据。数据袋缓冲区可以设计成一个数组、散列表、元组空间或其他等效的数据结构。“STDOUT”缓冲区306存有一个代理产生的所有输出。STDOUT缓冲区306的内容在受到请求时向用户显示。“STDIN”缓冲区308存有一个代理等待用户输入值的变量名。STDIN缓冲区308由AES 120用来将输入变量的值通知代理脚本。最后,还有程序、堆栈和变量数据结构,用来表示代理脚本的程序状态310。
图4示出了AES 120的一个实施例在执行代理的程序语句时所完成的方法步骤。图4中只示出与本发明有关的语句。在步骤402,AES 120检查下一个需执行的语句。在步骤404,AES确定这个语句是否为END语句。如果是END语句,AES在步骤406终止执行代理。如果不是END语句,AES在步骤408确定这个语句是否为PRINT语句。如果是PRINT语句,AES 120在步骤410从程序状态310检索出PRINT语句变元的值,按预定格式将这些值存入STDOUT缓冲区306。每个代理都配有一个STDOUT缓冲区306。然后,AES 120返回步骤402,继续执行代理。
如果在步骤408确定这个语句不是PRINT语句,AES 120就在步骤412确定这个语句是否为READ语句。如果是READ语句,AES 120就在步骤424所需的变量值是否在数据袋304内。如果这些值从数据袋304内可以得到,就在步骤426从数据袋304中取出这些值。变量更新后,AES 120返回步骤402,继续执行程序。如果在步骤424确定得不到这些值,AES 120就在步骤414将READ语句的变元名写入STDIN缓冲区308。然后,按需要AES 120在步骤416可以通过诸如寻呼机/报警器/电子邮件之类的电子装置通知用户需要输入。通知方式可由用户在编发代理脚本时规定。
在步骤418,AES 120暂停执行程序,等待输入值可以取得的通知。将输入值通知AES 120的逻辑将在下面结合图5说明。AES 120在步骤420接收到通知后,就在步骤422用这些新的值更新程序状态310,再返回步骤402,继续执行程序。AES 120可以还更新数据袋的内容,如果用户提供了知道程序在以后的一些步骤还要用到的输入的话。如果在步骤412确定语句不是READ语句,AES 120就在步骤422按需要处理其他语句后返回步骤402,继续执行程序。在一个优化的实施例中,数据袋的全部内容可能在某个时间耗尽(假设数据袋含有多于立即要求输入的内容),从而在需要时使用耗尽的输入不必在每个程序执行输入连接点再检查数据袋内容。
图5示出了在本发明的一个实施例中用户与一个代理交互的步骤。用户从APA 110发起一个状态请求。这个请求由APA 110转给web服务器的桌面型服务器114。然后,桌面型服务器114再将这个请求作为一个STATUS请求转给初始编发这个代理的代理服务器的AES 120。在步骤502,AES 120接收到桌面型服务器114转来的STATUS请求。接着在步骤504,AES 120从内部状态表检索出代理状态。于是在步骤506,AES 120确定这个代理是否仍在本处执行。如果代理不再在本处执行,AES 120就在步骤508检查它的路由表,将STATUS请求转给发送这个代理的位置(于是,在下一个机器上从步骤502开始重新继续执行)。
如果在步骤506确定代理当前在本处执行,AES 120就在步骤510对与代理状态关联的STDOUT缓冲区306和STDIN缓冲区308进行检索。如果STDIN缓冲区不是空的,需要输入,AES还指出代理的当前逻辑地址。在步骤512,AES 120向含有STDOUT缓冲区306和STDIN缓冲区308的桌面型服务器114发送一个消息。如果STDIN是空的,AES 120也在消息中发送出代理的当前逻辑地址,这样就可以正确地传送用户输入。
在步骤514,桌面型服务器114接收到对STATUS请求的回答。桌面型服务器114从消息中提取STDOUT和STDIN缓冲区的内容。在步骤516,桌面型服务器114通过APA 110向用户显示STDOUT缓冲区的内容。如果STDIN缓冲区不是空的,桌面型服务器114还请求用户进行输入。接收到用户输入,桌面型服务器114就在步骤518向代理当前所在的AES 120发送一个消息,将新的值通知代理,如果必要的话还更新缓冲区。如图4中所示,接收到通知后代理重新继续执行。
图6a-d示出了本发明根据图2所示的示例脚本执行的具有代表性的处理流程。在图6a中,处在位置P的用户602将一个移动式脚本302从客户机102a发送到覆盖位置P、Q和R的通信网108上。代理服务器104a配置在位置Q。代理服务器104b和web服务器106配置在位置R。执行某些运算后,移动式脚本302移动到位置Q。
在图6b中,脚本在位置Q执行PRINT语句。作为执行结果,PRINT语句的输出“Iam at machine Q”(“我在机器Q处”)存入STDOUT缓冲区。然后,脚本302执行语句“READ A”。由于A值在数据袋中没有,不可得到,因此脚本302可选地向用户602发送通知,等待回答。通知用户可以利用诸如报警器、寻呼机、电子邮件、智能电话或手持型便携移动设备之类的技术实现。用户检验脚本302的状态(如结合图5所作的说明那样)后,用户602向脚本302提供变量A的值。此外,在一种可选用的最佳化情况下,用户也向脚本302提供变量B的值。接收到这些值后,脚本302继续执行,立即使用掉变量A的值。由于变量B的值脚本302还不需要,因此将它置入与脚本302关联的数据袋内(见图6c)。然后,脚本302移动到在位置R处的代理服务器104b。
在图6d中,脚本302在位置R执行PRINT语句,从而产生输出“I am at machine R”(“我在机器R处”)。然后,脚本302执行语句“READ B”。由于变量B的值已在数据袋内,可以取得,因此程序从数据袋内检索出这个值,完成执行,而不需要准备和向用户发送通知。显然,用户可以输入多于一个的额外值,存入数据袋以备程序以后使用。
以上以优选实施例为例对本发明作了说明,然而,对于熟悉本技术领域的人员来说各种修改和改进都是显而易见的。因此,可以理解,这个优选实施例只是作为一个例子而不是限制。例如,随着通知一起可以将STDOUT缓冲区306的内容发送给用户设备,如果它能接收这种数据的话(例如是寻呼机或智能电话机)。此外,一个使用本发明的系统的用户也可以选择通过电子邮件与一个特定的AES通信。本发明的专利保护范围由所附权利要求书给出。

Claims (17)

1.在包括多个服务器和至少一个客户机的网络中,一种使一个程序与所述至少一个客户机的一个用户之间的交互能与所述程序和用户的相互位置无关并对该位置透明的方法,所述程序已在一个第一位置服务器处启动并具有一个用于至少存储程序状态的程序状态数据结构,所述方法包括下列步骤:
由所述用户向网络发起一个针对所述程序的程序状态请求;
由所述多个服务器中的至少一个确定所述程序驻留于其中的当前位置服务器;
在所述当前位置服务器中检查所述程序状态以确定程序状态;以及
根据所述程序状态使得所述用户与所述程序进行交互。
2.权利要求1的方法,其中所述使得所述用户与所述程序进行交互包括:
从要提供给所述至少一个客户机的所述程序检索出需向用户显示的输出内容;以及
在所述至少一个客户机上向所述用户显示输出内容。
3.权利要求1的方法,其中所述使得所述用户与所述程序进行交互包括:
从所述用户请求输入变量;
将任何接收到的输入值发送到所述当前位置服务器;以及
在所述程序状态数据结构中加入接收到的输入值。
4.权利要求1的方法,其中所述程序是一个移动式代理。
5.权利要求1的方法,其中所述程序是一个移动式脚本。
6.权利要求1的方法,其中所述用户是一个移动用户。
7.权利要求2的方法,所述方法还包括在所述程序中维护一个输出缓冲区的步骤,并且其中所述检索包括从所述输出缓冲区检索输出内容的步骤。
8.权利要求1的方法,其中所述发起请求的步骤包括下列步骤:
在所述至少一个客户机上发起所述状态请求;以及
将所述状态请求转至所述第一位置服务器。
9.权利要求8的方法,其中所述程序包括一个在所述多个服务器中的多个执行服务器的每个执行服务器上执行其部分代码的移动式程序,并且其中所述确定步骤包括下列步骤:
将所述状态请求发送给所述程序已在其上执行了部分程序代码的每个执行服务器;以及
在每个执行服务器确定所述程序当前是否在本机运行。
10.权利要求9的方法,其中所述多个执行服务器中的每一个都维护所述程序的路由信息,并且其中如果所述程序当前不在本机运行,则所述确定步骤还包括查询所述路由信息,以确定所述程序已被传送到的至少一个后继的执行服务器。
11.权利要求1的方法,还包括下列步骤:
维护所述程序内的包含变量/值对的数据袋缓冲区;
可选择地从用户接收包括输入值的通信;以及
在所述程序需要所述输入值之前,暂时将所述输入值存储在所述数据袋缓冲区内。
12.权利要求11的方法,其中所述程序在尝试向所述用户请求输入前,先搜索所述数据袋缓冲区的内容以确定所需输入值的位置。
13.权利要求1的方法,所述方法还包括维护所述程序内的包含变量/值对的一个数据袋缓冲区的步骤,并且其中所述使得所述用户和所述程序进行交互的步骤包括下列步骤:
在数据袋缓冲区内搜索与所述程序请求的输入变量相关联的输入值;
如果找到,则用所述输入值更新所述输入变量;
如果没有找到,则将所述输入变量置于一个输入缓冲区内;以及
如果在数据袋缓冲区内没有找到适当值,则可选择地通过电子设备通知用户。
14.权利要求13的方法,其中所述电子设备是一个寻呼机。
15.权利要求13的方法,其中所述电子设备是一个报警器。
16.权利要求13的方法,其中所述电子设备是一个电子邮件。
17.权利要求13的方法,其中所述电子设备是一个智能电话机。
CN99110511A 1998-08-31 1999-07-21 程序与用户之间交互的实现方法及其设备 Expired - Fee Related CN1127231C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/143,892 US6356964B1 (en) 1998-08-31 1998-08-31 Method and apparatus for enabling location-independent and location-transparent interaction between a program and a user
US09/143,892 1998-08-31

Publications (2)

Publication Number Publication Date
CN1246757A CN1246757A (zh) 2000-03-08
CN1127231C true CN1127231C (zh) 2003-11-05

Family

ID=22506132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99110511A Expired - Fee Related CN1127231C (zh) 1998-08-31 1999-07-21 程序与用户之间交互的实现方法及其设备

Country Status (5)

Country Link
US (2) US6356964B1 (zh)
JP (2) JP3965005B2 (zh)
KR (1) KR20000017510A (zh)
CN (1) CN1127231C (zh)
GB (1) GB2343769B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3738624B2 (ja) * 1999-10-26 2006-01-25 日本電気株式会社 分散アプリケーション制御システム及び制御方法並びにプログラムを記録した記録媒体
US6711619B1 (en) * 1999-12-15 2004-03-23 Hewlett-Packard Development Company, L.P. Method, system, and apparatus for distributing and using computer-based applications over a network
CA2376900A1 (en) 2001-03-16 2002-09-16 Fuji Photo Film Co., Ltd. Multicolor image-forming material
JP2003271396A (ja) * 2002-03-15 2003-09-26 Shuji Yamada 制御用プログラム及びその開発ツール
US7437733B2 (en) * 2002-07-29 2008-10-14 Topia Technology, Inc. System and method for using a mobile agent object to collect data
CA2494122A1 (en) * 2002-07-31 2004-02-12 Truecontext Corporation Contextual computing system
US8090844B2 (en) * 2004-10-08 2012-01-03 Truecontext Corporation Content management across shared, mobile file systems
US8799242B2 (en) 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
EP1842140A4 (en) * 2005-01-19 2012-01-04 Truecontext Corp APPLICATIONS BASED ON MOBILE FORMS ORDERED BY RULES
CN104813306B (zh) * 2012-11-21 2017-07-04 相干逻辑公司 具有散布处理器dma‑fifo的处理系统
CN106648817B (zh) * 2016-12-09 2020-07-28 北京酷我科技有限公司 一种跨平台的数据对象传输方法
JP6475880B1 (ja) 2018-03-22 2019-02-27 株式会社フジクラ 難燃性樹脂組成物、これを用いた絶縁電線、ケーブル及び光ファイバケーブル

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0782473B2 (ja) * 1987-08-28 1995-09-06 株式会社日立製作所 ユーザインタフェース管理装置とその方法
JP2824256B2 (ja) * 1988-01-27 1998-11-11 富士通株式会社 文字表示システム
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
US5884028A (en) * 1994-07-29 1999-03-16 International Business Machines Corporation System for the management of multiple time-critical data streams
US6029064A (en) * 1995-01-12 2000-02-22 Bell Atlantic Network Services, Inc. Mobile audio program selection system using public switched telephone network
US5749081A (en) * 1995-04-06 1998-05-05 Firefly Network, Inc. System and method for recommending items to a user
US5752246A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Service agent for fulfilling requests of a web browser
US5790800A (en) * 1995-10-13 1998-08-04 Digital Equipment Corporation Client application program mobilizer
US6119101A (en) * 1996-01-17 2000-09-12 Personal Agents, Inc. Intelligent agents for electronic commerce
US6286002B1 (en) * 1996-01-17 2001-09-04 @Yourcommand System and method for storing and searching buy and sell information of a marketplace
US5901287A (en) * 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
JP3952544B2 (ja) * 1996-09-17 2007-08-01 株式会社東芝 分散システム
WO1998013756A1 (en) * 1996-09-27 1998-04-02 Corporation For National Research Initiatives A system for distributed task execution
JP3003596B2 (ja) * 1996-10-18 2000-01-31 日本電気株式会社 クライアントサーバシステム
US6018654A (en) * 1996-10-29 2000-01-25 Ericsson Inc Method and apparatus for downloading tones to mobile terminals
GB2319862A (en) * 1996-11-28 1998-06-03 Ibm Performing computer-based on-line commerce using an intelligent agent
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US5892905A (en) * 1996-12-23 1999-04-06 International Business Machines Corporation Computer apparatus and method for providing a common user interface for software applications accessed via the world-wide web
US6125384A (en) * 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6065040A (en) * 1997-07-07 2000-05-16 International Business Machines Corporation Computer system having agent retracting method and agent returning method
US6009456A (en) * 1997-07-30 1999-12-28 Lockheed Martin Corp. Information exchange by intelligent mobile agents in a network
GB2332288A (en) * 1997-12-10 1999-06-16 Northern Telecom Ltd agent enabling technology
US6427142B1 (en) * 1998-01-06 2002-07-30 Chi Systems, Inc. Intelligent agent workbench
US6442663B1 (en) * 1998-06-19 2002-08-27 Board Of Supervisors Of Louisiana University And Agricultural And Mechanical College Data collection and restoration for homogeneous or heterogeneous process migration

Also Published As

Publication number Publication date
US20020078277A1 (en) 2002-06-20
JP2000105752A (ja) 2000-04-11
GB9919416D0 (en) 1999-10-20
KR20000017510A (ko) 2000-03-25
JP4038167B2 (ja) 2008-01-23
JP2004094969A (ja) 2004-03-25
US6356964B1 (en) 2002-03-12
GB2343769B (en) 2003-07-16
JP3965005B2 (ja) 2007-08-22
CN1246757A (zh) 2000-03-08
GB2343769A (en) 2000-05-17

Similar Documents

Publication Publication Date Title
CN1127231C (zh) 程序与用户之间交互的实现方法及其设备
US6098093A (en) Maintaining sessions in a clustered server environment
CN1291315C (zh) 有状态程序实体的数据处理方法和系统
Wojciechowski et al. Nomadic pict: Language and infrastructure design for mobile agents
US20050278422A1 (en) Network-based remote data storage system having multiple access interfaces
US20020144003A1 (en) Inter-thread communications between different components using double buffer
CN101080724A (zh) 用于提供数字版权管理的方法和设备
CN1234218C (zh) 通信设备中具有等级结构事件的处理方法
CN1806414A (zh) 用于管理集群计算机的配置的方法、控制器、设备和计算机程序
US7149800B2 (en) Auditing computer systems components in a network
CN1201943A (zh) 通过分布式编程对象进行主机信息访问
EP1872211A1 (en) Method and system for executing a container-managed application on a processing device
CN1526096A (zh) 无线设备上系统服务的动态下载和执行
US7954085B2 (en) Support for multiple interface versions
JPH06259358A (ja) 標準プロトコルを用いるアプリケーション管理方法
Abel Spatial internet marketplaces: A grand challenge?
CN1152338C (zh) 一种并行处理分布式数据库的方法和装置
CN1337622A (zh) 在实时多任务操作系统中建立嵌入式图形化用户界面的方法
JP2004094411A (ja) 広域ネットワーク内の透過的な作業環境を有するシン−クライアントのローミングシステムおよび方法
CN1258151C (zh) 发送用于目标服务执行操作的请求的方法和系统
CN1393771A (zh) 一种快速消除数据库差异信息的方法
CN1176423C (zh) 主机板测试程序处理系统及方法
US6804339B1 (en) Real-time object-oriented database for TAPI service providers
CN1271541C (zh) 一种机群管理系统及其信息处理方法
CN1538319A (zh) 多处理单元环境下统一输入输出方法及设备

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20031105

Termination date: 20120721