Patent US5991802A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5991802A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for invoking methods of objects over the internet

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-11-27
•
Granted: 1999-11-23
•
Expires: 2016-11-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for invoking by a client computer system of a function of an object of an object class provided by a server computer system. The client sends a request to a server that comprises a Universal Resource Locator ("URL") that identifies a script, an object class, and a function of the object class to invoke. In response to receiving the request, the server starts the script and transfers control to the script. The script instantiates an object of the object class identified in the URL of the received request and invokes the function identified in the URL of the received request. The invoked function performs the behavior of the function, creates a response to be sent to the client, and sends the response to the client. The response contains state information describing a state of the object after the behavior of the function is performed. When the client subsequently sends a request to invoke a function of the object class, the state information is included in the request so that the function can perform its behavior based on the state information.

Inventors

  • 👤 James E. Allard
  • 👤 Vincent Fernandes
  • 👤 Kyle W. Geiger
  • 👤 Seth B. Pollack
  • 👤 Chad W. Royal
  • 👤 David S. Stutz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 08:00
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547; G06F9/548

Claims Analysis

Total Claims: 52
Claim 1
Independent Claim 200 words
A method for invoking a function of an object of an object class, the object being provided by a server computer system to be invoked by a client computer system, the function having a behavior, the method comprising: sending a request from a client program to a server program, the request comprising a Universal Resource Locator ("URL") that identifies an object class and identifies a function of the object class to invoke; receiving the request at the server program; and in response to receiving the request, instantiating an object of the object class identified in the URL of the received request; invoking the function identified in the URL of the received request; and under control of the invoked function, performing the behavior of the function; creating a response to be sent to the client program, the response containing state information describing a state of the object after the behavior of the function is performed; and sending the response to the client program whereby when the client program subsequently sends a request to invoke a function of the object class, the state information is included in the request so that the function can perform its behavior based on the state information.
Claim 2
Independent Claim 200 words
A method for invoking a function of an object of an object class, the object being provided by a server computer system to be invoked by a client computer system, the function having a behavior, the method comprising: sending a request from a client program to a server program, the request comprising a Universal Resource Locator ("URL") that identifies an object class and identifies a function of the object class to invoke; receiving the request at the server program; and in response to receiving the request, instantiating an object of the object class identified in the URL of the received request; invoking the function identified in the URL of the received request; and under control of the invoked function, performing the behavior of the function; creating a response to be sent to the client program, the response containing state information describing a state of the object after the behavior of the function is performed; and sending the response to the client program whereby when the client program subsequently sends a request to invoke a function of the object class, the state information is included in the request so that the function can perform its behavior based on the state information.
Claim 3
Dependent Claim 28 words
The method of claim 1 wherein the URL identifies a shim program for instantiating the object of the object class and for invoking the function of the object.
Claim 4
Dependent Claim 22 words
The method of claim 2 wherein the shim program is stored in a dynamic linked library that is identified by the URL.
Claim 5
Dependent Claim 22 words
The method of claim 3 wherein the server program and the shim program support an Internet Server Application Programming Interface ("ISAPI") protocol.
Claim 6
Dependent Claim 55 words
The method of claim 2 wherein the shim program maintains a reference to the object so that upon receiving a subsequent request from a client program to invoke a function of an object of the object class, the referenced instance of the object can be used without instantiating a new object of the object class.
Claim 7
Dependent Claim 22 words
The method of claim 5 wherein the shim program passes to the invoked function the state information from the received subsequent request.
Claim 8
Dependent Claim 24 words
The method of claim 5 wherein the shim program maintains a table of references to objects of various object classes that it has instantiated.
Claim 9
Dependent Claim 17 words
The method of claim 5 wherein the shim program destroys referenced objects based on a predefined criteria.
Claim 10
Dependent Claim 30 words
The method of claim 8 wherein the predefined criteria is length of time since a request has been received to invoke a function of an object of that object class.
Claim 11
Dependent Claim 36 words
The method of claim 1 wherein the object class is indicated by an program identifier of an object server and the object class is retrieved from a registry of mappings from program identifiers to object classes.
Claim 12
Dependent Claim 55 words
The method of claim 1 wherein a reference to the object is maintained after the response is sent so that upon receiving a subsequent request from a client program to invoke a function of an object of the object class, the referenced object can be used without instantiating a new object of the object class.
Claim 13
Dependent Claim 34 words
The method of claim 11 wherein when a subsequent request is received to invoke a function of an object of the object class, invoking the function of the referenced object passing the state information.
Claim 14
Dependent Claim 34 words
The method of claim 1 wherein after the receiving of the request at the server program and before the response to the receiving is performed, the request is modified based on a pre-defined template.
Claim 15
Dependent Claim 75 words
The method of claim 13 wherein the template has command lines each specifying a command to perform on the request, and wherein the modifying of the request includes: performing the command of each command line of the template on the request to generate a shadow request; and for each line in the shadow request, determining whether the line contains a parameter; and when the line contains a parameter, performing a behavior associated with the parameter.
Claim 16
Dependent Claim 35 words
The method of claim 1 wherein after the creating of the response to be sent to the client program and before the sending of the response, the response is modified based on a pre-defined template.
Claim 17
Dependent Claim 75 words
The method of claim 15 wherein the template has command lines each specifying a command to perform on the response, and wherein the modifying of the response includes: performing the command of each command line of the template on the response to generate a shadow response; and for each line in the shadow response, determining whether the line contains a parameter; and when the line contains a parameter, performing a behavior associated with the parameter.
Claim 18
Dependent Claim 229 words
A computer system for allowing client programs to invoke functions of objects of objects classes, comprising: a server program that receives requests from client programs, the requests identifying a script to execute, the server program for loading the script into memory, invoking a function of the script, and providing a callback for invocation by the script to retrieve environment variables describing the received requests; a shim script having a function for being invoked by the server program, the function for invoking the callback to retrieve environment variables describing the request, for identifying from the environment variables the object class, for instantiating an object of the object class, and for invoking a function of the object class passing information describing the received request; and a function of the object class for receiving the passed information describing the received request, for performing a behavior of the function based on the passed information, and for sending to the client program that sent the received request a response having state information describing the state of the object after performing the behavior so that when the client program sends a subsequent request, containing the state information to the server program to invoke a function of an object of the object class the shim script can provide the state information to the object so that the function can perform behavior based on the state information.
Claim 19
Dependent Claim 229 words
A computer system for allowing client programs to invoke functions of objects of objects classes, comprising: a server program that receives requests from client programs, the requests identifying a script to execute, the server program for loading the script into memory, invoking a function of the script, and providing a callback for invocation by the script to retrieve environment variables describing the received requests; a shim script having a function for being invoked by the server program, the function for invoking the callback to retrieve environment variables describing the request, for identifying from the environment variables the object class, for instantiating an object of the object class, and for invoking a function of the object class passing information describing the received request; and a function of the object class for receiving the passed information describing the received request, for performing a behavior of the function based on the passed information, and for sending to the client program that sent the received request a response having state information describing the state of the object after performing the behavior so that when the client program sends a subsequent request, containing the state information to the server program to invoke a function of an object of the object class the shim script can provide the state information to the object so that the function can perform behavior based on the state information.
Claim 20
Dependent Claim 58 words
The computer system of claim 17 wherein the shim script maintains a reference to the object after a response is sent so that upon receiving a subsequent request from a client program to invoke a function of an object of the object class, the referenced object can be used without instantiating a new object of the object class.
Claim 21
Dependent Claim 36 words
The computer system of claim 18 wherein when a subsequent request is received to invoke a function of an object of the object class, the function of the referenced object is invoked passing the state information.
Claim 22
Dependent Claim 17 words
The computer system of claim 18 wherein the shim script destroys referenced object based on predefined criteria.
Claim 23
Dependent Claim 31 words
The computer system of claim 20 wherein the predefined criteria is length of time since a request has been received to invoke a function of an object of that object class.
Claim 24
Dependent Claim 16 words
The computer system of claim 17 wherein the request is in the Hypertext Transfer Protocol ("HTTP").
Claim 25
Dependent Claim 24 words
The computer system of claim 22 wherein the request includes a Universal Resource Locator ("URL") that identifies the object class and the shim script.
Claim 26
Dependent Claim 21 words
The computer system of claim 17 wherein the server and the shim script support an Internet Server Application Programming Interface ("ISAPI").
Claim 27
Independent Claim 202 words
A method for invoking a function of an object of an object class, the object being provided by a server computer system to be invoked by a client computer system, the function having a behavior, the method comprising: receiving a request sent from a client program to a server program, the request identifying a shim script, an object class, and a function of the object class; in response to receiving the request, loading and transferring control to the identified shim script; and under control of the shim script, when an object of the identified object class does not exists, instantiating an object of the identified object class; invoking the identified function of the instantiated object; and under control of the invoked function, performing the behavior of the function; creating a response to be sent to the client program, the response containing state information describing a state of the object after the behavior of the function is performed; and sending the response to the client program whereby a client program can effect the invocation of functions of a plurality of object classes and can send subsequent requests containing the state information so that the functions can perform behaviors based on the state information.
Claim 28
Independent Claim 202 words
A method for invoking a function of an object of an object class, the object being provided by a server computer system to be invoked by a client computer system, the function having a behavior, the method comprising: receiving a request sent from a client program to a server program, the request identifying a shim script, an object class, and a function of the object class; in response to receiving the request, loading and transferring control to the identified shim script; and under control of the shim script, when an object of the identified object class does not exists, instantiating an object of the identified object class; invoking the identified function of the instantiated object; and under control of the invoked function, performing the behavior of the function; creating a response to be sent to the client program, the response containing state information describing a state of the object after the behavior of the function is performed; and sending the response to the client program whereby a client program can effect the invocation of functions of a plurality of object classes and can send subsequent requests containing the state information so that the functions can perform behaviors based on the state information.
Claim 29
Dependent Claim 16 words
The method of claim 25 wherein the shim script is stored in a dynamic link library.
Claim 30
Dependent Claim 22 words
The method of claim 26 wherein the server program and the shim script supports an Internet Server Application Programming Interface ("ISAPI") protocol.
Claim 31
Dependent Claim 57 words
The method of claim 25 wherein the shim script maintains a reference to the object so that upon receiving a subsequent request from a client program to invoke a function of an object of the identified object class, the referenced instance of the object can be used without instantiating a new object of the identified object class.
Claim 32
Dependent Claim 22 words
The method of claim 28 wherein the shim script passes to the invoked function the state information from the received subsequent request.
Claim 33
Dependent Claim 24 words
The method of claim 28 wherein the shim script maintains a table of references to objects of various object classes that it has instantiated.
Claim 34
Dependent Claim 17 words
The method of claim 28 wherein the shim script destroys referenced objects based on a predefined criteria.
Claim 35
Dependent Claim 30 words
The method of claim 31 wherein the predefined criteria is length of time since a request has been received to invoke a function of an object of that object class.
Claim 36
Dependent Claim 96 words
The method of claim 25 wherein after the receiving of the request sent from the client program and before the response to the receiving is performed, the request is modified based on a template having command lines each specifying a command to perform on the request, the modifying including: performing the command of each command line of the template on the request to generate a shadow request; and for each line in the shadow request, determining whether the line contains a parameter; and when the line contains a parameter, performing a behavior associated with the parameter.
Claim 37
Dependent Claim 26 words
The method of claim 33 wherein the parameter is a substitute parameter and the behavior associated with the parameter is replacing the parameter with a value.
Claim 38
Dependent Claim 33 words
The method of claim 33 wherein the parameter is a fiuction parameter and the behavior associated with the parameter is invoking of a function associated with the parameter to modify the shadow request.
Claim 39
Dependent Claim 62 words
The method of claim 33 wherein the commands include a command to add a field to the request when the request does not already have a field with a certain name, a command to delete a field from the request, or a command to replace a field of the request when a value of the field does not match a certain criteria.
Claim 40
Dependent Claim 96 words
The method of claim 25 wherein after the creating of the response to be sent to the client program and before the sending of the response, the response is modified based on a template having command lines each specifying a command to perform on the request, the modifying including: performing the command of each command line of the template on the response to generate a shadow response; and for each line in the shadow response, determining whether the line contains a parameter; and when the line contains a parameter, performing a behavior associated with the parameter.
Claim 41
Dependent Claim 26 words
The method of claim 37 wherein the parameter is a substitute parameter and the behavior associated with the parameter is replacing the parameter with a value.
Claim 42
Dependent Claim 33 words
The method of claim 37 wherein the parameter is a function parameter and the behavior associated with the parameter is invoking of a function associated with the parameter to modify the shadow response.
Claim 43
Dependent Claim 62 words
The method of claim 37 wherein the commands include a command to add a field to the response when the response does not already have a field with a certain name, a command to delete a field from the response, or a command to replace a field of the response when a value of the field does not match a certain criteria.
Claim 44
Dependent Claim 209 words
A computer-readable medium containing instructions for causing a computer system to invoke a function of an object of an object class, the object being provided by a server computer system to be invoked by a client computer system, the function having a behavior, by: receiving a request sent from a client program to a server, program the request identifying a script, an object class, and a function of the object class; in response to receiving the request, loading and transferring control to the identified script; and under control of the script, when an object of the identified object class does not exists, instantiating an object of the identified object class; invoking the identified function of the instantiated object; and under control of the invoked function, performing the behavior of the function; creating a response to be sent to the client program, the response containing state information describing a state of the object after the behavior of the function is performed; and sending the response to the client program for use in initializing objects of the identified object class when subsequent invocations of functions are requested by the client program, the subsequent invocations to include the state information so that the functions can perform behaviors based on the state information.
Claim 45
Dependent Claim 209 words
A computer-readable medium containing instructions for causing a computer system to invoke a function of an object of an object class, the object being provided by a server computer system to be invoked by a client computer system, the function having a behavior, by: receiving a request sent from a client program to a server, program the request identifying a script, an object class, and a function of the object class; in response to receiving the request, loading and transferring control to the identified script; and under control of the script, when an object of the identified object class does not exists, instantiating an object of the identified object class; invoking the identified function of the instantiated object; and under control of the invoked function, performing the behavior of the function; creating a response to be sent to the client program, the response containing state information describing a state of the object after the behavior of the function is performed; and sending the response to the client program for use in initializing objects of the identified object class when subsequent invocations of functions are requested by the client program, the subsequent invocations to include the state information so that the functions can perform behaviors based on the state information.
Claim 46
Dependent Claim 16 words
The computer-readable medium of claim 41 wherein the script is stored in a dynamic link library.
Claim 47
Dependent Claim 21 words
The computer-readable medium of claim 42 wherein the server and the script supports an Internet Server Application Programming Interface ("ISAPI") protocol.
Claim 48
Dependent Claim 56 words
The computer-readable medium of claim 41 wherein the script maintains a reference to the object so that upon receiving a subsequent request from a client to invoke a function of an object of the identified object class, the referenced instance of the object can be used without instantiating a new object of the identified object class.
Claim 49
Dependent Claim 22 words
The computer-readable medium of claim 44 wherein the script passes to the invoked function the state information from the received subsequent request.
Claim 50
Dependent Claim 24 words
The computer-readable medium of claim 44 wherein the script maintains a table of references to objects of various object classes that it has instantiated.
Claim 51
Dependent Claim 17 words
The computer-readable medium of claim 44 wherein the script destroys referenced objects based on a predefined criteria.
Claim 52
Dependent Claim 31 words
The computer-readable medium of claim 47 wherein the predefined criteria is length of time since a request has been received to invoke a function of an object of that object class.

References Cited (Backward Citations)

US5608907A Cited
US5745764A Cited
US5745754A Cited
US5706507A Cited
US5745681A Cited
US5761683A Cited
US5751956A Cited
US5726979A Cited
US5761421A Cited
US5907847A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-22 2003-05-24 2003-11-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-22 2007-05-24 2007-11-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-22 2011-05-24 2011-11-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag