IP Library › Granted Patent US 12,346,650
Granted Patent B2
US 12,346,650 · App. 18/412,656 · Granted Jul 1, 2025

On-demand web-server execution instance for website hosting with custom back-end functionality

Inventors: Yoav Abrahami (Tel Aviv, IL); Ziv Shalom Shalev (Kochav Yair, IL); Shai Nagar (Hod Hasharon, IL); Gil Tayar (Givatayim, IL)
Assignee: WIX.COM LTD.
G06F40/143G06F3/0486G06F8/30G06F8/33G06F8/34G06F9/44526G06F16/252G06F16/951G06F16/955G06F16/9558G06F16/958G06F16/972G06F21/128G06F21/53G06F40/106G06F40/186H04L67/02H04L67/535H04L67/63
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,346,650
App. No.
18/412,656
Granted
Jul 1, 2025
Kind
B2
Abstract

An online website building system includes: an online database configured to store a library of website building elements for configuring a front-end of a webpage, the webpage having been built on a platform including at least common server code; and store rules for accessing code associated with the website building elements; and at least one processor configured to enable the user to edit code associated with a webpage, and to provide a programmable event for activating the resultant user-editable code, where the user-editable code is configured to provide dynamic customized back-end functionality associated with the webpage; store the edited user-editable code in a code storage system in communication with the online database; receive a request to access the webpage, and in response to the request and before the request times out, provide access to a virtualized execution instance comprising at least the common server code and the edited user-editable code.

Claims (40)

1. A system for building and hosting websites with customized back-end functionality, the system comprising:

an online database storing website building elements and user editable code;

a pool of pre-initialized server execution instances containing generic website server code; and

at least one processor configured to:

transmit instructions to a remote browser, the instructions permitting a user to access the stored website building elements and user-editable code via a unified interface and construct a front-end of an indexable webpage;

enable, via the unified interface, the user to configure a programmable event for activating the user-editable code, wherein the user-editable code is configured to provide customized back-end functionality associated with the indexable webpage;

receive and store user edits to the user-editable code;

in response to receiving a request to access the indexable webpage, select an available pre-initialized server execution instance and inject the edited user-editable code into the selected available pre-initialized server execution instance; and

in response to receiving a trigger associated with the programmable event, execute the injected edited user-editable code within the selected available pre-initialized server execution instance to implement the customized back-end functionality.

2. The system of claim 1 , wherein in response to receiving the request to access the indexable webpage, the at least one processor is further configured to determine whether the requested indexable webpage is already hosted by a server execution instance add the edited user editable code into a first one of the plurality of virtualized execution.

3. The system of claim 1 , wherein the request to access the indexable webpage comprises one or more of: a TCP request, a UDP request, a WebSocket request, an HTTP request, or an HTTPS request.

4. The system of claim 1 wherein the pool of pre-initialized server execution instances comprises one or more of light weight virtual machines, JavaScript engines, or java virtual machines.

5. The system of claim 1 , wherein the requested indexable webpage comprises one or more dashboard applications or widgets.

6. The system of claim 1 , wherein the unified interface comprises a front-end website editing window and a customized back-end editing window.

7. A method for building and hosting websites with customized back-end functionality, the method comprising:

storing website building elements and user editable code;

transmitting instructions to a remote browser, the instructions permitting a user to access the stored website building elements and user-editable code via a unified interface and construct a front-end of an indexable webpage;

enabling, via the unified interface, the user to configure a programmable event for activating the user-editable code, wherein the user-editable code is configured to provide customized back-end functionality associated with the indexable webpage;

receiving and storing user edits to the user-editable code;

in response to receiving a request to access the indexable webpage, selecting an available pre-initialized server execution instance from a pool of pre-initialized server execution instances containing generic website server code and injecting the edited user-editable code into the selected available pre-initialized server execution instance; and

in response to receiving a trigger associated with the programmable event, executing the injected edited user-editable code within the selected available pre-initialized server execution instance to implement the customized back-end functionality.

8. The method of claim 7 , wherein, in response to receiving the request to access the indexable webpage, the method further comprises determining whether the requested indexable webpage is already hosted by a server execution instance.

9. The method of claim 7 , wherein the request to access the indexable webpage comprises one or more of: a TCP request, a UDP request, a WebSocket request, an HTTP request, or an HTTPS request.

10. The method of claim 7 , wherein the pool of pre-initialized server execution instances comprises one or more of light weight virtual machines, JavaScript engines, or java virtual machines.

11. The method of claim 7 , wherein the requested indexable webpage comprises one or more dashboard applications or widgets.

12. The method of claim 7 , wherein the unified interface comprises a front-end website editing window and a customized back-end editing window.

13. The system of claim 1 , wherein the trigger corresponds to a user interaction event comprising one or more of selecting a nested hyperlink in the indexable webpage, hovering a cursor over a specified portion of the indexable webpage, updating content in the indexable webpage, uploading content to the indexable webpage, or filling out a form in indexable webpage.

14. The system of claim 1 , wherein the trigger corresponds to a non-interaction comprising one or more of a periodic time-based action or a database update.

15. The system of claim 1 , wherein the at least one processor is further configured to increase the number of pre-initialized server execution instances in the pool of pre-initialized server execution instances based on a predicted future load state of server execution instances already hosting one or more webpages.

16. The method of claim 7 , wherein the trigger corresponds to a user interaction event comprising one or more of selecting a nested hyperlink in the indexable webpage, hovering a cursor over a specified portion of the indexable webpage, updating content in the indexable webpage, uploading content to the indexable webpage, or filling out a form in indexable webpage.

17. The method of claim 7 , wherein the trigger corresponds to a non-interaction comprising one or more of a periodic time-based action or a database update.

18. The method of claim 7 , wherein the method further comprises increasing the number of pre-initialized server execution instances in the pool of pre-initialized server execution instances based on a predicted future load state of server execution instances already hosting one or more webpages.

19. A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon that, in execution with at least one processor, is configured to:

storing website building elements and user editable code;

transmit instructions to a remote browser, the instructions permitting a user to access the stored website building elements and user-editable code via a unified interface and construct a front-end of an indexable webpage;

enable, via the unified interface, the user to configure a programmable event for activating the user-editable code, wherein the user-editable code is configured to provide customized back-end functionality associated with the indexable webpage;

receive and store user edits to the user-editable code;

in response to receiving a request to access the indexable webpage, select an available pre-initialized server execution instance from a pool of pre-initialized server execution instances containing generic website server code and inject the edited user-editable code into the selected available pre-initialized server execution instance; and

in response to receiving a trigger associated with the programmable event, execute the injected edited user-editable code within the selected available pre-initialized server execution instance to implement the customized back-end functionality.

20. The computer program product of claim 19 , wherein the computer program code, in execution with at least one processor, is further configured to increase the number of pre-initialized server execution instances in the pool of pre-initialized server execution instances based on a predicted future load state of server execution instances already hosting one or more webpages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2024
From: NAGAR, SHAI; TAYAR, GIL; SHALEV, ZIV SHALOM; ABRAHAMI, YOAV
To: WIX.COM LTD.
Reel/Frame 066191/0729 →
Continuity (5)
Continuation 17460225 · Aug 29, 2021
Continuation 16044457 · Jul 24, 2018
Provisional Application 62702278 · Jul 23, 2018
Provisional Application 62536403 · Jul 24, 2017
Related Publication 20240220706A1 · Jul 4, 2024
References Cited (164)
US 6247032B1 · Bernardo et al. · 2001 [cited by applicant]
US 6728762B1 · Estrada et al. · 2004 [cited by applicant]
US 6732332B1 · Borysewicz et al. · 2004 [cited by applicant]
US 6901424B1 · Winn · 2005 [cited by applicant]
US 7178108B1 · Workman et al. · 2007 [cited by applicant]
US 7240077B1 · Edelman et al. · 2007 [cited by applicant]
US 7289964B1 · Bowman-Amuah · 2007 [cited by applicant]
US 7308643B1 · Zhu et al. · 2007 [cited by applicant]
US 7403491B2 · Zabihi et al. · 2008 [cited by applicant]
US 7546576B2 · Egli · 2009 [cited by applicant]
US 7613687B2 · Nye · 2009 [cited by applicant]
US 8312170B2 · Ng et al. · 2012 [cited by applicant]
US 8387006B1 · Taylor · 2013 [cited by examiner]
US 8464228B2 · Campbell · 2013 [cited by applicant]
US 8474056B2 · Radhakrishnan · 2013 [cited by applicant]
US 8499237B2 · Buchs et al. · 2013 [cited by applicant]
US 8584094B2 · Dadhia · 2013 [cited by applicant]
US 8627288B2 · Kimball · 2014 [cited by applicant]
US 8874593B2 · Unger · 2014 [cited by applicant]
US 8910156B1 · Kenchammana-Hosekote · 2014 [cited by applicant]
US 8938791B2 · O'Donnell et al. · 2015 [cited by applicant]
US 8943086B2 · Moser et al. · 2015 [cited by applicant]
US 8959427B1 · Carlsson et al. · 2015 [cited by applicant]
US 9195477B1 · Spencer · 2015 [cited by applicant]
US 9229702B1 · Kapulkin · 2016 [cited by applicant]
US 9305000B1 · Bandopadhyay et al. · 2016 [cited by applicant]
US 9455997B2 · Shulman et al. · 2016 [cited by applicant]
US 9513885B2 · Warren · 2016 [cited by applicant]
US 9607332B1 · Nazarov et al. · 2017 [cited by applicant]
US 9864735B1 · Lamprecht · 2018 [cited by examiner]
US 10013400B1 · Zetlen · 2018 [cited by examiner]
US 10025924B1 · Vagin et al. · 2018 [cited by applicant]
US 10031920B1 · Schoeffler et al. · 2018 [cited by applicant]
US 10089406B2 · Schneider et al. · 2018 [cited by applicant]
US 10331420B2 · Nagar · 2019 [cited by applicant]
US 10747942B1 · Siroker · 2020 [cited by examiner]
US 11106860B2 · Abrahami · 2021 [cited by applicant]
US 20020065851A1 · Watson et al. · 2002 [cited by applicant]
US 20020099738A1 · Grant · 2002 [cited by applicant]
US 20020165936A1 · Alston et al. · 2002 [cited by applicant]
US 20030055868A1 · Fletcher et al. · 2003 [cited by applicant]
US 20030058277A1 · Bowman-Amuah · 2003 [cited by applicant]
US 20040019687A1 · Ozawa · 2004 [cited by applicant]
US 20040148318A1 · Taylor · 2004 [cited by applicant]
US 20040205550A1 · Gerken · 2004 [cited by applicant]
US 20040268238A1 · Liu et al. · 2004 [cited by applicant]
US 20060143307A1 · Codignotto · 2006 [cited by applicant]
US 20060248442A1 · Rosenstein et al. · 2006 [cited by applicant]
US 20070011340A1 · Seidl et al. · 2007 [cited by applicant]
US 20070162843A1 · Ticknor · 2007 [cited by applicant]
US 20070204273A1 · Chen et al. · 2007 [cited by applicant]
US 20070220419A1 · Stibel · 2007 [cited by applicant]
US 20080021904A1 · Garg et al. · 2008 [cited by applicant]
US 20080071929A1 · Motte et al. · 2008 [cited by applicant]
US 20080133647A1 · Hamzeh · 2008 [cited by applicant]
US 20080201452A1 · Athas et al. · 2008 [cited by applicant]
US 20080243852A1 · Brunner · 2008 [cited by examiner]
US 20080276182A1 · Leow · 2008 [cited by applicant]
US 20080294750A1 · Kosonen · 2008 [cited by examiner]
US 20080313648A1 · Wang et al. · 2008 [cited by applicant]
US 20090030906A1 · Doshi et al. · 2009 [cited by applicant]
US 20090031228A1 · Buchs et al. · 2009 [cited by applicant]
US 20090210631A1 · Bosworth et al. · 2009 [cited by applicant]
US 20090222416A1 · Tymoshenko · 2009 [cited by applicant]
US 20090271472A1 · Scheifler et al. · 2009 [cited by applicant]
US 20090300580A1 · Heyhoe · 2009 [cited by applicant]
US 20090307490A1 · Dancer · 2009 [cited by applicant]
US 20090313261A1 · Corella · 2009 [cited by applicant]
US 20100017880A1 · Masood · 2010 [cited by applicant]
US 20100082634A1 · Leban · 2010 [cited by applicant]
US 20100100899A1 · Bradbury · 2010 [cited by applicant]
US 20100205210A1 · Gras · 2010 [cited by applicant]
US 20100313183A1 · Ellen et al. · 2010 [cited by applicant]
US 20110203000A1 · Bacus et al. · 2011 [cited by applicant]
US 20110282908A1 · Fly et al. · 2011 [cited by applicant]
US 20120131645A1 · Harm · 2012 [cited by applicant]
US 20130117152A1 · Mebed et al. · 2013 [cited by applicant]
US 20130152107A1 · Icknnan et al. · 2013 [cited by applicant]
US 20130166704A1 · Haugland et al. · 2013 [cited by applicant]
US 20130204746A1 · Lee · 2013 [cited by examiner]
US 20130219263A1 · Abrahami · 2013 [cited by applicant]
US 20130246944A1 · Pandiyan et al. · 2013 [cited by applicant]
US 20130262986A1 · LeBlond et al. · 2013 [cited by applicant]
US 20130304604A1 · Hoffman et al. · 2013 [cited by applicant]
US 20130332460A1 · Pappas et al. · 2013 [cited by applicant]
US 20130346849A1 · Krueger · 2013 [cited by examiner]
US 20140047413A1 · Sheive · 2014 [cited by examiner]
US 20140053060A1 · Walker et al. · 2014 [cited by applicant]
US 20140089782A1 · Cook · 2014 [cited by applicant]
US 20140095233A1 · Yeung · 2014 [cited by applicant]
US 20140095632A1 · Grosz et al. · 2014 [cited by applicant]
US 20140164486A1 · Ravichandran et al. · 2014 [cited by applicant]
US 20140173702A1 · Wong et al. · 2014 [cited by applicant]
US 20140222553A1 · Bowman · 2014 [cited by examiner]
US 20140222894A1 · Gangadharan et al. · 2014 [cited by applicant]
US 20140223452A1 · Santhanam et al. · 2014 [cited by applicant]
US 20140229821A1 · Abrahami · 2014 [cited by applicant]
US 20140245257A1 · Kusmer et al. · 2014 [cited by applicant]
US 20140282218A1 · Kaufman et al. · 2014 [cited by applicant]
US 20150019687A1 · Aaron · 2015 [cited by applicant]
US 20150026342A1 · Chen · 2015 [cited by applicant]
US 20150058339A1 · Nijjer et al. · 2015 [cited by applicant]
US 20150100406A1 · Klimetschek · 2015 [cited by applicant]
US 20150113384A1 · Tymoshenko · 2015 [cited by applicant]
US 20150135097A1 · Carriero · 2015 [cited by examiner]
US 20150154162A1 · Nijjer et al. · 2015 [cited by applicant]
US 20150161086A1 · Wu · 2015 [cited by applicant]
US 20150161111A1 · Lueck · 2015 [cited by applicant]
US 20150227533A1 · Goldstein · 2015 [cited by applicant]
US 20150363503A1 · Scheuerman · 2015 [cited by examiner]
US 20160085610A1 · McFate et al. · 2016 [cited by applicant]
US 20160093083A1 · Chen et al. · 2016 [cited by applicant]
US 20160246820A1 · Depaoli et al. · 2016 [cited by applicant]
US 20160261716A1 · Khalaf · 2016 [cited by applicant]
US 20160277405A1 · Weller · 2016 [cited by applicant]
US 20160357527A1 · Geva et al. · 2016 [cited by applicant]
US 20160358109A1 · Kruempelmann · 2016 [cited by applicant]
US 20170091079A1 · Zhou · 2017 [cited by applicant]
US 20170109341A1 · Issa · 2017 [cited by applicant]
US 20170147480A1 · Lachwani et al. · 2017 [cited by applicant]
US 20170257464A1 · Mapes et al. · 2017 [cited by applicant]
US 20170364342A1 · Shuster · 2017 [cited by applicant]
US 20180046602A1 · Sisson et al. · 2018 [cited by applicant]
US 20180052940A1 · Miller et al. · 2018 [cited by applicant]
US 20180088915A1 · Yang · 2018 [cited by examiner]
US 20180097820A1 · Antipa et al. · 2018 [cited by applicant]
US 20180173390A1 · Dunne et al. · 2018 [cited by applicant]
US 20180205549A1 · Blinn · 2018 [cited by applicant]
US 20180218006A1 · Palmer et al. · 2018 [cited by applicant]
US 20180239802A1 · Fabijancic · 2018 [cited by applicant]
US 20180309720A1 · Cochran et al. · 2018 [cited by applicant]
US 20180314625A1 · Schuller · 2018 [cited by applicant]
US 20190057111A1 · Chung · 2019 [cited by applicant]
US 20190272298A1 · Wright et al. · 2019 [cited by applicant]
US 20200057714A1 · Ounce · 2020 [cited by applicant]
CN 101488135 · 2009 [cited by applicant]
JP 2002202937A · 2002 [cited by applicant]
JP 2003150377A · 2003 [cited by applicant]
JP 2004005527A · 2004 [cited by applicant]
JP 2004530191A · 2004 [cited by applicant]
JP 2006146506A · 2006 [cited by applicant]
JP 2008535056A1 · 2008 [cited by applicant]
JP 2009176296A · 2009 [cited by applicant]
JP 2010140076A · 2010 [cited by applicant]
JP WO2012014248A1 · 2012 [cited by applicant]
JP 2012208781A · 2012 [cited by applicant]
JP 2016505994A · 2016 [cited by applicant]
JP 2016519347A · 2016 [cited by applicant]
WO WO2002069086A2 · 2002 [cited by applicant]
WO WO2006104657A1 · 2006 [cited by applicant]
WO WO2011033644 · 2011 [cited by applicant]
WO WO2014141122A1 · 2014 [cited by applicant]
WO 2016205977A1 · 2016 [cited by applicant]
WO WO2017035306A1 · 2017 [cited by applicant]
International Search Report for PCT/IB2018/001028 (ISA/US) mailed Jan. 17, 2019 (2 pages). [cited by applicant]
An Approach for Automating Design of Web, Its Metrics & Knowledge-Base; International Journal of Advanced Research in Computer Science—vol. 8, No. 7, Jul.-Aug. 2017; Meenakshi Sridhar and Nasib Singh Gill, Dept of Compu… [cited by applicant]
Shaila S.G., Vadivel A. “Textual and Visual Information Retrieval using Query Refinement and Pattern Analysis”, Intelligent Rule-Based Deep Web Crawler, Singapore. Sep. 30, 2018. [cited by applicant]
“Kibitz: End-to-End Recommendation System Builder”; Quanquan Liu, David R. Karger—MIT CSAIL. RecSys'15, Sep. 16-20, 2015, Vienna, Austria. [cited by applicant]
Georgieva, M. (Nov. 2018). “Building Websites: Leading Librarians to a New Level of Project Engagement”. Presentation at 2018; LITA Forum, Minneapolis, MN. [cited by applicant]
Title: Understanding Web 2.0, author: S Murugesan, published on 2007. [cited by applicant]
Title: programming environment for web services, author: Musicante et al, source: ACM; published on Mar. 2008. [cited by applicant]
West, Mike, “Play safely in sandboxed IFrames”, HTML5 Rocks post published Jan. 4, 2013, 9 pages (Year: 2013). [cited by applicant]
1 [cited by applicant]
Ryutaro Yoshiba, Special Edition 1 New common sense of server construction: Part 4 I will automate the configuration management tool “Chef”' usage setup, Nikkei Linux, Japan, Nikkei BP, Feb. 8, 2012, 4 [cited by applicant]