Method and system for minimizing or eliminating downtime when updating a website
First Claim
1. A method for implementing a web site update, the web site being available via a plurality of servers, the method comprising:
- at a database, establishing a first application programming interface referencing a set of data stored at the database, wherein the set of data is in a first format, and wherein the first application programming interface uses a first code release to access the set of data in the first format;
at the database, configuring a first synonym to cause a processor to refer inbound transaction requests arriving at the database to the first application programming interface;
splitting the plurality of servers into a first subset of the plurality of servers and a second subset of the plurality of servers, including;
designating the first subset of the plurality of servers as a live cluster;
disabling public access to the second subset of the plurality of servers; and
in a processor running at a website traffic director, redirecting website traffic to the live cluster;
privately updating the website through the second subset of the plurality of servers while the website traffic is redirected to the live cluster, including;
updating software code on the second subset of the plurality of servers to a second code release;
determining that a table structure of the set of data is to be changed to a new table structure as part of the web site update;
accessing data transformation code developed for the website update, wherein the data transformation code includes one or more data transforms; and
applying a data transform from the data transformation code to the set of data to move the set of data from the first format to a different second format to match the new table structure;
at the database, establishing a second application programming interface referencing the set of data stored at the database, wherein the second application programming interface uses the second code release;
at the database, configuring a second synonym to cause a processor to refer inbound transaction requests arriving at the database to the second application programming interface; and
re-enabling public access to the second subset of the plurality of servers.
3 Assignments
0 Petitions
Accused Products
Abstract
Websites, including supporting databases, are updated with little or no downtime. In one aspect, a database is replicated prior to updating, so that updates can be performed on one copy while the other remains operational. In another aspect, the data remains in one location while an application programming interface for interacting with the data using new software code is introduced. Another application programming interface remains operational while the update is taking place. Public and private synonyms are used to direct web traffic to the appropriate application programming interface during the update process.
50 Citations
23 Claims
-
1. A method for implementing a web site update, the web site being available via a plurality of servers, the method comprising:
-
at a database, establishing a first application programming interface referencing a set of data stored at the database, wherein the set of data is in a first format, and wherein the first application programming interface uses a first code release to access the set of data in the first format; at the database, configuring a first synonym to cause a processor to refer inbound transaction requests arriving at the database to the first application programming interface; splitting the plurality of servers into a first subset of the plurality of servers and a second subset of the plurality of servers, including; designating the first subset of the plurality of servers as a live cluster; disabling public access to the second subset of the plurality of servers; and in a processor running at a website traffic director, redirecting website traffic to the live cluster; privately updating the website through the second subset of the plurality of servers while the website traffic is redirected to the live cluster, including; updating software code on the second subset of the plurality of servers to a second code release; determining that a table structure of the set of data is to be changed to a new table structure as part of the web site update; accessing data transformation code developed for the website update, wherein the data transformation code includes one or more data transforms; and applying a data transform from the data transformation code to the set of data to move the set of data from the first format to a different second format to match the new table structure; at the database, establishing a second application programming interface referencing the set of data stored at the database, wherein the second application programming interface uses the second code release; at the database, configuring a second synonym to cause a processor to refer inbound transaction requests arriving at the database to the second application programming interface; and re-enabling public access to the second subset of the plurality of servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product for implementing a website update, the website being available via a plurality of servers, the computer program product comprising:
-
a non-transitory computer-readable storage medium; and computer program code, encoded on the non-transitory computer-readable storage medium, configured to cause at least one processor to perform the steps of; establishing a first application programming interface referencing a set of data stored at a database, wherein the set of data is in a first format, and wherein the first application programming interface uses a first code release to access the set of data in the first format; configuring a first synonym to cause a processor to refer inbound transaction requests arriving at the database to the first application programming interface; splitting the plurality of servers into a first subset of the plurality of servers and a second subset of the plurality of servers, including; designating the first subset of the plurality of servers as a live cluster; disabling public access to the second subset of the plurality of servers; and redirecting, by a website traffic director, website traffic to the live cluster; privately updating the web site through the second subset of the plurality of servers while the website traffic is redirected to the live cluster, including; updating software code on the second subset of the plurality of servers to a second code release; determining that a table structure of the set of data is to be changed to a new table structure as part of the web site update; accessing data transformation code developed for the website update, wherein the data transformation code includes one or more data transforms; and applying a data transform from the data transformation code to the set of data to move the set of data from the first format to a different second format to match the new table structure; establishing a second application programming interface referencing the set of data stored at the database, wherein the second application programming interface uses the second code release; configuring a second synonym to cause a processor to refer inbound transaction requests arriving at the database to the second application programming interface; and re-enabling public access to the second subset of the plurality of servers. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for implementing a website update, the website being available via a plurality of servers, the system comprising:
-
a processor; a first application programming interface installed at a database and referencing a set of data stored at the database, wherein the set of data is in a first format, and wherein the first application programming interface uses a first code release to access the set of data in the first format; a website traffic director configured to; configure a first synonym to cause a processor to refer inbound transaction requests arriving at the database to the first application programming interface; and split the plurality of servers into a first subset of the plurality of servers and a second subset of the plurality of servers, including; designate the first subset of the plurality of servers as a live cluster; disable public access to the second subset of the plurality of servers; and redirect website traffic to the live cluster; a code release update module configured to privately update the web site through the second subset of the plurality of servers while the website traffic is redirected to the live cluster, including; update software code on the second subset of the plurality of servers to a second code release; determine that a table structure of the set of data is to be changed to a new table structure as part of the web site update; access data transformation code developed for the website update, wherein the data transformation code includes one or more data transforms; and apply a data transform from the data transformation code to the set of data to move the set of data from the first format to a different second format to match the new table structure; and a second application programming interface installed at the database and referencing the set of data stored at the database, wherein the second application programming interface uses the second code release; wherein, subsequent to the software code update, the website traffic director configures a second synonym to cause a processor to refer inbound transaction requests arriving at the database to the second application programming interface and re-enables public access to the second subset of the plurality of servers. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification