Verisign helps enable the security, stability, and resiliency of the internet. We are a trusted provider of internet infrastructure services for the networked world and deliver unmatched performance in domain name system (DNS) services.
We are a mission focused, values driven company where each individual can contribute to building a stronger, more secure internet. We offer a dynamic and flexible work environment with competitive benefits and the ability to grow your career.
Context of Project for Master Student
NameStudio API (NSAPI) is a product that provides alternative domain name suggestions along with their availability given a user input. Currently, NSAPI uses Bloom Filters to return domain name suggestions availability for different TLDs. Despite having good performance in terms of resource utilization, this technology has a major flaw of returning false-positive results. We seek to fill this gap by proposing a research project to replace Bloom Filter by a more performant and accurate technology.
Project Description
Domain name availability check requires an algorithm checking if a string is a member of a large dataset (hundreds of millions of elements). Moreover, the fast-changing pace of the domain name space requires a design which refreshes the dataset every couple of seconds, while providing accurate answers.
The time complexity and space complexity of the check using a traditional data structure such as HashSet is expensive and impossible to operate in practice. Probabilistic data structures such as Bloom Filter offer both constant time and space complexities at the expense of providing an answer that is non-deterministic.
The objective of the project is to research probabilistic data structures and implement an availability check module that satisfies the accuracy, lookup speed, and refresh rate of a real-life production system. The baseline for benchmarking different data structures is the Bloom Filter.
Goals
Conduct research on alternative technologies for domain availability check with Bloom Filter as the baseline. The technology should satisfy the following criteria:
- Should have less false positives than the Bloom Filter baseline on the same time and space complexity
- Consistency guarantees should be such that subsequent checks never receive values that are more stale than previous checks after data refresh
- Tail lookup latency should be comparable to Bloom Filter (which have constant latency)
- Latency should be evaluated on varying request throughput and data structure size parameters
- Request throughput should be acceptable (compare to Bloom Filter)
- Acceptable performance when adding/removing entries while querying
- Favourable availability status update time compared to bloom filters (which rebuild from scratch)
- Compare strategies of updating live data structures in-place while querying vs copying line and rebuilding from scratch
Skills
- Java and JVM
- Data structures
- Algorithms
Duration
- Project duration: 6 Months
Verisign is an equal opportunity employer. That means we recruit, hire, compensate, train, promote, transfer, and administer all terms and conditions of employment without regard to their race, color, religion, national origin, sex, sexual orientation, gender identity, age, protected veteran status, disability, or other protected categories under applicable law.
Additional Information:
Our Careers Page
Our Benefits Summary
Verisign in the Community
Our EEO Statement
Our Privacy Notice for Job Applicants/Candidates
Reasonable Accommodations
Staffing agency policy: No fees will be paid for unsolicited resumes submitted to Verisign or our employees by third parties.