|
|
|
| United States Patent | 6170017 |
| Link to this page | http://www.wikipatents.com/6170017.html |
| Inventor(s) | Dias; Daniel Manuel (Mahopac, NY), Iyengar; Arun Kwangil (Yorktown Heights, NY) |
| Abstract | In a client-server environment having a server group including one or more
participating servers and one or more controller servers, where each
participating server can communicate with at least one controller server,
a method for coordinating actions among the servers in the server group
comprising the steps of: (1) communicating between a client and at least
one of the servers in the server group using a protocol that has limited
or no defined procedures for passing state information between the client
and the servers; (2) transmitting a request for an action from the client
to one of the servers; and (3) communicating among a plurality of servers
with at least one controller server coordinating actions of at least some
of the servers in response to the request. A preferred embodiment of the
method includes providing client identification information once by the
client during a conversation, verifying the client identification
information by one or more controller servers, generating client
authentication information by one or more controller servers that is
preserved in the conversation, and using the preserved client
authentication information to automatically authenticate the client during
the remainder of the conversation. Another preferred embodiment of the
method includes transmitting a request by a client requiring participation
by a plurality of servers and communicating among the servers with at
least one controller server coordinating the actions of a plurality of
servers in response to the request from the client. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 6170017 |
|
|
Method and system coordinating actions among a group of servers |
|
|
|
|
|
| Publication Date |
January 2, 2001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5890161 Helland
Mar,1999 |      Your vote accepted [0 after 0 votes] | | 5862339 Bonnaure 709/227 Jan,1999 |      Your vote accepted [0 after 0 votes] | | 5793964 Rogers
Aug,1998 |      Your vote accepted [0 after 0 votes] | | 5781743 Matsuno 709/228 Jul,1998 |      Your vote accepted [0 after 0 votes] | | 5764155 Kertesz 700/295 Jun,1998 |      Your vote accepted [0 after 0 votes] | | 5708780 Levergood 709/229 Jan,1998 |      Your vote accepted [0 after 0 votes] | | 5644720 Boll
Jul,1997 |      Your vote accepted [0 after 0 votes] | | 5572643 Judson 709/218 Nov,1996 |      Your vote accepted [0 after 0 votes] | | 5568612 Barrett 709/203 Oct,1996 |      Your vote accepted [0 after 0 votes] | | 5497463 Stein 709/203 Mar,1996 |      Your vote accepted [0 after 0 votes] | | 5485579 Hitz
Jan,1996 |      Your vote accepted [0 after 0 votes] | | 5434994 Shaheen
Jul,1995 |      Your vote accepted [0 after 0 votes] | | 5428771 Daniels 718/101 Jun,1995 |      Your vote accepted [0 after 0 votes] | | 5416842 Aziz 380/30 May,1995 |      Your vote accepted [0 after 0 votes] | | 5392400 Berkowitz 709/203 Feb,1995 |      Your vote accepted [0 after 0 votes] | | 5265250 Andrade 718/101 Nov,1993 |      Your vote accepted [0 after 0 votes] | | 5241594 Kung 713/151 Aug,1993 |      Your vote accepted [0 after 0 votes] | | | | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
| Add a new Other reference: |
| Post related web sites and other references in this section |
| | Reference | Relevancy | Comments | Gifford et al., "Payment Switches for Open Networks," Proceedings of the First USENIX Workshop of Electronic Commerce, New York, NY, Jul.
1995, pp. 69-75 (Abstract).
. Nov,2006 |      Your vote accepted [0 after 0 votes] | | "Passport File for Secure Access to the Internet," IBM Technical Disclosure Bulletin, vol. 39, No. 2, Feb. 1996, pp. 333-334.
. Nov,2006 |      Your vote accepted [0 after 0 votes] | | Gifford et al., "Payment Switches for Open Networks," Digest of Papers, COMPCON '95, Technologies for the Information Superhighway, 1995, pp. 26-31 (Abstract).
. Nov,2006 |      Your vote accepted [0 after 0 votes] | | Haller, "The S/Key One-Time Password System," Proceeding Internet Society Symposium on Network and Distributed System Security, San Diego, 1994, pp. 151-157 (Abstract).. Nov,2006 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate
with at least one controller server, a method for coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers;
communicating among the servers with at least one controller server coordinating actions of the plurality of servers in response to the request, whereby the step of coordinating action comprises defining a default group of servers by at least one
controller server in response to the request by the client, wherein said default group of servers consists of one or more servers in the server group with which the client has communicated in the course of a conversation and said default group of servers
is determined with respect to critical subsets of servers, where each critical subset of servers is determined with respect to a transaction type, an authentication type, and a critical event.
2. The method for coordinating actions among the servers of claim 1, in which the transaction type is selected from the group consisting of all transactions, simple transactions, and group transactions.
3. The method for coordinating actions among the servers of claim 1, in which the authentication type is selected from the group consisting of all transactions, transactions in which authentication is required, and transactions in which
authentication is not required.
4. The method for coordinating actions among the servers of claim 1, in which the critical event is selected from the group consisting of the start of a conversation, the point at which a client first provides valid identification information,
and a last group transaction.
5. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one controller server, and in which multiple
controller servers are arranged in a hierarchy of controller servers, a method for coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for an action from the client to one of the servers; and
communicating among a plurality of servers with at least one controller server coordinating actions of at least some of the servers in response to the request, where said step of communicating among servers includes coordinating actions by a
controller server among a plurality of servers in at least one hierarchical level below it.
6. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one controller server, a method for
coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for an action from the client to one of the servers;
communicating among a plurality of servers with at least one controller server coordinating actions of at least some of the servers in response to the request; and
receiving and executing a program by the client from at least one server, whereby the client performs at least some of the functions of the server group.
7. A system for coordinating actions among the servers in a server group comprising:
a server group including one or more participating servers and one or more controller servers, wherein each participating server can communicate with at least one controller server;
a client which can communicate with at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
means for transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers;
means for communicating among the servers with at least one controller server coordinating actions of the plurality of servers in response to the request; and
means for defining a default group of servers by at least one controller server in response to the request by the client, in which the default group of servers includes one or more servers in the server group with which the client has
communicated during a conversation and in which said default group of servers is determined with respect to critical subsets of servers, where each critical subset of servers is determined with respect to a transaction type, an authentication type, and a
critical event.
8. The system for coordinating actions among the servers of claim 7, in which the transaction type is selected from the group consisting of all transactions, simple transactions, and group transactions.
9. The system for coordinating actions among the servers of claim 7, in which the authentication type is selected from the group consisting of all transactions, transactions in which authentication is required, and transactions in which
authentication is not required.
10. The system for coordinating actions among the servers of claim 7, in which the critical event is selected from the group consisting of the start of a conversation, the point at which a client first provides valid identification information,
and a last group transaction.
11. A system for coordinating actions among the servers in a server group comprising:
a server group including one or more participating servers and one or more controller servers, wherein each participating server can communicate with at least one controller server;
a client which can communicate with at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
means for transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers; and
means for communicating among the servers with at least one controller server coordinating actions of the plurality of servers in response to the request in which multiple controller servers are arranged in a hierarchy of controller servers and
said means of communicating among servers includes coordinating actions by a controller server among a plurality of servers in at least one hierarchical level below it.
12. A system for coordinating actions among the servers in a server group comprising:
a server group including one or more participating servers and one or more controller servers, wherein each participating server can communicate with at least one controller server;
a client which can communicate with at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
means for transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers;
means for communicating among the servers with at least one controller server coordinating actions of the plurality of servers in response to the request; and
receiving and executing a program from at least one server, whereby the client performs at least some of the functions of the server group.
13. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one controller server, and in which multiple
controller servers are arranged in a hierarchy of controller servers, a method for coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for a first action by a client to a server that requires authentification;
providing client identification information by the client;
verifying the client identification information by one or more controller servers;
generating client authentication information by one or more controller servers;
maintaining client authentication information by one or more controller servers;
utilizing a means by one or more controller servers for preserving the client authentification information in the conversation;
transmitting a request for a second action by the client to one of the servers that requires authentication;
using the client authentication information preserved in the conversation and the client authentication information maintained by one or more servers to authenticate the client; and
coordinating actions by a controller server among a plurality of servers in at least one hierarchical level below it.
14. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one controller server, and in which multiple
controller servers are arranged in a hierarchy of controller servers, a method for coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers;
communicating among the servers with at least one controller server coordinating actions of the plurality of servers in response to the request, in which said communicating among servers includes coordinating actions by a controller server among
a plurality of servers in at least one hierarchical level below it.
15. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one controller server, a method for
coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for a first action by a client to a server that requires authentification;
providing client identification information by the client;
verifying the client identification information by one or more controller servers;
generating client authentication information by one or more controller servers;
maintaining client authentication information by one or more controller servers;
utilizing a means by one or more controller servers for preserving the client authentification information in the conversation;
transmitting a request for a second action by the client to one of the servers that requires authentication;
using the client authentication information preserved in the conversation and the client authentication information maintained by one or more servers to authenticate the client; and
receiving and executing a program by the client from at least one server, whereby the client performs at least some of the functions of the server group.
16. In a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one controller server, a method for
coordinating actions among the servers in the server group comprising the steps of:
communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers;
transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers;
communicating among the servers with at least one controller server coordinating actions of the plurality of servers in response to the request; and
receiving and executing a program by the client from at least one server, whereby the client performs at least some of the functions of the server group. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
This invention relates to a method for coordinating actions among a group of servers. More particularly, this invention relates to a method for coordinating the authentication of clients, aggregation of information, group transactions, and
multi-phase commits across a group of servers. The preferred embodiment of the present invention relates to commerce on the World Wide Web.
Electronic commerce is increasing exponentially, especially on the World Wide Web. Many businesses have set up virtual stores on Web sites that allow consumers to shop and purchase products on-line. As a logical progression from these
individual virtual stores, virtual malls have also begun to appear on the Web.
As with real malls, virtual malls provide an opportunity to benefit both businesses and consumers. Businesses potentially benefit from their visibility on the mall. For example, a virtual store on a virtual mall may catch the attention of a
consumer who originally comes to the mall to buy goods from another store. Consumers may benefit from the opportunities for integration and coordination of goods and services on the mall. A virtual mall may provide, for example, an integrated directory
of the goods and services of many virtual stores. In addition, a virtual mall may provide a single point of authentication for all of the virtual stores on the mall. A virtual mall could also coordinate group transactions involving multiple stores.
Thus far, the virtual malls that have appeared on the Web have taken one of two approaches. First, some malls provide a Web page with hyperlinks to independent virtual stores. Second, some malls have provided multiple virtual stores within the
same Web site. These latter malls have utilized such systems as the IBM World Avenue system (http://mer.shop.ibm.com) and the Netscape Merchant System (http://home.netscape.com/comprod/products/iapps/capps/mersys.html).
Each of these approaches has disadvantages. The first approach does not provide any coordination among the individual stores except for the collection of their URLs. The second approach, while providing coordination among individual stores, is
restrictive in that the virtual stores must be implemented and managed within a single Web site. Thus, to join a virtual mall using the second approach, a business with an established virtual store on the Web may be required to significantly change its
implementation.
Accordingly, there is a need for a method for coordinating multiple, independent virtual stores that can be distributed across multiple Web sites.
SUMMARY OF THE INVENTION
The present invention is directed to a method for coordinating actions among a group of servers. The preferred embodiment for the present invention relates to coordinating multiple virtual stores on the Web, but the present invention applies to
other forms of networked communications as well.
It is an object of the present invention to provide a method for coordinating single authentication of a client among a set of stores, such that a client, once prompted for authentication information, can execute transactions at any store or
across any subset of stores without further prompting for authentication.
It is a further object of the present invention to coordinate the integration of information from multiple stores. For example, it is desirable to integrate the items contained in the shopping basket of each store a client has visited and to
provide a single display of this information to the client. As another example, it is desirable to allow a client to specify keywords for a search, send the search request to any subset of the stores, and send the combined search results to the client.
It is a further object of the present invention to coordinate requests for group transactions involving multiple stores. For example, a client may request a group purchase, which involves an "all-or-nothing" purchase of a set of items across
stores. Such a purchase might involve, for example, a matching jacket and slacks from different stores. This type of request may be used in conjunction with a single or multi-phase commit across the stores.
The architecture of the present invention is a client-server environment having a server group including one or more participating servers and one or more controller servers, where each participating server can communicate with at least one
controller server. In this environment, the present invention is directed to a method for coordinating actions among the servers in the server group, which comprises the steps of: (1) communicating between a client and at least one of the servers in the
server group using a protocol that has limited or no defined procedures for passing state information between the client and the servers; (2) transmitting a request for an action from the client to one of the servers; and (3) communicating among a
plurality of servers with at least one controller server coordinating actions of at least some of the servers in response to the request.
Preferred embodiments of the present invention include coordinating the authentication of a client during a conversation and coordinating a group transaction requested by a client. To coordinate the authentication of a client during a
conversation, a preferred method according to the present invention comprises the steps of: (1) communicating between a client and at least one of the servers in the server group using a protocol that has limited or no defined procedures for passing
state information between the client and the servers; (2) transmitting a request for a first action by a client to a server that requires authentication; (3) providing client identification information by the client; (4) verifying the client
identification information by one or more controller servers; (5) generating client authentication information by one or more controller servers; (6) maintaining the client authentication information by one or more servers; (7) utilizing a means by one
or more servers for preserving the client authentication information in the conversation; (8) transmitting a request for a second action by the client to one of the servers that requires authentication; and (9) using the client authentication information
preserved in the conversation and the client authentication information maintained by the servers to authenticate the client.
To coordinate a group transaction requested by a client, a preferred method according to the present invention comprises the steps of: (1) communicating between a client and at least one of the servers in the server group using a protocol that
has limited or no defined procedures for passing state information between the client and the servers; (2) transmitting a request for an action requiring participation by a plurality of servers from the client to one of the servers; and (3) communicating
among the servers with at least one controller server coordinating the actions of the plurality of servers in response to the request.
These and other features, aspects, and advantages of the present invention will become better understood with regard to the following detailed description, appended claims, and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an overall architecture used in accordance with a preferred embodiment of the present invention;
FIG. 2 is a block diagram of a method for coordinating the authentication of a client in accordance with a preferred embodiment of the present invention;
FIG. 3 is a block diagram of a method for coordinating a group transaction among participating servers in accordance with a preferred embodiment of the present invention;
FIG. 4 is a block diagram of another overall architecture used in accordance with a preferred embodiment of the present invention;
FIG. 5 is a list of preferred variables preserved in a conversation; and
FIG. 6 is a block diagram of a method for dynamically embedding state information in World Wide Web hyperlinks.
DETAILED DESCRIPTION
As used in this specification and the appended claims, the term "client" is a program or application that issues commands to another program or application (called a server) which performs the tasks associated with the commands.
As used in this specification and the appended claims, the term "common gateway interface" (CGI) is a mechanism by which a World Wide Web client can request the execution of a program on a Web site. The Web site runs the CGI program and sends
the output of the program to the client.
As used in this specification and the appended claims, the term "continuation" is a new request that a client may send to a server, which was provided by the server in response to a pr | | |