This invention relates generally to the telephony field, and more specifically to a new and useful system and method for authorizing and connecting application developers and users in the telephony field.
In recent years, there has been an explosion of interest in customized application software executable on one or more types of devices, including personal computers and mobile devices. In the telephony market, however, the development of an application ecosystem has been stunted in part by the lack of an efficient system and/or method for managing relationships between the software developers and the application users. In particular, given that many telephony services are priced at variable rates, many talented software developers are trying their hand creating easier-to-manage flat-fee applications for sale. In effect, the complexities of telephonic billing act as an artificial barrier to entry against application developers, who lack the resources and desire to compete with established telecommunications players in the commercial domain of the latter. Given the importance of communications, however, there is a great need for attracting more developers and applications into the telephony marketplace. Thus, there is a need in the telephony field to create a new and useful system and method for authorizing and connecting application developers and users. This invention provides such a new and useful system and method.
The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.
1. System for Authorizing and Connecting Application Developers and Users
As shown in
The system 10 of the preferred embodiment can further accommodate one or more users 20 (USER 1, USER 2), who can be independent third parties including individuals or businesses that desire to use a selected application for a particular purpose. A user preferably has an account. As shown in
As shown in
As used herein, API configuration/s are preferably RESTful in nature, and the applications 16 also preferably observe the principles of a RESTful design. RESTful is understood in this document to describe a Representational State Transfer architecture as is known in the art. The RESTful HTTP requests are preferably stateless, thus each message communicated from the call router to the application server preferably contains all necessary information for operation of the application server and response generation of the application server. Hardware communications elements such as routers and servers preferably do not need to remember or store previous communications to be aware of the state. Documents, media, and application state are preferably viewed as addressable resources, combined with data provide to the resource via request parameter, such as HTTP GET or HTTP POST parameters, or request body contents. Such request data may include an updated representation of the call resource, or other call state data generated as a result of call router operation, such as digits pressed on the keypad or audio recordings generated.
State information included with each request can include a unique call identifier, call status data such as whether the call is in-progress or completed, the caller ID of the caller, the phone number called, geographic data about the callers, and/or any suitable data. Alternatively, a varying level of a RESTful communication (statelessness) can be used, such as by using cookies, session tracking, or any suitable devices to simulate a normal website visitor model. Preferably, data sent with each request can fully enable the application server to determine the next state of the call to execute. RESTfulness preferably does not preclude using external datasource, such as a database, to lookup additional data to log call meta data, or determine application logic.
In other variations of the system 10 of the preferred embodiment, the website 34 can request or require of the user 20 the creation of a separate user account 18, which can be configured as a subaccount 18 associated with the developer's account/application 16 as described above. The subaccount 18 of the preferred embodiment can be configured with one or more permissions, restrictions, delegations and the like for establishing the boundaries of the application's permitted usage of the subaccount 18. The permitted usage preferably specifies the ways in which the application associated with the subaccount can interact with or on behalf of the user account. Alternatively or additionally, the permitted usage may determine what actions or features of the application a subaccount may use.
In one variation of the system 10 of the preferred embodiment, data flow (call records, SMS records, phone records) between an account 16 and a subaccount 18 can be asymmetrical and/or restricted in that data relating to the subaccount 18 can be accessed by the account 16. Alternatively, certain permissions can allow for the flow of data (in whole or in part) from the account 16 to one or more subaccounts 18, or between sibling subaccounts 18. In another alternative, access to all caller ids as shown in
As shown in
Additional aspects of the system 10 of the preferred embodiment are shown in
The system 10 of the preferred embodiment can also include a server 50A or storage system (such as a cloud-based storage system) for one or more applications 16 (shown A-D) created by the developers 14 and hosted by the control module 50. The server 50A of the system 10 of the preferred embodiment functions to host and/or electronically distribute the applications 16 to users 20. In one variation of the system 10 of the preferred embodiment, the control module 50 can be integrated with the server 50A. Alternatively, the control module 50 can include a front-end developer interface and backend accounting and system management module/s separate and distinct from the server 50A.
In the system 10 of the preferred embodiment shown in
Aspects of the system 10 of the preferred embodiment can be configured in a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components that are preferably integrated with the API 12, the application/s 16, the subaccount/s 18, the control module 50 and/or server 50A. The computer-readable medium can be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a processor but the instructions can alternatively or additionally be executed by any suitable dedicated hardware device.
2. Methods for Authorizing and Connecting Application Developers and Users
The system 10 of the preferred embodiment, in its various aspects and variations, can be configured to perform one or more methods of the preferred embodiment. As shown in
Step S110, which includes creating a developer account associated with an application, functions to assist in hosting, distributing, and accounting for any application/s created by a developer. The developer account is preferably the account mechanism within an application platform from which a developer may manage account settings and application settings. A developer account may be substantially similar to a user account, but a developer account is distinguished by including an application that may include subaccounts. In one variation of the method of the preferred embodiment, the developer account can itself be a subaccount of a second developer account (i.e., the developer account is a user subaccount of the second developer account). Thus a developer can nest different applications/subaccounts within a larger account framework. Creating a developer account can additionally include setting subaccount settings for a developer account. The subaccount settings may determine permission profiles, resources to support subaccount creation process, and any suitable parameter of an application. The resources to support subaccount creation process preferably include URIs for the application, authorization callbacks, deauthorize callbacks, and/or any suitable URIs of the application. As described later, the application platform preferably returns the authorization record to the authorization callback URI of the developer. As noted above, suitable applications can include for example software or other machine-executable instructions that use an API 12 of the type described above. Example applications can include, but are not limited to telephony-based voice calls, internet based voice calls, video calls, video streams, video sessions, screen sharing, screen sharing streams, screen sharing sessions, SMS messaging, MMS messaging, alternative messaging, or any suitable form of communication. Applications of the method of the preferred embodiment can include targeted and/or selected access to a REST API of the type described herein; and the applications preferably obey the principles of RESTful design described in detail above.
Step S120, which includes receiving an authorization request to authorize the application to act on a user account, functions to initialize the subaccount creation process. The authorization request may be formed as a request to create a subaccount of an application. The authorization request is preferably initialized by receiving an HTTP request at the application platform. The authorization request preferably includes an application or developer identifier, and may additionally include user account information. The developer account or application to associate with the received subaccount creation request may alternatively be determined in any suitable manner. A user action preferably initiates the sending of the subaccount creation request. In one variation of the method of the preferred embodiment, the user can locate an application on a website or other service provided by the application developer. Alternatively, the user can access the developer application on a centralized server, market, or control module associated with the API of the type described above.
The interface presented to the user during the authorization/subaccount creation process can be through an interface provided by the application platform or alternatively through a third party site or application. In one variation, a user will click on or activate a link from a developer website which will open or redirect the user to a page of the application platform. In this variation, the application platform will be visible to the user. In another variation, a user will interact with an application or site of the developer, and the developer site will use an API to programmatically communicate with the application platform and to begin the authorization process. In this variation, the application platform and the authorization process can be transparent to the user.
Step S130, which includes creating a subaccount for a user, wherein the subaccount is associated with the developer account, functions to create a subaccount of the user account and associate the user and the subaccount with an application. Creating a subaccount further functions to separate the functional authorizations of the user from those of the main account (developer account or application) thereby permitting a developer to partition and commercialize his or her application using the API. In a variation of associating the subaccount with the developer account, the subaccount may be associated with an application of the developer account.
The subaccount can be uniquely associated with a user account. As used herein, the term user can include any individual, corporation or artificial entity, acting either individually or collectively that is interested in the operation and/or consumption of one or more applications. In the application platform, a user preferably has a user account or will have a user account created on behalf of the user. Alternatively, the subaccount may be the only account record in the application platform for a particular user. Preferably, the user expresses an interest in acquiring access to an application. The user, the application, developer account or any suitable entity will initiate a the authorization process by submitting an authorization request in Step S120. As a result a subaccount can be created. The application platform or developer site may perform any suitable form of user authentication/authorization. In the case where the application platform has usage fees, payment information may be collected from the user. As shown in
Step S140, which includes creating an authorization record associated with the subaccount, functions to create a mechanism that a developer can use to act on behalf of a subaccount or enable a subaccount application. Preferably, a user or client on behalf of a user (e.g., developer site) completes the steps necessary for the application platform to authorize the user to the application and/or developer. The authorization record can include a user identification, an application identification, and a permission profile including any one or more permissions granted to the user for the identified application. The authorization record can additionally include the password or secure ID (SID) that acts as a token to later authorize subaccount actions. Preferably, the authorization record can be stored on the application server in a separate database. Alternatively, the authorization record can be stored in any suitable location, including in a server or market type environment of the type described above.
Additionally, Step S140 preferably includes setting a permission profile associated with the subaccount, which functions to establish the boundaries of the application's permitted usage of the user's subaccount. A permission profile of a subaccount or listing of requested and/or potential permissions can be directly associated with the application. Suitable and/or possible permissions can include for example read-only access, full read/write access (making calls, sending SMS messages, purchasing or modifying phone numbers) and/or access to all caller ids. Read-write access in some variations may allow an application to perform metered API calls on behalf of a user account. For example, in a telephony platform, an application may make phone calls that will count against the usage of the user account and not the developer account. In one variation of the method of the preferred embodiment, data flow (call records, SMS records, phone records) between a developer account and a subaccount can be asymmetrical and/or restricted in that data relating to the subaccount can be accessed by the account. Alternatively, certain permissions can allow for the flow of data (in whole or in part) from the account to one or more subaccounts, or between sibling subaccounts. In another alternative, access to all caller ids lets an application use a phone number of a parent account or sibling subaccount as the caller ID for a phone call or message placed by the subaccount affiliated with the application. In another alternative, permissions may set usage limits or set parameters that determine characteristics of how permissions are interpreted when being enforced. For example, a number for how many usage based API calls can be made by an application may be set. As a result the application can preferably make no more than that number of API calls on behalf of the subaccount. The permission profile may be specified in the subaccount creation request, default to a particular setting, require user input in an interface, use permission profile specified for the application/developer account, and/or be determined in any suitable manner. Permissions may be set as a group either allowing all requested permissions for an application or denying all permissions. Alternatively, permissions may be set individually allowing a user to set permissions in a piecemeal fashion.
In one alternative variation, a permission profile for the application or a developer account can be used in setting a permission profile of a subaccount. A developer permission profile is preferably created when creating or editing the settings of an application of a developer account. A developer permission profile may be used in combination with a subaccount permission profile. In one variation, the permission profile created for an application may be the permission profile used for all subaccounts associated with the application. In another variation, the intersection of permission profiles for an application and a subaccount may be the permissions used for a subaccount. For example, an application may allow API calls of the type A, B and C, and a user may set a subaccount to allow API calls of type A, B and D. As a result the subaccount will be allowed to use API calls of type A and B. The permission profile can function to determine the scope and boundaries of an application's access to a user's account and thus define the functional and commercial relationship between the developer/application and the user. Other permission limits may additionally be included in the permission profile such as usage limits (e.g., number of phone calls) or whitelisted or blacklisted actions for a subaccount.
Step S150, which includes returning a subaccount identifier, functions to verify and confirm to the developer that the user has been granted access and/or asserted permissions relating to the developer account. The subaccount identifier is preferably transmitted electronically to the developer as confirmation of the user authorization/permission access. The subaccount identification can be transmitted to a developer website through an authorization callback URI. Preferably, the authorization record or at least a portion of the authorization record, the SID, acts as the subaccount identifier. The SID is preferably returned as a parameter transmitted to the authorization callback URI. A developer will preferably retrieve the authorization record or SID and store that for application use. The subaccount identifier may alternatively be stored for access by the developer account or communicated for use by the developer in any suitable manner. The subaccount identifier can preferably be used by the developer to enable the subaccount to use their application with the privileges and permissions established for the subaccount.
As shown in
A method of a preferred embodiment may additionally include facilitating a marketplace control as shown in
In another variation of the method of the preferred embodiment, the user can revoke and/or modify the permission profile for an application previously authorized, thereby preventing further usage of the REST API resources by the designated application. In another variation of the method of the preferred embodiment, the method can further include verifying at a server, such as the application server, that the permissions were properly granted by the user and properly asserted by the application.
Decision block S202 of the method of the preferred embodiment queries whether the user has authorized the application to access his or her account. If the response is affirmative, then, as shown in
As shown in
Following a login by the user, block S212 of the method of the preferred embodiment queries whether the requested permissions have been granted to the application by the user, that is, whether the application possesses the proper authorization to access the user account in the manner requested. In another variation of the method of the preferred embodiment, block S212 can additionally include comparing a permission profile established by the developer with a permission profile asserted by the user. As shown in
An alternative embodiment preferably implements the above methods in a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components preferably integrated with a system of an application platform API provider. The computer-readable medium may be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a processor but the instructions may alternatively or additionally be executed by any suitable dedicated hardware device.
As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.
This application claims the benefit of U.S. Provisional Application No. 61/537,207, titled “SYSTEM AND METHOD OF AUTHORIZATION AND CONNECTION BETWEEN APPLICATION DEVELOPERS AND USERS”, filed 21 Sep. 2011, and U.S. Provisional Application No. 61/621,867, titled “SYSTEM AND METHOD OF AUTHORIZATION AND CONNECTION BETWEEN APPLICATION DEVELOPERS AND USERS”, filed 9 Apr. 2012, which are incorporated in their entirety by this reference.
Number | Name | Date | Kind |
---|---|---|---|
5274700 | Gechter et al. | Dec 1993 | A |
5526416 | Dezonno et al. | Jun 1996 | A |
5581608 | Jreij et al. | Dec 1996 | A |
5598457 | Foladare et al. | Jan 1997 | A |
5867495 | Elliott et al. | Feb 1999 | A |
5934181 | Adamczewski | Aug 1999 | A |
6026440 | Shrader et al. | Feb 2000 | A |
6094681 | Shaffer et al. | Jul 2000 | A |
6138143 | Gigliotti et al. | Oct 2000 | A |
6185565 | Meubus et al. | Feb 2001 | B1 |
6192123 | Grunsted et al. | Feb 2001 | B1 |
6206564 | Adamczewski | Mar 2001 | B1 |
6223287 | Douglas et al. | Apr 2001 | B1 |
6232979 | Shochet | May 2001 | B1 |
6269336 | Ladd et al. | Jul 2001 | B1 |
6317137 | Rosasco | Nov 2001 | B1 |
6373836 | Deryugin et al. | Apr 2002 | B1 |
6425012 | Trovato et al. | Jul 2002 | B1 |
6426995 | Kim et al. | Jul 2002 | B1 |
6430175 | Echols et al. | Aug 2002 | B1 |
6434528 | Sanders | Aug 2002 | B1 |
6445694 | Swartz | Sep 2002 | B1 |
6445776 | Shank et al. | Sep 2002 | B1 |
6459913 | Cloutier | Oct 2002 | B2 |
6493558 | Bernhart et al. | Dec 2002 | B1 |
6496500 | Nance et al. | Dec 2002 | B2 |
6501739 | Cohen | Dec 2002 | B1 |
6501832 | Saylor et al. | Dec 2002 | B1 |
6507875 | Mellen-Garnett et al. | Jan 2003 | B1 |
6577721 | Vainio et al. | Jun 2003 | B1 |
6600736 | Ball et al. | Jul 2003 | B1 |
6606596 | Zirngibl et al. | Aug 2003 | B1 |
6614783 | Sonesh et al. | Sep 2003 | B1 |
6625258 | Ram et al. | Sep 2003 | B1 |
6625576 | Kochanski et al. | Sep 2003 | B2 |
6636504 | Albers et al. | Oct 2003 | B1 |
6662231 | Drosset et al. | Dec 2003 | B1 |
6704785 | Koo et al. | Mar 2004 | B1 |
6707889 | Saylor et al. | Mar 2004 | B1 |
6711129 | Bauer et al. | Mar 2004 | B1 |
6711249 | Weissman et al. | Mar 2004 | B2 |
6738738 | Henton | May 2004 | B2 |
6757365 | Bogard | Jun 2004 | B1 |
6765997 | Zirngibl et al. | Jul 2004 | B1 |
6768788 | Langseth et al. | Jul 2004 | B1 |
6778653 | Kallas et al. | Aug 2004 | B1 |
6785266 | Swartz | Aug 2004 | B2 |
6788768 | Saylor et al. | Sep 2004 | B1 |
6792086 | Saylor et al. | Sep 2004 | B1 |
6792093 | Barak et al. | Sep 2004 | B2 |
6798867 | Zirngibl et al. | Sep 2004 | B1 |
6807529 | Johnson et al. | Oct 2004 | B2 |
6807574 | Partovi et al. | Oct 2004 | B1 |
6819667 | Brusilovsky et al. | Nov 2004 | B1 |
6820260 | Flockhart et al. | Nov 2004 | B1 |
6829334 | Zirngibl et al. | Dec 2004 | B1 |
6834265 | Balasuriya | Dec 2004 | B2 |
6836537 | Zirngibl et al. | Dec 2004 | B1 |
6842767 | Partovi et al. | Jan 2005 | B1 |
6850603 | Eberle et al. | Feb 2005 | B1 |
6870830 | Schuster et al. | Mar 2005 | B1 |
6873952 | Bailey et al. | Mar 2005 | B1 |
6874084 | Dobner et al. | Mar 2005 | B1 |
6885737 | Gao et al. | Apr 2005 | B1 |
6888929 | Saylor et al. | May 2005 | B1 |
6895084 | Saylor et al. | May 2005 | B1 |
6898567 | Balasuriya | May 2005 | B2 |
6912581 | Johnson et al. | Jun 2005 | B2 |
6922411 | Taylor | Jul 2005 | B1 |
6931405 | El-Shimi et al. | Aug 2005 | B2 |
6937699 | Schuster et al. | Aug 2005 | B1 |
6940953 | Eberle et al. | Sep 2005 | B1 |
6941268 | Porter et al. | Sep 2005 | B2 |
6947417 | Laursen et al. | Sep 2005 | B2 |
6947988 | Saleh | Sep 2005 | B1 |
6961330 | Cattan et al. | Nov 2005 | B1 |
6964012 | Zirngibl et al. | Nov 2005 | B1 |
6970915 | Partovi et al. | Nov 2005 | B1 |
6977992 | Zirngibl et al. | Dec 2005 | B2 |
6985862 | Stroem et al. | Jan 2006 | B2 |
6999576 | Sacra | Feb 2006 | B2 |
7003464 | Ferrans et al. | Feb 2006 | B2 |
7006606 | Cohen et al. | Feb 2006 | B1 |
7010586 | Allavarpu et al. | Mar 2006 | B1 |
7020685 | Chen et al. | Mar 2006 | B1 |
7039165 | Saylor et al. | May 2006 | B1 |
7062709 | Cheung | Jun 2006 | B2 |
7076037 | Gonen et al. | Jul 2006 | B1 |
7076428 | Anastasakos et al. | Jul 2006 | B2 |
7089310 | Ellerman et al. | Aug 2006 | B1 |
7103003 | Brueckheimer et al. | Sep 2006 | B2 |
7103171 | Annadata et al. | Sep 2006 | B1 |
7106844 | Holland | Sep 2006 | B1 |
7111163 | Haney | Sep 2006 | B1 |
7140004 | Kunins et al. | Nov 2006 | B1 |
7143039 | Stifelman et al. | Nov 2006 | B1 |
7197331 | Anastasakos et al. | Mar 2007 | B2 |
7197461 | Eberle et al. | Mar 2007 | B1 |
7197462 | Takagi et al. | Mar 2007 | B2 |
7197544 | Wang et al. | Mar 2007 | B2 |
7225232 | Elberse | May 2007 | B2 |
7227849 | Raesaenen | Jun 2007 | B1 |
7260208 | Cavalcanti | Aug 2007 | B2 |
7266181 | Zirngibl et al. | Sep 2007 | B1 |
7269557 | Bailey et al. | Sep 2007 | B1 |
7272212 | Eberle et al. | Sep 2007 | B2 |
7272564 | Phillips et al. | Sep 2007 | B2 |
7277851 | Henton | Oct 2007 | B1 |
7283515 | Fowler | Oct 2007 | B2 |
7286521 | Jackson et al. | Oct 2007 | B1 |
7287248 | Adeeb | Oct 2007 | B1 |
7289453 | Riedel et al. | Oct 2007 | B2 |
7296739 | Mo et al. | Nov 2007 | B1 |
7298732 | Cho | Nov 2007 | B2 |
7308085 | Weissman | Dec 2007 | B2 |
7308408 | Stifelman et al. | Dec 2007 | B1 |
7324633 | Gao et al. | Jan 2008 | B2 |
7324942 | Mahowald et al. | Jan 2008 | B1 |
7328263 | Sadjadi | Feb 2008 | B1 |
7330463 | Bradd et al. | Feb 2008 | B1 |
7330890 | Partovi et al. | Feb 2008 | B1 |
7340040 | Saylor et al. | Mar 2008 | B1 |
7349714 | Lee et al. | Mar 2008 | B2 |
7369865 | Gabriel et al. | May 2008 | B2 |
7373660 | Guichard et al. | May 2008 | B1 |
7376223 | Taylor et al. | May 2008 | B2 |
7376586 | Partovi et al. | May 2008 | B1 |
7376733 | Connelly et al. | May 2008 | B2 |
7376740 | Porter et al. | May 2008 | B1 |
7412525 | Cafarella et al. | Aug 2008 | B2 |
7418090 | Reding et al. | Aug 2008 | B2 |
7428302 | Zirngibl et al. | Sep 2008 | B2 |
7440898 | Eberle et al. | Oct 2008 | B1 |
7447299 | Partovi et al. | Nov 2008 | B1 |
7454459 | Kapoor et al. | Nov 2008 | B1 |
7457249 | Baldwin et al. | Nov 2008 | B2 |
7457397 | Saylor et al. | Nov 2008 | B1 |
7473872 | Takimoto | Jan 2009 | B2 |
7486780 | Zirngibl et al. | Feb 2009 | B2 |
7496054 | Taylor | Feb 2009 | B2 |
7500249 | Kampe et al. | Mar 2009 | B2 |
7505951 | Thompson et al. | Mar 2009 | B2 |
7519359 | Chiarulli et al. | Apr 2009 | B2 |
7522711 | Stein et al. | Apr 2009 | B1 |
7536454 | Balasuriya | May 2009 | B2 |
7552054 | Stifelman et al. | Jun 2009 | B1 |
7571226 | Partovi et al. | Aug 2009 | B1 |
7613287 | Stifelman et al. | Nov 2009 | B1 |
7623648 | Oppenheim et al. | Nov 2009 | B1 |
7630900 | Strom | Dec 2009 | B1 |
7631310 | Henzinger | Dec 2009 | B1 |
7644000 | Strom | Jan 2010 | B1 |
7657433 | Chang | Feb 2010 | B1 |
7657434 | Thompson et al. | Feb 2010 | B2 |
7668157 | Weintraub et al. | Feb 2010 | B2 |
7672295 | Andhare et al. | Mar 2010 | B1 |
7675857 | Chesson | Mar 2010 | B1 |
7676221 | Roundtree et al. | Mar 2010 | B2 |
7715547 | Ibbotson et al. | May 2010 | B2 |
7742499 | Erskine et al. | Jun 2010 | B1 |
7779065 | Gupta et al. | Aug 2010 | B2 |
7875836 | Imura et al. | Jan 2011 | B2 |
7882253 | Pardo-Castellote et al. | Feb 2011 | B2 |
7920866 | Bosch et al. | Apr 2011 | B2 |
7926099 | Chakravarty et al. | Apr 2011 | B1 |
7936867 | Hill et al. | May 2011 | B1 |
7962644 | Ezerzer et al. | Jun 2011 | B1 |
7979555 | Rothstein et al. | Jul 2011 | B2 |
8023425 | Raleigh | Sep 2011 | B2 |
8069096 | Ballaro et al. | Nov 2011 | B1 |
8081958 | Soederstroem et al. | Dec 2011 | B2 |
8103725 | Gupta et al. | Jan 2012 | B2 |
8126128 | Hicks, III et al. | Feb 2012 | B1 |
8149716 | Ramanathan et al. | Apr 2012 | B2 |
8150918 | Edelman et al. | Apr 2012 | B1 |
8156213 | Deng et al. | Apr 2012 | B1 |
8185619 | Maiocco et al. | May 2012 | B1 |
8196133 | Kakumani et al. | Jun 2012 | B2 |
8233611 | Zettner | Jul 2012 | B1 |
8238533 | Blackwell et al. | Aug 2012 | B2 |
8243889 | Taylor et al. | Aug 2012 | B2 |
8266327 | Kumar et al. | Sep 2012 | B2 |
8295272 | Boni et al. | Oct 2012 | B2 |
8306021 | Lawson et al. | Nov 2012 | B2 |
8326805 | Arous et al. | Dec 2012 | B1 |
8346630 | McKeown | Jan 2013 | B1 |
8355394 | Taylor et al. | Jan 2013 | B2 |
8417817 | Jacobs | Apr 2013 | B1 |
8429827 | Wetzel | Apr 2013 | B1 |
8438315 | Tao et al. | May 2013 | B1 |
8462670 | Chien et al. | Jun 2013 | B2 |
8467502 | Sureka et al. | Jun 2013 | B2 |
8503639 | Reding et al. | Aug 2013 | B2 |
8503650 | Reding et al. | Aug 2013 | B2 |
8509068 | Begall et al. | Aug 2013 | B2 |
8532686 | Schmidt et al. | Sep 2013 | B2 |
8542805 | Agranovsky et al. | Sep 2013 | B2 |
8582450 | Robesky | Nov 2013 | B1 |
8594626 | Woodson et al. | Nov 2013 | B1 |
8601136 | Fahlgren et al. | Dec 2013 | B1 |
8611338 | Lawson et al. | Dec 2013 | B2 |
8613102 | Nath | Dec 2013 | B2 |
8649268 | Lawson et al. | Feb 2014 | B2 |
8667056 | Proulx et al. | Mar 2014 | B1 |
8675493 | Buddhikot et al. | Mar 2014 | B2 |
8755376 | Lawson et al. | Jun 2014 | B2 |
8767925 | Sureka et al. | Jul 2014 | B2 |
8806024 | Francis et al. | Aug 2014 | B1 |
8837465 | Lawson et al. | Sep 2014 | B2 |
8838707 | Lawson et al. | Sep 2014 | B2 |
8861510 | Fritz | Oct 2014 | B1 |
8948356 | Nowack et al. | Feb 2015 | B2 |
8964726 | Lawson et al. | Feb 2015 | B2 |
9014664 | Kim et al. | Apr 2015 | B2 |
9015702 | Bhat | Apr 2015 | B2 |
20010038624 | Greenberg et al. | Nov 2001 | A1 |
20010043684 | Guedalia et al. | Nov 2001 | A1 |
20010051996 | Cooper et al. | Dec 2001 | A1 |
20020006124 | Jimenez et al. | Jan 2002 | A1 |
20020006125 | Josse et al. | Jan 2002 | A1 |
20020006193 | Rodenbusch et al. | Jan 2002 | A1 |
20020064267 | Martin et al. | May 2002 | A1 |
20020067823 | Walker et al. | Jun 2002 | A1 |
20020077833 | Arons et al. | Jun 2002 | A1 |
20020126813 | Partovi et al. | Sep 2002 | A1 |
20020136391 | Armstrong | Sep 2002 | A1 |
20020165957 | Devoe et al. | Nov 2002 | A1 |
20020176378 | Hamilton et al. | Nov 2002 | A1 |
20020198941 | Gavrilescu et al. | Dec 2002 | A1 |
20030006137 | Wei et al. | Jan 2003 | A1 |
20030014665 | Anderson et al. | Jan 2003 | A1 |
20030018830 | Chen et al. | Jan 2003 | A1 |
20030023672 | Vaysman | Jan 2003 | A1 |
20030026426 | Wright et al. | Feb 2003 | A1 |
20030046366 | Pardikar et al. | Mar 2003 | A1 |
20030051037 | Sundaram et al. | Mar 2003 | A1 |
20030058884 | Kallner et al. | Mar 2003 | A1 |
20030059020 | Meyerson et al. | Mar 2003 | A1 |
20030060188 | Gidron et al. | Mar 2003 | A1 |
20030061317 | Brown et al. | Mar 2003 | A1 |
20030061404 | Atwal et al. | Mar 2003 | A1 |
20030088421 | Maes et al. | May 2003 | A1 |
20030097447 | Johnston | May 2003 | A1 |
20030103620 | Brown et al. | Jun 2003 | A1 |
20030123640 | Roelle et al. | Jul 2003 | A1 |
20030195990 | Greenblat | Oct 2003 | A1 |
20030196076 | Zabarski et al. | Oct 2003 | A1 |
20030211842 | Kempf et al. | Nov 2003 | A1 |
20030231647 | Petrovykh | Dec 2003 | A1 |
20040008635 | Nelson et al. | Jan 2004 | A1 |
20040011690 | Marfino et al. | Jan 2004 | A1 |
20040044953 | Watkins | Mar 2004 | A1 |
20040052349 | Creamer et al. | Mar 2004 | A1 |
20040071275 | Bowater et al. | Apr 2004 | A1 |
20040101122 | Da Palma et al. | May 2004 | A1 |
20040102182 | Reith et al. | May 2004 | A1 |
20040165569 | Sweatman et al. | Aug 2004 | A1 |
20040172482 | Weissman et al. | Sep 2004 | A1 |
20040205689 | Ellens et al. | Oct 2004 | A1 |
20040213400 | Golitsin et al. | Oct 2004 | A1 |
20040218748 | Fisher | Nov 2004 | A1 |
20040228469 | Andrews et al. | Nov 2004 | A1 |
20040240649 | Goel | Dec 2004 | A1 |
20050005200 | Matena et al. | Jan 2005 | A1 |
20050010483 | Ling | Jan 2005 | A1 |
20050021626 | Prajapat et al. | Jan 2005 | A1 |
20050025303 | Hostetler | Feb 2005 | A1 |
20050038772 | Colrain | Feb 2005 | A1 |
20050043952 | Sharma et al. | Feb 2005 | A1 |
20050047579 | Salame | Mar 2005 | A1 |
20050060411 | Coulombe et al. | Mar 2005 | A1 |
20050091572 | Gavrilescu et al. | Apr 2005 | A1 |
20050125251 | Berger et al. | Jun 2005 | A1 |
20050128961 | Miloslavsky et al. | Jun 2005 | A1 |
20050135578 | Ress et al. | Jun 2005 | A1 |
20050141500 | Bhandari | Jun 2005 | A1 |
20050147088 | Bao et al. | Jul 2005 | A1 |
20050177635 | Schmidt et al. | Aug 2005 | A1 |
20050181835 | Lau et al. | Aug 2005 | A1 |
20050228680 | Malik | Oct 2005 | A1 |
20050238153 | Chevalier | Oct 2005 | A1 |
20050240659 | Taylor | Oct 2005 | A1 |
20050243977 | Creamer et al. | Nov 2005 | A1 |
20050246176 | Creamer et al. | Nov 2005 | A1 |
20050289222 | Sahim | Dec 2005 | A1 |
20060008073 | Yoshizawa et al. | Jan 2006 | A1 |
20060015467 | Morken et al. | Jan 2006 | A1 |
20060047666 | Bedi et al. | Mar 2006 | A1 |
20060067506 | Flockhart et al. | Mar 2006 | A1 |
20060129638 | Deakin | Jun 2006 | A1 |
20060143007 | Koh et al. | Jun 2006 | A1 |
20060168334 | Potti et al. | Jul 2006 | A1 |
20060203979 | Jennings | Sep 2006 | A1 |
20060209695 | Archer et al. | Sep 2006 | A1 |
20060212865 | Vincent | Sep 2006 | A1 |
20060215824 | Mitby et al. | Sep 2006 | A1 |
20060217823 | Hussey | Sep 2006 | A1 |
20060217978 | Mitby et al. | Sep 2006 | A1 |
20060222166 | Ramakrishna et al. | Oct 2006 | A1 |
20060256816 | Yarlagadda et al. | Nov 2006 | A1 |
20060262915 | Marascio et al. | Nov 2006 | A1 |
20060270386 | Yu et al. | Nov 2006 | A1 |
20060285489 | Francisco et al. | Dec 2006 | A1 |
20070002744 | Mewhinney et al. | Jan 2007 | A1 |
20070036143 | Alt et al. | Feb 2007 | A1 |
20070050306 | Mcqueen | Mar 2007 | A1 |
20070070906 | Thakur | Mar 2007 | A1 |
20070070980 | Phelps et al. | Mar 2007 | A1 |
20070071223 | Lee et al. | Mar 2007 | A1 |
20070074174 | Thornton | Mar 2007 | A1 |
20070121651 | Casey et al. | May 2007 | A1 |
20070127691 | Lert | Jun 2007 | A1 |
20070127703 | Siminoff | Jun 2007 | A1 |
20070130260 | Weintraub et al. | Jun 2007 | A1 |
20070133771 | Stifelman et al. | Jun 2007 | A1 |
20070149166 | Turcotte et al. | Jun 2007 | A1 |
20070153711 | Dykas et al. | Jul 2007 | A1 |
20070167170 | Fitchett et al. | Jul 2007 | A1 |
20070192629 | Saito | Aug 2007 | A1 |
20070208862 | Fox et al. | Sep 2007 | A1 |
20070232284 | Mason et al. | Oct 2007 | A1 |
20070242626 | Altberg et al. | Oct 2007 | A1 |
20070265073 | Novi et al. | Nov 2007 | A1 |
20070286180 | Marquette et al. | Dec 2007 | A1 |
20070291905 | Halliday et al. | Dec 2007 | A1 |
20070293200 | Roundtree et al. | Dec 2007 | A1 |
20070295803 | Levine et al. | Dec 2007 | A1 |
20080005275 | Overton et al. | Jan 2008 | A1 |
20080025320 | Bangalore et al. | Jan 2008 | A1 |
20080037715 | Prozeniuk et al. | Feb 2008 | A1 |
20080037746 | Dufrene et al. | Feb 2008 | A1 |
20080040484 | Yardley | Feb 2008 | A1 |
20080052395 | Wright et al. | Feb 2008 | A1 |
20080091843 | Kulkarni | Apr 2008 | A1 |
20080101571 | Harlow et al. | May 2008 | A1 |
20080104348 | Kabzinski et al. | May 2008 | A1 |
20080134049 | Gupta et al. | Jun 2008 | A1 |
20080139166 | Agarwal et al. | Jun 2008 | A1 |
20080146268 | Gandhi et al. | Jun 2008 | A1 |
20080152101 | Griggs | Jun 2008 | A1 |
20080154601 | Stifelman et al. | Jun 2008 | A1 |
20080155029 | Helbling et al. | Jun 2008 | A1 |
20080162482 | Ahern et al. | Jul 2008 | A1 |
20080165708 | Moore et al. | Jul 2008 | A1 |
20080177883 | Hanai et al. | Jul 2008 | A1 |
20080201426 | Darcie | Aug 2008 | A1 |
20080209050 | Li | Aug 2008 | A1 |
20080222656 | Lyman | Sep 2008 | A1 |
20080229421 | Hudis et al. | Sep 2008 | A1 |
20080232574 | Baluja et al. | Sep 2008 | A1 |
20080235230 | Maes | Sep 2008 | A1 |
20080256224 | Kaji et al. | Oct 2008 | A1 |
20080275741 | Loeffen | Nov 2008 | A1 |
20080310599 | Purnadi et al. | Dec 2008 | A1 |
20080313318 | Vermeulen et al. | Dec 2008 | A1 |
20080316931 | Qiu et al. | Dec 2008 | A1 |
20080317222 | Griggs et al. | Dec 2008 | A1 |
20080317232 | Couse et al. | Dec 2008 | A1 |
20080317233 | Rey et al. | Dec 2008 | A1 |
20090046838 | Andreasson | Feb 2009 | A1 |
20090052437 | Taylor et al. | Feb 2009 | A1 |
20090052641 | Taylor et al. | Feb 2009 | A1 |
20090059894 | Jackson et al. | Mar 2009 | A1 |
20090063502 | Coimbatore et al. | Mar 2009 | A1 |
20090074159 | Goldfarb et al. | Mar 2009 | A1 |
20090075684 | Cheng et al. | Mar 2009 | A1 |
20090083155 | Tudor et al. | Mar 2009 | A1 |
20090089165 | Sweeney | Apr 2009 | A1 |
20090089352 | Davis et al. | Apr 2009 | A1 |
20090089699 | Saha et al. | Apr 2009 | A1 |
20090093250 | Jackson et al. | Apr 2009 | A1 |
20090125608 | Werth et al. | May 2009 | A1 |
20090129573 | Gavan et al. | May 2009 | A1 |
20090136011 | Goel | May 2009 | A1 |
20090170496 | Bourque | Jul 2009 | A1 |
20090171659 | Pearce et al. | Jul 2009 | A1 |
20090171669 | Engelsma et al. | Jul 2009 | A1 |
20090171752 | Galvin et al. | Jul 2009 | A1 |
20090182896 | Patterson et al. | Jul 2009 | A1 |
20090217293 | Wolber et al. | Aug 2009 | A1 |
20090220057 | Waters | Sep 2009 | A1 |
20090221310 | Chen et al. | Sep 2009 | A1 |
20090222341 | Belwadi et al. | Sep 2009 | A1 |
20090225748 | Taylor | Sep 2009 | A1 |
20090225763 | Forsberg et al. | Sep 2009 | A1 |
20090232289 | Drucker et al. | Sep 2009 | A1 |
20090234965 | Viveganandhan et al. | Sep 2009 | A1 |
20090235349 | Lai et al. | Sep 2009 | A1 |
20090252159 | Lawson et al. | Oct 2009 | A1 |
20090276771 | Nickolov et al. | Nov 2009 | A1 |
20090288012 | Hertel et al. | Nov 2009 | A1 |
20090288165 | Qiu et al. | Nov 2009 | A1 |
20090300194 | Ogasawara | Dec 2009 | A1 |
20090316687 | Kruppa | Dec 2009 | A1 |
20090318112 | Vasten | Dec 2009 | A1 |
20100037204 | Lin et al. | Feb 2010 | A1 |
20100070424 | Monk | Mar 2010 | A1 |
20100082513 | Liu | Apr 2010 | A1 |
20100087215 | Gu et al. | Apr 2010 | A1 |
20100088187 | Courtney et al. | Apr 2010 | A1 |
20100088698 | Krishnamurthy | Apr 2010 | A1 |
20100115041 | Hawkins et al. | May 2010 | A1 |
20100142516 | Lawson et al. | Jun 2010 | A1 |
20100150139 | Lawson et al. | Jun 2010 | A1 |
20100167689 | Sepehri-Nik et al. | Jul 2010 | A1 |
20100188979 | Thubert et al. | Jul 2010 | A1 |
20100191915 | Spencer | Jul 2010 | A1 |
20100208881 | Kawamura | Aug 2010 | A1 |
20100217837 | Ansari et al. | Aug 2010 | A1 |
20100217982 | Brown et al. | Aug 2010 | A1 |
20100232594 | Lawson et al. | Sep 2010 | A1 |
20100235539 | Carter et al. | Sep 2010 | A1 |
20100251329 | Wei | Sep 2010 | A1 |
20100251340 | Martin | Sep 2010 | A1 |
20100281108 | Cohen | Nov 2010 | A1 |
20100291910 | Sanding | Nov 2010 | A1 |
20110029882 | Jaisinghani | Feb 2011 | A1 |
20110029981 | Jaisinghani | Feb 2011 | A1 |
20110053555 | Cai et al. | Mar 2011 | A1 |
20110078278 | Cui et al. | Mar 2011 | A1 |
20110081008 | Lawson et al. | Apr 2011 | A1 |
20110083179 | Lawson et al. | Apr 2011 | A1 |
20110093516 | Geng et al. | Apr 2011 | A1 |
20110096673 | Stevenson et al. | Apr 2011 | A1 |
20110110366 | Moore et al. | May 2011 | A1 |
20110131293 | Mori | Jun 2011 | A1 |
20110167172 | Roach et al. | Jul 2011 | A1 |
20110170505 | Rajasekar et al. | Jul 2011 | A1 |
20110176537 | Lawson et al. | Jul 2011 | A1 |
20110211679 | Mezhibovsky et al. | Sep 2011 | A1 |
20110251921 | Kassaei | Oct 2011 | A1 |
20110253693 | Lyons et al. | Oct 2011 | A1 |
20110255675 | Jasper et al. | Oct 2011 | A1 |
20110265168 | Lucovsky et al. | Oct 2011 | A1 |
20110265172 | Sharma et al. | Oct 2011 | A1 |
20110267985 | Wilkinson et al. | Nov 2011 | A1 |
20110274111 | Narasappa et al. | Nov 2011 | A1 |
20110276892 | Jensen-Horne et al. | Nov 2011 | A1 |
20110276951 | Jain | Nov 2011 | A1 |
20110280390 | Lawson et al. | Nov 2011 | A1 |
20110283259 | Lawson et al. | Nov 2011 | A1 |
20110289126 | Aikas et al. | Nov 2011 | A1 |
20110299672 | Chiu et al. | Dec 2011 | A1 |
20110310902 | Xu | Dec 2011 | A1 |
20110320449 | Gudlavenkatasiva | Dec 2011 | A1 |
20110320550 | Lawson et al. | Dec 2011 | A1 |
20120000903 | Baarman et al. | Jan 2012 | A1 |
20120011274 | Moreman | Jan 2012 | A1 |
20120017222 | May | Jan 2012 | A1 |
20120023544 | Li et al. | Jan 2012 | A1 |
20120028602 | Lisi et al. | Feb 2012 | A1 |
20120036574 | Heithcock et al. | Feb 2012 | A1 |
20120039202 | Song | Feb 2012 | A1 |
20120059709 | Lieberman et al. | Mar 2012 | A1 |
20120079066 | Li et al. | Mar 2012 | A1 |
20120083266 | VanSwol et al. | Apr 2012 | A1 |
20120089572 | Raichstein et al. | Apr 2012 | A1 |
20120094637 | Jeyaseelan et al. | Apr 2012 | A1 |
20120110564 | Ran et al. | May 2012 | A1 |
20120114112 | Rauschenberger et al. | May 2012 | A1 |
20120149404 | Beattie et al. | Jun 2012 | A1 |
20120170726 | Schwartz | Jul 2012 | A1 |
20120173610 | Bleau et al. | Jul 2012 | A1 |
20120174095 | Natchadalingam et al. | Jul 2012 | A1 |
20120179907 | Byrd et al. | Jul 2012 | A1 |
20120180021 | Byrd et al. | Jul 2012 | A1 |
20120180029 | Hill et al. | Jul 2012 | A1 |
20120198004 | Watte | Aug 2012 | A1 |
20120201238 | Lawson et al. | Aug 2012 | A1 |
20120208495 | Lawson et al. | Aug 2012 | A1 |
20120226579 | Ha et al. | Sep 2012 | A1 |
20120239757 | Firstenberg et al. | Sep 2012 | A1 |
20120254828 | Aiylam et al. | Oct 2012 | A1 |
20120281536 | Gell et al. | Nov 2012 | A1 |
20120288082 | Segall | Nov 2012 | A1 |
20120290706 | Lin et al. | Nov 2012 | A1 |
20120304245 | Lawson et al. | Nov 2012 | A1 |
20120304275 | Ji et al. | Nov 2012 | A1 |
20120316809 | Egolf | Dec 2012 | A1 |
20120321070 | Smith et al. | Dec 2012 | A1 |
20130029629 | Lindholm et al. | Jan 2013 | A1 |
20130031158 | Salsburg | Jan 2013 | A1 |
20130047232 | Tuchman et al. | Feb 2013 | A1 |
20130054684 | Brazier et al. | Feb 2013 | A1 |
20130058262 | Parreira | Mar 2013 | A1 |
20130067448 | Sannidhanam et al. | Mar 2013 | A1 |
20130097298 | Ting et al. | Apr 2013 | A1 |
20130156024 | Burg | Jun 2013 | A1 |
20130179942 | Caplis et al. | Jul 2013 | A1 |
20130201909 | Bosch et al. | Aug 2013 | A1 |
20130204786 | Mattes et al. | Aug 2013 | A1 |
20130212603 | Cooke et al. | Aug 2013 | A1 |
20130244632 | Spence et al. | Sep 2013 | A1 |
20140064467 | Lawson et al. | Mar 2014 | A1 |
20140105372 | Nowack et al. | Apr 2014 | A1 |
20140106704 | Cooke et al. | Apr 2014 | A1 |
20140123187 | Reisman | May 2014 | A1 |
20140129363 | Lorah et al. | May 2014 | A1 |
20140153565 | Lawson et al. | Jun 2014 | A1 |
20140185490 | Holm et al. | Jul 2014 | A1 |
20140254600 | Shibata et al. | Sep 2014 | A1 |
20140274086 | Boerjesson et al. | Sep 2014 | A1 |
20140282473 | Saraf et al. | Sep 2014 | A1 |
20140355600 | Lawson et al. | Dec 2014 | A1 |
20140379670 | Kuhr | Dec 2014 | A1 |
20150004932 | Kim et al. | Jan 2015 | A1 |
20150004933 | Kim et al. | Jan 2015 | A1 |
20150023251 | Giakoumelis et al. | Jan 2015 | A1 |
20150066865 | Yara et al. | Mar 2015 | A1 |
20150181631 | Lee et al. | Jun 2015 | A1 |
Number | Date | Country |
---|---|---|
1684587 | Mar 1971 | DE |
0282126 | Sep 1988 | EP |
1464418 | Oct 2004 | EP |
1522922 | Apr 2005 | EP |
1770586 | Apr 2007 | EP |
2134107 | Sep 1999 | ES |
10294788 | Apr 1998 | JP |
2004166000 | Jun 2004 | JP |
2004220118 | Aug 2004 | JP |
2006319914 | Nov 2006 | JP |
9732448 | Sep 1997 | WO |
02087804 | Nov 2002 | WO |
2006037492 | Apr 2006 | WO |
2009018489 | Feb 2009 | WO |
2009124223 | Oct 2009 | WO |
2010037064 | Apr 2010 | WO |
2010040010 | Apr 2010 | WO |
2010101935 | Sep 2010 | WO |
2011091085 | Jul 2011 | WO |
Entry |
---|
Complaint for Patent Infringement, Telinit Technologies, LLC v. Twilio Inc., dated Oct. 12, 2012. |
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax; T. Berners-Lee, R. Fielding, L. Masinter; Jan. 2005; The Internet Society. |
Kim et al. “In-service Feedback QoE Framework” 2010 Third International Conference on Communication Theory. Reliability and Quality of Service. pp. 135-138. 2010. |
Matos et al. “Quality of Experience-based Routing in Multi-Service Wireless Mesh Networks” Realizing Advanced Video Optimized Wireless Networks. IEEE. pp. 7060-7065. 2012. |
Tran et al. “User to User adaptive routing based on QoE” ICNS 2011: The Seventh International Conference on Networking and Services. pp. 170-177. 2011. |
Wu et al. “Quality Evaluation in Peer-to-Peer IPTV Services” Data Traffic and Monitoring Analysis, LNCS 7754. pp. 302-319. 2013. |
Number | Date | Country | |
---|---|---|---|
20130072160 A1 | Mar 2013 | US |
Number | Date | Country | |
---|---|---|---|
61537207 | Sep 2011 | US | |
61621867 | Apr 2012 | US |