|Publication number||US8266288 B2|
|Application number||US 12/257,169|
|Publication date||11 Sep 2012|
|Filing date||23 Oct 2008|
|Priority date||23 Oct 2008|
|Also published as||US20100106833|
|Publication number||12257169, 257169, US 8266288 B2, US 8266288B2, US-B2-8266288, US8266288 B2, US8266288B2|
|Inventors||Dwip N. Banerjee, Prashant A. Paranjape, Swati Rallapalli, Patrick T. Vo|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (16), Non-Patent Citations (3), Referenced by (130), Classifications (15), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
The present invention relates generally to a computer implemented method, data processing system, and computer program product for managing a distributed database. More specifically, the present invention relates to responding to domain name service queries and purging a domain name service database of resource records as needed.
2. Description of the Related Art
When computers were first networked together many decades ago, each computer was assigned numeric addresses to identify uniquely to which computer a packet was addressed. Since then, a number of advances have made computers and other networking equipment easier to identify, especially to people. In particular, many server computers have been provided a host name or domain name by which the computers may conveniently be addressed in accordance with a mnemonic scheme established by the creator of the server. Such a mnemonic scheme permits a domain owner to announce and advertise the availability of services on its computer or computers in simple domain names or hostnames, for example, ibm.com or illinois.edu. A hostname refers to a domain name that has one or more associated IP addresses. For example, the ‘www.example.com’ and ‘example.com’ domains are both hostnames, however, the ‘com’ domain is not. A domain name is a sequence of labels separated by dots, for example, ‘.’. The labels may be established by a centralized naming authority such as, Internet Corporation for Assigned Names and Numbers (ICANN) or its delegates.
The above system using handy names has been preferred in conversation, man-machine interaction, and other processes involving people, as compared to the more cumbersome Internet Protocol Version 4 (IPv4) address of the form, for example, 192.168.0.1. The IPv4 and newer IPv6 both provide IP addresses to an organization that are comprised of numbers, and typically, in batches that are assigned in series. Accordingly, this scheme can be more cumbersome for people to remember the address associated with an organization. Fortunately, the domain name system is a world-wide distributed database that permits an association between the internet protocol (IP) address and the corresponding domain name.
Organizations can change the IP address that services a domain. Such changes make older IP address to domain name associations obsolete. A system created to purge obsolete or otherwise expired IP address to domain associations from the domain name service (DNS) system is desirable.
The present invention provides a computer implemented method and computer program product for transmitting a resource record to a requesting computer. An authoritative domain name server receives a domain name service (DNS) query from a requesting computer at a name server. The authoritative domain name server looks up the resource record based on the DNS query, wherein the resource record is associated with an epochal time and a time to live. The authoritative domain name server transmits the resource record response based on the epochal time.
One or more embodiments provide a name server implemented method for maintaining a domain name service database. An authoritative domain name server receives an address update associated with a domain name, the address association having a lifetime expiration record and at least one time to live. The authoritative domain name server calculates an epochal time associated with lifetime expiration record. The authoritative domain name server stores the epochal time and at least one time to live with a domain name as a resource record.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to the figures and in particular with reference to
In the depicted example, local area network (LAN) adapter 112 connects to south bridge and I/O controller hub 104 and audio adapter 116, keyboard and mouse adapter 120, modem 122, read only memory (ROM) 124, hard disk drive (HDD) 126, CD-ROM drive 130, universal serial bus (USB) ports and other communications ports 132, and PCI/PCIe devices 134 connect to south bridge and I/O controller hub 104 through bus 138 and bus 140. PCI/PCIe devices may include, for example, Ethernet adapters, add-in cards, and PC cards for notebook computers. PCI uses a card bus controller, while PCIe does not. ROM 124 may be, for example, a flash binary input/output system (BIOS). Hard disk drive 126 and CD-ROM drive 130 may use, for example, an integrated drive electronics (IDE) or serial advanced technology attachment (SATA) interface. A super I/O (SIO) device 136 may be connected to south bridge and I/O controller hub 104.
An operating system runs on processor 106 and coordinates and provides control of various components within data processing system 100 in
Instructions for the operating system, the object-oriented programming system, and applications or programs are located on storage devices, such as hard disk drive 126, and may be loaded into main memory 108 for execution by processor 106. The processes of the present invention can be performed by processor 106 using computer implemented instructions, which may be located in a memory such as, for example, main memory 108, read only memory 124, or in one or more peripheral devices.
Those of ordinary skill in the art will appreciate that the hardware in
In some illustrative examples, data processing system 100 may be a personal digital assistant (PDA), which is configured with flash memory to provide non-volatile memory for storing operating system files and/or user-generated data. A bus system may be comprised of one or more buses, such as a system bus, an I/O bus and a PCI bus. Of course, the bus system may be implemented using any type of communications fabric or architecture that provides for a transfer of data between different components or devices attached to the fabric or architecture. A communication unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. A memory may be, for example, main memory 108 or a cache such as found in north bridge and memory controller hub 102. A processing unit may include one or more processors or CPUs. The depicted example in
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
As will be appreciated by one skilled in the art, the present invention may be embodied as a system, method or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module”, or “system.” Furthermore, the present invention may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium.
Any combination of one or more computer usable or computer readable medium(s) may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CDROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The aspects of the illustrative embodiments provide a computer implemented method, data processing system, and computer program product for updating a domain name service (DNS) authoritative server with a resource record having a known expiration time for a particular IP address. Responsive to locating IP addresses that have expiration dates that have been passed, illustrative embodiments of the invention can delete such resource records that associate an expiration date to an IP address. Similarly, when dispatching responses to DNS queries, an illustrative embodiment may inform the requesting computer to use a time to live that is no greater than the expiration time associated with the IP address provided in the response.
Local DNS servers for example, local DNS server 214 and local DNS server 218 may be DNS servers in an hierarchy that can be first requested to provide responses to resolve DNS queries. Accordingly, a client, for example, client computer 231 can make a DNS query to local DNS server 218. A DNS query is a packet sent by a requesting computer to a domain name service (DNS) server that includes a domain name for which the requesting computer requests information about. The DNS query is sent to local DNS server 218 in this case. The client computer, in this case, is a requesting computer. A requesting computer is a computer or other device that requests information about a domain name.
Also shown is client computer 233 attempting to resolve a domain, for example, ibm.com, that is associated with a server, for example, web server 220. Next, local DNS server 214 may forward the DNS query to a server known by local DNS server 214 to be authoritative, namely, authoritative DNS server 212. Authoritative DNS server, in turn, looks up, and resolves the domain name of the DNS query to an IP address. Accordingly, authoritative DNS server 212 transmits a packet containing a resource record to local DNS server 214. Local DNS server may cache the content of the resource record within its own DNS database (not shown). Because local DNS server 214 is not an authoritative name server, local DNS server 214 may cache the resource record.
Next, local DNS server 214 may transmit the response to the DNS query back to client computer 233. A time to live is an indication in a resource record that indicates in a non-authoritative DNS server, that the record should be purged from the server's local cache of resource records. In an authoritative DNS server, the time to live is used to formulate responses to requesting computers in order to limit the time that the resource records are cached in the requesting computer. The system time is a time kept by the local computer that corresponds to the time that the computer is set. In other words, the system time is a time that the computer responds to when queried to indicate the current time.
Accordingly, client computer 233 receives a response that, in many cases, provides an IP address that corresponds with the domain name that the client used in the DNS query. The client may further access resources at a web server 220 using the information contained in the response.
Resource record 320 is a resource record that associates a lifetime expiration record to domain name. Resource record 320 includes domain name 313, IN, a lifetime expiration record type-field 323, and time 325. An illustrative embodiment may use an epochal time depicted as time 325. An epochal time is a time difference or offset from a universally accepted common time. The universally accepted time can be based on any event, for example, a birth or death of a person. Alternatively, the universal time base can be, as used in Unix operating systems, Jan. 1, 1970. The epochal time may indicate years, months, days, hours, minutes and seconds into the era marked by such a universal time base or event. An alternative illustrative embodiment may use a delta time. A delta time may be expressed in seconds by using the time when the application was active. In either embodiment, when transmitting the content of a resource record, the time may be expressed as a delta time, for example, seconds from dispatching the resource record in a message.
A type-field is string or other data used to signal an identity of the resource record as falling within one of a number of distinct classes. The type-field includes classes already in use, as well as the one or more classes described by the illustrative embodiments herein. Conventionally known classes for resource records are internet class (IN) and chaos class (CH). Embodiments can use an additional type-field, for example, “LER”. It is appreciated that any unused string other than “LER” may be used for a lifetime expiration record type-field, so long as manufacturers settle on a common standard to designate such a record type.
However, if the determination at step 403 is positive, the authoritative DNS server uses a delta time present with the lifetime expiration record (LER) type-field to compute an expiration time that is an epochal time (step 405). A delta time is a time after the time that a corresponding communication is sent. Next, the authoritative DNS server updates the resource record, if any, for the associated domain name to have a lifetime expiration (step 409). A lifetime expiration is a time that indicates a threshold that, when approached or surpassed, signals that the associated resource record is obsolete. Next, the authoritative DNS server may receive a DNS query (step 411).
Next, the authoritative DNS server determines if a corresponding resource record is present (step 413). A corresponding resource record is present when the domain name in the DNS query matches one or more domain names of resource record in the DNS database, for example, DNS database 251 of
A positive determination at step 413 may cause the authoritative DNS server to determine if a lifetime expiration record (LER) is available (step 415). If a LER is available that corresponds to the domain of the DNS query, the authoritative DNS server determines if the lifetime expiration has expired (step 417). If not, the authoritative DNS server determines if the expiration time is smaller than the time to live (step 419). A positive determination at step 419 causes the authoritative DNS server to convert the expiration time to a delta time and use the delta time in place of the time to live (TTL) (step 420). Next, the authoritative DNS server builds a resource record for transmittal (step 421). A resource record for transmittal is a resource record that contains at least an IP address, a domain name, and a time to live. In case of a negative determination at step 419, the authoritative DNS server at step 421, uses the TTL of the original resource record in the DNS database. Otherwise, the authoritative DNS server relies on the TTL generated at step 420. Next, the authoritative DNS server builds a resource record for transmittal (step 421). Step 421 is also performed in response to a negative determination at step 415, wherein the LER type-field is not present in a resource record corresponding to the domain name of the DNS query.
A positive determination to step 417 that a lifetime has expired causes the authoritative DNS server to remove the resource record (step 425). Next, and following step 421, the authoritative DNS server determines whether there are further matches to the DNS query (step 429). A positive determination is similar to a positive outcome to step 413. Accordingly, step 415, and those steps that follow may be repeated in response to a positive determination to step 429.
On the other hand, in response to no corresponding resource record being present at step 413, the authoritative DNS server determines if at least one resource record has been formed for transmittal (step 431). Step 431 is performed with respect to step 421. Accordingly, the determination for step 431 is positive if, during the performance of the flowchart, at least one resource record was built for transmittal, and negative, if during the performance of the flowchart, no resource record was built for transmittal. A negative determination occurs, for example, when the step 413 is a negative determination, and the step 431 follows subsequently.
A negative determination at step 431 causes the authoritative DNS server to transmit a reply with an error code of “NXDOMAIN” to the requesting computer (step 433). Otherwise, the authoritative DNS server transmits the at least one resource record to the requesting computer (step 435). The requesting computer can be, for example, local DNS server 214 of
The illustrative embodiments permit an authoritative DNS server to provide instructions to a DNS server to use a time to live shorter than that present in the authoritative DNS server's DNS database. Accordingly, the DNS server can more promptly purge cached resource records according to an occasionally briefer time to live.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any tangible apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories, which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US6654387 *||21 May 1999||25 Nov 2003||3Com Corporation||Method for network address table maintenance in a data-over-cable system using a network device registration procedure|
|US6845400 *||28 Dec 2000||18 Jan 2005||Nortel Networks Limited||Storing subscriber location indication at DNS, to enable location specific provision of internet content|
|US6944167||24 Oct 2000||13 Sep 2005||Sprint Communications Company L.P.||Method and apparatus for dynamic allocation of private address space based upon domain name service queries|
|US7356534||15 Mar 2004||8 Apr 2008||Microsoft Corporation||Providing notifications for domain registration changes|
|US7725602 *||31 Oct 2005||25 May 2010||Akamai Technologies, Inc.||Domain name resolution using a distributed DNS network|
|US20020016789||1 Dec 1998||7 Feb 2002||Ping-Wen Ong||Method and apparatus for resolving domain names of persistent web resources|
|US20040073707 *||26 Sep 2003||15 Apr 2004||Hughes Electronics Corporation||Generating a list of network addresses for pre-loading a network address cache via multicast|
|US20050204039 *||11 Mar 2004||15 Sep 2005||At&T Corp.||Method and apparatus for limiting reuse of domain name system response information|
|US20060075138 *||28 Sep 2004||6 Apr 2006||Utstarcom, Inc.||Method and apparatus to facilitate IPv6 DNS requests|
|US20070078986 *||13 Sep 2005||5 Apr 2007||Cisco Technology, Inc.||Techniques for reducing session set-up for real-time communications over a network|
|US20080068996 *||12 Sep 2007||20 Mar 2008||Arnaud Clave||Downlink routing mechanism|
|US20080075218 *||13 Sep 2007||27 Mar 2008||Fabrice Monier||Crystal drift compensation in a mesh network|
|US20090172035 *||19 Dec 2008||2 Jul 2009||Pieter Lessing||System and method for capturing and storing casino information in a relational database system|
|US20100061236 *||21 Jul 2008||11 Mar 2010||Foundry Networks, Inc.||Smoothing algorithm for round trip time (rtt) measurements|
|US20100125649 *||25 Jan 2010||20 May 2010||Richard David Day||Dynamic Image Delivery System|
|US20100146393 *||17 Feb 2010||10 Jun 2010||Sparkpoint Software, Inc.||System and method for multimedia authoring and playback|
|1||Author(s): S. Thomson, T. Narten, T. Jinmei ; Title: IPv6 Stateless Address Autoconfiguration ; Item: article; Date(s): Sep. 2007 ; Volume-Issue(s): RFC 4862 ; Publisher: IETF ; Location: http://www.ietforg/rfc/rfc4862.txt.|
|2||Author(s): T. Narten, R. Draves, S. Krishnan ; Title: Privacy Extensions for Stateless Address Autoconfiguration in IPv6 ; Item: article; Date: Sep. 2007 ; pp. 1-21 ; Volume-Issue(s): RFC 4941 ; Publisher: IETF ; Location: Internet url: http://www.ietf.org/rfc/rfc4941.txt.|
|3||Internet Systems Consortium, Inc.; Feb. 23, 2008; www.isc.org.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8467768||17 Feb 2009||18 Jun 2013||Lookout, Inc.||System and method for remotely securing or recovering a mobile device|
|US8505095||28 Oct 2011||6 Aug 2013||Lookout, Inc.||System and method for monitoring and analyzing multiple interfaces and multiple protocols|
|US8510843||6 Oct 2011||13 Aug 2013||Lookout, Inc.||Security status and information display system|
|US8533844||25 Aug 2010||10 Sep 2013||Lookout, Inc.||System and method for security data collection and analysis|
|US8538815||3 Sep 2010||17 Sep 2013||Lookout, Inc.||System and method for mobile device replacement|
|US8544095||30 Apr 2012||24 Sep 2013||Lookout, Inc.||System and method for server-coupled application re-analysis|
|US8561144||15 Jan 2013||15 Oct 2013||Lookout, Inc.||Enforcing security based on a security state assessment of a mobile device|
|US8577992 *||28 Sep 2010||5 Nov 2013||Amazon Technologies, Inc.||Request routing management based on network components|
|US8635109||6 Aug 2013||21 Jan 2014||Lookout, Inc.||System and method for providing offers for mobile devices|
|US8655307||27 Nov 2012||18 Feb 2014||Lookout, Inc.||System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security|
|US8671221 *||24 Feb 2011||11 Mar 2014||Hola Networks Ltd.||Method and system for increasing speed of domain name system resolution within a computing device|
|US8682400||15 Mar 2013||25 Mar 2014||Lookout, Inc.||Systems and methods for device broadcast of location information when battery is low|
|US8683593||15 Jan 2013||25 Mar 2014||Lookout, Inc.||Server-assisted analysis of data for a mobile device|
|US8688837||27 Mar 2009||1 Apr 2014||Amazon Technologies, Inc.||Dynamically translating resource identifiers for request routing using popularity information|
|US8713156||13 Feb 2013||29 Apr 2014||Amazon Technologies, Inc.||Request routing based on class|
|US8732309||17 Nov 2008||20 May 2014||Amazon Technologies, Inc.||Request routing utilizing cost information|
|US8738765 *||14 Jun 2011||27 May 2014||Lookout, Inc.||Mobile device DNS optimization|
|US8745739||1 May 2012||3 Jun 2014||Lookout, Inc.||System and method for server-coupled application re-analysis to obtain characterization assessment|
|US8752176||2 May 2012||10 Jun 2014||Lookout, Inc.||System and method for server-coupled application re-analysis to obtain trust, distribution and ratings assessment|
|US8756325||11 Mar 2013||17 Jun 2014||Amazon Technologies, Inc.||Content management|
|US8756341||27 Mar 2009||17 Jun 2014||Amazon Technologies, Inc.||Request routing utilizing popularity information|
|US8774788||10 Oct 2013||8 Jul 2014||Lookout, Inc.||Systems and methods for transmitting a communication based on a device leaving or entering an area|
|US8782236||16 Jun 2009||15 Jul 2014||Amazon Technologies, Inc.||Managing resources using resource expiration data|
|US8788881||17 Aug 2011||22 Jul 2014||Lookout, Inc.||System and method for mobile device push communications|
|US8819283||28 Sep 2010||26 Aug 2014||Amazon Technologies, Inc.||Request routing in a networked environment|
|US8825007||10 Oct 2013||2 Sep 2014||Lookout, Inc.||Systems and methods for applying a security policy to a device based on a comparison of locations|
|US8826441||8 Mar 2013||2 Sep 2014||Lookout, Inc.||Event-based security state assessment and display for mobile devices|
|US8855599||31 Dec 2012||7 Oct 2014||Lookout, Inc.||Method and apparatus for auxiliary communications with mobile communications device|
|US8855601||2 Mar 2012||7 Oct 2014||Lookout, Inc.||System and method for remotely-initiated audio communication|
|US8874718 *||9 Nov 2012||28 Oct 2014||Huawei Technologies Co., Ltd.||Method and device for storing domain name system records, method and device for parsing domain name|
|US8875289||29 Nov 2012||28 Oct 2014||Lookout, Inc.||System and method for preventing malware on a mobile communication device|
|US8881292||15 Jan 2013||4 Nov 2014||Lookout, Inc.||Evaluating whether data is safe or malicious|
|US8924528||28 Sep 2010||30 Dec 2014||Amazon Technologies, Inc.||Latency measurement in resource requests|
|US8929874||22 Mar 2013||6 Jan 2015||Lookout, Inc.||Systems and methods for remotely controlling a lost mobile communications device|
|US8930513||28 Sep 2010||6 Jan 2015||Amazon Technologies, Inc.||Latency measurement in resource requests|
|US8930544||29 Oct 2013||6 Jan 2015||Amazon Technologies, Inc.||Network resource identification|
|US8938526||28 Sep 2010||20 Jan 2015||Amazon Technologies, Inc.||Request routing management based on network components|
|US8984628||23 Feb 2011||17 Mar 2015||Lookout, Inc.||System and method for adverse mobile application identification|
|US8996664||26 Aug 2013||31 Mar 2015||Amazon Technologies, Inc.||Translation of resource identifiers using popularity information upon client request|
|US8997181||23 Sep 2013||31 Mar 2015||Lookout, Inc.||Assessing the security state of a mobile communications device|
|US9003035||28 Sep 2010||7 Apr 2015||Amazon Technologies, Inc.||Point of presence management in request routing|
|US9003040||29 Apr 2013||7 Apr 2015||Amazon Technologies, Inc.||Request routing processing|
|US9009286||6 May 2013||14 Apr 2015||Amazon Technologies, Inc.||Locality based content distribution|
|US9021127||14 Mar 2013||28 Apr 2015||Amazon Technologies, Inc.||Updating routing information based on client location|
|US9021128||17 May 2013||28 Apr 2015||Amazon Technologies, Inc.||Request routing using network computing components|
|US9021129||3 Jun 2013||28 Apr 2015||Amazon Technologies, Inc.||Request routing utilizing client location information|
|US9026616||17 May 2013||5 May 2015||Amazon Technologies, Inc.||Content delivery reconciliation|
|US9042876||15 Apr 2013||26 May 2015||Lookout, Inc.||System and method for uploading location information based on device movement|
|US9043429||24 Jan 2014||26 May 2015||Hola Networks Ltd.||Method and system for increasing speed of domain name system resolution within a computing device|
|US9043919||30 May 2012||26 May 2015||Lookout, Inc.||Crawling multiple markets and correlating|
|US9065846||17 Jun 2013||23 Jun 2015||Lookout, Inc.||Analyzing data gathered through different protocols|
|US9083675||4 Jun 2013||14 Jul 2015||Amazon Technologies, Inc.||Translation of resource identifiers using popularity information upon client request|
|US9083743||20 Jun 2012||14 Jul 2015||Amazon Technologies, Inc.||Managing request routing information utilizing performance information|
|US9100389||2 Aug 2013||4 Aug 2015||Lookout, Inc.||Assessing an application based on application data associated with the application|
|US9100925||10 Oct 2013||4 Aug 2015||Lookout, Inc.||Systems and methods for displaying location information of a device|
|US9106701 *||4 Nov 2013||11 Aug 2015||Amazon Technologies, Inc.||Request routing management based on network components|
|US9130756||11 Mar 2013||8 Sep 2015||Amazon Technologies, Inc.||Managing secure content in a content delivery network|
|US9135048||20 Sep 2012||15 Sep 2015||Amazon Technologies, Inc.||Automated profiling of resource usage|
|US9154551||11 Jun 2012||6 Oct 2015||Amazon Technologies, Inc.||Processing DNS queries to identify pre-processing information|
|US9160703||10 Dec 2014||13 Oct 2015||Amazon Technologies, Inc.||Request routing management based on network components|
|US9167550||10 Oct 2013||20 Oct 2015||Lookout, Inc.||Systems and methods for applying a security policy to a device based on location|
|US9172674||20 Jun 2012||27 Oct 2015||Amazon Technologies, Inc.||Managing request routing information utilizing performance information|
|US9176894||14 Jul 2014||3 Nov 2015||Amazon Technologies, Inc.||Managing resources using resource expiration data|
|US9179434||10 Oct 2013||3 Nov 2015||Lookout, Inc.||Systems and methods for locking and disabling a device in response to a request|
|US9185012||21 Nov 2014||10 Nov 2015||Amazon Technologies, Inc.||Latency measurement in resource requests|
|US9191338||25 Aug 2014||17 Nov 2015||Amazon Technologies, Inc.||Request routing in a networked environment|
|US9191458||5 Jun 2014||17 Nov 2015||Amazon Technologies, Inc.||Request routing using a popularity identifier at a DNS nameserver|
|US9208097||12 Nov 2013||8 Dec 2015||Amazon Technologies, Inc.||Cache optimization|
|US9208215||27 Dec 2012||8 Dec 2015||Lookout, Inc.||User classification based on data gathered from a computing device|
|US9210235||28 Aug 2013||8 Dec 2015||Amazon Technologies, Inc.||Client side cache management|
|US9215074||5 Mar 2013||15 Dec 2015||Lookout, Inc.||Expressing intent to control behavior of application components|
|US9223973||8 Aug 2014||29 Dec 2015||Lookout, Inc.||System and method for attack and malware prevention|
|US9232491||16 Jun 2011||5 Jan 2016||Lookout, Inc.||Mobile device geolocation|
|US9235704||22 Dec 2011||12 Jan 2016||Lookout, Inc.||System and method for a scanning API|
|US9237114||14 Mar 2013||12 Jan 2016||Amazon Technologies, Inc.||Managing resources in resource cache components|
|US9246776||10 Mar 2015||26 Jan 2016||Amazon Technologies, Inc.||Forward-based resource delivery network management techniques|
|US9251112||26 Aug 2013||2 Feb 2016||Amazon Technologies, Inc.||Managing content delivery network service providers|
|US9253065||21 Nov 2014||2 Feb 2016||Amazon Technologies, Inc.||Latency measurement in resource requests|
|US9294391||4 Jun 2013||22 Mar 2016||Amazon Technologies, Inc.||Managing network computing components utilizing request routing|
|US9294500||27 Jun 2014||22 Mar 2016||Lookout, Inc.||System and method for creating and applying categorization-based policy to secure a mobile communications device from access to certain data objects|
|US9307412||5 Nov 2013||5 Apr 2016||Lookout, Inc.||Method and system for evaluating security for an interactive service operation by a mobile device|
|US9323577||20 Sep 2012||26 Apr 2016||Amazon Technologies, Inc.||Automated profiling of resource usage|
|US9332078||5 Mar 2015||3 May 2016||Amazon Technologies, Inc.||Locality based content distribution|
|US9344431||16 Apr 2015||17 May 2016||Lookout, Inc.||System and method for assessing an application based on data from multiple devices|
|US9367680||25 Aug 2010||14 Jun 2016||Lookout, Inc.||System and method for mobile communication device application advisement|
|US9374369||15 Mar 2013||21 Jun 2016||Lookout, Inc.||Multi-factor authentication and comprehensive login system for client-server networks|
|US9391949||3 Dec 2010||12 Jul 2016||Amazon Technologies, Inc.||Request routing processing|
|US9407443||3 Dec 2012||2 Aug 2016||Lookout, Inc.||Component analysis of software applications on computing devices|
|US9407640||27 Feb 2015||2 Aug 2016||Lookout, Inc.||Assessing a security state of a mobile communications device to determine access to specific tasks|
|US9407681||28 Sep 2010||2 Aug 2016||Amazon Technologies, Inc.||Latency measurement in resource requests|
|US9407699||27 Jan 2014||2 Aug 2016||Amazon Technologies, Inc.||Content management|
|US9408143||27 Nov 2013||2 Aug 2016||Lookout, Inc.||System and method for using context models to control operation of a mobile communications device|
|US9424409||10 Jan 2013||23 Aug 2016||Lookout, Inc.||Method and system for protecting privacy and enhancing security on an electronic device|
|US9444759||12 Aug 2013||13 Sep 2016||Amazon Technologies, Inc.||Service provider registration by a content broker|
|US9451046||22 Jul 2013||20 Sep 2016||Amazon Technologies, Inc.||Managing CDN registration by a storage provider|
|US9479476||13 Mar 2012||25 Oct 2016||Amazon Technologies, Inc.||Processing of DNS queries|
|US9495338||28 Jan 2010||15 Nov 2016||Amazon Technologies, Inc.||Content distribution network|
|US9497259||15 Sep 2012||15 Nov 2016||Amazon Technologies, Inc.||Point of presence management in request routing|
|US9515949||24 Oct 2013||6 Dec 2016||Amazon Technologies, Inc.||Managing content delivery network service providers|
|US9515981||20 May 2015||6 Dec 2016||Hola Networks Ltd.||Method and system for increasing speed of domain name system resolution within a computing device|
|US9525659||4 Sep 2012||20 Dec 2016||Amazon Technologies, Inc.||Request routing utilizing point of presence load information|
|US9544394||19 Nov 2014||10 Jan 2017||Amazon Technologies, Inc.||Network resource identification|
|US9563749||21 Apr 2015||7 Feb 2017||Lookout, Inc.||Comparing applications and assessing differences|
|US9569643||23 Jul 2014||14 Feb 2017||Lookout, Inc.||Method for detecting a security event on a portable electronic device and establishing audio transmission with a client computer|
|US9571389||28 Apr 2014||14 Feb 2017||Amazon Technologies, Inc.||Request routing based on class|
|US9589129||4 Jun 2015||7 Mar 2017||Lookout, Inc.||Determining source of side-loaded software|
|US9590946||21 Jan 2016||7 Mar 2017||Amazon Technologies, Inc.||Managing content delivery network service providers|
|US9608957||9 Apr 2015||28 Mar 2017||Amazon Technologies, Inc.||Request routing using network computing components|
|US9621660||26 Apr 2016||11 Apr 2017||Amazon Technologies, Inc.||Locality based content distribution|
|US9628554||1 Dec 2014||18 Apr 2017||Amazon Technologies, Inc.||Dynamic content delivery|
|US9642008||25 Oct 2013||2 May 2017||Lookout, Inc.||System and method for creating and assigning a policy for a mobile communications device based on personal data|
|US9712325||15 Jul 2015||18 Jul 2017||Amazon Technologies, Inc.||Managing secure content in a content delivery network|
|US9712484||28 Sep 2010||18 Jul 2017||Amazon Technologies, Inc.||Managing request routing information utilizing client identifiers|
|US9734472||19 May 2014||15 Aug 2017||Amazon Technologies, Inc.||Request routing utilizing cost information|
|US9740852||17 May 2013||22 Aug 2017||Lookout, Inc.||System and method for assessing an application to be installed on a mobile communications device|
|US9742795||24 Sep 2015||22 Aug 2017||Amazon Technologies, Inc.||Mitigating network attacks|
|US9753796||6 Dec 2013||5 Sep 2017||Lookout, Inc.||Distributed monitoring, evaluation, and response for multiple devices|
|US9769749||22 Jun 2016||19 Sep 2017||Lookout, Inc.||Modifying mobile device settings for resource conservation|
|US9774619||24 Sep 2015||26 Sep 2017||Amazon Technologies, Inc.||Mitigating network attacks|
|US9787599||5 Dec 2016||10 Oct 2017||Amazon Technologies, Inc.||Managing content delivery network service providers|
|US9787775||15 Sep 2012||10 Oct 2017||Amazon Technologies, Inc.||Point of presence management in request routing|
|US9794216||30 Sep 2015||17 Oct 2017||Amazon Technologies, Inc.||Request routing in a networked environment|
|US9794281||24 Sep 2015||17 Oct 2017||Amazon Technologies, Inc.||Identifying sources of network attacks|
|US9800539 *||23 Jul 2015||24 Oct 2017||Amazon Technologies, Inc.||Request routing management based on network components|
|US9819567||30 Mar 2015||14 Nov 2017||Amazon Technologies, Inc.||Traffic surge management for points of presence|
|US20120124239 *||24 Feb 2011||17 May 2012||Hola, Inc.||Method and system for increasing speed of domain name system resolution within a computing device|
|US20120324094 *||14 Jun 2011||20 Dec 2012||Lookout, Inc., A California Corporation||Mobile device dns optimization|
|US20130066842 *||9 Nov 2012||14 Mar 2013||Huawei Device Co., Ltd.||Method and Device for Storing Domain Name System Records, Method and Device for Parsing Domain Name|
|US20140059198 *||4 Nov 2013||27 Feb 2014||Amazon Technologies, Inc.||Request routing management based on network components|
|US20150334082 *||23 Jul 2015||19 Nov 2015||Amazon Technologies, Inc.||Request routing management based on network components|
|U.S. Classification||709/226, 709/225, 709/229, 709/245, 709/227, 709/203, 709/217|
|International Classification||G06F15/16, G06F15/173|
|Cooperative Classification||H04L69/28, H04L61/1511, H04L29/12066|
|European Classification||H04L29/12A2A1, H04L29/06T, H04L61/15A1|
|23 Oct 2008||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION,NEW YO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BANERJEE, DWIP N.;PARANJAPE, PRASHANT A.;RALLAPALLI, SWATI;AND OTHERS;SIGNING DATES FROM 20081016 TO 20081023;REEL/FRAME:021733/0880
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BANERJEE, DWIP N.;PARANJAPE, PRASHANT A.;RALLAPALLI, SWATI;AND OTHERS;SIGNING DATES FROM 20081016 TO 20081023;REEL/FRAME:021733/0880
|22 Apr 2016||REMI||Maintenance fee reminder mailed|
|11 Sep 2016||LAPS||Lapse for failure to pay maintenance fees|
|1 Nov 2016||FP||Expired due to failure to pay maintenance fee|
Effective date: 20160911