WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and system coordinating actions among a group of servers    
United States Patent6170017   
Link to this pagehttp://www.wikipatents.com/6170017.html
Inventor(s)Dias; Daniel Manuel (Mahopac, NY), Iyengar; Arun Kwangil (Yorktown Heights, NY)
AbstractIn 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 6170017
Method and system coordinating actions among a group of servers - US Patent 6170017 Drawing
Method and system coordinating actions among a group of servers
Inventor     Dias; Daniel Manuel (Mahopac, NY) , Iyengar; Arun Kwangil (Yorktown Heights, NY)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     January 2, 2001
Application Number     08/854,010
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     May 8, 1997
US Classification     709/235 709/226
Int'l Classification    
Examiner     Rinehart; Mark H.
Assistant Examiner     Willett; Stephan
Attorney/Law Firm     Shofi; David M. Baker Botts L.L.P.
Address
Parent Case    
Priority Data    
USPTO Field of Search     709/226 709/235
Patent Tags     coordinating actions among group servers
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5890161
Helland

Mar,1999

[0 after 0 votes]
5862339
Bonnaure
709/227
Jan,1999

[0 after 0 votes]
5793964
Rogers

Aug,1998

[0 after 0 votes]
5781743
Matsuno
709/228
Jul,1998

[0 after 0 votes]
5764155
Kertesz
700/295
Jun,1998

[0 after 0 votes]
5708780
Levergood
709/229
Jan,1998

[0 after 0 votes]
5644720
Boll

Jul,1997

[0 after 0 votes]
5572643
Judson
709/218
Nov,1996

[0 after 0 votes]
5568612
Barrett
709/203
Oct,1996

[0 after 0 votes]
5497463
Stein
709/203
Mar,1996

[0 after 0 votes]
5485579
Hitz

Jan,1996

[0 after 0 votes]
5434994
Shaheen

Jul,1995

[0 after 0 votes]
5428771
Daniels
718/101
Jun,1995

[0 after 0 votes]
5416842
Aziz
380/30
May,1995

[0 after 0 votes]
5392400
Berkowitz
709/203
Feb,1995

[0 after 0 votes]
5265250
Andrade
718/101
Nov,1993

[0 after 0 votes]
5241594
Kung
713/151
Aug,1993

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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