CN1710907A - 用于使用上下文交换列举会话的灵活上下文管理 - Google Patents

用于使用上下文交换列举会话的灵活上下文管理 Download PDF

Info

Publication number
CN1710907A
CN1710907A CNA2005100746535A CN200510074653A CN1710907A CN 1710907 A CN1710907 A CN 1710907A CN A2005100746535 A CNA2005100746535 A CN A2005100746535A CN 200510074653 A CN200510074653 A CN 200510074653A CN 1710907 A CN1710907 A CN 1710907A
Authority
CN
China
Prior art keywords
action
computing system
receiving person
data receiving
data item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005100746535A
Other languages
English (en)
Inventor
A·S·盖勒
D·F·博克斯
L·F·卡布莱拉
R·W·麦克考伦
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1710907A publication Critical patent/CN1710907A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B09DISPOSAL OF SOLID WASTE; RECLAMATION OF CONTAMINATED SOIL
    • B09BDISPOSAL OF SOLID WASTE
    • B09B3/00Destroying solid waste or transforming solid waste into something useful or harmless
    • B09B3/40Destroying solid waste or transforming solid waste into something useful or harmless involving thermal treatment, e.g. evaporation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B02CRUSHING, PULVERISING, OR DISINTEGRATING; PREPARATORY TREATMENT OF GRAIN FOR MILLING
    • B02CCRUSHING, PULVERISING, OR DISINTEGRATING IN GENERAL; MILLING GRAIN
    • B02C21/00Disintegrating plant with or without drying of the material
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L2209/00Aspects relating to disinfection, sterilisation or deodorisation of air
    • A61L2209/10Apparatus features

Abstract

用于在请求驱动的列举会话中,提供所请求的数据项,同时保留对多少消息间上下文信息由数据提供者保留的控制的机制。在接收对数据项的请求时,数据提供者识别将在第一响应中提供的数据项的一部分以及反映已经提供第一部分的信息的上下文信息。然后,数据提供者确定多少上下文将被提供给数据接收者系统,然后,向数据接收者提供适当的上下文信息。此外,数据提供者提供包括数据项的第一部分的响应。数据接收者将该第一提供上下文信息包括在对数据项的下一部分的第二请求中,以允许数据传输会话的连续性。

Description

用于使用上下文交换列举会话的灵活上下文管理
技术领域
本发明涉及计算技术;更具体地说,涉及多个响应中的多个数据项的网络分发同时控制哪一计算系统管理用于通信的上下文信息。
背景技术
计算技术已经转变了我们工作和玩耍的方式。计算系统现在采用多种形式,包括台式计算机、膝上型计算机、图形输入板PC、个人数字助理(PDA)、家用设备等等。在其最基本的形式中,计算系统包括系统存储器和一个或多个处理器。可以由处理器执行系统存储器中的软件以便引导计算系统的其它硬件执行所需功能。
连网技术允许计算系统甚至在非常远的距离上通信,从而扩充计算机的功能。例如,连网技术允许诸如电子邮件、Web浏览、文件传输、即时消息通信、电子白板、网络协作等等的应用。
某些连网应用包含大量信息的传输。例如,可能期望下载大小为几千万亿字节大小的数据库。即使在高带宽网络上,这也花费许多天。即使在相当可靠的网络环境中,也存在网络连接不能被维护那整个周期的相当大的可能性。如果连接丢失,通常必须从开始重启整个数据传输。
用于改进大数据传输的可靠性和效率的一种传统方法是以单个电子消息,每次发送该数据的一个部分。有时,响应于单个请求,可以自动地完成。然而,为允许数据接收者对数据传输过程上的某些控制,数据接收者可以提交对包含整个数据传输的一部分的每个电子消息的请求。例如,网站具有与其相关联的大量数据,包括网页、图像、声音文件、其它多媒体、脚本等等。Web浏览器通常提交对这些数据项的每一个的单独的请求。该技术将称为“请求驱动列举技术”,其中,在对单独请求的单独响应中,每次“列举”数据项集合的一个部分。
为满足数据接收者计算系统的期望,在其适当的上下文中理解每个请求非常重要。例如,假定总共将传输50个数据项,在对五个不同请求的五个响应的会话中,每次10个数据项。当提交第一请求时,对数据提供者来说,重要的是不仅要了解50个数据项的身份,而且也了解这是第一请求。那样,数据提供者知道传送数据项的前十个。当接收第二请求时,对数据提供者来说,重要的是了解已经提供了前十个数据项。否则,数据提供者会再次提供前十项。因此,在请求驱动的列举技术中,数据提供者必须具有用于请求的适当的上下文。在本说明书和权利要求书中,请求驱动的列举技术会话中的用于请求的“上下文”被定义为对于数据提供者知道响应于该请求提供数据项的哪一部分所需或有用的任何信息。
因此,用于维护该上下文信息的责任是静态的。例如,数据提供者可以维护用于到特定数据接收者的大量数据传输的会话信息。该会话信息可以包括上下文信息。在其它传统的技术中,数据接收者维护上下文信息。上下文信息由数据提供者提供给数据接收者。然后,数据接收者将该上下文信息包括在用于数据项集合的下一部分的下一请求中。无论哪一系统管理上下文信息,用于管理上下文信息的责任在启动数据传输会话时是预定的。此外,上下文管理责任不倾向于随会话生存期而改变。
根据周围环境来维护上下文信息对数据提供者或数据接收者是有利的。这些周围环境的许多极其动态。因此,什么有利是用于允许数据提供者计算系统在管理用于数据传输会话的上下文信息时,在数据提供者和数据接收者之间的劳动的分配上具有更大的灵活性和动态控制的机制。
发明内容
通过本发明的原理克服了现有技术的上述问题,这些原理针对一种由数据提供者计算系统用于在请求驱动的列举会话中提供所请求的数据项的机制,其中,响应于来自数据接收者计算系统的单独的请求,提供所请求的数据项的各部分。该机制允许数据提供者控制由数据提供者保留多少消息间上下文信息,以及将多少上下文信息提供给数据接收者。
在接收对将提供给数据接收者的数据项的第一请求时,数据提供者识别将提供给数据接收者的数据项。这一识别至少部分可以基于第一请求内的信息。然后,数据提供者识别将在对应于第一请求的第一响应中提供的数据项的第一部分。另外,识别反映已经提供信息的第一部分的上下文信息。然后,数据提供者确定将多少上下文提供给数据接收者计算系统。然后,数据提供者构造第一响应,它包括数据项的第一部分。数据提供者还向接收者计算系统提供数据提供者认为适当的同样多的上下文信息。
数据接收者将该第一提供的上下文信息包括在数据项的下一部分的第二请求中。数据提供者不需要在请求之间保留该第一提供的上下文信息。相反,数据提供者从第二请求中读取第一提供的上下文信息。这有助于数据提供者识别要发送给数据接收者的数据项的第二部分。然后,数据提供者生成将包括在第二响应中的第二上下文信息。
取决于当前存在的环境,该第二提供的上下文信息可以具有与先前第一提供的上下文信息相同或不同的范围。例如,第一提供的上下文信息可以包括所有上下文信息。如果数据接收者快速地发送第二请求,那么,下一响应可以包括极少或没有上下文信息,因为看起来积极参与的数据接收者使其看起来象请求将快速地连续到来,这意味着数据提供者将不必长时间维护上下文信息。
因此,本发明的原理允许数据提供者根据当前存在的环境更灵活地动态调整其上下文管理中的任务。本发明的另外的特征和优点将在下面的说明书中阐述,并且从该说明书中,部分将是显而易见的,或可以通过实施本发明了解。可以通过在附加权利要求书中特别指出的手段和组合来实现和获得本发明的特征和优点。本发明的这些和其它特征从下述说明书和附加权利要求变得更显而易见,或可以通过在此所述,实施本发明来了解。
附图说明
为描述能获得本发明的上述和其它优点和特征的方式,通过参考在附图中所示的具体实施例,将提供上述简述的本发明的更具体的描述。理解到,这些附图仅描述本发明的典型实施例,因此不应当视为限制其范围,通过使用附图,用另外的特性和细节来描述和说明本发明,附图中:
图1示例说明可以实现本发明的特征的适当的计算系统;
图2示例说明网络环境,其中,根据本发明,使用请求驱动的列举消息交换,数据提供者计算系统向数据接收者计算系统提供多个数据项;
图3示例说明根据本发明的原理,用于由数据提供者计算系统向数据接收者计算系统提供多个数据项,同时允许数据提供者控制上下文管理的平衡的方法的流程图;以及
图4示例说明用于数据接收者与数据接收者计算系统合作以支持数据提供者计算系统控制两个计算系统间的上下文管理责任的平衡的方法的流程图。
具体实施方式
本发明的原理涉及数据提供者计算系统在请求驱动的列举会话中提供所请求的数据项的机制,其中,响应于来自数据接收者计算系统的单独的请求,提供所请求的数据项的各部分。该机制允许数据提供者控制由数据提供者保留多少消息间上下文信息,以及将多少上下文信息提供给数据接收者。
转到附图,其中相同的标号表示相同的元件,本发明被示出为在适当的计算环境中实现。下述描述基于本发明的所示实施例,并且不应当视作相对于在此未明确描述的替换实施例而限制本发明。
在下述描述中,参考由一个或多个计算机执行的动作和操作的符号表示来描述本发明,除非另外指明。同样地,将理解到,有时也称作计算机执行的这些动作和操作包括计算机的处理单元对以结构化形式表示数据的电子信号的操纵。该操纵变换数据或将它们维护在计算机的存储器系统中的位置处,从而以本领域的技术人员都理解的方式,重构或者修改计算机的操作。维护数据的数据结构是具有由数据的格式定义的特定属性的存储器的物理位置。然而,尽管在前述的上下文中描述了本发明,它并不意味着限制,因为本领域的技术人员将意识到,下述的几个动作和操作也可以用硬件来实现。图1示出用于这些设备的示例性计算机体系结构的示意图。
为描述目的,所描绘的体系结构仅是适合环境的一个例子,并不打算暗示对本发明的用途或功能的任何限制。计算系统也不应当被解释为对图1所示的组件的任何一个或组合具有任何依赖性或需求。
本发明能用多个其它通用或专用计算或通信环境或结构来操作。适合于与本发明一起使用的公知的计算系统、环境和结构的例子包括但不限于移动电话、便携计算机、个人计算机、服务器、多处理器系统、基于微处理器的系统、小型计算机、大型机和包括上述系统或设备的任何一个的分布式计算环境。
在其最基本的结构中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是易失性(诸如RAM)、非易失性(诸如ROM、闪存等等)或两者的某一组合。该最基本的结构在图1中用虚线106示出。
存储介质设备可以具有另外的特征和功能。例如,它们可以包括另外的存储(可移动和不可移动),包括但不限于,PCMCIA卡、磁盘和光盘以及磁带。这些另外的存储在图1中用可移动存储108和不可移动存储110示出。计算机存储介质包括用任何方法或技术实现的、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失和非易失、可移动和不可移动介质。存储器104、可移动存储108和不可移动存储110均是计算机存储介质的例子。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存、其它存储技术、CD-ROM、数字多功能盘、其它光学存储器、磁带盒、磁带、磁盘存储器、其它磁性存储设备以及能用来存储所需信息并能由计算系统访问的任何其它介质。
如在此所使用的,术语“模块”或“组件”能指在计算系统上执行的软件对象或例程。在此所述的不同组件、模块、引擎和服务能被实现为在计算系统上执行的对象或进程(例如作为单独的线程)。尽管此处描述的系统和方法较佳地用软件来实现,然而软件和硬件或硬件实现也是可能和期望的。
计算系统100还可以包含允许主机与其它系统和设备例如通过网络120通信的通信信道112。通信信道112能是通信介质的例子。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息递送介质。举例来说,而不是限制,通信介质包括有线介质,诸如有线网络和直接有线连接,以及无线介质,包括声学、无线电、红外线以及其它无线介质。在此所使用的术语计算机可读介质包括存储介质和通信介质。
计算系统100还可以具有输入组件114,诸如键盘、鼠标、笔、语音输入部、触摸输入设备等等。输出组件116包括屏幕显示器、扬声器、打印机等等,还包括用于驱动它们的模块(通常称为“适配器”)。计算系统100具有电源118。所有这些组件在本领域中是公知的,不需要在此详细描述。
图2示例说明网络环境200,包括数据提供者计算220,它能是连接到数据接收者计算系统210的网络。在本说明书和权利要求中,“计算系统”被定义为具有系统存储器、以及能执行来自系统存储器的指令的至少一个处理器的任何设备或系统。或者以及除此之外,即使全部用硬件实现,计算系统也可以具有任何逻辑处理能力。因此,数据接收者计算系统210和数据提供者计算系统220可以但不必结构化为如上所述的计算系统100。
同时,相对于计算系统210和220,对术语“数据提供者”和“数据接收者”的使用不表示接收数据是由计算系统210支持的唯一功能,也不表示提供数据是由计算系统220支持的唯一功能。事实上,计算系统可以是相当复杂的通用计算系统,尽管不需要如此。数据接收者计算系统210在此也可以称为“数据接收者者”。类似地,数据提供者计算系统210在此也可以称为“数据提供者”。
数据提供者220管理将提供给数据接收者210的多个数据项221。数据提供者220也可以管理不提供给数据接收者210的其它数据项。在所示的情形中,数据提供者220将向数据接收者计算系统提供数据项221A至221F,以及可以用垂直省略号221G表示的其它数据项。
根据请求驱动的列举技术会话,数据提供者220使用消息交换230向数据接收者210提供数据项221。特别地,在对单一请求的单一响应中,不向数据提供者提供数据项221。相反,每次向数据接收者210提供数据项221的一个部分,响应于请求递送每个部分。在一个实施例中,可以由数据接收者210将初步的列举请求传送到数据提供者220,来启动请求驱动的列举技术会话。数据提供者220可以通过将列举响应传送回数据接收者210来确认该会话。在下面更详细描述的一个具体例子中,列举请求和响应可以是包含可扩展标记语言(XML)文档的简单对象访问协议(SOAP)封套的形式。然而,列举请求和响应也可以是远程方法调用(RMI)消息。
如图2所示,数据接收者210发送第一请求231A。作为响应,数据提供者220在对第一请求231A的第一响应231B中,提供数据项221A和221B。可以重复该过程,直到数据接收者210接收到所有数据项221为止。特别地,数据接收者210发送第二请求232A。作为响应,数据提供者220在对第二请求232A的第二响应232B中提供数据项221C和221D。然后,数据接收者210发送第三请求233A。作为响应,数据提供者220在对第三请求233A的第三响应233B中提供数据项221E和221F。对用垂直省略号221G表示的任何另外的数据项,该过程继续,如用垂直省略号234所示。
在所示的情形中,将至少六个数据项示出为提供给数据接收者210,对每个请求,每次2个数据项。然而,本发明的原理不限于该实施例。可以使用任何单一请求驱动的列举技术会话来传输任意数量的数据项。此外,数据提供者220可以在对任何给定请求的任何给定响应中发送任意数量的数据项(或甚至数据项的一部分)。同时,由于向数据接收者210列举数据项是请求驱动的,数据接收者210可以通过仅停止发送任何另外的请求来停止数据传输。
图3示例说明数据提供者向数据接收者提供数据项,同时允许数据提供者保留对两个计算系统间的上下文管理的平衡的控制的方法300的流程图。同样地,图4示例说明数据接收者支持该角色中的数据提供者的方法400的流程图。由于方法300和400在网络环境200中执行,现在参考图2来描述图3和4。
参考图3,数据提供者220访问对将提供给数据接收者计算系统的数据项的请求(动作301)。该请求可以是例如数据提供者220内通过函数调用所提出的内部请求。另外,通过从其它计算系统接收该请求,可以访问该请求。在图2所示的实施例中,数据提供者220通过从数据接收者210接收第一请求231A来访问该请求。在一个实施例中,来自数据接收者的该请求以及后续请求的每一个都是由数据接收者210发出的“Pull(弹出)请求”。在所述的实施例中,Pull请求可以包括在SOAP封套中,并且可以是XML文档的形式。下面,更详细地提供Pull请求的例子。Pull请求也可以是远程方法调用(RMI)。
然后,数据提供者220执行面向结果的功能性步骤,用于向数据接收者210提供数据项,同时控制数据提供者和数据接收者之间的上下文管理的平衡(步骤310)。在所示的实施例中,这至少包括动作311至314和321至323,尽管用于实现该结果的任何动作将足以胜任。
具体地,数据提供者220至少部分地基于请求中的信息,识别将提供给数据接收者计算系统的数据项的集合(动作311)。可以在请求中直接指定数据项。另外,可以通过指定数据项集合(在此也称为初始集合或多个数据项),来间接指定数据项。该请求可以包括将应用于数据项的初始集合以便生成最终数据项集合的过滤器。在一个实施例中,要识别的项集合通过读取请求中的会话标识符来执行。会话标识符可以与明确地识别数据项的先前列举的请求相关。该先前列举的请求也可以包括用于识别数据项的过滤器。
然后,数据提供者220识别第一上下文,它反映数据项集合的第一部分将被提供给数据接收者计算系统(动作312)。如果数据项的集合是例如XML元素,则上下文可以包括用于先前提供的最后一个XML元素,或将要提供的下一XML元素的标识,或将用于表示已经将数据项集合的哪一部分提供给数据接收者210,以及还要提供的数据项的哪一部分的任何其它信息。
然后,数据提供者220确定多少第一上下文将被提供给数据接收者210(动作313)。这可以包括无、一些或在动作312中识别的全部第一上下文。注意,即使可以将上下文信息提供给数据接收者210,数据提供者也可以冗余地保留一些或全部所提供的上下文,用于稍后确认上下文。可以根据任何判定标准,来确定多少上下文将被提供给数据接收者210。相关判定标准可以包括,例如数据提供者220或其可用存储器的当前工作负载和可用处理容量、数据接收者210或其可用存储器的当前工作负载和可用处理容量、数据接收者210和数据提供者220间的可用网络带宽、网络接收者或其相关联的用户的重要性等等。然后,如果适当的话,数据提供者220向数据接收者210提供第一上下文(动作314)。
另外,数据提供者220识别要在对数据接收者的第一网络响应中提供的数据项的集合的第一部分(小于全部)(动作321)。术语“第一”不一定暗示在两个计算系统间没有先前的一个或多个请求。事实上,在下面所述的一个实施例中,存在以列举请求和列举响应的形式的全部请求/响应交换,以便达到会话中可以使用弹出操作来每次提取数据项的一个部分的点。
然后,数据提供者构造包括该第一部分的第一网络响应(动作332)。下面,以Pull响应的形式描述该响应的例子,它采用具有特定XML结构的SOAP封套的形式。然后,将第一网络响应分派到数据接收者210(动作323)。在一个实施例中,数据提供者220将提供给数据接收者210的第一上下文包括在其自己的第一网络响应中。在图2中,该第一网络响应被示出为网络响应231B。
由于列举会话是请求驱动的,因此数据提供者220在进一步处理会话前,等待下一请求(动作331)。参考图4,在该阶段,数据接收者210在会话继续前,采用另一动作。图4的方法400描述当接收列举会话中的任何网络响应,不管是否是第一网络响应时,由数据接收者210采取的动作。特别地,数据接收者210接收网络响应(动作401)、生成包括在网络响应中提供的上下文的下一请求(动作402)、然后将下一请求发送到数据提供者220(动作403)。尽管该上下文可以直接从前一网络响应迁移到下一网络请求,然而情况不必要如此。可能在下一请求中,仅提供在先前的网络响应中提供的上下文的一部分。此外,与如何在先前的网络响应中编码相比较,在下一请求中提供的上下文信息可以具有不同的编码。此外,可以由数据接收者进一步处理(例如加密和/或压缩)下一请求中提供的上下文。
在接收用于数据项的集合的剩余部分的任一部分的第二或任一后续请求后(动作341),数据提供者220从第二请求读取先前提供的上下文(动作342)、识别反映多个数据项的第二部分被提供给数据接收者计算系统的第二上下文(动作351)、以及确定多少下一上下文将被提供给数据接收者计算系统(动作352)。
提供给数据接收者210的上下文部分可以是与先前提供给数据接收者210的上下文相同的范围,尽管情况不必要如此。如果环境准许的话,数据提供者220可以提供与先前提供的不同的上下文。例如,假定数据提供者220发现数据接收者210正积极地参与请求驱动的列举会话,只要接收前一响应就快速发出请求。在那种情况下,对数据提供者220来说维护整个上下文需要较少成本,无需向数据接收者210提供任何数据,因为会话可能快速结束并且不占用存储器资源相当的时间段。然后,数据提供者220提供数据提供者220认为要发送给数据接收者210的下一上下文的那部分(动作353)。
数据提供者220还使用从请求中读取的前一上下文来识别将提供给数据接收者的数据项的集合的下一部分(动作361)。然后,数据提供者220构造包括数据项的集合的下一部分的下一网络响应(动作362)。然后,将该下一网络响应分派给数据接收者210(动作363)。在该阶段,如果没有要提供的数据项集合的另外的数据项(判定块370为否),那么会话暂时结束。然而,如果还有另外的数据项(判定块370为是),那么通过在动作331中等待下一请求,会话继续。
在描述了本发明的基本原理之后,现在将详细描述本发明的具体实施例。在该具体实施例中,会话中的请求和响应的每一个被结构化为包含XML文档的SOAP封套。
下文示例说明上面简述的列举请求的形式。如前所述,数据接收者210向数据提供者220发送列举请求以便启动请求驱动的列举会话。为清楚起见,增加行编号。
1)        <s:Envelope...>
2)           <s:Header...>
3)                <wsa:Action>
4)        http://schemas.xmlsoap.org/ws/2004/04/enumeration/Enumerate
5)                </wsa:Action>
6)                <wsa:MessageID>xs:anyURI</wsa:MessageID>
7)                <wsa:To>xs:anyURI</wsa:To>
8)         ...
9)    </s:Header>
10)   <s:Body...>
11)       <wsen:Enumerate...>
   <wsen:Filter Dialect=″xs:anyURI″?>xs:any</wsen:Filter>?
13)            ...
14)       </wsen:Enumerate>
15)   </s:Body>
16)</s:Envelope>
行1至16表示定义整个SOAP封套的XML文档。行2至9表示用于SOAP封套的头部元素。行3至5表示定义该动作是列举请求的行动XML元素(见行4中的“Enumerate”)。行6识别会话标识符。行7表示数据提供者的地址。行8表示在头部XML元素中存在另外的XML元素。行10至15表示SOAP正文XML元素。行11至14表示定义列举会话所需的信息的列举XML元素。例如,行12识别过滤器元素。过滤器元素包括过滤器方言属性,它定义用于表达过滤器的查询语言(例如SQL、XPATH或其它URI)。另外,过滤器元素包括“any(任何)”属性,使用指定的查询语言表达了过滤器。在本说明书和权利要求书中,“查询语言”是可以用来表达初始多个数据项上的过滤器以便生成包含多个初始数据项的没有、一些或全部的过滤器的任何语义规则集。
下文是按照具有如上所述的形式的列举请求的例子,为清楚起见,增加了行编号。
(01)<s:Envelope xmlns:S=′http://www.w3.org/2003/05/soap-envelope′
(02)     xmlns:wsa=′http://schemas.xmlsoap.org/ws/2004/03/addressing′
(03)     xmlns:wxf=″http://schemas.xmlsoap.org/ws/2004/04/enumeration′>
(04)    <s:Header>
(05)      <wsa:Action>
(06)        http://schemas.xmlsoap.org/ws/2004/04/enumeration/Enumerate
(07)      </wsa:Action>
(08)      <wsa:MessageID>
(09)        uuid:e7c5726b-de29-4313-b4d4-b3425b200839
(10)      </wsa:MessageID>
(11)      <wsa:To>http://www.example.com/relayAgent/enum19</wsa:To>
(12)    </s:Header>
(13)    <s:Body>
(14)      <wsen:Enumerate/>
(15)    <S/:Body>
(16)</s:Envelope>
行(05-07)表示该消息是列举请求以及期望用列举响应消息来响应数据源。存在No wse:Filter元素,以便期望最终列举上下文返回所有可用元素。
数据提供者220可以用列举响应来响应列举请求,以便完全初始化请求驱动的列举会话,为清楚起见,可以坚持具有行编号的下述形式。
1)<s:Envelope...>
2)    <s:Header...>
3)        <wsa:Action>
4)        http://schemas.xmlsoap.org/ws/2004/04/enumeration/EnumerateResponse
5)        </wsa:Action>
6)        ...
7)    </s:Header>
8)    <s:Body...>
9)        <wsen:EnumerateResponse...>
10)              <wsen:EnumerationContext>...</wsen:EnumerationContext>
11)              ...
12)          </wsen:EnumerateResponse>
13)        </s:Body>
14)   </s:Envelope>
行1至14表示定义整个SOAP封套的XML元素。行2至7表示用于SOAP封套的头部元素。行3至5表示定义该动作是列举响应(见行4中的“EnumerateResponse”)的动作XML元素。行6表示跨越行2至7的头部XML元素中的另外的XML元素。行8至13表示SOAP正文XML元素。行9至12表示定义用来完成列举会话的初始化的列举响应XML元素。例如,行10是包括初始上下文的列举上下文XML元素,该初始上下文包括足够的信息来识别用于会话中的所有未来的Pull请求。EnumerateContext元素包含新列举上下文的XML表示。数据接收者210在对该列举上下文的Pull请求中传递该XML数据,直到或除非Pull响应消息(如下所述)更新列举下文为止。行11表示存在包括在列举上下文XML元素中的另外的XML元素。
下文是按照上述形式的假设列举响应。
(01)<s:Envelope xmlns:S=′http://www.w3.org/2003/05/soap-envelope′
(02)      xmlns:wxf=′http://schemas.xmlsoap.org/ws/2004/04/enumeration′
(03)      xmlns:wsa=′http://schemas.xmlsoap.org/ws/2004/03/addressing′
(04)>
(05)    <s:Header>
(06)    <wsa:Action>
(07)    http://schemas.xmlsoap.org/ws/2004/04/enumeration/EnumerateResponse
(08)    </wsa:Action>
(09)    <wsa:RelatesTo>
(10)        uuid:e7c5726b-de29-4313-b4d4-b3425b200839
(11)    </wsa:RelatesTo>
(12)  </s:Header>
(13)  <s:Body>
(14)    <wsen:EnumerateResponse>
(15)      <wsen:EnumerationContext>
(16)        123
(17)      </wsen:EnumerationContext>
(18)    </wsen:EnumerateResponse>
(19)  </s:Body>
(20)</s:Envelope>
行06-08表示该消息是列举响应消息。行15至17是支持如下所述的Pull操作的列举下文的XML表示。
可以由向数据提供者220发送Pull请求消息的数据接收者210启动Pull操作。下文是Pull请求的示例形式,为清楚起见,增加了行编号。
1)<s:Envelope...>
2)    <s:Header...>
3)        <wsa:Action>
4)           http://schemas.xmlsoap.org/ws/2004/04/enumeration/Pull
5)        </wsa:Action>
6)    <wsa:MessageID>xs:anyURI</wsa:MessageID>
7)    <wsa:ReplyTo>wsa:EndpointReference</wsa:ReplyTo>
8)    <wsa:To>xs:anyURI</wsa:To>
9)    ...
10)       </s:Header>
11)       <s:Body...>
12)           <wsen:Pull...>
13)               <wsen:EnumerationContext>...</wsen:EnumerationContext>
14)               <wsen:MaxTime>xsd:duration</wsen:MaxTime>?
15)               <wsen:MaxElements>xsd:long</wsen:MaxElements>?
16)               <wsen:MaxCharacters>xsd:long</wsen:MaxCharacters>?
17)               ...
18)            </wsen:Pull>
19)       </s:Body>
20)  </s:Envelope>
行1至20定义整个XML元素,它是SOAP结构化Pull请求。行2至10定义头部XML元素。行3至5是其中将行动定义为弹出请求的行动元素(见行4中的“Pull”)。行6是消息标识符XML元素。该元素包括将Pull请求与会话相关的标识符。行7是提供对Pull对请求的响应的地址的“答复”XML元素。行8是指定数据提供者220的地址的地址XML元素。行9表示存在由头部XML元素包括的更多XML元素。
行11至19表示正文XML元素。特别地,行12至18表示包含用在Pull请求中的Pull XML元素.。例如,行13是其中插入了先前提供的列举上下文的列举上下文元素。由数据提供者220使用该列举上下文来识别会话上下文是什么。
行14是最大时间XML元素,它反映在数据提供者220提供相关联的Pull请求前,在接收Pull请求后,数据提供者220应当允许的最大时间量。在发送相关联的Pull响应前,数据提供者220将确保不超出该最大时间。
行15是最大元素XML元素,它反映在相关联的Pull响应中,提供者220应当允许的XML元素的最大数量。在发送相关联的Pull响应前,数据提供者220将确保Pull响应不包含超出该XML元素的最大数。
行16是最大字符XML元素,它反跌在相关联的Pull响应中,提供者220应当允许的最大字符数。在发送相关联的Pull响应前,数据提供者220将确保Pull响应不包含超出该最大字符数。
下文是示例性Pull请求,为清楚起见,具有行编号:
(01)<s:Envelope xmlns:S=′http://www.w3.org/2003/05/soap-envelope′
(02)     xmlns:wsa=′http://schemas.xmlsoap.org/ws/2004/03/addressing′
(03)     xmlns:wsen=″http://schemas.xmlsoap.org/ws/2004/04/enumeration′>
(04)    <s:Header>
(05)     <wsa:Action>
(06)       http://schemas.xmlsoap.org/ws/2004/04/enumeration/Pull
(07)     </wsa:Action>
(08)     <wsa:MessageID>
(09)       uuid:e7c5726b-de29-4313-b4d4-b3425b200839
(10)     </wsa:MessageID>
(11)     <wsa:To>http://www.example.com/relayAgent</wsa:To>
(12)  </s:Header>
(13)  <s:Body>
(14)     <wsen:Pull>
(15)       <wsen:EnumerationContext>123</wsen:EnumerationContext>
(16)       <wsen:MaxTime>P30S</wsen:MaxTime>
(17)       <wsen:MaxElements>10</wsen:MaxElements>
(18)     </wsen:Pull>
(19)  <S/:Body>
(20)</s:Envelope>
表2中的行(05-07)表示该消息是Pull请求以及期望用Pull响应消息来响应数据源。行(16)表示在接收Pull请求消息后,应当不超出30秒生成响应消息。行(17)表示在Pull响应消息的正文中,应当返回不超出10个元素。
在接收和处理Pull请求后,数据接收者210可以生成Pull响应。下文是该Pull响应的示例性形式,为清楚起见,增加了行编号。
1)<s:Envelope...>
2)    <s:Header...>
3)        <wsa:Action>
4)          http://schemas.xmlsoap.org/ws/2004/04/enumeration/PullResponse
5)        </wsa:Action>
6)        ...
7)    </s:Header>
8)    <s:Body...>
9)        <wsen:PullResponse...>
10)               <wsen:EnumerationContext>...</wsen:EnumerationContext>?
11)               <wsen:Items>?
12)                 <xs:any>enumeration-specific element</xs:any>+
13)               </wsen:Items>
14)               <wsen:EndOfSequence/>?
15)               ...
16)            </wsen:PullResponse>
17)       </s:Body>
18)  </s:Envelope>
行1至18表示整个SOAP封套XML元素。行2至7表示用于SOAP封套的头部元素。行3至5表示定义该行动是弹出响应的行动XML元素(见行4中的“PullResponse”)。行6表示在跨越2至7的头部XML元素中,存在另外的XML元素。
行8至17表示正文XML元素。行9至16表示包含作为响应的一部分的元素的弹出响应XML元素。行10是包含下一请求的列举上下文的列举上下文XML元素。行11至13表示包含将在那个响应中提供的数据项的整个部分的项XML元素。行12是实际上包含数据项的派生XML元素。行14是当已经将所有数据项提供给数据接收者210时,可以提供的序列XML元素的末尾。用这种方式,可以告知数据接收者210列举会话的结束。正文XML元素也可以具有指定所提供的数据项何时因为跳过一个或多个数据项而不连续的另一可任选XML元素。该XML元素也可以指定为何跳过该数据项。例如,也许数据项当前正在使用,由此访问受限。此外,因为由Pull请求强加的最小时间、元素或字符限制,可能数据项不能均包括在响应中。
下文是Pull响应的例子,为清楚起见,增加了行编号:
(01)<s:Envelope xmlns:S=′http://www.w3.org/2003/05/soap-envelope′
(02)      xmlns:wsen=′http://schemas.xmlsoap.org/ws/2004/04/enumeration′
(03)      xmlns:wsa=′http://schemas.xmlsoap.org/ws/2004/03/addressing′
(04)     >
(05)    <s:Header>
(06)      <wsa:Action>
(07)        http://schemas.xmlsoap.org/ws/2004/04/enumeration/PullResponse
(08)      </wsa:Action>
(09)        <wsa:RelatesTo>
(10)            uuid:e7c5726b-de29-4313-b4d4-b3425b200839
(11)        </wsa:RelatesTo>
(12)     </s:Header>
(13)     <s:Body>
(14)        <wsen:PullResponse>
(15)          <wsen:Items xmlns:xx=″http://fabrikam 123.com/schema/log″>
(16)            <xx:LogEntry id=″1″>System booted</xx:LogEntry>
(17)            <xx:LogEntry id=″2″>AppX started</xx:LogEntry>
(18)            <xx:LogEntry id=″3″>John Smith logged on</xx:LogEntry>
(19)            <xx:LogEntry id=″4″>AppY started</xx:LogEntry>
(20)            <xx:LogEntry id=″5″>AppX crashed</xx:LogEntry>
(21)          </wsen:Items>
(22)          <wsen:EndOfSequence/>
(23)         </wsen:PullResponse>
(24)     </s:Body>
(25)</s:Envelope>
表3中的行(06-08)表示该消息是Pull响应消息。行15-19是由该Pull请求返回的五个元素。wsen:EndOfSequence元素(行(20))的存在表示没有元素可用并且列举上下文现在无效。
作为一种优化,可以执行释放操作以允许数据接收者210在已经提供所有数据项后结束会话。由数据接收者210通过向数据提供者发送Release(释放)请求来启动Release操作。示例性释放消息具有以下形式,为清楚起见,增加了行编号。
1)<s:Envelope...>
2)    <s:Header...>
3)        <wsa:Action>
4)          http://schemas.xmlsoap.org/ws/2004/04/enumeration/Release
5)        </wsa:Action>
6)        <wsa:MessageID>xs:anyURI</wsa:MessageID>
7)        <wsa:ReplyTo>wsa:EndpointReference</wsa:ReplyTo>
8)        <wsa:To>xs:anyURI</wsa:To>
9)     ...
10)    </s:Header>
11)    <s:Body...>
12)        <wsen:Release...>
13)          <wsen:EnumerationContext>...</wsen:EnumerationContext>
14)          ...
15)        </wsen:Release>
16)    </s:Body>
17)  </s:Envelope>
行4将该消息识别为Release请求,行12至15识别用于正被释放的列举会话的列举上下文。
在成功处理Release请求后,数据提供者220可以提供下述示例性形式的Release响应,为清楚起见,增加了行编号。
1)<s:Envelope...>
2)    <s:Header...>
3)        <wsa:Action>
4)          http://schemas.xmlsoap.org/ws/2004/04/enumeration/ReleaseResponse
5)        </wsa:Action>
6)        ...
7)    </s:Header>
8)    <s:Body/>
9.</s:Envelope>
行4将该消息识别为Release响应。
因此,本发明的原理允许数据提供者根据现存的环境更灵活地动态调整其在上下文管理中的角色。
可以用其它特定的形式来实施本发明,而不背离本精神或基本特征。所述的实施例在所有方面应当仅视为示例性而不是限制。因此,本发明的范围由附加权利要求而不是上述说明书表示。落在权利要求的等效技术方案的含义和范围中的所有改变均应当包含在它们的范围中。

Claims (50)

1.在包括能够网络连接到数据接收者计算系统的数据提供者计算系统的环境中,一种用于所述数据提供者计算系统向所述数据接收者计算系统在多个单独的电子消息中提供多个所请求的数据项,同时控制所述数据提供者计算系统保留多少消息间状态信息的方法,所述方法包括:
访问对将要提供给数据接收者计算系统的数据项的请求的动作;
至少部分地基于所述请求中的信息,识别将要提供给所述数据接收者计算系统的多个数据项的动作;
识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作,所述第一部分小于所有所述多个数据项;
构造包括所述多个数据项的第一部分的第一网络响应的动作;
向所述数据接收者计算系统分派所述第一网络响应的动作;
识别上下文的动作,所述上下文反映所述多个数据项的第一部分被提供给所述数据接收者计算系统;
确定多少所述上下文将被提供给所述数据接收者计算系统的动作;以及
根据确定多少所述上下文将被提供给所述数据接收者计算系统的所述动作所确定的,向所述数据接收者计算系统提供上下文的动作。
2.如权利要求1所述的方法,其特征在于,所提供的上下文在所述第一网络响应中。
3.如权利要求1所述的方法,其特征在于,所提供的上下文表示已经提供了所述多个数据项的最后一个。
4.如权利要求1所述的方法,其特征在于,访问对将要提供给所述数据接收者计算系统的数据项的请求的动作包括访问对将要提供给所述数据接收者计算系统的数据项的内部请求的动作。
5.如权利要求1所述的方法,其特征在于,访问对将要提供给所述数据接收者计算系统的数据项的请求的动作包括从所述数据接收者计算系统中接收对将要提供给所述数据接收者计算系统的数据项的网络请求的动作。
6.如权利要求1所述的方法,其特征在于,所述多个数据项是最终的多个数据项,其中,至少部分地基于所述请求中的信息,识别将要提供给所述数据接收者计算系统的多个数据项的动作包括:
至少部分地基于所述请求中的信息,识别多个初始数据项的动作;以及
基于在所述请求中指定的另外的规则,选择最终的多个数据项的动作。
7.如权利要求6所述的方法,其特征在于,基于在所述请求中指定的另外的规则,选择最终的多个数据项的动作包括:
至少部分地基于所述请求中的信息,识别查询语言的动作;
使用所识别的查询语言,解释所述请求中的查询的动作;以及
通过应用所解释的查询,过滤所述最终的多个数据项的动作。
8.如权利要求1所述的方法,其特征在于,识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作包括:
从所述请求中读取将在所述第一网络响应中提供的最大数据项数的动作;以及
确定所述多个数据项的第一部分等于所述最大数据项数的动作。
9.如权利要求1所述的方法,其特征在于,识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作包括:
从所述请求中读取将在所述第一网络响应中提供的最大字符数的动作;以及
确定所述多个数据项的第一部分等于或小于所述最大字符数的动作。
10.如权利要求1所述的方法,其特征在于,识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作包括:
从所述请求中读取所述第一网络响应将花费的最大响应时间的动作;以及
确定可以在给定所述多个数据项的第一部分的最大响应时间内返回所述第一网络响应的动作。
11.如权利要求1所述的方法,其特征在于,确定多少所述上下文将被提供给所述数据接收者计算系统的动作包括确定没有一个上下文将被提供给所述数据接收者计算系统的动作。
12.如权利要求1所述的方法,其特征在于,确定多少所述上下文将被提供给所述数据接收者计算系统的动作包括一些所述上下文将被提供给所述数据接收者计算系统的动作。
13.如权利要求12所述的方法,其特征在于,还包括:
冗余地保留提供给所述数据接收者计算系统的一些所述上下文的动作。
14.如权利要求1所述的方法,其特征在于,确定多少所述上下文将被提供给所述数据接收者计算系统的动作包括确定所有所述上下文将被提供给所述数据接收者计算系统的动作。
15.如权利要求14所述的方法,其特征在于,还包括:
冗余地保留提供给所述数据接收者计算系统的一些所述上下文的动作。
16.如权利要求1所述的方法,其特征在于,所述请求是简单对象访问协议(SOAP)封套。
17.如权利要求1所述的方法,其特征在于,所述请求是远程方法调用(RMI)。
18.如权利要求1所述的方法,其特征在于,所述数据项是可扩展标记语言(XML)元素。
19.如权利要求1所述的方法,其特征在于,所提供的上下文是第一上下文,所述方法还包括:
从所述数据接收者计算系统访问对所述数据项的网络请求形式的第二请求的动作;
从所述第二请求中读取所述第一提供上下文的动作;以及
使用从所述第二请求中读取的第一提供上下文来识别将要提供给所述数据接收者计算系统的多个数据项的第二部分的动作。
20.如权利要求19所述的方法,其特征在于,还包括:
构造包括所述多个数据项的第二部分的第二网络响应的动作;
将所述第二网络响应分派给所述数据接收者计算系统的动作;
识别第二上下文的动作,所述第二上下文反映所述多个数据项的第二部分被提供给所述数据接收者计算系统;
确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作;以及
根据确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作所确定的,将所述第二上下文提供给所述数据接收者计算系统的动作。
21.如权利要求20所述的方法,其特征在于,所述第二上下文具有与所述第一上下文相同的范围。
22.如权利要求20所述的方法,其特征在于,所述第二上下文具有与所述第一上下文不同的范围。
23.如权利要求22所述的方法,其特征在于,确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作包括:
评价所述数据接收者计算系统的行为的动作。
24.如权利要求22所述的方法,其特征在于,确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作包括:
评价所述数据提供者计算系统的当前状态的动作。
25.一种计算机程序产品,用在包括能够网络连接到数据接收者计算系统的数据提供者计算系统的环境中,用于实现所述数据提供者计算系统向所述数据接收者计算系统在多个单独的电子消息中提供多个所请求的数据项,同时控制所述数据提供者计算系统保留多少消息间状态信息的方法,所述计算机程序产品包括计算机可执行指令,当执行所述计算机可执行指令时,使所述数据提供者计算系统执行以下动作:
访问对将要提供给数据接收者计算系统的数据项的请求的动作;
至少部分地基于所述请求中的信息,识别将要提供给所述数据接收者计算系统的多个数据项的动作;
识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作,所述第一部分小于所有所述多个数据项;
构造包括所述多个数据项的第一部分的第一网络响应的动作;
向所述数据接收者计算系统分派所述第一网络响应的动作;
识别上下文的动作,所述上下文反映所述多个数据项的第一部分被提供给所述数据接收者计算系统;
确定多少所述上下文将被提供给所述数据接收者计算系统的动作;以及
根据确定多少所述上下文将被提供给所述数据接收者计算系统的动作所确定的,向所述数据接收者计算系统提供上下文的动作。
26.如权利要求25所述的计算机程序产品,其特征在于,所提供的上下文表示已经提供了所述多个数据项的最后一个。
27.如权利要求25所述的计算机程序产品,其特征在于,所提供的上下文在所述所述第一网络响应中。
28.如权利要求25所述的计算机程序产品,其特征在于,访问对将要提供给所述数据接收者计算系统的数据项的请求的动作包括访问对将要提供给所述数据接收者计算系统的数据项的内部请求的动作。
29.如权利要求25所述的计算机程序产品,其特征在于,访问对将要提供给所述数据接收者计算系统的数据项的请求的动作包括从所述数据接收者计算系统接收对将要提供给所述数据接收者计算系统的数据项的网络请求的动作。
30.如权利要求25所述的计算机程序产品,其特征在于,所述多个数据项是最终的多个数据项,其中,至少部分地基于所述请求中的信息,识别将要提供给所述数据接收者计算系统的多个数据项的动作包括:
至少部分地基于所述请求中的信息,识别多个初始数据项的动作;以及
基于在所述请求中指定的另外的规则,选择最终的多个数据项的动作。
31.如权利要求30所述的计算机程序产品,其特征在于,基于在所述请求中指定的另外的规则,选择最终的多个数据项的动作包括:
至少部分地基于所述请求中的信息,识别查询语言的动作;
使用所识别的查询语言,解释所述请求中的查询的动作;以及
通过应用所解释的查询,过滤所述最终的多个数据项的动作。
32.如权利要求25所述的计算机程序产品,其特征在于,识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作包括:
从所述请求中读取将在所述第一网络响应中提供的最大数据项数的动作;以及
确定所述多个数据项的第一部分等于所述最大数据项数的动作。
33.如权利要求25所述的计算机程序产品,其特征在于,识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作包括:
从所述请求中读取将在所述第一网络响应中提供的最大字符数的动作;以及
确定所述多个数据项的第一部分等于或小于所述最大字符数的动作。
34.如权利要求25所述的计算机程序产品,其特征在于,识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作包括:
从所述请求中读取所述第一网络响应将花费的最大响应时间的动作;以及
确定可以在给定所述多个数据项的第一部分的最大响应时间内返回所述第一网络响应的动作。
35.如权利要求25所述的计算机程序产品,其特征在于,确定多少所述上下文将被提供给所述数据接收者计算系统的动作包括确定没有一个上下文将被提供给所述数据接收者计算系统的动作。
36.如权利要求25所述的计算机程序产品,其特征在于,确定多少所述上下文将被提供给所述数据接收者计算系统的动作包括一些所述上下文将被提供给所述数据接收者计算系统的动作。
37.如权利要求36所述的计算机程序产品,其特征在于,所述方法还包括:
冗余地保留提供给所述数据接收者计算系统的一些所述上下文的动作。
38.如权利要求25所述的计算机程序产品,其特征在于,确定多少所述上下文将被提供给所述数据接收者计算系统的动作包括确定所有所述上下文将被提供给所述数据接收者计算系统的动作。
39.如权利要求38所述的计算机程序产品,其特征在于,所述方法还包括:
冗余地保留提供给所述数据接收者计算系统的一些所述上下文的动作。
40.如权利要求25所述的计算机程序产品,其特征在于,所述请求是简单对象访问协议(SOAP)封套。
41.如权利要求25所述的计算机程序产品,其特征在于,所述请求是远程方法调用(RMI)。
42.如权利要求25所述的计算机程序产品,其特征在于,所述数据项是可扩展标记语言(XML)元素。
43.如权利要求25所述的计算机程序产品,其特征在于,所提供的上下文是第一上下文,所述方法还包括:
从所述数据接收者计算系统访问对所述数据项的网络请求形式的第二请求的动作;
从所述第二请求中读取所述第一提供上下文的动作;以及
使用从所述第二请求中读取的第一提供上下文来识别将要提供给所述数据接收者计算系统的多个数据项的第二部分的动作。
44.如权利要求43所述的计算机程序产品,其特征在于,所述上下文是第一上下文,并且其中,所述方法还包括:
构造包括所述多个数据项的第二部分的第二网络响应的动作;
将所述第二网络响应分派给所述数据接收者计算系统的动作;
识别第二上下文的动作,所述第二上下文反映所述多个数据项的第二部分被提供给所述数据接收者计算系统;
确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作;以及
根据确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作所确定的,将所述第二上下文提供给所述数据接收者计算系统的动作。
45.如权利要求44所述的计算机程序产品,其特征在于,所述第二上下文具有与第一上下文相同的范围。
46.如权利要求44所述的计算机程序产品,其特征在于,所述第二上下文具有与所述第一上下文不同的范围。
47.如权利要求46所述的计算机程序产品,其特征在于,确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作包括:
评价所述数据接收者计算系统的行为的动作。
48.如权利要求46所述的计算机程序产品,其特征在于,确定多少所述第二上下文将被提供给所述数据接收者计算系统的动作包括:
评价所述数据提供者计算系统的当前状态的动作。
49.在包括能够网络连接到数据接收者计算系统的数据提供者计算系统的环境中,一种用于所述数据提供者计算系统向所述数据接收者计算系统在多个单独的电子消息中提供多个所请求的数据项,同时控制所述数据提供者计算系统保留多少消息间状态信息的方法,所述方法包括:
访问对将要提供给数据接收者计算系统的数据项的请求的动作;以及
用于向所述数据接收者计算系统提供所述数据项,同时控制所述数据提供者计算系统和所述数据接收者计算系统间的上下文管理中的平衡的步骤。
50.如权利要求49所述的方法,其特征在于,用于向所述数据接收者计算系统提供所述数据项,同时控制上下文管理中的平衡的步骤包括:
至少部分地基于所述请求中的信息,识别将要提供给所述数据接收者计算系统的多个数据项的动作;
识别在对所述数据接收者计算系统的第一网络响应中提供的多个数据项的第一部分的动作,所述第一部分小于所有所述多个数据项;
构造包括所述多个数据项的第一部分的第一网络响应的动作;
向所述数据接收者计算系统分派所述第一网络响应的动作;
识别上下文的动作,所述上下文反映所述多个数据项的第一部分被提供给所述数据接收者计算系统;
确定多少所述上下文将被提供给所述数据接收者计算系统的动作;以及
根据确定多少所述上下文将被提供给所述数据接收者计算系统的动作所确定的,向所述数据接收者计算系统提供上下文的动作。
CNA2005100746535A 2004-06-18 2005-05-18 用于使用上下文交换列举会话的灵活上下文管理 Pending CN1710907A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/872,119 2004-06-18
US10/872,119 US7603426B2 (en) 2004-06-18 2004-06-18 Flexible context management for enumeration sessions using context exchange

Publications (1)

Publication Number Publication Date
CN1710907A true CN1710907A (zh) 2005-12-21

Family

ID=35011160

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100746535A Pending CN1710907A (zh) 2004-06-18 2005-05-18 用于使用上下文交换列举会话的灵活上下文管理

Country Status (12)

Country Link
US (1) US7603426B2 (zh)
EP (1) EP1608131B1 (zh)
JP (1) JP4726539B2 (zh)
KR (1) KR20060047650A (zh)
CN (1) CN1710907A (zh)
AT (1) ATE405086T1 (zh)
AU (1) AU2005201952B2 (zh)
BR (1) BRPI0501797A (zh)
CA (1) CA2506214A1 (zh)
DE (1) DE602005008821D1 (zh)
MX (1) MXPA05005343A (zh)
RU (1) RU2382402C2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080165281A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Optimizing Execution of HD-DVD Timing Markup
US20090204578A1 (en) * 2008-02-12 2009-08-13 Microsoft Corporation Targeted queries using an oma dm protocol
CN101740089B (zh) * 2008-11-17 2012-03-07 深圳Tcl新技术有限公司 在相连设备上播放便携播放器上文件的方法和相应设备
CN101751968A (zh) * 2008-11-28 2010-06-23 深圳Tcl新技术有限公司 存储设备的信息管理方法及电子设备
US9195768B2 (en) * 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
CN107844025A (zh) * 2017-12-11 2018-03-27 京东方科技集团股份有限公司 掩膜版、曝光装置及曝光方法
US11263201B2 (en) 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US10719503B1 (en) * 2019-05-02 2020-07-21 Servicenow, Inc. Interface for supporting integration with cloud-based service providers

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0674414B1 (en) * 1994-03-21 2002-02-27 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
US5724514A (en) * 1994-11-25 1998-03-03 Netmanage System, method and apparatus for controlling the transfer of data objects over a communications link
JP2912840B2 (ja) * 1994-12-07 1999-06-28 富士通株式会社 ファイル管理システム
US5621892A (en) * 1995-10-10 1997-04-15 Intel Corporation Method and apparatus for managing alerts and events in a networked computer system
EP0773503B1 (en) * 1995-11-10 2004-03-31 Kabushiki Kaisha Toshiba File transfer method, method for a file requesting client device, and file server device
US6553410B2 (en) * 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
US6085251A (en) * 1998-04-02 2000-07-04 The United States Of America As Represented By The Secretary Of The Air Force Implementing a parallel file transfer protocol
US6018780A (en) * 1998-05-19 2000-01-25 Lucent Technologies Inc. Method and apparatus for downloading a file to a remote unit
US6192412B1 (en) * 1998-07-28 2001-02-20 Lucent Technologies, Inc. Computer file transmission system and method
JP2004510253A (ja) 2000-09-27 2004-04-02 エイゼル・テクノロジーズ・インコーポレーテッド 能力が限られたデバイス上で用いるための電子文書の区分処理
GB2381424B (en) 2001-10-26 2005-01-05 Roke Manor Research A method of controlling the amount of data transferred between a terminal and a server
WO2004023341A1 (ja) 2002-09-03 2004-03-18 Fujitsu Limited 検索処理システム、その検索サーバ、クライアント、検索処理方法、プログラム、及び記録媒体

Also Published As

Publication number Publication date
AU2005201952B2 (en) 2009-10-08
CA2506214A1 (en) 2005-12-18
US20060047757A1 (en) 2006-03-02
JP4726539B2 (ja) 2011-07-20
US7603426B2 (en) 2009-10-13
DE602005008821D1 (de) 2008-09-25
AU2005201952A1 (en) 2006-01-12
KR20060047650A (ko) 2006-05-18
EP1608131A3 (en) 2006-06-21
RU2005114224A (ru) 2006-11-20
MXPA05005343A (es) 2005-12-21
BRPI0501797A (pt) 2006-01-24
JP2006004415A (ja) 2006-01-05
RU2382402C2 (ru) 2010-02-20
EP1608131B1 (en) 2008-08-13
EP1608131A2 (en) 2005-12-21
ATE405086T1 (de) 2008-08-15

Similar Documents

Publication Publication Date Title
CN1710907A (zh) 用于使用上下文交换列举会话的灵活上下文管理
CN1591341A (zh) 用于共享资源的通知
CN1134741C (zh) 网络系统和打印机
CN1154935C (zh) 设备控制装置及设备判断方法
CN1263302C (zh) 远程会议系统和远程会议支持方法
CN1266598C (zh) 用于应用程序执行的动态java类的加载
CN1324913C (zh) 一种向移动终端递送内容的系统和方法
CN1677277A (zh) 服务提供方法、服务提供商设备、信息处理方法和设备
CN1783083A (zh) 动态概要模块
CN1703701A (zh) 用于管理门户服务器中的门户构件集合的方法和装置
CN1794231A (zh) 具有替换格式的上下文无关的文档部分
CN1661598A (zh) 协作服务器,协作系统,及协作服务器和系统用方法和程序
CN1870478A (zh) 数字广播接收装置中的事件发送方法和装置
CN1388930A (zh) 信息发布系统、信息发布方法及执行该方法的计算机程序
CN1799051A (zh) 使用页面存储文件浏览内容的方法
CN1328668A (zh) 用于指定网络上的位置的系统和处理
CN1901490A (zh) 用于提供Web服务的方法、装置以及程序产品
CN1716922A (zh) 移动装置消息传送的方法和系统
CN1252611C (zh) 信息处理方法和信息处理装置
CN1783792A (zh) 动态内容改变通知
CN1947106A (zh) 通知方法、连接装置、通信方法以及程序
CN1925438A (zh) 信息处理设备和网络设备以及它们的控制方法
CN1828606A (zh) 信息提供方法以及门户站点系统
CN1601543A (zh) 工作流管理设备及方法
CN101040543A (zh) 发送应用特定的登记或撤销登记数据的方法和系统、服务器和通信终端

Legal Events

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

Open date: 20051221