US20110320449A1 - Telephone number groups - Google Patents

Telephone number groups Download PDF

Info

Publication number
US20110320449A1
US20110320449A1 US12/825,944 US82594410A US2011320449A1 US 20110320449 A1 US20110320449 A1 US 20110320449A1 US 82594410 A US82594410 A US 82594410A US 2011320449 A1 US2011320449 A1 US 2011320449A1
Authority
US
United States
Prior art keywords
group
telephone numbers
list
sequential
set forth
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
US12/825,944
Other versions
US8867727B2 (en
Inventor
Bhaskar R Gudlavenkatasiva
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.)
Verizon Patent and Licensing Inc
Original Assignee
Verizon Patent and Licensing 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 Verizon Patent and Licensing Inc filed Critical Verizon Patent and Licensing Inc
Priority to US12/825,944 priority Critical patent/US8867727B2/en
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GUDLAVENKATASIVA, BHASKAR R.
Publication of US20110320449A1 publication Critical patent/US20110320449A1/en
Application granted granted Critical
Publication of US8867727B2 publication Critical patent/US8867727B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/229Wire identification arrangements; Number assignment determination

Definitions

  • Telecommunications carriers are assigned groups of telephone numbers consistent with a geographic number plan such as the North American Numbering Plan. These groups of numbers are available for carriers to assign to the carrier's customers. Individual customers often only need one or two telephone numbers, while businesses customers often need larger groups of telephone numbers.
  • the carrier can assign vacant (e.g., available) telephone numbers to its customers based on the customer's request. In doing so, the carrier, either automatically or through its representatives, will often break up large groups of telephone numbers in a disorganized way. For instance, the carrier may use an automated process that selects a group of sequential telephone numbers without considering that certain telephone numbers are more desirable by some customers than as compared to others.
  • a customer who desires a sequential group of ten telephone numbers would likely prefer the numbers “813-999-0000” through “813-999-0009” to the numbers “813-999-0023” through “813-999-0032.”
  • a sales person may assign one number from a group of sequential telephone numbers to an individual customer and unknowingly break up a larger group that would have been more profitable to the carrier if the numbers were sold as a group to a business customer. Accordingly, a system and process are needed that groups telephone numbers in a way that considers those numbers that are more desirable to customers and prevents sales persons from breaking up groups of sequential telephone numbers that are more profitable if left intact.
  • FIG. 1 illustrates an exemplary system configured to group telephone numbers.
  • FIG. 2 illustrates an exemplary telephone number format showing a range of telephone numbers included in a list.
  • FIG. 3 illustrates a flowchart of an exemplary process performed by the system of FIG. 1 .
  • FIG. 4 illustrates a flowchart of an exemplary process of creating a group.
  • FIG. 5 illustrates a flowchart of an exemplary process of removing the created group from the list of telephone numbers.
  • FIG. 6 illustrates a flowchart of another exemplary process performed by the system of FIG. 1 .
  • FIG. 7 illustrates an exemplary software code configured to group telephone numbers.
  • FIG. 8 illustrates an exemplary graph of the uniform distribution of telephone number groups.
  • An exemplary method includes receiving a list of vacant (e.g., available) sequential telephone numbers, and via a computing device, iteratively identifying a first number and a last number of the list, selecting a group size, creating a group of sequential telephone numbers from the list of sequential telephone numbers based on the selected group size, and removing the created group from the list of sequential telephone numbers.
  • Creating the group may include determining whether a first number in a list of sequential telephone numbers ends with a predetermined digit, assigning the first number as a start number of the group, and identifying an end number in the group based on the start number and a selected group size. In one exemplary approach, the end number is further chosen to end with the predetermined digit.
  • the exemplary system and method disclosed herein may be used by a carrier to efficiently group vacant telephone numbers in a way that considers those telephone numbers that are more desirable by customers and that prevents sales persons from unknowingly breaking up groups of telephone numbers that would be more profitable if left intact.
  • the processes described herein may be iteratively performed so long as the carrier has vacant telephone numbers to assign to customers.
  • the process to group telephone numbers may be performed as soon as vacant telephone numbers are received by the carrier, when telephone numbers previously assigned to customers become vacant (e.g., a business customer cancels its account and the group of telephone numbers previously assigned to the business customer become available to other customers), a sales person assigns a telephone number that is part of a group of sequential telephone numbers to an individual customer, etc.
  • the groups of telephone numbers available are likely to be those that are most appealing to customers.
  • FIG. 1 illustrates an exemplary system 100 that is configured to create groups of sequential telephone numbers of predetermined sizes.
  • System 100 may take many different forms and include multiple and/or alternate components and facilities. While an exemplary system 100 is shown in FIG. 1 , the exemplary components illustrated in FIG. 1 are not intended to be limiting. Indeed, additional or alternative components and/or implementations may be used.
  • the system 100 includes a carrier 105 in communication with a telephone number authority 110 .
  • the carrier 105 receives a list 115 of assigned telephone numbers from the telephone number authority 110 so that the carrier 105 can assign one or more telephone numbers to its customers 125 .
  • the carrier 105 may include any entity that provides telecommunications services to its customers 125 .
  • the carrier 105 may include a local exchange carrier, wireless carrier, mobile network operator, Internet service provider, etc.
  • the carrier 105 may include a computing device 120 configured to separate sequential telephone numbers into groups of predetermined sizes. While a single computing device 120 is illustrated, the computing device 120 may include multiple separate computing devices.
  • the computing device 120 may include any computing device configured to identify the first and last number in a sequential list 115 of telephone numbers and create groups of telephone numbers between and including the first and last number.
  • the groups created may be defined by one or more group sizes. For instance, the computing device 120 may be configured to create groups of telephone numbers in multiples of tens (e.g., 10 numbers, 20 numbers, 30 numbers, 100 numbers, 1000 numbers, etc.).
  • the computing device 120 may be configured to designate a maximum group size (e.g., no more than 10 numbers, no more than 100 numbers, no more than 1000 numbers, etc.) for each group.
  • the computing device 120 may select the group size based on any number of factors including the size of the list 115 received from the telephone number authority 110 , the size of the geographic region in which the telephone numbers will be used, or historical data. For example, for a geographic region serviced by the carrier 105 that has customers 125 who employ hundreds or thousands of employees, the computing device 120 may be configured to select group sizes that create large groups with hundreds or thousands of telephone numbers.
  • the computing device 120 may be configured to select varying group sizes between 10 telephone numbers and 200 telephone numbers. Historical data may also indicate to the carrier 105 that the majority of customers 125 prefer a specific group size (e.g., 50 telephone numbers). In response, the computing device 120 may be configured to create more groups of that specific size to accommodate the customer 125 . Exemplary ways in which the computing device 120 creates groups of telephone numbers will be discussed in greater detail below with respect to FIGS. 3-7 .
  • the computing device 120 may be further configured to create desirable groups of telephone numbers by starting each group with telephone numbers of higher perceived value and selecting numbers ending with a less desirable digit as the end number of the group. For example, some customers 125 may only wish to purchase groups of telephone numbers where the start number ends with, for instance, the numbers “5” or “0.” Therefore, the computing device 120 may be configured to create one or more groups of telephone numbers to comply with this request by preventing numbers that end with specific predetermined digits from being the start number of the group.
  • the computing device 120 may be configured to identify the first number in the list 115 as the start number of the group. It is possible, however, for the last digit of the first number in the list 115 to be one of the less desirable predetermined digits (e.g., the number “9”). In that instance, the computing device 120 may be configured to increment the first number until the first number ends with, for example, either the number “0” or the number “5.”
  • the computing device 120 may be configured to create groups where the last number ends with a specific digit.
  • customers 125 may desire groups of telephone numbers where the last digit is the number “0.”
  • the first number in the list 115 of telephone numbers received from the telephone number authority 110 may not end with the number “0.” Therefore, the computing device 120 may be configured to remove the first few numbers from the list 115 until the first number ends with a more desirable number (e.g., the number “0”).
  • the last four digits of the first number in the list 115 may be “0043.”
  • the computing device 120 may be configured to create a group with the numbers ending with “0043” (i.e., the start number of the group) through “0049” (i.e., the end number of the group) since the number ending with the digits “0049” is the last number before a number in the list 115 that ends with the number “0”.
  • the computing device 120 may remove these numbers from the list 115 and make these numbers, as a group or individually, available to be assigned to customers 125 .
  • the computing device 120 may be configured to increment the end number of the previously created group and select that incremented number as the start number of the next group.
  • the end number of the previously created group was the number that ended with “0049.”
  • the next number in the sequential list 115 ends with the numbers “0050,” making this the incremented end number, and therefore, the start number of the next group. So long as each subsequent group has a group size that is a multiple of ten, the last digit of each end number of the groups created by the computing device 120 will be the number “9” and the last digit of each start number of the groups can be the number “0,” thus creating desirable groups of telephone numbers.
  • the computing device 120 may create groups of different sizes from the same list 115 of sequential telephone numbers.
  • the first group created included seven telephone numbers (e.g., “0043” through “0049”).
  • the start number is the telephone number ending with “0050.”
  • the selected group size for this group may be 100 telephone numbers. If so, the computing device 120 is configured to select the telephone number ending with “0149” as the end number of this newly-created group. Therefore, the telephone numbers ending with “0050” through “0149” are available as a single group for assignment to the customer 125 .
  • the computing device 120 may further be configured to perform other tasks such as determining whether the first number in the list 115 is smaller than the last number. Doing so may ensure that the list 115 of telephone numbers received from the telephone number authority 110 was formatted properly (e.g., ascending order). Moreover, the computing device 120 may be configured to determine whether the list 115 of telephone numbers includes at least two telephone numbers. In one exemplary approach, the computing device 120 may subtract the last four digits of the first number from the last four digits of the last number. If the difference between those two numbers is greater than or equal to two, the computing device 120 may conclude that the list 115 includes two or more telephone numbers.
  • the carrier 105 may further include various databases in communication with the computing device 120 .
  • a telephone number database 130 may store lists of telephone numbers received by the carrier 105 from the telephone number authority 110 .
  • the telephone numbers stored in the telephone number database 130 are the numbers that are available for the carrier 105 to assign to its customers 125 .
  • the carrier 105 may further include a grouped number database 135 that stores the grouped telephone numbers.
  • the grouped number database 135 may store those telephone numbers that are arranged into groups by the computing device 120 . Although illustrated as a separate database, the grouped number database 135 may be part of the telephone number database 130 .
  • the carrier 105 may further include a sales terminal 140 configured to query the grouped number database 135 and retrieve a list of groups of sequential telephone numbers stored in the grouped number database 135 .
  • the carrier 105 may employ one or more sales persons to interact with customers 125 and help customers 125 receive the desired amount of telephone numbers. Individual customers 125 may only need one or two telephone numbers while business customers 125 may require many more telephone numbers.
  • the sales terminal 140 may be configured such that the sales person can input the number of telephone numbers requested by the customer 125 into the sales terminal 140 using a user interface.
  • the number of telephone numbers indicates a group size.
  • the sales terminal 140 is further configured to query the grouped telephone number database 130 for groups of sequential telephone numbers having at least the number of telephone numbers requested by the customer 125 .
  • the sales terminal 140 may be configured to generate a list of grouped telephone numbers that meet the customer 125 's request and present the list to the sales person, the customer 125 , or both. Using the sales terminal 140 , the sales person may further assign the group of telephone numbers to the customer 125 .
  • the customer 125 may query the grouped telephone number database 130 without assistance from a sales person by using a personal computing device 120 (not shown), such as a desktop computer, a laptop computer, a netbook, a mobile device, etc.
  • a personal computing device 120 such as a desktop computer, a laptop computer, a netbook, a mobile device, etc.
  • the personal computing device 120 may present the list of grouped telephone numbers to the customer 125 , allow the customer 125 to select the desired group of telephone numbers, and assign the selected group of telephone numbers to the customer 125 .
  • the sales person or customer 125 may break up a larger group and the remaining telephone numbers may be returned to the grouped number database 135 as a smaller group or to the telephone number database 130 to be assigned to individual customers 125 .
  • the sales person or customer 125 may select the first 60 of those telephone numbers in the group and the remaining 40 telephone numbers may be stored in the grouped number database 135 so that the group is available to other customers 125 .
  • the remaining telephone numbers may be placed in the telephone number database 130 and assigned to individual customers 125 .
  • the sales person may, using the sales terminal 140 , access the grouped number database 135 or the telephone number database 130 for telephone numbers that are not part of any groups.
  • the sales person is free to assign any telephone number that is not part of any group to the customer 125 requesting only one telephone number.
  • the telephone numbers available to the carrier 105 come from the telephone number authority 110 .
  • the telephone number authority 110 may include, for instance, a governing body that distributes unused telephone numbers to carriers 105 based on a protocol, such as the North American Numbering Plan (NANP).
  • NANP North American Numbering Plan
  • the telephone number authority 110 may assign telephone numbers to the carrier 105 based upon a request for telephone numbers from the carrier 105 .
  • the telephone numbers assigned by the telephone number authority 110 may include a three-digit area code followed by a three-digit exchange code. Each telephone number may end with a four-digit number.
  • the smallest number is the start number of the group and the largest number is the end number of the group. Both the start number and end number include four digits, and the area code and exchange code are the same for all telephone numbers in the sequential group received from the telephone authority. Therefore, the largest group can include as many as ten thousand telephone numbers (e.g., a start number of “0000” to an end number of “9999”).
  • computing systems and/or devices may employ any of a number of well known computer operating systems, including, but by no means limited to, known versions and/or varieties of the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Sun Microsystems of Menlo Park, Calif.), the AIX UNIX operating system distributed by International Business Machines of Armonk, N.Y., and the Linux operating system.
  • Examples of computing devices include, without limitation, a computer workstation, a server, a desktop, notebook, laptop, or handheld computer, or some other known computing system and/or device.
  • Computing devices generally include computer-executable instructions, where the instructions may be executable by one or more computing devices such as those listed above.
  • Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of well known programming languages and/or technologies, including, without limitation, and either alone or in combination, JavaTM, C, C++, Visual Basic, Java Script, Perl, etc.
  • a processor e.g., a microprocessor
  • receives instructions e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein.
  • Such instructions and other data may be stored and transmitted using a variety of known computer-readable media.
  • a computer-readable medium includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer).
  • a medium may take many forms, including, but not limited to, non-volatile media and volatile media.
  • Non-volatile media may include, for example, optical or magnetic disks and other persistent memory.
  • Volatile media may include, for example, dynamic random access memory (DRAM), which typically constitutes a main memory.
  • Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
  • Databases, data repositories or other data stores described herein, such as the telephone number database 130 and the grouped telephone number database 130 may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a set of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), etc.
  • Each such data store is generally included within a computing device employing a computer operating system such as one of those mentioned above, and are accessed via a network in any one or more of a variety of manners, as is known.
  • a file system may be accessible from a computer operating system, and may include files stored in various formats.
  • An RDBMS generally employs the known Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.
  • SQL Structured Query Language
  • system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.), stored on computer readable media associated therewith (e.g., disks, memories, etc.).
  • a computer program product may comprise such instructions stored on computer readable media for carrying out the functions described herein.
  • FIG. 3 illustrates a flowchart of an exemplary process performed by the system 100 of FIG. 1 , and in particular, the computing device 120 .
  • Block 305 includes receiving a list 115 of sequential telephone numbers.
  • the list 115 of sequential telephone numbers may be assigned to the carrier 105 by the telephone number authority 110 .
  • the list 115 may be stored in a telephone number database 130 until the carrier 105 can create groups of sequential telephone numbers using the computing device 120 .
  • Block 310 includes identifying a first and last number in the list 115 of sequential telephone numbers.
  • the area code and exchange code of each telephone number in the list 115 is the same. Therefore, the computing device 120 may identify the first and last number in the list 115 by looking at the last four digits of each number in the list 115 . The smallest number (e.g., “0000”) may be identified as the first number and the largest number (e.g., “9999”) may be identified as the last number in the list 115 .
  • Block 315 includes selecting a group size.
  • the computing device 120 may be configured to automatically determine group sizes based on various criteria such as the size of the list 115 , the size of the geographic region in which the telephone numbers will be used, or historical data.
  • the computing device 120 may identify several different group sizes to be applied to the list 115 in a specific order. For instance, a first group size (e.g., 10 telephone numbers) is applied to the list 115 during a first iteration of the process 300 and a second group size (e.g., 100 telephone numbers) is applied during a second iteration of the process 300 .
  • selecting the group size may alternatively include selecting a maximum group size. For instance, if the selected group size is 1000 telephone numbers, but only 500 numbers remain in the list 115 , the computing device 120 will create a group of 500 telephone numbers.
  • Block 320 includes creating the group. As discussed in greater detail below with respect to FIGS. 4 , 6 , and 7 , the computing device 120 may create groups of telephone numbers based on the group size selected at block 315 .
  • Block 325 includes removing the telephone numbers in the created group from the list 115 of sequential telephone numbers. Doing so prevents telephone numbers from being assigned to multiple groups during subsequent iterations of the process 300 .
  • One exemplary way to remove telephone numbers from the group is described in greater detail below with respect to FIG. 5 .
  • Decision block 330 includes determining whether additional numbers remain in the group. If so, the process 300 continues with block 310 of identifying the first and last number in the list 115 . For example, the computing device 120 may increment the end number of the previously-created group by one number and identify the incremented end number as the first number of the list 115 and accordingly, the start number of the next group. If no numbers remain in the group, the process may end after block 330 .
  • FIG. 4 illustrates a flowchart of an exemplary process 400 of creating a group of telephone numbers. This process 400 may occur at block 320 of FIG. 3 .
  • the computing device 120 is configured to iteratively generate groups of sequential telephone numbers based on one or more selected group sizes. Moreover, the computing device 120 is configured to only use specific numbers as the start number for each group. For example, some customers 125 wish to purchase a group of telephone numbers where the first number in the group ends with a “0” and the last number in the group ends with a “9.”
  • Decision block 405 includes determining whether the first number ends with a predetermined digit.
  • the predetermined digit may be “9.” This way, the process 400 will not allow the start number in the group to end with the number “9.” If the last digit of the first number in the list 115 is “9,” the process 400 continues with block 410 , which includes incrementing the first number to the next number on the list 115 . The first number ending with the number “9” may be removed from the list 115 and stored in the telephone number database 130 as a single telephone number that may be assigned to an individual customer 125 .
  • Block 415 includes assigning the first number as the start number of the group.
  • the start number is the number that may be presented to the customer 125 via the sales terminal 140 or by the sales person. Some customers 125 desire certain start numbers over others. For instance, some customers 125 request start numbers where the last digit is “0.”
  • Block 420 includes receiving the selected group size. As previously discussed with respect to block 315 in FIG. 3 , the computing device 120 selects the group size based on various criteria.
  • Block 425 includes identifying the end number of the group based on the start number and the group size. For instance, if the start number ends with the digits “0050” and the group size is 20 telephone numbers, the computing device 120 will identify the telephone numbers that end with “0050” through “0069” as part of the group.
  • the process 400 of creating the group may end after block 425 .
  • FIG. 5 illustrates a flowchart of an exemplary process 500 of removing the created group from the list 115 of telephone numbers as illustrated at block 325 in FIG. 3 .
  • the computing device 120 does not create groups with one or more of the same telephone numbers.
  • block 505 includes incrementing the end number to the next telephone number on the list 115 .
  • Block 510 includes assigning the incremented end number as the start number of the next group.
  • FIG. 6 illustrates a flowchart of another exemplary process 600 performed by the system 100 of FIG. 1 .
  • the computing device 120 iteratively creates the groups based on maximum predetermined group sizes of 10, 100, 1000, 100, and 10, respectively by applying a code such as the exemplary code 700 illustrated in FIG. 7 .
  • Block 605 includes receiving a list 115 of consecutive telephone numbers in ascending order.
  • the telephone numbers may have the same area code and exchange code, which allows the computing device 120 to only look at the last four digits of each telephone number.
  • Block 610 includes identifying the first number and last number in the list 115 using, for instance, the computing device 120 .
  • Decision block 615 includes determining whether the first number is greater than the last number in the list 115 using, for example, the computing device 120 . If so, the list 115 received is not ordered properly and the process 600 may end. If not, the process may continue with decision block 620 .
  • Decision block 620 includes determining that the list 115 includes at least two telephone numbers.
  • the computing device 120 may determine whether the list 115 includes at least two telephone numbers by subtracting the last four digits of the first number from the last four digits of the last number and determining whether the difference between them is greater than one. If not, the process 600 ends. If so, the process continues with block 625 .
  • Block 625 includes creating a group with 10 or fewer telephone numbers.
  • the computing device 120 may execute a code such as the exemplary code 700 illustrated in FIG. 7 where “X” is equal to the group size, “START_NUM” represents the start number in the group, “END_NUM” represents the end number in the group, “NEW_START_NUM” represents the new start number if the first number in the list 115 does not end with the correct predetermined digit (e.g., the last digit of the start number is the number “9”), and “NEW_END_NUM” represents the new end number in light of the start number and selected group size.
  • the process 600 continues with block 630 .
  • Block 630 includes creating a group with 100 or fewer telephone numbers.
  • the computing device 120 may execute the exemplary code 700 illustrated at FIG. 7 using the group size (e.g., “X”) of 100 and the new first number after the group created at block 625 is removed from the list 115 .
  • group size e.g., “X”
  • Block 635 includes creating a group with 1000 or fewer telephone numbers by executing, for example, the code 700 illustrated at FIG. 7 where the group size (e.g., “X”) is set at 1000.
  • the computing device 120 may remove the telephone numbers in the created group from the list 115 , and the process may continue at block 640 .
  • Block 640 includes creating a group with 10,000 or fewer telephone numbers by executing the exemplary code 700 of FIG. 7 .
  • the group size e.g., “X”
  • the process 600 continues by returning to block 635 , block 630 , block 625 , or any combination thereof.
  • the process 600 may end after all the numbers are removed from the list 115 by being grouped or designated as individual telephone numbers.
  • the carrier 105 may have the telephone numbers “888-999-0043” through “888-999-2176” as a group of consecutive vacant telephone numbers stored in the telephone number database 130 .
  • the computing device 120 may create the following exemplary seven groups of telephone numbers: 1) “888-999-0043” through “888-999-0049” (e.g., a group of less than 10 consecutive telephone numbers), 2) “888-999-0050” through “888-999-0099” (e.g., a group of less than 100 consecutive telephone numbers), 3) “888-999-0100” through “888-999-0999” (e.g., a group of less than 1000 consecutive telephone numbers), 4) “888-999-1000” through “888-999-1999” (e.g., a group of less than 10,000 consecutive telephone numbers), 5) “888-999-2000” through “888-999-2099” (e.g., a group of less than 1000 consecutive telephone numbers
  • the carrier 105 can create uniform groups of vacant consecutive telephone numbers. For instance, as illustrated in FIG. 8 , with a consecutive group of 10,000 vacant telephone numbers (e.g., subscriber numbers “0000” through “9999” with the same area code and exchange code), the computing device 120 can generate eight groups with fewer than 10 telephone numbers, six groups with fewer than 100 telephone numbers, four groups with fewer than 1000 telephone numbers, and one group with fewer than 10,000 telephone numbers.
  • a consecutive group of 10,000 vacant telephone numbers e.g., subscriber numbers “0000” through “9999” with the same area code and exchange code
  • the computing device 120 can generate eight groups with fewer than 10 telephone numbers, six groups with fewer than 100 telephone numbers, four groups with fewer than 1000 telephone numbers, and one group with fewer than 10,000 telephone numbers.

Abstract

A method includes receiving a list of sequential telephone numbers, and iteratively: identifying a first number and a last number of the list, selecting a group size, creating a group of sequential telephone numbers from the list of sequential telephone numbers based on the selected group size, and removing the created group from the list of sequential telephone numbers. Creating the group may include determining whether a first number in the list of sequential telephone numbers ends with a predetermined digit, assigning the first number as a start number of the group, and identifying an end number in the group based on the start number and the selected group size.

Description

    BACKGROUND
  • Telecommunications carriers are assigned groups of telephone numbers consistent with a geographic number plan such as the North American Numbering Plan. These groups of numbers are available for carriers to assign to the carrier's customers. Individual customers often only need one or two telephone numbers, while businesses customers often need larger groups of telephone numbers. The carrier can assign vacant (e.g., available) telephone numbers to its customers based on the customer's request. In doing so, the carrier, either automatically or through its representatives, will often break up large groups of telephone numbers in a disorganized way. For instance, the carrier may use an automated process that selects a group of sequential telephone numbers without considering that certain telephone numbers are more desirable by some customers than as compared to others. For instance, a customer who desires a sequential group of ten telephone numbers would likely prefer the numbers “813-999-0000” through “813-999-0009” to the numbers “813-999-0023” through “813-999-0032.” In addition, a sales person may assign one number from a group of sequential telephone numbers to an individual customer and unknowingly break up a larger group that would have been more profitable to the carrier if the numbers were sold as a group to a business customer. Accordingly, a system and process are needed that groups telephone numbers in a way that considers those numbers that are more desirable to customers and prevents sales persons from breaking up groups of sequential telephone numbers that are more profitable if left intact.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an exemplary system configured to group telephone numbers.
  • FIG. 2 illustrates an exemplary telephone number format showing a range of telephone numbers included in a list.
  • FIG. 3 illustrates a flowchart of an exemplary process performed by the system of FIG. 1.
  • FIG. 4 illustrates a flowchart of an exemplary process of creating a group.
  • FIG. 5 illustrates a flowchart of an exemplary process of removing the created group from the list of telephone numbers.
  • FIG. 6 illustrates a flowchart of another exemplary process performed by the system of FIG. 1.
  • FIG. 7 illustrates an exemplary software code configured to group telephone numbers.
  • FIG. 8 illustrates an exemplary graph of the uniform distribution of telephone number groups.
  • DETAILED DESCRIPTION
  • An exemplary method includes receiving a list of vacant (e.g., available) sequential telephone numbers, and via a computing device, iteratively identifying a first number and a last number of the list, selecting a group size, creating a group of sequential telephone numbers from the list of sequential telephone numbers based on the selected group size, and removing the created group from the list of sequential telephone numbers. Creating the group may include determining whether a first number in a list of sequential telephone numbers ends with a predetermined digit, assigning the first number as a start number of the group, and identifying an end number in the group based on the start number and a selected group size. In one exemplary approach, the end number is further chosen to end with the predetermined digit. The exemplary system and method disclosed herein may be used by a carrier to efficiently group vacant telephone numbers in a way that considers those telephone numbers that are more desirable by customers and that prevents sales persons from unknowingly breaking up groups of telephone numbers that would be more profitable if left intact.
  • The processes described herein may be iteratively performed so long as the carrier has vacant telephone numbers to assign to customers. For instance, the process to group telephone numbers may be performed as soon as vacant telephone numbers are received by the carrier, when telephone numbers previously assigned to customers become vacant (e.g., a business customer cancels its account and the group of telephone numbers previously assigned to the business customer become available to other customers), a sales person assigns a telephone number that is part of a group of sequential telephone numbers to an individual customer, etc. By iteratively performing the processes described herein, the groups of telephone numbers available are likely to be those that are most appealing to customers.
  • FIG. 1 illustrates an exemplary system 100 that is configured to create groups of sequential telephone numbers of predetermined sizes. System 100 may take many different forms and include multiple and/or alternate components and facilities. While an exemplary system 100 is shown in FIG. 1, the exemplary components illustrated in FIG. 1 are not intended to be limiting. Indeed, additional or alternative components and/or implementations may be used.
  • As illustrated in FIG. 1, the system 100 includes a carrier 105 in communication with a telephone number authority 110. The carrier 105 receives a list 115 of assigned telephone numbers from the telephone number authority 110 so that the carrier 105 can assign one or more telephone numbers to its customers 125. The carrier 105 may include any entity that provides telecommunications services to its customers 125. The carrier 105 may include a local exchange carrier, wireless carrier, mobile network operator, Internet service provider, etc.
  • The carrier 105 may include a computing device 120 configured to separate sequential telephone numbers into groups of predetermined sizes. While a single computing device 120 is illustrated, the computing device 120 may include multiple separate computing devices. The computing device 120 may include any computing device configured to identify the first and last number in a sequential list 115 of telephone numbers and create groups of telephone numbers between and including the first and last number. The groups created may be defined by one or more group sizes. For instance, the computing device 120 may be configured to create groups of telephone numbers in multiples of tens (e.g., 10 numbers, 20 numbers, 30 numbers, 100 numbers, 1000 numbers, etc.). Further, the computing device 120 may be configured to designate a maximum group size (e.g., no more than 10 numbers, no more than 100 numbers, no more than 1000 numbers, etc.) for each group. The computing device 120 may select the group size based on any number of factors including the size of the list 115 received from the telephone number authority 110, the size of the geographic region in which the telephone numbers will be used, or historical data. For example, for a geographic region serviced by the carrier 105 that has customers 125 who employ hundreds or thousands of employees, the computing device 120 may be configured to select group sizes that create large groups with hundreds or thousands of telephone numbers. Alternatively, for geographic regions where the customers 125 of the carrier 105 include many businesses that employ less than 100 employees, the computing device 120 may be configured to select varying group sizes between 10 telephone numbers and 200 telephone numbers. Historical data may also indicate to the carrier 105 that the majority of customers 125 prefer a specific group size (e.g., 50 telephone numbers). In response, the computing device 120 may be configured to create more groups of that specific size to accommodate the customer 125. Exemplary ways in which the computing device 120 creates groups of telephone numbers will be discussed in greater detail below with respect to FIGS. 3-7.
  • Some telephone numbers have greater value to customers 125 than other telephone numbers. The computing device 120 may be further configured to create desirable groups of telephone numbers by starting each group with telephone numbers of higher perceived value and selecting numbers ending with a less desirable digit as the end number of the group. For example, some customers 125 may only wish to purchase groups of telephone numbers where the start number ends with, for instance, the numbers “5” or “0.” Therefore, the computing device 120 may be configured to create one or more groups of telephone numbers to comply with this request by preventing numbers that end with specific predetermined digits from being the start number of the group. If the first number in the list 115 is an acceptable start number (e.g., the last digit of the first number ends with a “5” or “0”), the computing device 120 may be configured to identify the first number in the list 115 as the start number of the group. It is possible, however, for the last digit of the first number in the list 115 to be one of the less desirable predetermined digits (e.g., the number “9”). In that instance, the computing device 120 may be configured to increment the first number until the first number ends with, for example, either the number “0” or the number “5.”
  • To ensure that each group begins with a specific number (e.g., “0” or “5”), the computing device 120 may be configured to create groups where the last number ends with a specific digit. By way of example only, customers 125 may desire groups of telephone numbers where the last digit is the number “0.” However, the first number in the list 115 of telephone numbers received from the telephone number authority 110 may not end with the number “0.” Therefore, the computing device 120 may be configured to remove the first few numbers from the list 115 until the first number ends with a more desirable number (e.g., the number “0”). For instance, the last four digits of the first number in the list 115 may be “0043.” In this exemplary approach, the computing device 120 may be configured to create a group with the numbers ending with “0043” (i.e., the start number of the group) through “0049” (i.e., the end number of the group) since the number ending with the digits “0049” is the last number before a number in the list 115 that ends with the number “0”. The computing device 120 may remove these numbers from the list 115 and make these numbers, as a group or individually, available to be assigned to customers 125.
  • After removing the previously created group from the list 115, the computing device 120 may be configured to increment the end number of the previously created group and select that incremented number as the start number of the next group. In the previous example, the end number of the previously created group was the number that ended with “0049.” Continuing with that example, the next number in the sequential list 115 ends with the numbers “0050,” making this the incremented end number, and therefore, the start number of the next group. So long as each subsequent group has a group size that is a multiple of ten, the last digit of each end number of the groups created by the computing device 120 will be the number “9” and the last digit of each start number of the groups can be the number “0,” thus creating desirable groups of telephone numbers.
  • The computing device 120 may create groups of different sizes from the same list 115 of sequential telephone numbers. Continuing with the previous example, the first group created included seven telephone numbers (e.g., “0043” through “0049”). As previously discussed, the start number is the telephone number ending with “0050.” The selected group size for this group may be 100 telephone numbers. If so, the computing device 120 is configured to select the telephone number ending with “0149” as the end number of this newly-created group. Therefore, the telephone numbers ending with “0050” through “0149” are available as a single group for assignment to the customer 125.
  • The computing device 120 may further be configured to perform other tasks such as determining whether the first number in the list 115 is smaller than the last number. Doing so may ensure that the list 115 of telephone numbers received from the telephone number authority 110 was formatted properly (e.g., ascending order). Moreover, the computing device 120 may be configured to determine whether the list 115 of telephone numbers includes at least two telephone numbers. In one exemplary approach, the computing device 120 may subtract the last four digits of the first number from the last four digits of the last number. If the difference between those two numbers is greater than or equal to two, the computing device 120 may conclude that the list 115 includes two or more telephone numbers.
  • The carrier 105 may further include various databases in communication with the computing device 120. For instance, a telephone number database 130 may store lists of telephone numbers received by the carrier 105 from the telephone number authority 110. The telephone numbers stored in the telephone number database 130 are the numbers that are available for the carrier 105 to assign to its customers 125. The carrier 105 may further include a grouped number database 135 that stores the grouped telephone numbers. The grouped number database 135 may store those telephone numbers that are arranged into groups by the computing device 120. Although illustrated as a separate database, the grouped number database 135 may be part of the telephone number database 130.
  • The carrier 105 may further include a sales terminal 140 configured to query the grouped number database 135 and retrieve a list of groups of sequential telephone numbers stored in the grouped number database 135. In one exemplary approach, the carrier 105 may employ one or more sales persons to interact with customers 125 and help customers 125 receive the desired amount of telephone numbers. Individual customers 125 may only need one or two telephone numbers while business customers 125 may require many more telephone numbers.
  • For customers 125 that require, for example, two or more telephone numbers, the sales person is able to access the grouped telephone number database 130 using the sales terminal 140. The sales terminal 140 may be configured such that the sales person can input the number of telephone numbers requested by the customer 125 into the sales terminal 140 using a user interface. The number of telephone numbers indicates a group size. The sales terminal 140 is further configured to query the grouped telephone number database 130 for groups of sequential telephone numbers having at least the number of telephone numbers requested by the customer 125. The sales terminal 140 may be configured to generate a list of grouped telephone numbers that meet the customer 125's request and present the list to the sales person, the customer 125, or both. Using the sales terminal 140, the sales person may further assign the group of telephone numbers to the customer 125.
  • Alternatively, the customer 125 may query the grouped telephone number database 130 without assistance from a sales person by using a personal computing device 120 (not shown), such as a desktop computer, a laptop computer, a netbook, a mobile device, etc. In this exemplary approach, the personal computing device 120 may present the list of grouped telephone numbers to the customer 125, allow the customer 125 to select the desired group of telephone numbers, and assign the selected group of telephone numbers to the customer 125.
  • If the exact group size requested by the customer 125 is not available, the sales person or customer 125, using the sales terminal 140, may break up a larger group and the remaining telephone numbers may be returned to the grouped number database 135 as a smaller group or to the telephone number database 130 to be assigned to individual customers 125. For example, if the customer 125 requests a group size of 60 telephone numbers, but the smallest group with 60 telephone numbers is a group of 100 telephone numbers, the sales person or customer 125 may select the first 60 of those telephone numbers in the group and the remaining 40 telephone numbers may be stored in the grouped number database 135 so that the group is available to other customers 125. Alternatively, if only a few numbers remain (e.g., fewer than 10 numbers) after a group is broken up, the remaining telephone numbers may be placed in the telephone number database 130 and assigned to individual customers 125.
  • For customers 125 that only require one telephone number, the sales person may, using the sales terminal 140, access the grouped number database 135 or the telephone number database 130 for telephone numbers that are not part of any groups. The sales person is free to assign any telephone number that is not part of any group to the customer 125 requesting only one telephone number.
  • As mentioned above, the telephone numbers available to the carrier 105 come from the telephone number authority 110. The telephone number authority 110 may include, for instance, a governing body that distributes unused telephone numbers to carriers 105 based on a protocol, such as the North American Numbering Plan (NANP). The telephone number authority 110 may assign telephone numbers to the carrier 105 based upon a request for telephone numbers from the carrier 105.
  • As illustrated in FIG. 2, the telephone numbers assigned by the telephone number authority 110 may include a three-digit area code followed by a three-digit exchange code. Each telephone number may end with a four-digit number. In a sequential group of telephone numbers received form the telephone number authority 110, the smallest number is the start number of the group and the largest number is the end number of the group. Both the start number and end number include four digits, and the area code and exchange code are the same for all telephone numbers in the sequential group received from the telephone authority. Therefore, the largest group can include as many as ten thousand telephone numbers (e.g., a start number of “0000” to an end number of “9999”).
  • In general, computing systems and/or devices, such as the computing device 120 and the sales terminal 140, may employ any of a number of well known computer operating systems, including, but by no means limited to, known versions and/or varieties of the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Sun Microsystems of Menlo Park, Calif.), the AIX UNIX operating system distributed by International Business Machines of Armonk, N.Y., and the Linux operating system. Examples of computing devices include, without limitation, a computer workstation, a server, a desktop, notebook, laptop, or handheld computer, or some other known computing system and/or device.
  • Computing devices generally include computer-executable instructions, where the instructions may be executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of well known programming languages and/or technologies, including, without limitation, and either alone or in combination, Java™, C, C++, Visual Basic, Java Script, Perl, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of known computer-readable media.
  • A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (DRAM), which typically constitutes a main memory. Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
  • Databases, data repositories or other data stores described herein, such as the telephone number database 130 and the grouped telephone number database 130, may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a set of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), etc. Each such data store is generally included within a computing device employing a computer operating system such as one of those mentioned above, and are accessed via a network in any one or more of a variety of manners, as is known. A file system may be accessible from a computer operating system, and may include files stored in various formats. An RDBMS generally employs the known Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.
  • In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.), stored on computer readable media associated therewith (e.g., disks, memories, etc.). A computer program product may comprise such instructions stored on computer readable media for carrying out the functions described herein.
  • FIG. 3 illustrates a flowchart of an exemplary process performed by the system 100 of FIG. 1, and in particular, the computing device 120.
  • Block 305 includes receiving a list 115 of sequential telephone numbers. For instance, the list 115 of sequential telephone numbers may be assigned to the carrier 105 by the telephone number authority 110. The list 115 may be stored in a telephone number database 130 until the carrier 105 can create groups of sequential telephone numbers using the computing device 120.
  • Block 310 includes identifying a first and last number in the list 115 of sequential telephone numbers. In one exemplary approach, the area code and exchange code of each telephone number in the list 115 is the same. Therefore, the computing device 120 may identify the first and last number in the list 115 by looking at the last four digits of each number in the list 115. The smallest number (e.g., “0000”) may be identified as the first number and the largest number (e.g., “9999”) may be identified as the last number in the list 115.
  • Block 315 includes selecting a group size. The computing device 120 may be configured to automatically determine group sizes based on various criteria such as the size of the list 115, the size of the geographic region in which the telephone numbers will be used, or historical data. In one exemplary approach, the computing device 120 may identify several different group sizes to be applied to the list 115 in a specific order. For instance, a first group size (e.g., 10 telephone numbers) is applied to the list 115 during a first iteration of the process 300 and a second group size (e.g., 100 telephone numbers) is applied during a second iteration of the process 300. Of course, selecting the group size may alternatively include selecting a maximum group size. For instance, if the selected group size is 1000 telephone numbers, but only 500 numbers remain in the list 115, the computing device 120 will create a group of 500 telephone numbers.
  • Block 320 includes creating the group. As discussed in greater detail below with respect to FIGS. 4, 6, and 7, the computing device 120 may create groups of telephone numbers based on the group size selected at block 315.
  • Block 325 includes removing the telephone numbers in the created group from the list 115 of sequential telephone numbers. Doing so prevents telephone numbers from being assigned to multiple groups during subsequent iterations of the process 300. One exemplary way to remove telephone numbers from the group is described in greater detail below with respect to FIG. 5.
  • Decision block 330 includes determining whether additional numbers remain in the group. If so, the process 300 continues with block 310 of identifying the first and last number in the list 115. For example, the computing device 120 may increment the end number of the previously-created group by one number and identify the incremented end number as the first number of the list 115 and accordingly, the start number of the next group. If no numbers remain in the group, the process may end after block 330.
  • FIG. 4 illustrates a flowchart of an exemplary process 400 of creating a group of telephone numbers. This process 400 may occur at block 320 of FIG. 3. In the exemplary approach discussed below, the computing device 120 is configured to iteratively generate groups of sequential telephone numbers based on one or more selected group sizes. Moreover, the computing device 120 is configured to only use specific numbers as the start number for each group. For example, some customers 125 wish to purchase a group of telephone numbers where the first number in the group ends with a “0” and the last number in the group ends with a “9.”
  • Decision block 405 includes determining whether the first number ends with a predetermined digit. In one exemplary approach, the predetermined digit may be “9.” This way, the process 400 will not allow the start number in the group to end with the number “9.” If the last digit of the first number in the list 115 is “9,” the process 400 continues with block 410, which includes incrementing the first number to the next number on the list 115. The first number ending with the number “9” may be removed from the list 115 and stored in the telephone number database 130 as a single telephone number that may be assigned to an individual customer 125.
  • If the first number does not end with the predetermined digit (e.g., “9”), the process 400 continues with block 415. Block 415 includes assigning the first number as the start number of the group. The start number is the number that may be presented to the customer 125 via the sales terminal 140 or by the sales person. Some customers 125 desire certain start numbers over others. For instance, some customers 125 request start numbers where the last digit is “0.”
  • Block 420 includes receiving the selected group size. As previously discussed with respect to block 315 in FIG. 3, the computing device 120 selects the group size based on various criteria.
  • Block 425 includes identifying the end number of the group based on the start number and the group size. For instance, if the start number ends with the digits “0050” and the group size is 20 telephone numbers, the computing device 120 will identify the telephone numbers that end with “0050” through “0069” as part of the group.
  • The process 400 of creating the group may end after block 425.
  • FIG. 5 illustrates a flowchart of an exemplary process 500 of removing the created group from the list 115 of telephone numbers as illustrated at block 325 in FIG. 3. This way, the computing device 120 does not create groups with one or more of the same telephone numbers. In one exemplary approach, block 505 includes incrementing the end number to the next telephone number on the list 115. Block 510 includes assigning the incremented end number as the start number of the next group.
  • FIG. 6 illustrates a flowchart of another exemplary process 600 performed by the system 100 of FIG. 1. In this exemplary approach, the computing device 120 iteratively creates the groups based on maximum predetermined group sizes of 10, 100, 1000, 100, and 10, respectively by applying a code such as the exemplary code 700 illustrated in FIG. 7.
  • Block 605 includes receiving a list 115 of consecutive telephone numbers in ascending order. The telephone numbers may have the same area code and exchange code, which allows the computing device 120 to only look at the last four digits of each telephone number.
  • Block 610 includes identifying the first number and last number in the list 115 using, for instance, the computing device 120.
  • Decision block 615 includes determining whether the first number is greater than the last number in the list 115 using, for example, the computing device 120. If so, the list 115 received is not ordered properly and the process 600 may end. If not, the process may continue with decision block 620.
  • Decision block 620 includes determining that the list 115 includes at least two telephone numbers. The computing device 120 may determine whether the list 115 includes at least two telephone numbers by subtracting the last four digits of the first number from the last four digits of the last number and determining whether the difference between them is greater than one. If not, the process 600 ends. If so, the process continues with block 625.
  • Block 625 includes creating a group with 10 or fewer telephone numbers. To do so, the computing device 120 may execute a code such as the exemplary code 700 illustrated in FIG. 7 where “X” is equal to the group size, “START_NUM” represents the start number in the group, “END_NUM” represents the end number in the group, “NEW_START_NUM” represents the new start number if the first number in the list 115 does not end with the correct predetermined digit (e.g., the last digit of the start number is the number “9”), and “NEW_END_NUM” represents the new end number in light of the start number and selected group size. After creating the group with 10 or fewer telephone numbers, the process 600 continues with block 630.
  • Block 630 includes creating a group with 100 or fewer telephone numbers. Again, the computing device 120 may execute the exemplary code 700 illustrated at FIG. 7 using the group size (e.g., “X”) of 100 and the new first number after the group created at block 625 is removed from the list 115.
  • Block 635 includes creating a group with 1000 or fewer telephone numbers by executing, for example, the code 700 illustrated at FIG. 7 where the group size (e.g., “X”) is set at 1000. After the group created at block 635, the computing device 120 may remove the telephone numbers in the created group from the list 115, and the process may continue at block 640.
  • Block 640 includes creating a group with 10,000 or fewer telephone numbers by executing the exemplary code 700 of FIG. 7. In this iteration, the group size (e.g., “X”) is equal to 10,000. Once created, all the numbers in the group are removed from the list 115. If any telephone numbers remain, the process 600 continues by returning to block 635, block 630, block 625, or any combination thereof.
  • The process 600 may end after all the numbers are removed from the list 115 by being grouped or designated as individual telephone numbers.
  • By way of example, the carrier 105 may have the telephone numbers “888-999-0043” through “888-999-2176” as a group of consecutive vacant telephone numbers stored in the telephone number database 130. Applying the processes 300-600 described above and using the exemplary code 700, the computing device 120 may create the following exemplary seven groups of telephone numbers: 1) “888-999-0043” through “888-999-0049” (e.g., a group of less than 10 consecutive telephone numbers), 2) “888-999-0050” through “888-999-0099” (e.g., a group of less than 100 consecutive telephone numbers), 3) “888-999-0100” through “888-999-0999” (e.g., a group of less than 1000 consecutive telephone numbers), 4) “888-999-1000” through “888-999-1999” (e.g., a group of less than 10,000 consecutive telephone numbers), 5) “888-999-2000” through “888-999-2099” (e.g., a group of less than 1000 consecutive telephone numbers), 6) “888-999-2100” through “888-999-2169” (e.g., a group of less than 100 consecutive telephone numbers), and 7) “888-999-2170” through “888-999-2176” (e.g., a group of less than 10 consecutive telephone numbers).
  • Accordingly, the carrier 105 can create uniform groups of vacant consecutive telephone numbers. For instance, as illustrated in FIG. 8, with a consecutive group of 10,000 vacant telephone numbers (e.g., subscriber numbers “0000” through “9999” with the same area code and exchange code), the computing device 120 can generate eight groups with fewer than 10 telephone numbers, six groups with fewer than 100 telephone numbers, four groups with fewer than 1000 telephone numbers, and one group with fewer than 10,000 telephone numbers.
  • CONCLUSION
  • With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claimed invention.
  • Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the invention is capable of modification and variation.
  • All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.

Claims (20)

1. A method comprising:
receiving a list of sequential telephone numbers; and
via a computing device, iteratively:
identifying a first number and a last number of the list;
selecting a group size;
creating a group of sequential telephone numbers from the list of sequential telephone numbers based on the selected group size; and
removing the created group from the list of sequential telephone numbers.
2. A method as set forth in claim 1, wherein creating the group of sequential telephone numbers includes determining whether the first number ends with a predetermined digit.
3. A method as set forth in claim 2, wherein creating the group of sequential telephone numbers includes incrementing the first number until the first number no longer ends with the predetermined digit.
4. A method as set forth in claim 2, wherein the predetermined digit is nine.
5. A method as set forth in claim 1, wherein creating the group of sequential telephone numbers includes assigning the first number as a start number of the group.
6. A method as set forth in claim 1, wherein creating the group of sequential telephone numbers includes identifying an end number in the group of sequential telephone numbers based on the start number and the selected group size.
7. A method as set forth in claim 6, wherein removing the created group from the list of sequential telephone numbers includes:
incrementing the end number of the group; and
identifying the incremented end number as the first number of the list.
8. A method as set forth in claim 1, further comprising determining whether the first number is less than the last number.
9. A method as set forth in claim 1, further comprising determining whether the list of sequential telephone numbers includes at least two telephone numbers.
10. A method comprising:
determining whether a first number in a list of sequential telephone numbers ends with a predetermined digit;
assigning the first number as a start number of the group; and
identifying an end number in the group based on the start number and a selected group size.
11. A method as set forth in claim 10, wherein identifying the end number includes incrementing the start number based on the selected group size.
12. A method as set forth in claim 10, further comprising incrementing the first number until the first number no longer ends with the predetermined digit.
13. A method as set forth in claim 10, wherein the predetermined digit is nine.
14. A computer-readable medium tangibly embodying computer-executable instructions comprising:
receiving a list of sequential telephone numbers; and
via a computing device, iteratively:
identifying a first number and a last number of the list;
selecting a group size;
creating a group of sequential telephone numbers from the list of sequential telephone numbers based on the selected group size; and
removing the created group from the list of sequential telephone numbers.
15. A computer-readable medium as set forth in claim 14, wherein creating the group of sequential telephone numbers includes determining whether the first number ends with a predetermined digit.
16. A computer-readable medium as set forth in claim 15, wherein creating the group of sequential telephone numbers includes incrementing the first number until the first number no longer ends with the predetermined digit.
17. A computer-readable medium as set forth in claim 14, wherein creating the group of sequential telephone numbers includes assigning the first number as a start number of the group.
18. A computer-readable medium as set forth in claim 14, wherein creating the group of sequential telephone numbers includes identifying an end number in the group of sequential telephone numbers based on the start number and the selected group size.
19. A computer-readable medium as set forth in claim 18, wherein removing the created group from the list of sequential telephone numbers includes:
incrementing the end number of the group; and
assigning the incremented end number as the first number of the list.
20. A computer-readable medium as set forth in claim 14, further comprising determining whether the list of sequential telephone numbers includes at least two telephone numbers.
US12/825,944 2010-06-29 2010-06-29 Telephone number groups Expired - Fee Related US8867727B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/825,944 US8867727B2 (en) 2010-06-29 2010-06-29 Telephone number groups

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/825,944 US8867727B2 (en) 2010-06-29 2010-06-29 Telephone number groups

Publications (2)

Publication Number Publication Date
US20110320449A1 true US20110320449A1 (en) 2011-12-29
US8867727B2 US8867727B2 (en) 2014-10-21

Family

ID=45353505

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/825,944 Expired - Fee Related US8867727B2 (en) 2010-06-29 2010-06-29 Telephone number groups

Country Status (1)

Country Link
US (1) US8867727B2 (en)

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173534A1 (en) * 2011-12-31 2013-07-04 Verizon Patent And Licensing Inc. Telephone number use analysis for groups of telephone numbers
US20140376389A1 (en) * 2013-06-19 2014-12-25 Twilio, Inc. System and method for managing telephony endpoint inventory
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8964726B2 (en) 2008-10-01 2015-02-24 Twilio, Inc. Telephony web event system and method
US8995641B2 (en) 2009-03-02 2015-03-31 Twilio, Inc. Method and system for a multitenancy telephone network
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9270833B2 (en) 2012-07-24 2016-02-23 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9306982B2 (en) 2008-04-02 2016-04-05 Twilio, Inc. System and method for processing media requests during telephony sessions
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9336500B2 (en) 2011-09-21 2016-05-10 Twilio, Inc. System and method for authorizing and connecting application developers and users
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9350642B2 (en) 2012-05-09 2016-05-24 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9363301B2 (en) 2014-10-21 2016-06-07 Twilio, Inc. System and method for providing a micro-services communication platform
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US9456008B2 (en) 2008-04-02 2016-09-27 Twilio, Inc. System and method for processing telephony sessions
US9455949B2 (en) 2011-02-04 2016-09-27 Twilio, Inc. Method for processing telephony sessions of a network
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US9641677B2 (en) 2011-09-21 2017-05-02 Twilio, Inc. System and method for determining and communicating presence information
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9811398B2 (en) 2013-09-17 2017-11-07 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US9967224B2 (en) 2010-06-25 2018-05-08 Twilio, Inc. System and method for enabling real-time eventing
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10165015B2 (en) 2011-05-23 2018-12-25 Twilio Inc. System and method for real-time communication by using a client application communication protocol
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US11637934B2 (en) 2010-06-23 2023-04-25 Twilio Inc. System and method for monitoring account usage on a platform

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359980B1 (en) * 2000-08-31 2002-03-19 Lucent Technologies Inc. Method for administering advanced number portability numbers
US6546382B1 (en) * 1999-11-03 2003-04-08 Oracle Corporation Finding the TOP N values through the execution of a query
US6606381B1 (en) * 1999-06-24 2003-08-12 Sprint Spectrum L.P. Dynamic ordering of an electronic phonebook
US20050076018A1 (en) * 2003-10-07 2005-04-07 Neidecker-Lutz Burkhard K. Sorting result buffer
US20080198987A1 (en) * 2007-02-20 2008-08-21 Eugene Daly Telephone number assignment method
US20090287533A1 (en) * 2008-05-13 2009-11-19 Verizon Data Services Llc. Methods and systems for managing an inventory of telephone numbers
US20100239084A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Memorable Telephone Number Identification

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606381B1 (en) * 1999-06-24 2003-08-12 Sprint Spectrum L.P. Dynamic ordering of an electronic phonebook
US6546382B1 (en) * 1999-11-03 2003-04-08 Oracle Corporation Finding the TOP N values through the execution of a query
US6359980B1 (en) * 2000-08-31 2002-03-19 Lucent Technologies Inc. Method for administering advanced number portability numbers
US20050076018A1 (en) * 2003-10-07 2005-04-07 Neidecker-Lutz Burkhard K. Sorting result buffer
US20080198987A1 (en) * 2007-02-20 2008-08-21 Eugene Daly Telephone number assignment method
US20090287533A1 (en) * 2008-05-13 2009-11-19 Verizon Data Services Llc. Methods and systems for managing an inventory of telephone numbers
US20100239084A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Memorable Telephone Number Identification

Cited By (185)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706349B2 (en) 2008-04-02 2023-07-18 Twilio Inc. System and method for processing telephony sessions
US9306982B2 (en) 2008-04-02 2016-04-05 Twilio, Inc. System and method for processing media requests during telephony sessions
US10893078B2 (en) 2008-04-02 2021-01-12 Twilio Inc. System and method for processing telephony sessions
US11856150B2 (en) 2008-04-02 2023-12-26 Twilio Inc. System and method for processing telephony sessions
US11444985B2 (en) 2008-04-02 2022-09-13 Twilio Inc. System and method for processing telephony sessions
US10560495B2 (en) 2008-04-02 2020-02-11 Twilio Inc. System and method for processing telephony sessions
US10694042B2 (en) 2008-04-02 2020-06-23 Twilio Inc. System and method for processing media requests during telephony sessions
US11843722B2 (en) 2008-04-02 2023-12-12 Twilio Inc. System and method for processing telephony sessions
US11831810B2 (en) 2008-04-02 2023-11-28 Twilio Inc. System and method for processing telephony sessions
US9906651B2 (en) 2008-04-02 2018-02-27 Twilio, Inc. System and method for processing media requests during telephony sessions
US9906571B2 (en) 2008-04-02 2018-02-27 Twilio, Inc. System and method for processing telephony sessions
US11765275B2 (en) 2008-04-02 2023-09-19 Twilio Inc. System and method for processing telephony sessions
US11722602B2 (en) 2008-04-02 2023-08-08 Twilio Inc. System and method for processing media requests during telephony sessions
US10893079B2 (en) 2008-04-02 2021-01-12 Twilio Inc. System and method for processing telephony sessions
US9456008B2 (en) 2008-04-02 2016-09-27 Twilio, Inc. System and method for processing telephony sessions
US11575795B2 (en) 2008-04-02 2023-02-07 Twilio Inc. System and method for processing telephony sessions
US11283843B2 (en) 2008-04-02 2022-03-22 Twilio Inc. System and method for processing telephony sessions
US9591033B2 (en) 2008-04-02 2017-03-07 Twilio, Inc. System and method for processing media requests during telephony sessions
US11611663B2 (en) 2008-04-02 2023-03-21 Twilio Inc. System and method for processing telephony sessions
US10986142B2 (en) 2008-04-02 2021-04-20 Twilio Inc. System and method for processing telephony sessions
US9596274B2 (en) 2008-04-02 2017-03-14 Twilio, Inc. System and method for processing telephony sessions
US11005998B2 (en) 2008-10-01 2021-05-11 Twilio Inc. Telephony web event system and method
US10187530B2 (en) 2008-10-01 2019-01-22 Twilio, Inc. Telephony web event system and method
US11632471B2 (en) 2008-10-01 2023-04-18 Twilio Inc. Telephony web event system and method
US9807244B2 (en) 2008-10-01 2017-10-31 Twilio, Inc. Telephony web event system and method
US11641427B2 (en) 2008-10-01 2023-05-02 Twilio Inc. Telephony web event system and method
US11665285B2 (en) 2008-10-01 2023-05-30 Twilio Inc. Telephony web event system and method
US10455094B2 (en) 2008-10-01 2019-10-22 Twilio Inc. Telephony web event system and method
US9407597B2 (en) 2008-10-01 2016-08-02 Twilio, Inc. Telephony web event system and method
US8964726B2 (en) 2008-10-01 2015-02-24 Twilio, Inc. Telephony web event system and method
US9894212B2 (en) 2009-03-02 2018-02-13 Twilio, Inc. Method and system for a multitenancy telephone network
US10708437B2 (en) 2009-03-02 2020-07-07 Twilio Inc. Method and system for a multitenancy telephone network
US9621733B2 (en) 2009-03-02 2017-04-11 Twilio, Inc. Method and system for a multitenancy telephone network
US10348908B2 (en) 2009-03-02 2019-07-09 Twilio, Inc. Method and system for a multitenancy telephone network
US11785145B2 (en) 2009-03-02 2023-10-10 Twilio Inc. Method and system for a multitenancy telephone network
US9357047B2 (en) 2009-03-02 2016-05-31 Twilio, Inc. Method and system for a multitenancy telephone network
US11240381B2 (en) 2009-03-02 2022-02-01 Twilio Inc. Method and system for a multitenancy telephone network
US8995641B2 (en) 2009-03-02 2015-03-31 Twilio, Inc. Method and system for a multitenancy telephone network
US11637933B2 (en) 2009-10-07 2023-04-25 Twilio Inc. System and method for running a multi-module telephony application
US9491309B2 (en) 2009-10-07 2016-11-08 Twilio, Inc. System and method for running a multi-module telephony application
US10554825B2 (en) 2009-10-07 2020-02-04 Twilio Inc. System and method for running a multi-module telephony application
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US11637934B2 (en) 2010-06-23 2023-04-25 Twilio Inc. System and method for monitoring account usage on a platform
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US11088984B2 (en) 2010-06-25 2021-08-10 Twilio Ine. System and method for enabling real-time eventing
US11936609B2 (en) 2010-06-25 2024-03-19 Twilio Inc. System and method for enabling real-time eventing
US9967224B2 (en) 2010-06-25 2018-05-08 Twilio, Inc. System and method for enabling real-time eventing
US10708317B2 (en) 2011-02-04 2020-07-07 Twilio Inc. Method for processing telephony sessions of a network
US9455949B2 (en) 2011-02-04 2016-09-27 Twilio, Inc. Method for processing telephony sessions of a network
US11848967B2 (en) 2011-02-04 2023-12-19 Twilio Inc. Method for processing telephony sessions of a network
US10230772B2 (en) 2011-02-04 2019-03-12 Twilio, Inc. Method for processing telephony sessions of a network
US9882942B2 (en) 2011-02-04 2018-01-30 Twilio, Inc. Method for processing telephony sessions of a network
US11032330B2 (en) 2011-02-04 2021-06-08 Twilio Inc. Method for processing telephony sessions of a network
US10560485B2 (en) 2011-05-23 2020-02-11 Twilio Inc. System and method for connecting a communication to a client
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US11399044B2 (en) 2011-05-23 2022-07-26 Twilio Inc. System and method for connecting a communication to a client
US10122763B2 (en) 2011-05-23 2018-11-06 Twilio, Inc. System and method for connecting a communication to a client
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US10165015B2 (en) 2011-05-23 2018-12-25 Twilio Inc. System and method for real-time communication by using a client application communication protocol
US10819757B2 (en) 2011-05-23 2020-10-27 Twilio Inc. System and method for real-time communication by using a client application communication protocol
US10686936B2 (en) 2011-09-21 2020-06-16 Twilio Inc. System and method for determining and communicating presence information
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US11489961B2 (en) 2011-09-21 2022-11-01 Twilio Inc. System and method for determining and communicating presence information
US10841421B2 (en) 2011-09-21 2020-11-17 Twilio Inc. System and method for determining and communicating presence information
US10212275B2 (en) 2011-09-21 2019-02-19 Twilio, Inc. System and method for determining and communicating presence information
US9336500B2 (en) 2011-09-21 2016-05-10 Twilio, Inc. System and method for authorizing and connecting application developers and users
US9641677B2 (en) 2011-09-21 2017-05-02 Twilio, Inc. System and method for determining and communicating presence information
US9942394B2 (en) 2011-09-21 2018-04-10 Twilio, Inc. System and method for determining and communicating presence information
US9305273B2 (en) * 2011-12-31 2016-04-05 Verizon Patent And Licensing Inc. Telephone number use analysis for grouping of consecutive telephone numbers based on assignment status
US20130173534A1 (en) * 2011-12-31 2013-07-04 Verizon Patent And Licensing Inc. Telephone number use analysis for groups of telephone numbers
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US10467064B2 (en) 2012-02-10 2019-11-05 Twilio Inc. System and method for managing concurrent events
US11093305B2 (en) 2012-02-10 2021-08-17 Twilio Inc. System and method for managing concurrent events
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US11165853B2 (en) 2012-05-09 2021-11-02 Twilio Inc. System and method for managing media in a distributed communication network
US10637912B2 (en) 2012-05-09 2020-04-28 Twilio Inc. System and method for managing media in a distributed communication network
US10200458B2 (en) 2012-05-09 2019-02-05 Twilio, Inc. System and method for managing media in a distributed communication network
US9350642B2 (en) 2012-05-09 2016-05-24 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US10320983B2 (en) 2012-06-19 2019-06-11 Twilio Inc. System and method for queuing a communication session
US11546471B2 (en) 2012-06-19 2023-01-03 Twilio Inc. System and method for queuing a communication session
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US11063972B2 (en) 2012-07-24 2021-07-13 Twilio Inc. Method and system for preventing illicit use of a telephony platform
US9614972B2 (en) 2012-07-24 2017-04-04 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US11882139B2 (en) 2012-07-24 2024-01-23 Twilio Inc. Method and system for preventing illicit use of a telephony platform
US9948788B2 (en) 2012-07-24 2018-04-17 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US10469670B2 (en) 2012-07-24 2019-11-05 Twilio Inc. Method and system for preventing illicit use of a telephony platform
US9270833B2 (en) 2012-07-24 2016-02-23 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US10257674B2 (en) 2012-10-15 2019-04-09 Twilio, Inc. System and method for triggering on platform usage
US10033617B2 (en) 2012-10-15 2018-07-24 Twilio, Inc. System and method for triggering on platform usage
US11246013B2 (en) 2012-10-15 2022-02-08 Twilio Inc. System and method for triggering on platform usage
US11595792B2 (en) 2012-10-15 2023-02-28 Twilio Inc. System and method for triggering on platform usage
US9654647B2 (en) 2012-10-15 2017-05-16 Twilio, Inc. System and method for routing communications
US9319857B2 (en) 2012-10-15 2016-04-19 Twilio, Inc. System and method for triggering on platform usage
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US9307094B2 (en) 2012-10-15 2016-04-05 Twilio, Inc. System and method for routing communications
US10757546B2 (en) 2012-10-15 2020-08-25 Twilio Inc. System and method for triggering on platform usage
US11689899B2 (en) 2012-10-15 2023-06-27 Twilio Inc. System and method for triggering on platform usage
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US10560490B2 (en) 2013-03-14 2020-02-11 Twilio Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US10051011B2 (en) 2013-03-14 2018-08-14 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US11637876B2 (en) 2013-03-14 2023-04-25 Twilio Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US11032325B2 (en) 2013-03-14 2021-06-08 Twilio Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9338280B2 (en) * 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US20140376389A1 (en) * 2013-06-19 2014-12-25 Twilio, Inc. System and method for managing telephony endpoint inventory
US9992608B2 (en) 2013-06-19 2018-06-05 Twilio, Inc. System and method for providing a communication endpoint information service
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US10057734B2 (en) 2013-06-19 2018-08-21 Twilio Inc. System and method for transmitting and receiving media messages
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9959151B2 (en) 2013-09-17 2018-05-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US11539601B2 (en) 2013-09-17 2022-12-27 Twilio Inc. System and method for providing communication platform metadata
US11379275B2 (en) 2013-09-17 2022-07-05 Twilio Inc. System and method for tagging and tracking events of an application
US10439907B2 (en) 2013-09-17 2019-10-08 Twilio Inc. System and method for providing communication platform metadata
US10671452B2 (en) 2013-09-17 2020-06-02 Twilio Inc. System and method for tagging and tracking events of an application
US9853872B2 (en) 2013-09-17 2017-12-26 Twilio, Inc. System and method for providing communication platform metadata
US9811398B2 (en) 2013-09-17 2017-11-07 Twilio, Inc. System and method for tagging and tracking events of an application platform
US11831415B2 (en) 2013-11-12 2023-11-28 Twilio Inc. System and method for enabling dynamic multi-modal communication
US11394673B2 (en) 2013-11-12 2022-07-19 Twilio Inc. System and method for enabling dynamic multi-modal communication
US10686694B2 (en) 2013-11-12 2020-06-16 Twilio Inc. System and method for client communication in a distributed telephony network
US10063461B2 (en) 2013-11-12 2018-08-28 Twilio, Inc. System and method for client communication in a distributed telephony network
US10069773B2 (en) 2013-11-12 2018-09-04 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US11621911B2 (en) 2013-11-12 2023-04-04 Twillo Inc. System and method for client communication in a distributed telephony network
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US10003693B2 (en) 2014-03-14 2018-06-19 Twilio, Inc. System and method for a work distribution service
US9628624B2 (en) 2014-03-14 2017-04-18 Twilio, Inc. System and method for a work distribution service
US10291782B2 (en) 2014-03-14 2019-05-14 Twilio, Inc. System and method for a work distribution service
US11882242B2 (en) 2014-03-14 2024-01-23 Twilio Inc. System and method for a work distribution service
US10904389B2 (en) 2014-03-14 2021-01-26 Twilio Inc. System and method for a work distribution service
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US11330108B2 (en) 2014-03-14 2022-05-10 Twilio Inc. System and method for a work distribution service
US9907010B2 (en) 2014-04-17 2018-02-27 Twilio, Inc. System and method for enabling multi-modal communication
US10440627B2 (en) 2014-04-17 2019-10-08 Twilio Inc. System and method for enabling multi-modal communication
US10873892B2 (en) 2014-04-17 2020-12-22 Twilio Inc. System and method for enabling multi-modal communication
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US11653282B2 (en) 2014-04-17 2023-05-16 Twilio Inc. System and method for enabling multi-modal communication
US9553900B2 (en) 2014-07-07 2017-01-24 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9588974B2 (en) 2014-07-07 2017-03-07 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US11341092B2 (en) 2014-07-07 2022-05-24 Twilio Inc. Method and system for applying data retention policies in a computing platform
US10212237B2 (en) 2014-07-07 2019-02-19 Twilio, Inc. System and method for managing media and signaling in a communication platform
US10116733B2 (en) 2014-07-07 2018-10-30 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US10757200B2 (en) 2014-07-07 2020-08-25 Twilio Inc. System and method for managing conferencing in a distributed communication network
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US11768802B2 (en) 2014-07-07 2023-09-26 Twilio Inc. Method and system for applying data retention policies in a computing platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US11755530B2 (en) 2014-07-07 2023-09-12 Twilio Inc. Method and system for applying data retention policies in a computing platform
US10229126B2 (en) 2014-07-07 2019-03-12 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9858279B2 (en) 2014-07-07 2018-01-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US10747717B2 (en) 2014-07-07 2020-08-18 Twilio Inc. Method and system for applying data retention policies in a computing platform
US11019159B2 (en) 2014-10-21 2021-05-25 Twilio Inc. System and method for providing a micro-services communication platform
US9906607B2 (en) 2014-10-21 2018-02-27 Twilio, Inc. System and method for providing a micro-services communication platform
US9509782B2 (en) 2014-10-21 2016-11-29 Twilio, Inc. System and method for providing a micro-services communication platform
US9363301B2 (en) 2014-10-21 2016-06-07 Twilio, Inc. System and method for providing a micro-services communication platform
US10637938B2 (en) 2014-10-21 2020-04-28 Twilio Inc. System and method for providing a micro-services communication platform
US10853854B2 (en) 2015-02-03 2020-12-01 Twilio Inc. System and method for a media intelligence platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US9805399B2 (en) 2015-02-03 2017-10-31 Twilio, Inc. System and method for a media intelligence platform
US10467665B2 (en) 2015-02-03 2019-11-05 Twilio Inc. System and method for a media intelligence platform
US11544752B2 (en) 2015-02-03 2023-01-03 Twilio Inc. System and method for a media intelligence platform
US11265367B2 (en) 2015-05-14 2022-03-01 Twilio Inc. System and method for signaling through data storage
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10560516B2 (en) 2015-05-14 2020-02-11 Twilio Inc. System and method for signaling through data storage
US11272325B2 (en) 2015-05-14 2022-03-08 Twilio Inc. System and method for communicating through multiple endpoints
US11171865B2 (en) 2016-02-04 2021-11-09 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US11076054B2 (en) 2016-05-23 2021-07-27 Twilio Inc. System and method for programmatic device connectivity
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10440192B2 (en) 2016-05-23 2019-10-08 Twilio Inc. System and method for programmatic device connectivity
US11622022B2 (en) 2016-05-23 2023-04-04 Twilio Inc. System and method for a multi-channel notification service
US11265392B2 (en) 2016-05-23 2022-03-01 Twilio Inc. System and method for a multi-channel notification service
US11627225B2 (en) 2016-05-23 2023-04-11 Twilio Inc. System and method for programmatic device connectivity

Also Published As

Publication number Publication date
US8867727B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
US8867727B2 (en) Telephone number groups
CN107608773B (en) Task concurrent processing method and device and computing equipment
US6477535B1 (en) Method and apparatus for concurrent DBMS table operations
EP2843558B1 (en) Database management system, computer, and database management method
US20100030995A1 (en) Method and apparatus for applying database partitioning in a multi-tenancy scenario
US20070106669A1 (en) Ensuring Timely Servicing of Desired Transactions in a Database Server
US20080052397A1 (en) Future locking of resources
US11372846B2 (en) Generating and utilizing pre-allocated storage space
US20060015841A1 (en) Control on demand data center service configurations
EP2662783A1 (en) Data archiving approach leveraging database layer functionality
CN104954496A (en) Cloud resource allocation method and device
US10050928B2 (en) Methods and systems for determining an optimal subnet
CN108683608B (en) Method and device for distributing flow
CN115905206A (en) Multi-tenant data isolation method, device, equipment and storage medium
US8631016B2 (en) Telephone numbers with alphabetic patterns
CN111680069A (en) Database access method and device
CN111427691A (en) Virtual resource allocation method, device, medium and electronic equipment
CN112149070A (en) Authority control method and device
CN113590213B (en) Component maintenance method, electronic device and storage medium
US8713044B2 (en) Data management tool
CN113849286A (en) Account checking data importing method, system, equipment and computer readable storage medium
CN114092118A (en) Method and device for automatically allocating seats for customer service, storage medium and processor
CN116467067A (en) Multi-region-based quota management method, device, equipment and medium
CN117149866A (en) Method and device for exporting multi-source heterogeneous data, readable storage medium and terminal
CN112651668A (en) Flight resource allocation method and device and server

Legal Events

Date Code Title Description
AS Assignment

Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GUDLAVENKATASIVA, BHASKAR R.;REEL/FRAME:024609/0948

Effective date: 20100628

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20181021