Method and apparatus for two-phase commit in data distribution to a web farm
AssigneeQUALCOMM Incorporated
InventorsBrian Minear, Phil Nguyen
Life of this patent
Estimating the term…
Abstract
Various methods and apparatus for synchronizing data between members of a web farm are disclosed. The web farm may include a primary member and at least one backup member. The web farm members may include modules for determining whether new data is available to the web farm; placing the web farm in a prepare state if new data is available; placing the web farm in a commit state if members of the web farm successfully receive the new data; and placing the web farm in an abort state if any of the members of the web farm do not successfully receive the new data.
Claims28
A method for synchronizing data between members of a web farm, the web farm comprising a primary member, at least one backup member, and a distribution server, the method comprising:
- determining, at the primary member, whether a new data is available to the web farm at said distribution server;
- if the new data is available, at said primary member, placing the web farm in a prepare state, wherein when said web farm is in said prepared state said primary member causes the primary member and each backup member to:
- retrieve the new data from the distribution server and store said retrieved new data in a temporary storage;
- upon successfully storing said retrieved new data in said temporary storage, notify said primary member;
- at the primary member, if notified by said primary member and each backup member within a predetermined time since the start of said prepare state, placing the web farm in a commit state, wherein when said web farm is in said commit state, said primary member causes the primary member and each backup member to commit said retrieved new data;
- and
- at the primary member, if not notified by one or more of said primary member and each said backup member within said predetermined time from the start of said prepare state, placing the web farm in an abort state, wherein when said web farm is in said abort state, said primary member causes the primary member and each backup member to roll back said new data.
A web farm comprising:
- a network;
- a primary member, coupled to said network and configured to receive data from an distribution server;
- at least one backup member, each backup member coupled to said network and configured to receive data from said distribution server;
- and
- wherein said primary member is further configured to:
- determine whether a new data is available for said web farm at said distribution server;
- place the web farm in a prepare state if the new data is available, wherein when said web farm is in said prepare state, said primary member causes the primary member and each backup member to:
- retrieve the new data from the distribution server and store said retrieved new data in a temporary storage;
- upon successfully storing said retrieved new data in said temporary storage, sending a notification to said primary member;
- if said primary member received notifications from said primary member and each of said backup members within a predetermined time since the start of said prepare state, placing the web farm in a commit state;
- and
- if said primary member has not received notifications from said primary member and each of said backup members within said predetermined time since the start of said prepare state, placing the web farm in an abort state.
A system comprising:
- a network means;
- a primary member means, coupled to said network means and configured to receive data from a distribution server means;
- at least one backup member means, each backup member means coupled to said network means and configured to receive data from said distribution server means;
- wherein said primary member means comprises:
- a new data determination means for determining whether a new data is available at said distribution server means;
- a prepare state means for placing the system in a prepare state if said data determination means determines that said new data is available, wherein when said system is in said prepare state, said prepare state means causes the primary member means and each backup member means to:
- retrieve the new data from the distribution server means and store said retrieved new data in a temporary storage means;
- upon successfully storing said retrieved new data in said temporary storage, sending a notification to said primary member means;
- a commit state means for placing the system in a commit state if said primary member means received notifications from said primary member means and each backup member means within a predetermined time since the start of said prepare state;
- and
- an abort means for placing the system in an abort state if said primary member means does not receive notifications from said primary member means and each backup member means within said predetermined time since the start of said prepare state.
A machine readable medium tangibly storing a sequence of instructions executable by a machine to perform a method for synchronizing data in a web farm comprising a primary member, at least one backup member, and a distribution server, said method comprising:
- determining, at the primary member, whether a new data is available to the web farm at said distribution server;
- if the new data is available, at said primary member, placing the web farm in a prepare state, wherein when said web farm is in said prepared state said primary member causes the primary member and each backup member to:
- retrieve the new data from the distribution server and store said retrieved new data in a temporary storage;
- upon successfully storing said retrieved new data in said temporary storage, notify said primary member;
- at the primary member, if notified by said primary member and each backup member within a predetermined time since the staff of said prepare state, placing the web farm in a commit state, wherein when said web farm is in said commit state, said primary member causes the primary member and each backup member to commit said retrieved new data;
- and
- at the primary member, if not notified by one or more of said primary member and each said backup member within said predetermined time from the start of said prepare state, placing the web farm in an abort state, wherein when said web farm is in said abort state, said primary member causes the primary member and each backup member to roll back said new data.
Dependencies are inferred from the claim text.