Developer Productivity in Engineering

Creating High-Quality Staging Data with a NoSQL Data Migration System

At eBay, we’ve focused on improving our staging environment to increase our software delivery speed, which ultimately allows us to launch features faster to our customers. Over the last several months, we’ve raised the quality of our staging data by establishing a dedicated and scalable data migration system.

By: Ramesh Periyathambi
Performance Engineering in Engineering

Prefetch Caching of eBay Items

With 1.4 billion listings on eBay, improving the speed to render these listings at scale and accuracy is a huge engineering challenge. We have taken major steps to cache item data, which brings great speed improvements.

By: Ramesh Periyathambi and Vineet Bindal
Performance Engineering in Engineering

Improving the Speed and Accuracy of the Item Page with Light Service

The item page is one of the most critical pages in the eBay buyer experience. It's where a buyer make their purchase decisions. It's also one of the pages in eBay that gets the most user traffic. The speed of this page and showing accurate information to the user is of great importance. Item fast light service was developed to get critical item information as quickly as possible from the primary source tables. This service is currently used in a number of applications to achieve functionalities that needs 100% accuracy with lightning speed and performance of less than 10ms for an item.

By: Ramesh Periyathambi

Abstract:

A method of training a machine learning model to determine an item margin is provided. The method includes monitoring a first value for a first item having attributes and monitoring a first value for a second type of item having attributes where an attribute of the first attributes is the same as an attribute of the second attributes. The method also includes determining a first margin based on the first values. The first attributes, the second attributes, and the first margin are input as training data for the machine learning model where the machine learning model is trained with the training data. The monitoring operations for the first item and the second item are repeated to obtain a second value for the first and second items. Furthermore, the trained machine learning model is applied to the second values to determine a second margin.

Country: United States
Grant Date: December 26, 2023
INVENTORS: Tomer Lancewicki, Ramesh Periyathambi

Abstract:

Technologies are disclosed herein for distributing information. The disclosed technologies determine an application element configured to receive information that is updated at a variable rate, the information pertaining to an object. Feature data is received that is associated with the object and data associated with use of the application element. The feature data includes a time horizon for the object and supplemental information associated with the object. Based on the feature data and the data associated with use of the application element, a first rate is predicted for sending the information about the object to the application element. The information is sent to the application element at the first rate.

Country: Republic of Korea
Grant Date: December 13, 2023

Abstract:

Methods for determining which image of a set of images to present in a search results page for a product are described. Components of a server system may receive a set of images for a set of items associated with a product. Components of the server system may perform image ranking to rank the set of images to identify a representative image of the set of images for the product, based on a user interaction metric of each image of the set of images. The components of the server system may then receive, from a user device, a search query that may be mapped to the product, and the component of the server system may transmit, to the user device, the search results page that includes at least one item of the set of items and the representative image based on the interaction metric of the representative image.

Country: United States
Grant Date: October 31, 2023

Abstract:

Technologies are disclosed herein for distributing information. The disclosed technologies determine an application element configured to receive information that is updated at a variable rate, the information pertaining to an object. Feature data is received that is associated with the object and data associated with use of the application element. The feature data includes a time horizon for the object and supplemental information associated with the object. Based on the feature data and the data associated with use of the application element, a first rate is predicted for sending the information about the object to the application element. The information is sent to the application element at the first rate.

Country: United States
Grant Date: October 24, 2023

Abstract:

Technologies are disclosed herein for distributing information. The disclosed technologies determine an application element configured to receive information that is updated at a variable rate, the information pertaining to an object. Feature data is received that is associated with the object and data associated with use of the application element. The feature data includes a time horizon for the object and supplemental information associated with the object. Based on the feature data and the data associated with use of the application element, a first rate is predicted for sending the information about the object to the application element. The information is sent to the application element at the first rate.

Country: Republic of Korea
Grant Date: October 20, 2023

Abstract:

Technologies described reduce the amount of time between requesting content and receiving the requested content. In some embodiments, a client provides a search query. A search result page is generated and, prior to returning the search result page to the client, some or all of the search results are asynchronously pre-fetched and cached. The search query can include custom parameters that are also included in the pre-fetch requests. Web addresses in the search results page can be modified to indicate whether a prefetch operation was initiated. Once a user activates one of the search results, the responding web server uses the cached data while generating a response.

Country: United States
Grant Date: October 3, 2023
INVENTORS: DEEPTI BHOSALE, Vineet Bindal, Lakshimi Duraivenkatesh, Andrew Lin, Auston McReynolds, Nagasita Raghuram Nimishakavi Venkata, Ramesh Periyathambi

Abstract:

Systems and methods for processing webpage calls via multiple module responses are described. A system may receive, from a client device, a first call for module data associated with a set of webpage modules for presentation in a webpage. The system may subsequently transmit, to the client device based on receiving the first call, a first response including first module data associated with a first subset of the set of webpage modules. The first response may additionally include a token identifying the webpage. The server may additionally transmit, to the client device based on transmitting the first response, a second response including the token identifying the webpage and second module data associated with a second subset of the set of webpage modules that differs from the first subset of the set of webpage modules.

Country: United States
Grant Date: October 3, 2023
INVENTORS: Vineet Bindal, Lakshimi Duraivenkatesh, Selcuk Kopru, Tomer Lancewicki, Nagasita Raghuram Nimishakavi Venkata, Ramesh Periyathambi

Abstract:

A first test case identifier that indicates a first test case is received. The first test case is indicative of testing one or more features of an application associated with the electronic marketplace. The first test case identifier is compared to a plurality of attributes. The plurality of attributes are associated with one or more listings that describe one or more items for sale in an electronic marketplace. Based at least in part on the comparing, it is determined that a first set of attributes, of the plurality of attributes, are test data candidates to be used as input to the first test case. Based at least in part on the determining, the first test case is caused to be run using at least one of the first set of attributes as test data for input.

Country: United States
Grant Date: January 3, 2023
INVENTORS: Kandakumar Doraisamy, Tomer Lancewicki, Senthil Padmanabhan, Ramesh Periyathambi, Srikanth Rentachintala

Abstract:

A counterfeit item detection system detects counterfeit items during an item listing processes provided by an online marketplace. The system enhances the ability of the online marketplace to identify and reject potential counterfeit items. The system collects item data in various formats. The item data is analyzed using speech-to-text software and natural language processing to determine data elements representing items, item features, and language context. Questions are generated using the items and item features, and stored for each item. Answers to the questions have associated counterfeit indication weights. The weights are modified and used to rank the questions as feedback is received about counterfeit items. The ranking determines future question selection, allowing the best questions to continually be identified and provided. The counterfeit item detection system also trains a neural network to detect counterfeit items in images, where the training images are obtained from videos related to the item.

Country: United States
Grant Date: November 22, 2022

Abstract:

Different action user-interface components in a comparison view are described. Initially, a selection is received to display a comparison view via a user interface of a listing platform. Multiple listings of the listing platform are selected for inclusion in the comparison view. A comparison view system determines which action of a plurality of actions, used by the listing platform, to associate with each of the listings. A display device displays the multiple listings concurrently in a comparison view via a user interface of the listing platform and also displays an action user-interface component (e.g., a button) in each of the plurality of listings. The action user-interface component is selectable to initiate the action associated with the respective listing. In accordance with the described techniques, the action user-interface component displayed in at least two of the multiple listings is selectable to initiate different actions in relation to the respective listing.

Country: United States
Grant Date: September 6, 2022
INVENTORS: Lakshimi Duraivenkatesh, Selcuk Kopru, Tomer Lancewicki, Ramesh Periyathambi, Sai Siripurapu

Abstract:

Techniques for prefetching operation cost based digital content and digital content with emphasis that overcome the challenges of conventional systems are described. In one example, a computing device may receive digital content representations of digital content from a service provider system, which are displayed on a user interface of the computing device. Thereafter, the computing device may also receive digital content as prefetches having a changed display characteristic as emphasizing a portion of the digital content based on a model trained using machine learning. Alternatively, the computing device may receive digital content as a prefetch based on a model trained using machine learning in which the model addresses a likelihood of conversion of a good or service and an operation cost of providing the digital content. Upon receiving a user input selecting one of the digital content representations, digital content is rendered in the user interface of the computing device.

Country: United States
Grant Date: May 3, 2022

Abstract:

Different action user-interface components in a comparison view are described. Initially, a selection is received to display a comparison view via a user interface of a listing platform. Multiple listings of the listing platform are selected for inclusion in the comparison view. A comparison view system determines which action of a plurality of actions, used by the listing platform, to associate with each of the listings. A display device displays the multiple listings concurrently in a comparison view via a user interface of the listing platform and also displays an action user-interface component (e.g., a button) in each of the plurality of listings. The action user-interface component is selectable to initiate the action associated with the respective listing. In accordance with the described techniques, the action user-interface component displayed in at least two of the multiple listings is selectable to initiate different actions in relation to the respective listing.

Country: Republic of Korea
Grant Date: April 6, 2022
INVENTORS: Lakshimi Duraivenkatesh, Selcuk Kopru, Tomer Lancewicki, Ramesh Periyathambi, Sai Siripurapu

Abstract:

Systems and methods for processing webpage calls via multiple module responses are described. A system may receive, from a client device, a first call for module data associated with a set of webpage modules for presentation in a webpage. The system may subsequently transmit, to the client device based on receiving the first call, a first response including first module data associated with a first subset of the set of webpage modules. The first response may additionally include a token identifying the webpage. The server may additionally transmit, to the client device based on transmitting the first response, a second response including the token identifying the webpage and second module data associated with a second subset of the set of webpage modules that differs from the first subset of the set of webpage modules.

Country: United States
Grant Date: January 11, 2022
INVENTORS: Vineet Bindal, Lakshimi Duraivenkatesh, Selcuk Kopru, Tomer Lancewicki, Nagasita Raghuram Nimishakavi Venkata, Ramesh Periyathambi

Abstract:

Technologies described reduce the amount of time between requesting content and receiving the requested content. In some embodiments, a client provides a search query. A search result page is generated and, prior to returning the search result page to the client, some or all of the search results are asynchronously pre-fetched and cached. The search query can include custom parameters that are also included in the pre-fetch requests. Web addresses in the search results page can be modified to indicate whether a prefetch operation was initiated. Once a user activates one of the search results, the responding web server uses the cached data while generating a response.

Country: United States
Grant Date: April 20, 2021
INVENTORS: DEEPTI BHOSALE, Vineet Bindal, Lakshimi Duraivenkatesh, Andrew Lin, Auston McReynolds, Nagasita Raghuram Nimishakavi Venkata, Ramesh Periyathambi
Ramesh Periyathambi

Ramesh Periyathambi