US20130282516A1 - Scraping resistant system and method for placing orders through an internet shopping service - Google Patents

Scraping resistant system and method for placing orders through an internet shopping service Download PDF

Info

Publication number
US20130282516A1
US20130282516A1 US13/453,159 US201213453159A US2013282516A1 US 20130282516 A1 US20130282516 A1 US 20130282516A1 US 201213453159 A US201213453159 A US 201213453159A US 2013282516 A1 US2013282516 A1 US 2013282516A1
Authority
US
United States
Prior art keywords
restaurant
server
alternate
restaurants
party
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US13/453,159
Other versions
US10360543B2 (en
Inventor
Daniel John McCartney
Michael Gabriel Leiseca
Ryan Robert Bowersock
V John Saxton Kent
Jacob Lyman Battle
Joshua Evnin
Rhiannon Sterling Zivin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GrubHub Holdings Inc
Original Assignee
GrubHub Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GrubHub Holdings Inc filed Critical GrubHub Holdings Inc
Priority to US13/453,159 priority Critical patent/US10360543B2/en
Assigned to GRUBHUB, INC. reassignment GRUBHUB, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZIVIN, RHIANNON STERLING, EVNIN, JOSHUA, KENT, JOHN SAXTON, V, BATTLE, JACOB LYMAN, BOWERSOCK, RYAN ROBERT, LEISECA, MICHAEL GABRIEL, MCCARTNEY, DANIEL JOHN
Assigned to GRUBHUB, INC. reassignment GRUBHUB, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE ZIP CODE OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 028094 FRAME 0617. ASSIGNOR(S) HEREBY CONFIRMS THE UNDERSIGNED HEREBY SELL(S), ASSIGN(S), AND SET(S) OVER TO: GRUBHUB, INC.. Assignors: ZIVIN, RHIANNON STERLING, EVNIN, JOSH, KENT, JOHN SAXTON, V, BATTLE, JACOB LYMAN, BOWERSOCK, RYAN ROBERT, LEISECA, MICHAEL GABRIEL, MCCARTNEY, DANIEL JOHN
Publication of US20130282516A1 publication Critical patent/US20130282516A1/en
Assigned to GRUBHUB HOLDINGS INC. reassignment GRUBHUB HOLDINGS INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GRUBHUB, INC.
Assigned to GRUBHUB HOLDINGS, INC. reassignment GRUBHUB HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRUBHUB, INC.
Assigned to CITIBANK, N.A., AS ADMINISTRATIVE AGENT reassignment CITIBANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DININGIN LLC, GRUBHUB HOLDINGS INC., GRUBHUB INC., HOMECOOKED FACTORY LLC, MEALPORT ABQ, LLC, MEALPORT DEN, LLC, MEALPORT ELP, LLC, MEALPORT EUG LLC, MEALPORT LAS LLC, MEALPORT PDX, LLC, MEALPORT SAN LLC, MEALPORT USA LLC, RESTAURANTS ON THE RUN, LLC, SLICK CITY MEDIA, INC.
Assigned to MEALPORT USA LLC, HOMECOOKED FACTORY LLC, RESTAURANTS ON THE RUN, LLC, MEALPORT ABQ, LLC, SLICK CITY MEDIA, INC., MEALPORT LAS LLC, MEALPORT ELP, LLC, MEALPORT SAN LLC, MEALPORT DEN, LLC, GRUBHUB INC., MEALPORT PDX, LLC, GRUBHUB HOLDINGS, INC., DININGIN LLC, MEALPORT EUG LLC reassignment MEALPORT USA LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to CITIBANK, N.A., AS ADMINISTRATIVE AGENT reassignment CITIBANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BITE COMMISSARY LLC, DININGIN LLC, EAT24, LLC, FOODLER ACQUISITION LLC, GRUBHUB HOLDINGS INC., GRUBHUB INC., HOMECOOKED FACTORY LLC, KFCC CONSULTING LLC, KFCO LLC, KMLEE INVESTMENTS INC., LABITE.COM, INC., MEALPORT ABQ, LLC, MEALPORT DEN, LLC, MEALPORT ELP, LLC, MEALPORT EUG LLC, MEALPORT LAS LLC, MEALPORT PDX, LLC, MEALPORT SAN LLC, MEALPORT USA LLC, RESTAURANTS ON THE RUN, LLC, SLICK CITY MEDIA, INC., THRESHER LOGISTICS LLC
Publication of US10360543B2 publication Critical patent/US10360543B2/en
Application granted granted Critical
Assigned to GRUBHUB HOLDINGS INC. reassignment GRUBHUB HOLDINGS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MALONEY, MATTHEW
Assigned to GRUBHUB HOLDINGS, INC., SCVNGR, INC. reassignment GRUBHUB HOLDINGS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present invention relates to a system and method for providing network based applications, such as Internet search engines, social media networks, and recommendations sites, access to a shopping service's content. More particularly, the invention relates to a system and method for providing network based applications access to a small portion of a shopping service's content to prevent a malicious user from extracting additional valuable content from the shopping service. More particularly still, the invention relates to a system and method for providing third-party services access to menu data and ordering capabilities of a restaurant service.
  • network based applications such as Internet search engines, social media networks, and recommendations sites
  • Web data extraction which is also referred to as web harvesting and web scraping, has become common on the Internet.
  • Web data extraction is the process of automating data extraction from web sites using a software entity known as a bot or web crawler. Web data extraction is used for a wide variety of purposes, including analysis of weather data, comparing prices across numerous electronic retailers, population of search engine databases, and rapid detection of important news events.
  • web scraping technology has also given rise to a cottage industry that effectively focuses on conversion of content from established websites for the purpose of creating competitor websites at a fraction of the cost that it would take to build a similar content collection legitimately.
  • Bots use a number of different techniques to gather information from target websites. Generally, however, bots attempt to mimic the actions that a human being would take when using the website. For example, and with reference to FIG. 1 , which is the main entry for grubHub.com, a user would generally enter her general location, such as “Naperville, Ill.”, as well as the type of food she would like, such as “Pizza”, and press the “Find Restaurants” button. A list of restaurants, such as that displayed in FIG. 2 would then be displayed. A bot that wanted to copy content would then follow links to information about each of the restaurants, such as its address, telephone number(s), and menu, and copy that information to a database. Accordingly, with very little cost, a competitor could potentially duplicate a database of restaurant menus that was assembled only with great effort and expenditure.
  • Certain content aggregating websites may benefit from allowing other sites to access their content. For example, it may be useful to allow a search engine to display an option for ordering through the restaurant service when a search is conducted of a member restaurant.
  • the search engine company will desire to maintain the web surfer on its own site.
  • the traditional solution to this problem has been for the restaurant service to develop an application programming interface (“API”), and for the search engine to enable the desired features using, the restaurant service's API.
  • API application programming interface
  • the search engine would have to effectively build a customized application that allowed for placing orders to member restaurants of the restaurant service, which could require considerable effort and expense. While the expenditure of such effort may make financial sense from the viewpoint of a large search engine, other smaller web-entities could find the effort and expense involved prohibitive.
  • the restaurant service would have to share data with the third-party, which, depending on how the third-party implemented their offering, could enable a web scraper to circumvent the content protections of the restaurant service, and obtain, for example, menu data for all member restaurants within the restaurant service's database.
  • a restaurant service may assign each of its third-party partners an API Key, such as, for example, “APIKEY99”.
  • APIKEY99 an API Key
  • it will generally use a database key, such as an incrementing unsigned integer, for each restaurant; i.e., “Pancake Cafe” of Naperville, Ill., may be assigned restaurant ID “1000”.
  • a web crawler could potentially copy the restaurant service's entire database of content.
  • certain restaurants may consent to have their menu displayed by a restaurant service, but may not desire to accept orders through the restaurant service.
  • the restaurant service may agree to such an arrangement, as the restaurant service will want to maintain mindshare among diners irrespective of the restaurant that they desire to purchase from.
  • a diner is “on the fence” about a dining decision, and may choose to order from a restaurant that accepts orders through the restaurant service or one that does not, it is in the interest of the restaurant service to steer the diner to an “in-network” restaurant.
  • present restaurant services do not provide any means of doing so.
  • An object of the disclosed system and method is to improve the resistance to content extraction through automated means for content based web sites
  • Another object of the disclosed system and method is to allow third party access to the content of a content based web site while providing for resistance to content extraction through the third party by automated means;
  • Another object of the disclosed system and method is to limit access by third parties to specifically identified content of a content based web site
  • Another object of the disclosed system and method is to track access by third parties to content of a content based web site
  • Another object of the disclosed system and method is to provide recommendations to diners looking for a specific restaurant that does not provide ordering through a restaurant service;
  • the disclosed system and method achieves its objectives through the use of a token that is provided by the content-based website to the third-party.
  • the token corresponds to the particular third-party's API key as well as a specific database identifier, such as a restaurant ID.
  • a third-party server maintains a first set of data in a local database based on data provided to it from a restaurant service's database.
  • a handshake is conducted between the third-party server and an API server controlled by the restaurant service to provide the third-party server with a token.
  • the token is then provided to the web browser, which can use the token to place calls directly with the API server.
  • the token is mapped by the API server to a specific API Key and Restaurant ID combination, and is used by the web browser to make calls to the API server. Calls from the web browser to a different restaurant ID are ignored.
  • the token is a random alphanumeric string. Note that both the characters within the string, and the length of the string can be randomized.
  • recommendations for alternate restaurants are generated by a restaurant service server when a user searches for a subject restaurant that is not a member of the restaurant service.
  • the restaurant service server receives a request for at least one suggested alternate restaurant.
  • a restaurant service database such as, for example, the location of a subject restaurant compared to other restaurants, at least one alternate restaurant is suggested by the server.
  • Many other types of information can be used to generate suggestions as well, such as, for example, cuisine types, menu items, and diner ratings.
  • FIG. 1 is an image of the front page of a restaurant service
  • FIG. 2 is an image of search results for the restaurant service of FIG. 1 ;
  • FIG. 3 is a system diagram of a third-party service that draws content from a restaurant service
  • FIG. 4 is an image of a third-party website displaying unprotected content drawn from a restaurant service
  • FIG. 5 is an image of a third-party website displaying protected content drawn from a restaurant service
  • FIG. 6 is a flowchart depicting a process by which a third-party server can update its local database with information from a restaurant service;
  • FIG. 7 is a graphical depiction of a token acquisition process for a web browser interacting with a third-party website that draws content from a restaurant service;
  • FIG. 8 a is HTML code for embedding ordering capabilities for a restaurant service into a frame of a third-party web page
  • FIG. 8 b is HTML code for embedding ordering capabilities for a restaurant service within a modal dialog box displayed by a third-party web page;
  • FIG. 9 is HTML code used to displayed a modal dialog box with the restaurant's service's protected information.
  • FIG. 10 is a web page displaying recommendations for an alternate to a restaurant that does not accept orders through a restaurant service.
  • FIG. 3 a simplified diagram of a third party system for accessing content on a content based website is depicted.
  • the content based website is a restaurant service.
  • this disclosure applies equally well to other types of content, based websites. For example, web sites focused on shopping for wedding planners, florists, resorts, trade show venues, and legal services could all advantageously make use of the disclosed system and method.
  • a web browser 102 accesses a third-party website 104 .
  • the third-party website 104 could be one of many different types of website.
  • it could be a search engine, and the web surfer could be conducting a web search for a specific type of content, such as, for example, a specific restaurant.
  • the third-party site could be a local search site, a social networking site, a user review site, or another type of website.
  • the task of the web surfer would, of course, likely be different depending on the type of site.
  • the system of FIG. 3 also includes an API server 106 which provides the third-party web server 104 with programmatic access to a restaurant service.
  • the third-party web server 104 is coupled to a local database 105 .
  • a database 110 networked with the API server 106 organizes and stores the restaurant service's content.
  • the database 110 also holds an order queue.
  • a Back Office Computer 112 services the order queue, and delivers orders to member restaurants over a wide area data network 114 or a public telephone network 116 .
  • Member restaurants and delivery services 118 accept and fulfill orders.
  • the API server 106 provides a full API 107 , and a lite API 108 .
  • the full API 107 provides full programmatic access to the content of the restaurant service, as is consistent with prior art fully developed application programming interfaces.
  • a third party service can obtain access to the content of the restaurant service, such as restaurant addresses, phone numbers, and menus, while presenting the content to web surfers in a highly customized manner.
  • the lite API 108 provides a lightweight, easy to integrate package to third-party sites that is tailored to allowing sites to (1) display limited information about restaurants within the restaurant service's database, (2) place an order from a member restaurant, or (3) obtain a recommendation for a member restaurant when the web surfer is viewing a non-member restaurant.
  • FIG. 4 depicts a typical third-party website, in this case a review site specializing in providing restaurant reviews. By pressing on the “Order Delivery” link, the ordering interface of FIG. 5 is brought up.
  • step 202 a message containing the third-party's API key and a timestamp indicating the last update to the third-party's local restaurant database 105 is sent from the third-party server 104 to the API server 106 .
  • Any standard timestamp format can be used. If this is the first time that the third-party is updating its database 105 , the timestamp can indicate an impossible time, such as, for example, a time in the distant past or future.
  • the third-party server will then receive a message indicating whether there are any updates to the restaurant services database 110 in step 204 .
  • the process of FIG. 6 is technology agnostic.
  • the message format used to communicate between the third party server and the API server can be based on XML, simple packets, or some other technology.
  • a pull scheme has been described, a push scheme could easily be adapted for this use.
  • the process of FIG. 6 allows for the third-party to acquire basic data regarding the restaurants stored in the restaurant service's database. This data is as vulnerable to extraction as any other data provided by the third-party. However, other data, such as, for example, restaurant menu data, is not delivered using the process of FIG. 6 .
  • the third-party can use the limited data acquired through the process of FIG. 6 to populate a page of their own design. For example, this data can be returned with search results or can be used to construct a review page, like that depicted in FIG. 4 .
  • the disclosed system and method allows for the integration of protected content, such as menus, into third-party sites as well.
  • a content based website generally wants to keep the internal details of its access protocol private from non-trusted entities, such as the public. Accordingly, in a scheme that makes use of an API key and a database identifier to retrieve detailed information about particular content items, it is important to keep the API key and the database identifier secret from non-trusted entities.
  • the disclosed system and method accomplishes this by use of a temporary token that is temporarily mapped to a particular API key and database identifier.
  • the API server, or some other computer controlled by the content based website stores a table, or some other mapping structure, that maps the temporary token to a specific API key and database identifier combination. Accordingly, the use of the token can be restricted to a particular restaurant, and aberrant calls can be traced to customers originating from a particular third-party partner.
  • the token can be a random length and random content string, such as, for example, “abcdefg”, or “zyxwvutsr123”.
  • the string should have no relationship to the API key or the database identifier, aside from the mapping maintained by the restaurant service's computers.
  • Either of the above tokens could map to, for example, the API key for a specific third party, and a specific restaurant ID, such as 109 , which can map to “Café Bolero” in the database of the restaurant service.
  • the token can be assigned a time period that it is valid, such as, for example, three hours, and is submitted with all calls from a web browser 102 to the API server 106 when manipulating menu data, or some other form of protected data.
  • the token 152 may be valid for all-time.
  • the diner can utilize the token 152 to make requests directly to the API server 106 .
  • the web browser 102 can request menu information for the restaurant associated with the token 152 , and can request to purchase an item from the restaurant.
  • FIG. 7 graphically illustrates the process of obtaining a token.
  • the third party server 104 sends a message to the API server 106 containing the third party's API Key 154 and a restaurant identifier 156 for the restaurant that the web browser 102 has requested access to.
  • the API server 106 responds with a message containing a token 152 corresponding to the provided API key 154 and restaurant ID 156 .
  • the third party server 104 provides the token to the web browser 102 , who can then use the token to directly communicate with the API Server 106 , and receive protected information, such as, for example, restaurant menus.
  • the web browser 102 can issue requests to the API server 106 for the specific restaurant ID 156 that is mapped to the token 152 . Any other restaurant ID will be rejected by the API server 106 as not allowed by the token 152 .
  • FIGS. 8 a and 8 b depict two ways of embedding the disclosed ordering capabilities in a third-party web page.
  • FIG. 8 a illustrates how Javascript can be used to embed the ordering capabilities directly into a third-party web page
  • FIG. 8 b depicts how the ordering capabilities can be embedded in an iFrame, so that a modal dialog containing the ordering capabilities is displayed. Note that these web pages would be held in an container on the third-party's web server 104 , and would not be visible to the outside world; rather these pages are used to generate pages for use by diners.
  • the HTML that would be sent to the diner's browser could be similar to that of FIG. 9 .
  • the token 152 is passed to a function within a javascript tag, and has no discernible relationship to an API Key 154 or a restaurant ID 156 .
  • Another feature of the disclosed system and method is to provide suggestions to diners for alternative restaurants.
  • a diner searches for a restaurant that allows their menu to be displayed, but does not accept orders through the restaurant service
  • One way that suggestions can be generated is to examine the cuisine types that are offered by the searched for restaurant, and search the restaurant service's database for restaurants that are geographically close to the searched for restaurant. For example, if a web surfer searches for “Papa Jack's Pizza” in Naperville, Ill., which does not accept orders through a restaurant service, recommendations of “Brazzonni's” and other restaurants, as depicted in FIG. 10 .
  • Suggestions for alternative restaurants can also be obtained through any of the systems and methods for identifying the competitor of a restaurant discussed in U.S. patent application Ser. No. 13/337,347, which was earlier incorporated by reference.
  • the original restaurant for which the user was looking will be treated as the subject restaurant, and its various characteristics, such as, for example, cuisine types, menu items, seasonal characteristics, etc., can be used to determine suggestions for alternatives to the subject restaurant.

Abstract

A third-party server exposes a first set of data from a content based website. Access to a second set of data requires that a token be assigned to a specific web browser and corresponding to a specific subset of protected data, the token containing no information that can be used to gain access to other protected data.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application makes reference to U.S. patent application Ser. No. 13/337,347, titled “UTILITY FOR DETERMINING COMPETITIVE RESTAURANTS,” filed on Dec. 27, 2011, which is hereby incorporated by reference in its entirety.
  • FIELD OF THE INVENTION
  • The present invention relates to a system and method for providing network based applications, such as Internet search engines, social media networks, and recommendations sites, access to a shopping service's content. More particularly, the invention relates to a system and method for providing network based applications access to a small portion of a shopping service's content to prevent a malicious user from extracting additional valuable content from the shopping service. More particularly still, the invention relates to a system and method for providing third-party services access to menu data and ordering capabilities of a restaurant service.
  • DESCRIPTION OF THE PRIOR ART
  • Web data extraction, which is also referred to as web harvesting and web scraping, has become common on the Internet. Web data extraction is the process of automating data extraction from web sites using a software entity known as a bot or web crawler. Web data extraction is used for a wide variety of purposes, including analysis of weather data, comparing prices across numerous electronic retailers, population of search engine databases, and rapid detection of important news events. However, web scraping technology has also given rise to a cottage industry that effectively focuses on conversion of content from established websites for the purpose of creating competitor websites at a fraction of the cost that it would take to build a similar content collection legitimately.
  • Bots use a number of different techniques to gather information from target websites. Generally, however, bots attempt to mimic the actions that a human being would take when using the website. For example, and with reference to FIG. 1, which is the main entry for grubHub.com, a user would generally enter her general location, such as “Naperville, Ill.”, as well as the type of food she would like, such as “Pizza”, and press the “Find Restaurants” button. A list of restaurants, such as that displayed in FIG. 2 would then be displayed. A bot that wanted to copy content would then follow links to information about each of the restaurants, such as its address, telephone number(s), and menu, and copy that information to a database. Accordingly, with very little cost, a competitor could potentially duplicate a database of restaurant menus that was assembled only with great effort and expenditure.
  • Various methods have been employed in the past to combat web scraping. First, many websites implement “terms of use” that prohibit copying content outside of certain narrow exceptions; i.e., indexing the entry page of a site for inclusion in a web search engine. In addition, certain bots, such as web search engines, look for a file referred to as “robots.txt” in the root hierarchy of a web page, and, if it is found, will not index, crawl, or scrape the site. Unfortunately, adherence to this standard is voluntary; a web crawler that is designed to steal content does not have to honor the “robots.txt” file. In addition, visual identification of garbled text and/or images, or the identification of an audio file, can be required to access protected content. However, this type of “roadblock” detracts from a pleasant user experience, and, accordingly, is disfavored for sites that actually seek to sell goods or services to web surfers.
  • Certain content aggregating websites, such as restaurant services, may benefit from allowing other sites to access their content. For example, it may be useful to allow a search engine to display an option for ordering through the restaurant service when a search is conducted of a member restaurant. However, the search engine company will desire to maintain the web surfer on its own site. The traditional solution to this problem has been for the restaurant service to develop an application programming interface (“API”), and for the search engine to enable the desired features using, the restaurant service's API. Accordingly, to access the restaurant service's content, the search engine would have to effectively build a customized application that allowed for placing orders to member restaurants of the restaurant service, which could require considerable effort and expense. While the expenditure of such effort may make financial sense from the viewpoint of a large search engine, other smaller web-entities could find the effort and expense involved prohibitive.
  • In addition, the restaurant service would have to share data with the third-party, which, depending on how the third-party implemented their offering, could enable a web scraper to circumvent the content protections of the restaurant service, and obtain, for example, menu data for all member restaurants within the restaurant service's database. For example, a restaurant service may assign each of its third-party partners an API Key, such as, for example, “APIKEY99”. In addition, it will generally use a database key, such as an incrementing unsigned integer, for each restaurant; i.e., “Pancake Cafe” of Naperville, Ill., may be assigned restaurant ID “1000”. However, with access to these pieces of information, a web crawler could potentially copy the restaurant service's entire database of content.
  • In the field of restaurant services, certain restaurants may consent to have their menu displayed by a restaurant service, but may not desire to accept orders through the restaurant service. The restaurant service may agree to such an arrangement, as the restaurant service will want to maintain mindshare among diners irrespective of the restaurant that they desire to purchase from. However, if a diner is “on the fence” about a dining decision, and may choose to order from a restaurant that accepts orders through the restaurant service or one that does not, it is in the interest of the restaurant service to steer the diner to an “in-network” restaurant. However, present restaurant services do not provide any means of doing so.
  • OBJECTS OF THE DISCLOSED SYSTEM AND METHOD
  • An object of the disclosed system and method is to improve the resistance to content extraction through automated means for content based web sites;
  • Another object of the disclosed system and method is to allow third party access to the content of a content based web site while providing for resistance to content extraction through the third party by automated means;
  • Another object of the disclosed system and method is to limit access by third parties to specifically identified content of a content based web site;
  • Another object of the disclosed system and method is to track access by third parties to content of a content based web site;
  • Another object of the disclosed system and method is to provide recommendations to diners looking for a specific restaurant that does not provide ordering through a restaurant service;
  • Other advantages of the disclosed system and method will be clear to a person of ordinary skill in the art. It should be understood, however, that a system, method, or apparatus could practice the disclosed system and method while not achieving all of the enumerated advantages, and that the protected system and method is defined by the claims.
  • SUMMARY OF THE DISCLOSED SYSTEM AND METHOD
  • The disclosed system and method achieves its objectives through the use of a token that is provided by the content-based website to the third-party. The token corresponds to the particular third-party's API key as well as a specific database identifier, such as a restaurant ID. In one embodiment of the disclosed system, a third-party server maintains a first set of data in a local database based on data provided to it from a restaurant service's database. When a web browser requests access to protected data, such as when the web browser wants to place an order, a handshake is conducted between the third-party server and an API server controlled by the restaurant service to provide the third-party server with a token. The token is then provided to the web browser, which can use the token to place calls directly with the API server. The token is mapped by the API server to a specific API Key and Restaurant ID combination, and is used by the web browser to make calls to the API server. Calls from the web browser to a different restaurant ID are ignored. In preferred embodiments of the disclosed system and method, the token is a random alphanumeric string. Note that both the characters within the string, and the length of the string can be randomized.
  • In an alternate embodiment of the disclosed system and method recommendations for alternate restaurants are generated by a restaurant service server when a user searches for a subject restaurant that is not a member of the restaurant service. In this embodiment, the restaurant service server receives a request for at least one suggested alternate restaurant. Based on information contained in a restaurant service database, such as, for example, the location of a subject restaurant compared to other restaurants, at least one alternate restaurant is suggested by the server. Many other types of information can be used to generate suggestions as well, such as, for example, cuisine types, menu items, and diner ratings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Although the characteristic features of this invention will be particularly pointed out in the claims, the invention itself, and the manner in which it may be made and used, may be better understood by referring to the following description taken in connection with the accompanying drawings forming a part hereof, wherein like reference numerals refer to like parts throughout the several views and in which:
  • FIG. 1 is an image of the front page of a restaurant service;
  • FIG. 2 is an image of search results for the restaurant service of FIG. 1;
  • FIG. 3 is a system diagram of a third-party service that draws content from a restaurant service;
  • FIG. 4 is an image of a third-party website displaying unprotected content drawn from a restaurant service;
  • FIG. 5 is an image of a third-party website displaying protected content drawn from a restaurant service;
  • FIG. 6 is a flowchart depicting a process by which a third-party server can update its local database with information from a restaurant service;
  • FIG. 7 is a graphical depiction of a token acquisition process for a web browser interacting with a third-party website that draws content from a restaurant service;
  • FIG. 8 a is HTML code for embedding ordering capabilities for a restaurant service into a frame of a third-party web page;
  • FIG. 8 b is HTML code for embedding ordering capabilities for a restaurant service within a modal dialog box displayed by a third-party web page;
  • FIG. 9 is HTML code used to displayed a modal dialog box with the restaurant's service's protected information; and
  • FIG. 10 is a web page displaying recommendations for an alternate to a restaurant that does not accept orders through a restaurant service.
  • DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT
  • Turning to the Figures and to FIG. 3 in particular, a simplified diagram of a third party system for accessing content on a content based website is depicted. As depicted, the content based website is a restaurant service. However, this disclosure applies equally well to other types of content, based websites. For example, web sites focused on shopping for wedding planners, florists, resorts, trade show venues, and legal services could all advantageously make use of the disclosed system and method.
  • In FIG. 3, a web browser 102 accesses a third-party website 104. The third-party website 104 could be one of many different types of website. For example, it could be a search engine, and the web surfer could be conducting a web search for a specific type of content, such as, for example, a specific restaurant. Alternatively, the third-party site could be a local search site, a social networking site, a user review site, or another type of website. The task of the web surfer would, of course, likely be different depending on the type of site.
  • The system of FIG. 3 also includes an API server 106 which provides the third-party web server 104 with programmatic access to a restaurant service. The third-party web server 104 is coupled to a local database 105. In addition, a database 110 networked with the API server 106 organizes and stores the restaurant service's content. The database 110 also holds an order queue. A Back Office Computer 112 services the order queue, and delivers orders to member restaurants over a wide area data network 114 or a public telephone network 116. Member restaurants and delivery services 118 accept and fulfill orders.
  • As explained herein, the API server 106 provides a full API 107, and a lite API 108. The full API 107 provides full programmatic access to the content of the restaurant service, as is consistent with prior art fully developed application programming interfaces. Using the full API 107, a third party service can obtain access to the content of the restaurant service, such as restaurant addresses, phone numbers, and menus, while presenting the content to web surfers in a highly customized manner.
  • The lite API 108 provides a lightweight, easy to integrate package to third-party sites that is tailored to allowing sites to (1) display limited information about restaurants within the restaurant service's database, (2) place an order from a member restaurant, or (3) obtain a recommendation for a member restaurant when the web surfer is viewing a non-member restaurant. FIG. 4 depicts a typical third-party website, in this case a review site specializing in providing restaurant reviews. By pressing on the “Order Delivery” link, the ordering interface of FIG. 5 is brought up.
  • The information that is shown for the displayed restaurant in FIG. 4 was retrieved from the restaurant service database 110 using a restaurant information feed. The operation of the restaurant information feed is illustrated by the flowchart of FIG. 6. In step 202 a message containing the third-party's API key and a timestamp indicating the last update to the third-party's local restaurant database 105 is sent from the third-party server 104 to the API server 106. Any standard timestamp format can be used. If this is the first time that the third-party is updating its database 105, the timestamp can indicate an impossible time, such as, for example, a time in the distant past or future. The third-party server will then receive a message indicating whether there are any updates to the restaurant services database 110 in step 204. If there are updates, execution transitions to step 206, where the third-party server 104 receives the next update from the API server 106. In step 208, the third party server commits the update. Execution then transitions back to step 204. If there are no further updates execution transitions from step 204 out of the update process in step 210.
  • It should be noted that the process of FIG. 6 is technology agnostic. For example, the message format used to communicate between the third party server and the API server can be based on XML, simple packets, or some other technology. Furthermore, while a pull scheme has been described, a push scheme could easily be adapted for this use.
  • The process of FIG. 6 allows for the third-party to acquire basic data regarding the restaurants stored in the restaurant service's database. This data is as vulnerable to extraction as any other data provided by the third-party. However, other data, such as, for example, restaurant menu data, is not delivered using the process of FIG. 6.
  • The third-party can use the limited data acquired through the process of FIG. 6 to populate a page of their own design. For example, this data can be returned with search results or can be used to construct a review page, like that depicted in FIG. 4. In addition, the disclosed system and method allows for the integration of protected content, such as menus, into third-party sites as well.
  • As mentioned in the background of this application, a content based website generally wants to keep the internal details of its access protocol private from non-trusted entities, such as the public. Accordingly, in a scheme that makes use of an API key and a database identifier to retrieve detailed information about particular content items, it is important to keep the API key and the database identifier secret from non-trusted entities. The disclosed system and method accomplishes this by use of a temporary token that is temporarily mapped to a particular API key and database identifier. The API server, or some other computer controlled by the content based website stores a table, or some other mapping structure, that maps the temporary token to a specific API key and database identifier combination. Accordingly, the use of the token can be restricted to a particular restaurant, and aberrant calls can be traced to customers originating from a particular third-party partner.
  • The token can be a random length and random content string, such as, for example, “abcdefg”, or “zyxwvutsr123”. Of course, the string should have no relationship to the API key or the database identifier, aside from the mapping maintained by the restaurant service's computers. Either of the above tokens could map to, for example, the API key for a specific third party, and a specific restaurant ID, such as 109, which can map to “Café Bolero” in the database of the restaurant service. The token can be assigned a time period that it is valid, such as, for example, three hours, and is submitted with all calls from a web browser 102 to the API server 106 when manipulating menu data, or some other form of protected data. Alternatively, the token 152 may be valid for all-time.
  • Once the token 152 is assigned, the diner can utilize the token 152 to make requests directly to the API server 106. In particular, the web browser 102 can request menu information for the restaurant associated with the token 152, and can request to purchase an item from the restaurant.
  • FIG. 7 graphically illustrates the process of obtaining a token. In particular, after a web browser 102 has requested access to protected information, such as, for example, viewing a member restaurant's menu, the third party server 104 sends a message to the API server 106 containing the third party's API Key 154 and a restaurant identifier 156 for the restaurant that the web browser 102 has requested access to. The API server 106 responds with a message containing a token 152 corresponding to the provided API key 154 and restaurant ID 156. The third party server 104 provides the token to the web browser 102, who can then use the token to directly communicate with the API Server 106, and receive protected information, such as, for example, restaurant menus. Once the token 152 is obtained, the web browser 102 can issue requests to the API server 106 for the specific restaurant ID 156 that is mapped to the token 152. Any other restaurant ID will be rejected by the API server 106 as not allowed by the token 152.
  • In addition to the use of tokens to hide implementation details from malicious web crawlers, the disclosed system and method also seeks to enable integration with third-party partners' websites with a minimum of programming. FIGS. 8 a and 8 b depict two ways of embedding the disclosed ordering capabilities in a third-party web page. In particular, FIG. 8 a illustrates how Javascript can be used to embed the ordering capabilities directly into a third-party web page, while FIG. 8 b depicts how the ordering capabilities can be embedded in an iFrame, so that a modal dialog containing the ordering capabilities is displayed. Note that these web pages would be held in an container on the third-party's web server 104, and would not be visible to the outside world; rather these pages are used to generate pages for use by diners. In the case where the menu is displayed as a modal dialog, the HTML that would be sent to the diner's browser could be similar to that of FIG. 9. In particular, the token 152 is passed to a function within a javascript tag, and has no discernible relationship to an API Key 154 or a restaurant ID 156.
  • Another feature of the disclosed system and method is to provide suggestions to diners for alternative restaurants. In particular, when a diner searches for a restaurant that allows their menu to be displayed, but does not accept orders through the restaurant service, it can be advantageous to the restaurant service to provide suggestions for alternative restaurants. One way that suggestions can be generated is to examine the cuisine types that are offered by the searched for restaurant, and search the restaurant service's database for restaurants that are geographically close to the searched for restaurant. For example, if a web surfer searches for “Papa Jack's Pizza” in Naperville, Ill., which does not accept orders through a restaurant service, recommendations of “Brazzonni's” and other restaurants, as depicted in FIG. 10.
  • Suggestions for alternative restaurants can also be obtained through any of the systems and methods for identifying the competitor of a restaurant discussed in U.S. patent application Ser. No. 13/337,347, which was earlier incorporated by reference. In particular, using the information stored within the restaurant service's database, the original restaurant for which the user was looking will be treated as the subject restaurant, and its various characteristics, such as, for example, cuisine types, menu items, seasonal characteristics, etc., can be used to determine suggestions for alternatives to the subject restaurant.
  • Obviously, many additional modifications and variations of the present invention are possible in light of the above teachings. Thus, it is to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than is specifically described above.
  • The foregoing description of the invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or to limit the invention to the precise form disclosed. The description was selected to best explain the principles of the invention and practical application of these principles to enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention not be limited by the specification, but be defined by the claims set forth below.

Claims (16)

What is claimed is:
1. A system for enabling sharing of content between a content based website and a third-party website, the system comprising:
i) a third-party server;
ii) a local database coupled to the third-party server;
iii) an API server in communication with the third-party server;
iv) a content database coupled to the API server;
v) a web browser in communication with the third-party server;
wherein the API server is adapted to provide an information feed to the third-party server, the information feed including a first set of information stored in the content database, and wherein the third-party server is adapted to receive a request for additional information from the web browser, and in response to the request for additional information, the third-party server is further adapted to transmit a first message to the API server including an identifier corresponding to the requested additional information, and wherein the API server is adapted to transmit a second message to the third-party server including a token corresponding to the identifier, and wherein the third-party server is adapted to transmit the token to the web browser.
2. The system of claim 1 wherein the token is a string of random alphanumeric characters.
3. The system of claim 2 wherein the token is a random length.
4. The system of claim 1 wherein the first message includes an API key.
5. A method operating on an API server for sharing content between a content based website and a third-party website comprising the steps of:
i) providing an information feed from the API server to the third-party server, the information feed including a first set of information stored in a content database accessible by the API server;
ii) the API server receiving a first message from the third-party server requesting additional information, the first message including an identifier specifying the requested additional information; and
iii) the API server sending a second message to the third-party server including a token corresponding to the identifier.
6. The method of claim 5 wherein the token is a string of random alphanumeric characters.
7. The method of claim 5 wherein the token is a random length.
8. The method of claim 5 wherein the first message includes an API key and wherein the token corresponds uniquely to both the API key and the identifier.
9. A system for suggesting alternatives to a subject restaurant comprising:
i) a server;
ii) a database coupled to the server, the database containing information pertaining to a plurality of restaurants including the subject restaurant, and wherein the information contained in the database includes at least the location of at least some of the plurality of restaurants; and
iii) wherein the server is adapted to receive a request for suggestions of alternate restaurants to the subject restaurant and the server is further adapted to suggest at least one alternate restaurant based on the information contained in the database, wherein the at least one alternate restaurant is suggested based at least in part on a distance of the at least one alternate restaurant from the subject restaurant calculated by the server.
10. The system of claim 9 wherein the information contained in the database includes at least the cuisine types of at least some of the plurality of restaurants, and wherein the server is further adapted to suggest at least one alternate restaurant based at least in part on a comparison of the cuisine types of the subject restaurant and the cuisine types of the at least one alternate restaurant.
11. The system of claim 9 wherein the information contained in the database includes at least one menu item for at least some of the plurality of restaurants, and wherein the server is further adapted to suggest at least one alternate restaurant based at least in part on a comparison of the at least one menu item of the subject restaurant and the at least one menu item of the at least one alternate restaurant.
12. The system of claim 9 wherein the information contained in the database includes at least one diner rating for at least some of the plurality of restaurants, and wherein the server is further adapted to suggest at least one alternate restaurant based at least in part on a comparison of the least one diner rating of the subject restaurant and the at least one diner rating of the at least one alternate restaurant.
13. A method for suggesting alternatives to a subject restaurant, the method operating on a server coupled to a database, the database containing information pertaining to a plurality of restaurants including the subject restaurant, the information including at least the location of at least some of the plurality of restaurants, the method comprising the steps of:
i) the server receiving a request for alternate restaurants to the subject restaurant; and
ii) suggesting at least one alternate restaurant based at least in part on a distance of the at least one alternate restaurant from the subject restaurant calculated by the server.
14. The method of claim 13 wherein the information contained in the database includes at least the cuisine types of at least some of the plurality of restaurants, and wherein the step of suggesting is based at least in part on a comparison of the cuisine types of the subject restaurant and the cuisine types of the at least one alternate restaurant.
15. The method of claim 13 wherein the information contained in the database includes at least one menu item for at least some of the plurality of restaurants, and wherein the step of suggesting is based at least in part on a comparison of the at least one menu item of the subject restaurant and the at least one menu item of the at least one alternate restaurant.
16. The method of claim 13 wherein the information contained in the database includes at least one diner rating for at least some of the plurality of restaurants, and wherein the step of suggesting is based at least in part on a comparison of the least one diner rating of the subject restaurant and the at least one diner rating of the at least one alternate restaurant.
US13/453,159 2012-04-23 2012-04-23 Scraping resistant system and method for placing orders through an internet shopping service Active 2037-03-17 US10360543B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/453,159 US10360543B2 (en) 2012-04-23 2012-04-23 Scraping resistant system and method for placing orders through an internet shopping service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/453,159 US10360543B2 (en) 2012-04-23 2012-04-23 Scraping resistant system and method for placing orders through an internet shopping service

Publications (2)

Publication Number Publication Date
US20130282516A1 true US20130282516A1 (en) 2013-10-24
US10360543B2 US10360543B2 (en) 2019-07-23

Family

ID=49380996

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/453,159 Active 2037-03-17 US10360543B2 (en) 2012-04-23 2012-04-23 Scraping resistant system and method for placing orders through an internet shopping service

Country Status (1)

Country Link
US (1) US10360543B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140330671A1 (en) * 2013-05-02 2014-11-06 Locu, Inc. Method for management of online ordering
CN105634743A (en) * 2015-12-30 2016-06-01 中国银联股份有限公司 Authentication method used for open interface calling
US20170201879A1 (en) * 2016-01-13 2017-07-13 Dell Software, Inc. Temporary Disposable Portable Identifier
US20170323367A1 (en) * 2016-05-05 2017-11-09 Wal-Mart Stores, Inc. Retail product assortment optimization systems and methods
US20180005328A1 (en) * 2001-11-01 2018-01-04 Ameranth, Inc. Information management and synchronous communications system
US10217144B1 (en) * 2016-11-01 2019-02-26 Bootler, LLC Methods, systems and program products for aggregating and presenting service data from multiple sources over a network
US20190108564A1 (en) * 2017-10-05 2019-04-11 Mary Elizabeth Goulet Automated Methods for Exposing Stolen and Counterfeit Goods on Walmart.com and other Ecommerce Sites
US10445683B1 (en) 2016-11-01 2019-10-15 Bootler, LLC Methods, systems and program products for aggregating and presenting service data from multiple sources over a network
US11276130B2 (en) 2005-07-26 2022-03-15 Ameranth, Inc. Information management and synchronous communications system
US11770304B1 (en) 2023-03-14 2023-09-26 Ameranth, Inc. Adaptable computing network with real time, intelligent, 4D spherical scalability, tech stack awareness, tech stack integration, automatic bi-directional communications channel switching and order equilibrium—for large enterprise, time sensitive event/transaction driven applications

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9894476B2 (en) 2013-10-02 2018-02-13 Federico Fraccaroli Method, system and apparatus for location-based machine-assisted interactions

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5991739A (en) * 1997-11-24 1999-11-23 Food.Com Internet online order method and apparatus
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6678733B1 (en) * 1999-10-26 2004-01-13 At Home Corporation Method and system for authorizing and authenticating users
US20060020497A1 (en) * 1999-09-21 2006-01-26 Mcnally Keith R Information management and synchronous communications system
US20070294129A1 (en) * 2000-02-09 2007-12-20 Froseth Barrie R Customized food selection, ordering and distribution system and method
US20080133488A1 (en) * 2006-11-22 2008-06-05 Nagaraju Bandaru Method and system for analyzing user-generated content
US20110208617A1 (en) * 2010-02-19 2011-08-25 Chris Weiland System and method for locality and user preference based food recommendations
US20120016863A1 (en) * 2010-07-16 2012-01-19 Microsoft Corporation Enriching metadata of categorized documents for search
US20120191551A1 (en) * 2011-01-20 2012-07-26 Lutnick Howard W Multi-system distributed processing of delivery and/or referral information for orders
US20130097054A1 (en) * 2011-10-12 2013-04-18 Vendmore Systems, Llc Systems and methods for menuless mobile commerce
US20130295999A1 (en) * 2010-12-20 2013-11-07 Jialiang Wang Methods and systems for automated business dialing
US20130332253A1 (en) * 2012-06-11 2013-12-12 Retailmenot, Inc. Devices, methods, and computer-readable media for redemption header for merchant offers

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530067A (en) 1981-03-10 1985-07-16 Xecutek Corporation Restaurant management information and control method and apparatus
US4553222A (en) 1983-03-14 1985-11-12 Kurland Lawrence G Integrated interactive restaurant communication system for food and entertainment processing
JPS6250919A (en) 1985-08-30 1987-03-05 Usac Electronics Ind Co Ltd Order data input terminal for restaurant
US5189411A (en) 1985-11-27 1993-02-23 Seiko Corp. Radio signal data transmission synchronization
US5272474A (en) 1990-05-16 1993-12-21 Intelli-Host Corp. Method and apparatus for monitoring the status of tables
US5510979A (en) 1991-07-30 1996-04-23 Restaurant Technology, Inc. Data processing system and method for retail stores
JPH0540767A (en) 1991-08-06 1993-02-19 Nec Corp Menu ordering terminal
JP3086078B2 (en) 1992-07-30 2000-09-11 株式会社ピーエフユー Restaurant ordering system
JPH06203051A (en) 1992-12-28 1994-07-22 Nippon Syst Project:Kk Ordering device
US5367557A (en) 1993-03-23 1994-11-22 Private Line Communications Mobile radio data analysis system
WO1995034040A1 (en) 1994-06-03 1995-12-14 Datec Ltd. Automatic order handling system
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US5570283A (en) 1994-11-18 1996-10-29 Travelnet, Inc. Corporate travel controller
US5602730A (en) 1994-12-07 1997-02-11 Altoc Corporation Restaurant management system
US5781189A (en) 1995-05-05 1998-07-14 Apple Computer, Inc. Embedding internet browser/buttons within components of a network component system
US5845263A (en) 1995-06-16 1998-12-01 High Technology Solutions, Inc. Interactive visual ordering system
US5912743A (en) 1995-06-16 1999-06-15 Seiko Epson Corporation Terminal device
US5751958A (en) 1995-06-30 1998-05-12 Peoplesoft, Inc. Allowing inconsistency in a distributed client-server application
IES960370A2 (en) 1995-08-24 1997-11-19 Martin Curley Tourist information and reservation system
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5842176A (en) 1995-11-13 1998-11-24 Electronic Data Systems Corporation Method and apparatus for interacting with a computer reservation system
JPH09160972A (en) 1995-12-06 1997-06-20 Nec Corp Electronic commercial transaction system
US5745681A (en) 1996-01-11 1998-04-28 Sun Microsystems, Inc. Stateless shopping cart for the web
JPH09204466A (en) 1996-01-24 1997-08-05 Ota Kaki:Kk Method for selling flowers
US5838798A (en) 1996-02-07 1998-11-17 Ncr Corporation Restaurant transaction processing system and method
US5953392A (en) 1996-03-01 1999-09-14 Netphonic Communications, Inc. Method and apparatus for telephonically accessing and navigating the internet
US5835896A (en) 1996-03-29 1998-11-10 Onsale, Inc. Method and system for processing and transmitting electronic auction information
US20020178034A1 (en) 1996-04-10 2002-11-28 Christopher W. Gardner Airline travel technologies
US6194992B1 (en) 1997-04-24 2001-02-27 Nomadix, Llc Mobile web
JPH09325988A (en) 1996-06-05 1997-12-16 Nitsuko Corp Order entry system
JPH09330470A (en) 1996-06-07 1997-12-22 Kiyousera Multi Media Corp:Kk Physical distribution method utilizing communication network and its system
JPH1011194A (en) 1996-06-26 1998-01-16 Tec Corp Handy terminal
US5850214A (en) 1996-09-17 1998-12-15 Ameranth Technology Systems, Inc. Information manangement system with electronic clipboard
DE19640735A1 (en) 1996-10-02 1998-04-23 Bosch Gmbh Robert Telematics device for a motor vehicle
CN1195247A (en) 1996-11-20 1998-10-07 台新构架股份有限公司 Reserved management method for commodity and its reserved management device
US6175922B1 (en) 1996-12-04 2001-01-16 Esign, Inc. Electronic transaction systems and methods therefor
DE69734188T2 (en) 1996-12-20 2006-06-29 Symbol Technologies, Inc. Portable shopping and order execution system
JPH10224549A (en) 1997-01-31 1998-08-21 Oki Electric Ind Co Ltd Electronic mall system and its controlling method
US5966068A (en) 1997-03-18 1999-10-12 Sony Corporation Pager and paging system for travelers
US6341268B2 (en) 1997-03-21 2002-01-22 Walker Digital, Llc System and method providing a restaurant menu dynamically generated based on revenue management information
US5970474A (en) 1997-04-24 1999-10-19 Sears, Roebuck And Co. Registry information system for shoppers
US6236974B1 (en) 1997-08-08 2001-05-22 Parasoft Corporation Method and apparatus for automated selection and organization of products including menus
US5940075A (en) 1997-09-30 1999-08-17 Unisys Corp. Method for extending the hypertext markup language (HTML) to support enterprise application data binding
JPH11126147A (en) 1997-10-23 1999-05-11 Nippon Telegr & Teleph Corp <Ntt> Method and device for selecting menu and recording medium recording the sate method
US6356543B2 (en) 1997-11-25 2002-03-12 Telefonaktiebolaget Lm Ericsson (Publ) Controlling mobile phone system user views from the world-wide web
FI104928B (en) 1997-11-27 2000-04-28 Nokia Mobile Phones Ltd Wireless Communication and a Method of Making a Wireless Communication Device
US6295541B1 (en) 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
JP3429996B2 (en) 1997-12-26 2003-07-28 東芝テック株式会社 handy terminal
JP3996690B2 (en) 1998-01-20 2007-10-24 東芝テック株式会社 handy terminal
US6425524B2 (en) 1998-04-17 2002-07-30 Randolph M. Pentel Remote ordering device
US7069228B1 (en) 1998-04-30 2006-06-27 Rose James W Apparatus and method for an internet based computer reservation booking system
US6590588B2 (en) 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US7277717B1 (en) 1998-07-06 2007-10-02 At&T Bls Intellectual Property, Inc. Dispatch application utilizing short message service
US6300947B1 (en) 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
US6167255A (en) 1998-07-29 2000-12-26 @Track Communications, Inc. System and method for providing menu data using a communication network
US6134548A (en) 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
US6317718B1 (en) 1999-02-26 2001-11-13 Accenture Properties (2) B.V. System, method and article of manufacture for location-based filtering for shopping agent in the physical world
US6430562B1 (en) 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US7359871B1 (en) 1999-03-02 2008-04-15 Alticor Investments Inc. System and method for managing recurring orders in a computer network
WO2000065509A2 (en) 1999-04-22 2000-11-02 Qode.Com, Inc. System and method for providing electronic information upon receipt of a scanned bar code
US7437305B1 (en) 1999-05-11 2008-10-14 Christopher Angel Kantarjiev Scheduling delivery of products via the internet
US6973437B1 (en) 1999-06-29 2005-12-06 Olewicz Tadeusz A Computer integrated communication system for restaurants
GB2352933A (en) 1999-07-31 2001-02-07 Ibm Speech encoding in a client server system
EP1081625A2 (en) 1999-08-31 2001-03-07 Nokia Corporation Travel planner system for providing travel information and updates over a mobile network
US7966215B1 (en) 1999-09-08 2011-06-21 At&T Intellectual Property I, L.P. Combination reservation and navigation system and method
US6606596B1 (en) 1999-09-13 2003-08-12 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through digital sound files
US6836537B1 (en) 1999-09-13 2004-12-28 Microstrategy Incorporated System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule
US6384850B1 (en) 1999-09-21 2002-05-07 Ameranth Wireless Information management and synchronous communications system with menu generation
US6982733B1 (en) 1999-09-21 2006-01-03 Ameranth Wireless, Inc. Information management and synchronous communications system with menu generation, and handwriting and voice modification of orders
US7827118B1 (en) 1999-10-06 2010-11-02 Stamps.Com Inc. Online, multi-carrier, multi-service parcel shipping management functional alignment of computer devices
AU2001245855A1 (en) 2000-03-20 2001-10-03 Gene Dries Electronic commerce system with access to inventory data from multiple stores
US20070150375A1 (en) 2000-12-08 2007-06-28 Ping Yang Method and apparatus for efficient meal delivery
US20090106124A1 (en) 2000-12-08 2009-04-23 Ping Yang Method and apparatus for ordering and delivering of meals
US20020107747A1 (en) 2001-02-02 2002-08-08 I2 Technologies, Inc. System and method for brokering food order transactions among a plurality of unaffiliated sellers
US20020143655A1 (en) 2001-04-02 2002-10-03 Stephen Elston Remote ordering system for mobile commerce
US7895445B1 (en) * 2001-04-26 2011-02-22 Nokia Corporation Token-based remote data access
US6976004B2 (en) 2001-05-21 2005-12-13 Douglas Wittrup Interactive kitchen control system and method
US7082365B2 (en) 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system
US20030125963A1 (en) 2001-12-27 2003-07-03 Koninklijke Philips Electronics N.V. Wireless interactive rendezvous system for delivering goods and services
US20040210621A1 (en) 2003-04-18 2004-10-21 Antonellis Robert J. Method and system for order optimization
US20050004843A1 (en) 2003-07-01 2005-01-06 Heflin Steven S. System and method for providing restaurant related services
US7110964B2 (en) 2003-08-29 2006-09-19 Exit41, Inc. Order processing
US7505929B2 (en) 2004-06-01 2009-03-17 Angert Charles D Method, system and computer product for auction of deliverable prepared food via the internet
US20060069578A1 (en) 2004-09-28 2006-03-30 Dell Products L.P. System and method for managing data concerning service dispatches
US20060080176A1 (en) 2004-09-29 2006-04-13 Eric Sutcliffe Methods and apparatus for controlling the quality of a food brokering system
US7295920B2 (en) 2004-11-04 2007-11-13 Yoram Finkelstein Apparatus and method for car relocation and parking timer
US8290817B2 (en) 2005-07-08 2012-10-16 Sony Mobile Communications Ab Selectable options for downloading digital content to a mobile terminal
US7945582B2 (en) 2006-09-23 2011-05-17 Gis Planning, Inc. Web-based interactive geographic information systems mapping analysis and methods of using thereof
US20080104059A1 (en) 2006-11-01 2008-05-01 Dininginfo Llc Restaurant review search system and method for finding links to relevant reviews of selected restaurants through the internet by use of an automatically configured, sophisticated search algorithm
US8326705B2 (en) 2006-12-22 2012-12-04 American Express Travel Related Services Company, Inc. Restaurant yield management portal
US20080319864A1 (en) 2007-06-21 2008-12-25 Qsr Automations, Inc. Method of dynamically routing food items through a restaurant kitchen
US20090048890A1 (en) 2007-08-16 2009-02-19 Burgh Stuart G Delivery Management System for Quick Service Restaurants
US20090150193A1 (en) 2007-09-04 2009-06-11 Jin Hong Comprehensive Integrated Online Order and Reservation Platform with Instant Notifications and Interactive Communications
US8484240B2 (en) 2007-09-24 2013-07-09 Cfph, Llc Method and apparatus for generating menu information
US20110218839A1 (en) 2007-10-22 2011-09-08 Ravi Vijay Shamaiengar Methods and systems for enabling the purchase of deliverable goods & services
US20090167553A1 (en) 2007-12-30 2009-07-02 Jin Hong Open Mobile Online Reservation and Ordering Systems
US20090204492A1 (en) 2008-02-13 2009-08-13 Danilo Scifo Online food ordering system and method
CN102119397A (en) 2008-06-09 2011-07-06 佳售乐公司 Systems and methods facilitating mobile retail environments
US20090319166A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Mobile computing services based on devices with dynamic direction information
US20100250384A1 (en) 2009-03-28 2010-09-30 Ashish Bhargava Method and system for electronically ordering goods or services
US8370209B2 (en) 2009-08-11 2013-02-05 Uverj, Llc Method for aggregated location-based services
US8620753B2 (en) 2010-04-14 2013-12-31 Restaurant Technology, Inc. Restaurant management system and method
US20130038800A1 (en) 2010-10-04 2013-02-14 Ben Yoo Universal User Interface App and Server
US20120203619A1 (en) 2011-02-09 2012-08-09 Lutnick Howard W Multi-system distributed processing of group goals
US9805351B2 (en) 2011-05-10 2017-10-31 Restaurant Revolution Technologies, Inc. Systems and methods for take-out order management
US9842342B2 (en) 2011-05-10 2017-12-12 Restaurant Revolution Technologies, Inc. Systems and methods for take-out order analytics
US8676718B2 (en) 2011-10-19 2014-03-18 Frank Villegas Efficiently delivering and displaying a heated food product
US20130144764A1 (en) 2011-12-04 2013-06-06 Robert Richard Walling, III System, Method, and Apparatus for Assisting Customers with Point-of-Sale Transactions

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5991739A (en) * 1997-11-24 1999-11-23 Food.Com Internet online order method and apparatus
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US20060020497A1 (en) * 1999-09-21 2006-01-26 Mcnally Keith R Information management and synchronous communications system
US6678733B1 (en) * 1999-10-26 2004-01-13 At Home Corporation Method and system for authorizing and authenticating users
US20070294129A1 (en) * 2000-02-09 2007-12-20 Froseth Barrie R Customized food selection, ordering and distribution system and method
US20080133488A1 (en) * 2006-11-22 2008-06-05 Nagaraju Bandaru Method and system for analyzing user-generated content
US20110208617A1 (en) * 2010-02-19 2011-08-25 Chris Weiland System and method for locality and user preference based food recommendations
US20120016863A1 (en) * 2010-07-16 2012-01-19 Microsoft Corporation Enriching metadata of categorized documents for search
US20130295999A1 (en) * 2010-12-20 2013-11-07 Jialiang Wang Methods and systems for automated business dialing
US20120191551A1 (en) * 2011-01-20 2012-07-26 Lutnick Howard W Multi-system distributed processing of delivery and/or referral information for orders
US20130097054A1 (en) * 2011-10-12 2013-04-18 Vendmore Systems, Llc Systems and methods for menuless mobile commerce
US20130332253A1 (en) * 2012-06-11 2013-12-12 Retailmenot, Inc. Devices, methods, and computer-readable media for redemption header for merchant offers

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970797B2 (en) * 2001-11-01 2021-04-06 Ameranth, Inc. Information management and synchronous communications system
US20180005328A1 (en) * 2001-11-01 2018-01-04 Ameranth, Inc. Information management and synchronous communications system
US11842415B2 (en) 2005-07-26 2023-12-12 Ameranth, Inc. Intelligent web server with multi-modes of contact, multi-communications protocols, multi-user and parallel operational capabilities for use in a hospitality market comprising
US11276130B2 (en) 2005-07-26 2022-03-15 Ameranth, Inc. Information management and synchronous communications system
US20140330671A1 (en) * 2013-05-02 2014-11-06 Locu, Inc. Method for management of online ordering
CN105634743A (en) * 2015-12-30 2016-06-01 中国银联股份有限公司 Authentication method used for open interface calling
US20170201879A1 (en) * 2016-01-13 2017-07-13 Dell Software, Inc. Temporary Disposable Portable Identifier
US20170323367A1 (en) * 2016-05-05 2017-11-09 Wal-Mart Stores, Inc. Retail product assortment optimization systems and methods
US11037090B2 (en) 2016-11-01 2021-06-15 Bootler, LLC Methods, systems and program products for aggregating and presenting service data from multiple sources over a network
US10445683B1 (en) 2016-11-01 2019-10-15 Bootler, LLC Methods, systems and program products for aggregating and presenting service data from multiple sources over a network
US10217144B1 (en) * 2016-11-01 2019-02-26 Bootler, LLC Methods, systems and program products for aggregating and presenting service data from multiple sources over a network
US20190108564A1 (en) * 2017-10-05 2019-04-11 Mary Elizabeth Goulet Automated Methods for Exposing Stolen and Counterfeit Goods on Walmart.com and other Ecommerce Sites
US11770304B1 (en) 2023-03-14 2023-09-26 Ameranth, Inc. Adaptable computing network with real time, intelligent, 4D spherical scalability, tech stack awareness, tech stack integration, automatic bi-directional communications channel switching and order equilibrium—for large enterprise, time sensitive event/transaction driven applications

Also Published As

Publication number Publication date
US10360543B2 (en) 2019-07-23

Similar Documents

Publication Publication Date Title
US10360543B2 (en) Scraping resistant system and method for placing orders through an internet shopping service
JP5259012B2 (en) How to generate advertisements triggered by target positions and keywords and tier-based advertisements that users can call
JP4719684B2 (en) Information search providing apparatus and information search providing system
JP5235251B1 (en) Information processing apparatus, information processing method, and information processing program
EP3163471B1 (en) Data information transaction method and system
US9996630B2 (en) System and/or method for linking network content
CN102037464A (en) Search results with most clicked next objects
TW201207640A (en) Method of recording and searching WebPage
US11768905B2 (en) System and computer program product for creating and processing URLs
WO2013046763A1 (en) Information processing device, information processing method, information processing program, and recording medium
US20160042080A1 (en) Methods, Systems, and Apparatuses for Searching and Sharing User Accessed Content
JP2006236165A (en) Word-of-mouth information sharing device
JP5537398B2 (en) Access analysis system, access analysis method, and computer program
KR101517916B1 (en) Url replacement system, user terminal and url replacement method
US20200084258A1 (en) Current event triggered website updates
JP5153210B2 (en) Advertisement distribution device
JP2007323169A (en) Book purchase support system
Mohanasundaram et al. Introduction of Newsfeed in Food Review
JP4773379B2 (en) Event search system, event search device, event search result output method and program
JP3133764U (en) SEO automatic mutual link system
US20140310099A1 (en) Device and system for searching, displaying and operating websites and other electronic content
JP2014194587A (en) Information retrieval method
JP2005092593A (en) Information processor, information processing system, information processing method, and program thereof

Legal Events

Date Code Title Description
AS Assignment

Owner name: GRUBHUB, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MCCARTNEY, DANIEL JOHN;LEISECA, MICHAEL GABRIEL;BOWERSOCK, RYAN ROBERT;AND OTHERS;SIGNING DATES FROM 20120416 TO 20120423;REEL/FRAME:028094/0617

AS Assignment

Owner name: GRUBHUB, INC., ILLINOIS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ZIP CODE OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 028094 FRAME 0617. ASSIGNOR(S) HEREBY CONFIRMS THE UNDERSIGNED HEREBY SELL(S), ASSIGN(S), AND SET(S) OVER TO: GRUBHUB, INC.;ASSIGNORS:MCCARTNEY, DANIEL JOHN;LEISECA, MICHAEL GABRIEL;BOWERSOCK, RYAN ROBERT;AND OTHERS;SIGNING DATES FROM 20120416 TO 20120423;REEL/FRAME:028133/0091

AS Assignment

Owner name: GRUBHUB HOLDINGS INC., ILLINOIS

Free format text: CHANGE OF NAME;ASSIGNOR:GRUBHUB, INC.;REEL/FRAME:034193/0577

Effective date: 20140228

AS Assignment

Owner name: GRUBHUB HOLDINGS, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GRUBHUB, INC.;REEL/FRAME:034591/0559

Effective date: 20141216

AS Assignment

Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT, CALIFORNI

Free format text: SECURITY INTEREST;ASSIGNORS:GRUBHUB HOLDINGS INC.;GRUBHUB INC.;SLICK CITY MEDIA, INC.;AND OTHERS;REEL/FRAME:038444/0178

Effective date: 20160429

AS Assignment

Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNORS:GRUBHUB HOLDINGS INC.;GRUBHUB INC.;SLICK CITY MEDIA, INC.;AND OTHERS;REEL/FRAME:043982/0500

Effective date: 20171010

Owner name: GRUBHUB HOLDINGS, INC., ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: SLICK CITY MEDIA, INC., ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: DININGIN LLC, ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT PDX, LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT ABQ, LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT ELP, LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: GRUBHUB INC., ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: RESTAURANTS ON THE RUN, LLC, ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT USA LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT LAS LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: HOMECOOKED FACTORY LLC, ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT SAN LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT DEN, LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: MEALPORT EUG LLC, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:043978/0943

Effective date: 20171010

Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT, CALIFORNI

Free format text: SECURITY INTEREST;ASSIGNORS:GRUBHUB HOLDINGS INC.;GRUBHUB INC.;SLICK CITY MEDIA, INC.;AND OTHERS;REEL/FRAME:043982/0500

Effective date: 20171010

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: GRUBHUB HOLDINGS INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MALONEY, MATTHEW;REEL/FRAME:050477/0753

Effective date: 20190909

AS Assignment

Owner name: GRUBHUB HOLDINGS, INC., ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:056595/0957

Effective date: 20210614

Owner name: SCVNGR, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:056595/0957

Effective date: 20210614

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4