System, method and computer readable medium for determining users of an internet service

- PERFTECH, INC.

An internet service provider (ISP) is configured to analyze data sent by a user to determine a subscriber account associated with the data and a user associated with the data. A database is then queried to determine the number of users of the subscriber account, with a number above a threshold indicating a likely theft of service. This automatic process is accompanied by automated messaging to the user with information as to the measures taken and remedial options. The messaging may be different dependent on whether the user is deemed to be an authorized user having subscriber account administration rights.

Skip to: Description  ·  Claims  ·  References Cited  · Patent History  ·  Patent History
Description
FIELD OF THE INVENTION

This disclosure relates to managing subscribers of an internet service provider (ISP) and in particular to determining the number of separate user browsing workstations utilizing a single subscriber's internet service. The disclosure has particular application for preventing theft of service from either the ISP and/or the subscriber but it is not intended that the disclosure be limited thereto.

BACKGROUND OF THE INVENTION

Most broadband Internet Service Providers, ISPs, supply access to their Internet access network through the use of a Cable modem, DSL modem, or Wireless modem. The majority of subscribers to these services typically utilize a router incorporating Network Address Translation (NAT) as a firewall and also as a means to permit multiple personal computers (PC)s in the residence to utilize simultaneous access to the Internet.

Many of the routers are wireless routers permitting residential PCs to access the Internet through either a wired or wireless (Wi-Fi) connection to the router.

The ISP can utilize existing network devices that can observe the activity occurring at the subscriber modem at the Internet Protocol (IP) level. However, according to Internet Protocol and the design of NAT routers, the activity observed at the modem appears to originate at a single IP device, the NAT router, and evidence of the number of real workstations that are active behind the NAT router, and even cascaded NAT routers, is hidden.

ISPs typically have Terms of Service and agreements in the contracts with the subscriber that prohibits the subscriber from extending the Internet access beyond the boundaries of the residential premises. However, inexpensive, off-the-shelf NAT routers can be interconnected and cascaded by simple wired and wireless connections in an arbitrary tree-and-branch topology that provides full, unhindered Internet access to all participants. This simple extensibility, the very high speeds now offered by ISPs, and the easily-hidden installation of the interconnections make it difficult to detect where service re-distribution is occurring. In addition, the widely used Wi-Fi wireless routers are frequently installed with the default configuration that provides free, unhindered access to all within the umbrella of the signal, often extending throughout an entire multi-tenant building or buildings. Problems with this situation include theft-of-service resulting in lost revenue to the ISP as well as dissatisfied subscribers whose performance is being compromised by unknown parasitic users causing support problems.

What is required, is a system, method and computer readable medium that is capable of determining the presence of multiple users on a single subscriber account.

SUMMARY OF THE INVENTION

In one embodiment of the disclosure, there is provided a method of determining a number of users on a subscriber account comprising receiving data; determining a subscriber account associated with said data; determining a user associated with said data; and associating said user with said subscriber account.

In one embodiment of the disclosure, there is provided a network comprising at least one internet service provider that provides an internet connection for one or more subscriber accounts; and at least one data processing system comprising at least one database; and at least one query engine that executes one or more queries on said at least one database; wherein said data processing system receives data received by said at least one internet service provider from said one or more subscriber accounts; wherein said query engine executes a first query on said at least one database to determine a subscriber account identity associated with said data; wherein said data processing system determines a user associated with said data; and wherein said data processing system associates said user with said subscriber identity in said at least one database.

In one embodiment of the disclosure, there is provided an internet service provider comprising at least one router; and a packet processing engine; wherein said at least one router routes one or more data packets received by said packet processing engine from a user; wherein said packet processing engine determines if said one or more data packets are associated with a subscriber account having a number of associated users above a threshold number of users; and wherein said internet service provider redirects a URL page request from said user if said one or more data packets are associated with a subscriber account having a number of associated users above said threshold number of users.

In one embodiment of the disclosure, there is provided a method of operating an internet service provider comprising receiving one or more URL page requests into the internet service provider from a subscriber account; determining a number of users associated with said subscriber account; and redirecting said URL page requests if said number of users is greater than a threshold number of users.

In one embodiment of the disclosure, there is provided a computer readable medium comprising instructions for receiving data from a subscriber account; determining a number of users associated with said subscriber account; performing a comparison of said number of users with a threshold; and taking an action with said data dependent on an outcome of said comparison.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described, by way of example only, with reference to specific embodiments and to the accompanying drawings in which:

FIG. 1 schematically illustrates a network in accordance with an embodiment of the disclosure;

FIG. 2 represents a method for determining a number of users associated with a subscriber account of an ISP;

FIG. 3 represents a method for redirecting URL page requests depending on a number of users of an ISP subscriber account;

FIG. 4 schematically illustrates providing a notification to a user;

FIG. 5 represents a processor executing an instruction set for determining an excess user condition;

FIG. 6 represents a network providing a plurality of workstations connected to a wireless router; and

FIG. 7 represents an alternative network configuration.

DETAILED DESCRIPTION OF THE INVENTION

In the Applicant's earlier patent applications, U.S. Ser. No. 10/023,674 and U.S. Ser. No. 10/623,893, the entire contents of which are explicitly incorporated herein by reference, the present Applicants described networks in which communications could be provided from an ISP to a subscriber of the ISP. In the referenced applications, a redirection device was placed in the path of upstream traffic from the subscriber. The redirection device, operating under the control of a consolidating and management device elsewhere in the network, processed upstream data packets to determine when targeted communications to the subscriber were required.

The present embodiments utilize many of the features and functionalities of the networks described in the Applicant's earlier patent applications referenced above. In FIG. 1, there is shown a system or network 10 in accordance with an embodiment of the disclosure. In the network 10, an ISP 12 provides a link between a subscriber device 14 and the internet 16. For the sake of clarity, in the following embodiments the subscriber device 14 will be referred to specifically as a personal computer, or PC. However, it will be readily understood by the person skilled in the art that the subscriber device 14 may be any internet enabled device such as a personal computer (PC), laptop, palm device, mobile telephone, gaming console and the like, and all such internet enabled devices are to be considered equivalent.

The network 10 includes at least one redirection device 21 that is placed at the path of upstream traffic 15 from the subscriber 14, either in the path or in a position to monitor the path. As described in the above referenced earlier applications, the redirection device 21 may be placed at many points within the network 10 and is preferably placed at an edge of the network that represents the last scaleable point in the operator's network. In one embodiment, the redirection device 21 is placed within the ISP 12. The term redirection device is used herein in order to provide consistency with the Applicant's earlier patent applications referenced above. The person skilled in the art will understand from the foregoing description that in the context of the present disclosure, the redirection device may not perform a redirection function in all embodiments.

The network 10 also includes a consolidating and management device 26, for example of the type as described in the Applicant's earlier applications referenced above. The consolidating and management device 26 is operatively associated with the redirection device 21 to form a data processing system, and more particularly a packet processing system, as will be described in greater detail below.

The ISP 12 includes a router or switch 22, a redirection device 21 as described above and an address provisioning database 23. The address provisioning database 23 stores associations between subscriber accounts of the ISP and IP addresses allocated to the subscribers. A second database 24 stores associations between subscriber accounts of the ISP and users of the subscriber accounts, as will be described below. The consolidating and management device 26 provides a query engine for accessing data from the databases 23, 24 in response to requests from the redirection device 21.

While two databases 23, 24 are illustrated and described herein for clarity, the person skilled in the art will readily understand that the two databases 23, 24 can be consolidated into a single database or that the two databases can be divided into a higher number of databases. For example, the databases 23, 24 may be consolidated with a database for storing an association between a subscriber and an electronic mail sending profile of the subscriber, as described in the Applicant's application Ser. No. 12/004,634, now issued U.S. Pat. No. 8,700,715, the entire contents of which are herein incorporated by reference. Alternatively or in addition, the databases 23, 24 may be consolidated with a database for storing an association between a subscriber and a shared secret as described in the Applicant's application Ser. No. 12/004,645, now issued U.S. Pat. No. 8,161,284, the entire contents of which are herein incorporated by reference.

Downstream traffic from the internet 16, indicated by path 28 is routed by the router 22 to the intended subscriber 14. Upstream traffic in the form of data packets 27 follow the path 15 from the subscriber 14 to be routed by the router 22 to the redirection device 21, thence back to the router 22 and onto the internet 16. In an alternative embodiment shown in FIG. 7, upstream traffic 15 passes directly through the Internet provider with the addition of a “mirror port” or “tap” allowing the redirector, 21, to monitor the upstream traffic.

The operation of the system 10 will now be described with reference to FIG. 1 and to the flowchart 100 illustrated in FIG. 2. At step 101, data is received from the subscriber 14 and a subscriber account associated with the data message is identified at step 102. The system then determines a user associated with the data message (step 103) and associates the user with the subscriber account (step 104).

In one embodiment, the method steps described above are performed within the ISP as illustrated in the flowchart 200 of FIG. 3. At step 201, data packets 27, such as URL page requests, originating at the subscriber are received in the ISP 12 and provided to the router 22. The router 22 passes selected packets to the redirection device 21 for processing. In one embodiment, the router passes packets derived from implanted cookies as will be described below.

The redirection device 21 first analyzes the data packet 27 to retrieve an IP address of the data packet 27. The redirection device 21 forwards the IP address to the consolidation and management device 26, which executes a first query on the address provisioning database 23 to retrieve a subscriber account identity associated with the IP address. The redirection device 21 then retrieves a user identity from the data packet 27 and logs an association between the user identity and the subscriber account in the database 24.

At the time of logging the user association, or at some other time, the consolidation and management device 26 executes a second query on the subscriber/user association database 24 to perform a count of the number of users associated with the subscriber account to determine if additional action is required (step 202). If the count is within allowable limits, then no additional action is required at the time of logging the user association, and the data packet is re-routed back to the router 22 where it continues to be processed by the ISP as usual. However, if the user count is outside allowable limits, then the ISP may take appropriate action, such as redirecting the URL page request (step 203).

The ISP 12 may be configured to take different actions based on the count of users. In one embodiment, a threshold number of users may be set, either by the ISP or by an authorized user of the subscriber account using a web based form when initializing the subscriber account. When a new user attempts to communicate with the ISP, the redirection device may determine that the addition of the new user to the subscriber account will exceed the allowed user threshold and thus the ISP may re-direct the new user to notification pages indicating an excess count of users. Other methods for automatically blocking network communications to the new user may be apparent to the person skilled in the art and are considered equivalent. Blocking access to an illegitimate user will prevent the user from illegally accessing the network, as desired. However, if the new user is a legitimate user, that user will takes steps to remedy the situation with the ISP, which may uncover other, illegitimate, users of the subscriber account.

In one embodiment, the consolidation and management device 26 may periodically execute a count query on the user association database 24. Whenever a count of users associated with a subscriber account exceeds an allowed threshold, a notification may be sent to an authorized user of the subscriber account indicating the count status and suggesting remedies to fix the problem. A message may be sent through any suitable medium such as by an e-mail to an e-mail address registered with the subscriber account.

In an alternative embodiment, a web-browser message may be sent to a user of a subscriber account using the techniques described in the Applicant's earlier applications referenced above. For example, with reference to FIG. 4, when a user association count exceeds an allowed threshold, a flag may be set in a policy database 38 that identifies the subscriber account as requiring notification of the count. When the redirection device 21 receives a web page request, the redirection device 21 processes the request to determine the IP address. The redirection device 21 then checks, via the consolidating and management device 26 whether a notification is pending for the current subscriber account associated with the IP address. If a notification is pending, the redirection device 21 provides to the subscriber an HTML redirection to destination server 39 that combines the destination URL in the page request and the URL for the message into a new page redirection for the subscriber's browser to fetch. In one embodiment, in addition to the requested page content 42, the new page 40 includes a banner 41 or similarly visible message that indicates to the user 14 that the subscriber account has an excess number of users. The banner message 41 may indicate a possible cause, such as an unencrypted wireless link, as well as a hyperlink 44 to a downloadable facility for remedying the problem. The downloadable facility and/or the banner message 41 may include a reset facility for resetting the user count on the subscriber account once the problem has been acknowledged and verified by an authorized user of the subscriber account. In one embodiment, the new page 40 may include an authentication code that verifies the authenticity of the count notification to the subscriber. In one embodiment, the authentication code may be a shared secret, for example as described in the Applicant's application Ser. No. 12/004,645, now issued U.S. Pat. No. 8,161,284, referenced above.

In one embodiment, the user identity is retrieved by first placing a hidden browser cookie incorporating a unique, logged, identifying number, possibly generated randomly and possibly other information such as time and date, with the user through the issuance of an associated bulletin message with no visibility to the user. Techniques for placing the cookie are described in the Applicant's earlier patent applications referenced above. Upon later browser activity, the cookie is retrieved to identify each separate browser. Data derived from the retrieved cookie can be used to uniquely identify the user as separate from other users detected at the account. The cookie may be placed and retrieved at varying intervals to optimize the accuracy of the count of users associated with a subscriber account or to observe the flux of continuously different transient users as may occur in an insecure Wi-Fi network accessible from a public area.

In one embodiment, the user identity may be derived from internet browser requests by observing and determining a user “fingerprint” of each browser on an account through the discrimination between host headers propagated by the users' browsers to any accessed internet site. This header includes identification of the users' operating system and version, browser and version, and the suite of plug-ins available within that browser configuration. The user fingerprint may be associated with the subscriber identity and stored in the database 24 or may be hashed in order to allow enumerating of separate users but to assure user privacy in the logs.

In one embodiment, the redirection device processes the data packets to determine a Media Access Control (MAC) address of the network-facing IP device on the account, most frequently a NAT router. The MAC addresses are assigned to manufacturers and most frequently can identify the likely vendor of a wireless router used on the account. Associating MAC addresses of the routers and other devices that interface with the ISP with the subscriber accounts can aid in identifying where theft of service is occurring, as these devices are typically fixed for a particular subscriber account.

The consolidation and management device 26 may periodically execute a query on the database that determines the most recent activity of the users associated with the subscriber account. If an associated user has not had any activity within a predetermined timeframe, for example one month, then the consolidating and management device 26 updates the database 24 by removing the inactive user, thereby reducing the count of users associated with the subscriber account. In one embodiment, the inactive user is only removed from the count, for example by resetting an ACTIVE status flag, rather than deleting the user from the subscriber account, so that any user fingerprint is maintained on the database and can be reestablished if that user again becomes active. The indication of a continual flux of new users with others becoming inactive can indicate an instance of a publically-available Wi-Fi associated with the account even though the absolute count at any point in time may not be very high.

The user association database may indicate one or more users of a subscriber account as authorized users. For example, a default authorized user fingerprint may be derived from a user that first registers the subscriber account with the ISP. The registering user is the most likely authentic user. Other authorized users may be nominated, for example through a web based form. An authorized user may be a user with subscriber account administration rights and is therefore authorized to undertake remedial actions. In one embodiment, the display of the notification may require the provision of a shared secret, for example as described in the Applicant's application Ser. No. 12/004,645, now issued U.S. Pat. No. 8,161,284, referenced above. The requirement for a shared secret ensures that warning notifications are only provided to authorized users of the subscriber account.

In one embodiment depicted in FIG. 5, the ISP 12 includes at least one processor 51 operatively associated with at least one memory 52. The memory 52 stores an instruction set 500 executable on the processor 51. Executing the instructions causes the processor 51 to receive data from a subscriber account (501). The processor 51 then determines a number of users associated with the subscriber account (502) and compares the number of users with a threshold (503). The processor 51 then determines an action to be taken depending upon an outcome of the comparison (504). In one embodiment, the action taken may be any of the actions described previously.

In FIG. 6, there is illustrated a network 70 in which a premises 60 includes four workstations 61, 62, 63, 64 connected to the ISP 12 via a wireless router 65. Of the four workstations, workstation 61 is considered to relate to an authorized user of the subscriber account. An additional workstation 66 is outside of the premises 60 but within the network coverage provided by the router 65. In an example of the systems described above, an allowed threshold of four users may be associated with the subscriber account. When the fifth user at unauthorized workstation 66 connects to the ISP 12 through the wireless router 65, redirection device 21 associates the fifth user with the subscriber account in the database 24 and determines that the allowed threshold is exceeded. The user's requested web pages may include a notification that the allowed user count has been exceeded or a request to contact the Internet Provider may be preferable to protect the privacy of the account holder. Other users 62, 63, 64 will also received similar notifications and redirections when URL page requests are made. The notifications and redirections will continue, either with every page request or periodically, until action to remedy the high user count is taken and the count is reset. In addition, when workstation 61 connects to the ISP, web page requests are interpreted by the user association database 24 as originating from the authorized user of the subscriber account and thus the web page requests are redirected to incorporate a link to downloadable remedial and count reset facility.

The presently described embodiments demonstrate mechanisms that automate the identification of likely accounts where intended or unintended theft of service is occurring and provides remedial actions through automated communications to the identified subscriber workstations. The communication can continue to encourage the subscriber to “lock down” their wireless network with authentication passwords and encryption by means of simple instructions or even a “click-to-fix” link to a downloadable automated facility that will do it for them. The communications can also dissuade intentional theft of service by providing a display of a message that demonstrates that the ISP is aware of the large number of users on the account.

An advantage of the embodiments herein described include that subscriber account violations can be rapidly detected using network devices that are relatively simple to install within the ISP and do not require all network traffic to pass through them. In particular, the redirection device 21 requires only read-only access to the data packets that it processes both for enumerating the number of users as well as communicating back to the users that there is a problem. A further advantage is that the embodiments may be implemented without updates being required to subscriber hardware or software and thus are instantly applicable across all subscribers to the ISP.

While one redirection device is shown within the ISP, the person skilled in the art will readily understand that any number of redirections devices may be provided for processing upstream data packets. In particular, separate redirection devices may be provided for separate channels within the ISP. Typically, a single consolidating and management device can be used to manage a plurality of redirections devices and to execute the queries to the databases. However, the person skilled in the art will readily understand that a plurality of consolidating and management devices may be employed.

While a single ISP has been described and illustrated, the person skilled in the art will readily understand that a plurality of ISPs may be provided that utilize a common data processing system or that each have an associated data processing system as described above.

Although embodiments of the present invention have been illustrated in the accompanied drawings and described in the foregoing description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. For example, the capabilities of the invention can be performed fully and/or partially by one or more of the blocks, modules, processors or memories. Also, these capabilities may be performed in the current manner or in a distributed manner and on, or via, any device able to provide and/or receive information. Further, although depicted in a particular manner, various modules or blocks may be repositioned without departing from the scope of the current invention. Still further, although depicted in a particular manner, a greater or lesser number of modules and connections can be utilized with the present invention in order to accomplish the present invention, to provide additional known features to the present invention, and/or to make the present invention more efficient. Also, the information sent between various modules can be sent between the modules via at least one of a data network, the Internet, an Internet Protocol network, a wireless source, and a wired source and via plurality of protocols.

Claims

1. A method, comprising:

identifying that a subscriber account related to a URL page request from a user has a number of current users above a threshold number; and
identifying whether the new user is an authorized user,
where, if the user is identified as an authorized user, then the method further comprises redirecting the URL page request to a notification page that enables the authorized user to take an action to correct the number of current users being above the threshold number, and
where, if the user is identified as not an authorized user, then the method further comprises redirecting the URL page request to a notification page that does not enable the unauthorized user to take an action.

2. The method according to claim 1, wherein the identifying the subscriber account further comprises:

identifying an IP address provided in the URL page request; and
retrieving the subscriber account from a database using the IP address.

3. The method according to claim 1, further comprising:

associating the user with the subscriber account by storing an association between the user and the subscriber account in a database.

4. The method according to claim 1, further comprising:

identifying the user based on header information transmitted from an internet browser, the header information comprising at least one of: an identification of an operating system and a version of the operating system used by the user or a browser and a version of the browser used by the user.

5. The method according to claim 4, wherein the header information further comprises a suite of plug-ins available within a browser configuration of the user.

6. The method according to claim 1, wherein the notification page that enables the authorized user to take an action comprises a hyperlink to a downloadable remedial facility.

7. The method according to claim 1, wherein the notification page that enables the authorized user to take an action comprises a hyperlink to a count reset facility that resets the number of users associated with the subscriber account.

8. The method according to claim 1, further comprising:

storing a fingerprint of the user a database.

9. The method according to claim 1, further comprising:

identifying the user associated with the URL page request by processing cookie data derived from a cookie of a web browser of the user.

10. A system, comprising:

a hardware-implemented processor that, when executing instructions stored in a memory, is configured to: identify that a subscriber account related to a URL page request from a user has a number of current users above a threshold number; and identify whether the new user is an authorized user; where, if the user is identified as an authorized user, then the processor is further configured to redirect the URL page request to a notification page that enables the authorized user to take an action to correct the number of current users being above the threshold number, and where, if the user is identified as not an authorized user, then the method further comprises redirecting the URL page request to a notification page that does not enable the unauthorized user to take an action.

11. The system of claim 10, wherein the processor is further configured to:

identify the user based on header information transmitted from an internet browser, the header information comprising at least one of: an identification of an operating system and a version of the operating system used by the user, a browser and a version of the browser used by the user, or a suite of plug-ins available within a browser configuration of the user.

12. A system, comprising:

a router apparatus; and
a packet processing engine,
wherein the router routes data packets received by an internet service provider from a user device operating an internet browser to the packet processing engine,
wherein, in response to an identification that a number of current users of a subscriber account is above a threshold number, the packet processing engine redirects a URL page request from a user to a notification page that indicates that the number of current users is above the threshold number,
wherein, if the user is identified as an authorized user, then the packet processing engine redirects the URL page request to a notification page that enables the authorized user to take an action to correct the number of current users being above the threshold number, and
wherein, if the user is identified as not an authorized user, then the packet processing engine redirects the URL page request to a notification page that does not enable the unauthorized user to take an action.

13. The system according to claim 12, wherein the router routes data packets derived from a cookie of a browser of the user to the packet processing engine, wherein the data packets derived from the cookie uniquely identify a user.

14. The system according to claim 12, further comprising,

a query engine.

15. The system according to claim 14, wherein the packet processing engine retrieves an IP address provided in the data packets.

16. The system according to claim 15, wherein the packet processing engine utilizes the query engine to retrieve a subscriber identity associated with the IP address from the database.

17. The system according to claim 16, wherein the packet processing engine utilizes the query engine to retrieve the current number of users associated with the subscriber identity from the database.

18. The system according to claim 17, wherein the packet processing engine compares the number of current users with the threshold number.

19. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor cause the processor to perform:

identifying that a subscriber account related to a URL page request from a user has a number of current users above a threshold number; and
identifying whether the new user is an authorized user,
where, if the user is identified as an authorized user, then the method further comprises redirecting the URL page request to a notification page that enables the authorized user to take an action to correct the number of current users being above the threshold number, and
where, if the user is identified as not an authorized user, then the method further comprises redirecting the URL page request to a notification page that does not enable the unauthorized user to take an action.

20. The non-transitory computer-readable storage medium of claim 19, wherein the instructions further cause the processor to perform:

identifying the user based on header information transmitted from an internet browser, the header information comprising at least one of: an identification of an operating system and a version of the operating system used by the user, a browser and a version of the browser used by the user, or a suite of plug-ins available within a browser configuration of the user.
Referenced Cited
U.S. Patent Documents
5687212 November 11, 1997 Kinser, Jr. et al.
5920846 July 6, 1999 Storch et al.
5978373 November 2, 1999 Hoff et al.
6029150 February 22, 2000 Kravitz
6119167 September 12, 2000 Boyle et al.
6133912 October 17, 2000 Montero
6233428 May 15, 2001 Fryer
6321267 November 20, 2001 Donaldson
6337899 January 8, 2002 Alcendor et al.
6377944 April 23, 2002 Busey et al.
6487538 November 26, 2002 Gupta et al.
6516203 February 4, 2003 Enzmann et al.
6584492 June 24, 2003 Cezar et al.
6584505 June 24, 2003 Howard et al.
6615238 September 2, 2003 Melet et al.
6643360 November 4, 2003 Reine
7069309 June 27, 2006 Dodrill et al.
7130895 October 31, 2006 Zintel et al.
7222157 May 22, 2007 Sutton, Jr. et al.
7266821 September 4, 2007 Polizzi et al.
7325192 January 29, 2008 Bialek et al.
7526730 April 28, 2009 Cahill
7533246 May 12, 2009 Taylor
7607570 October 27, 2009 Constantine
8428604 April 23, 2013 Davies et al.
8819111 August 26, 2014 Langer
8881233 November 4, 2014 Chrysanthakopoulos et al.
8903903 December 2, 2014 Benedyk et al.
8965999 February 24, 2015 O'Neil et al.
9104886 August 11, 2015 Dolbakian et al.
9451422 September 20, 2016 Huotari et al.
9614686 April 4, 2017 Ramsdell et al.
20010037464 November 1, 2001 Persels et al.
20010047355 November 29, 2001 Anwar
20010054064 December 20, 2001 Kannan
20020012433 January 31, 2002 Haverinen et al.
20020026352 February 28, 2002 Murata
20020032602 March 14, 2002 Anzillo et al.
20020035622 March 21, 2002 Barber
20020057285 May 16, 2002 Nicholas
20020073088 June 13, 2002 Beckmann et al.
20020078007 June 20, 2002 Herrero
20020111888 August 15, 2002 Stanley et al.
20020120697 August 29, 2002 Generous et al.
20020138582 September 26, 2002 Chandra et al.
20020147608 October 10, 2002 Carpenter
20020165849 November 7, 2002 Singh et al.
20020165967 November 7, 2002 Morgan
20020169623 November 14, 2002 Call et al.
20020169670 November 14, 2002 Barsade et al.
20020169760 November 14, 2002 Cheung et al.
20020169953 November 14, 2002 Moharram et al.
20020181694 December 5, 2002 Mani
20020191010 December 19, 2002 Britten et al.
20020191548 December 19, 2002 Ylonen et al.
20030021393 January 30, 2003 Caharel et al.
20030023736 January 30, 2003 Abkemeier
20030046376 March 6, 2003 Yen et al.
20030048909 March 13, 2003 MacKenzie et al.
20030074397 April 17, 2003 Morin et al.
20030140107 July 24, 2003 Rezvani et al.
20030172090 September 11, 2003 Asunmaa et al.
20030182371 September 25, 2003 Worthen
20030188017 October 2, 2003 Nomura
20030220978 November 27, 2003 Rhodes
20040003071 January 1, 2004 Mathew et al.
20040003072 January 1, 2004 Mathew et al.
20040024823 February 5, 2004 Monte
20040030784 February 12, 2004 Abdulhayoglu
20040043810 March 4, 2004 Perlin et al.
20040071164 April 15, 2004 Baum
20040086094 May 6, 2004 Bosik et al.
20040088235 May 6, 2004 Ziekle et al.
20040098449 May 20, 2004 Bar-Lavi et al.
20040103088 May 27, 2004 Cragun et al.
20040107261 June 3, 2004 Donzis et al.
20040117358 June 17, 2004 Kaenel et al.
20040122730 June 24, 2004 Tucciarone et al.
20040122735 June 24, 2004 Meshkin
20040139011 July 15, 2004 Kozee et al.
20040143546 July 22, 2004 Wood et al.
20040157654 August 12, 2004 Kataoka et al.
20050027594 February 3, 2005 Yasnovsky et al.
20050027631 February 3, 2005 McAtee
20050058260 March 17, 2005 Lasensky et al.
20050081041 April 14, 2005 Hwang
20050097032 May 5, 2005 Benco et al.
20050120085 June 2, 2005 Ito et al.
20050160038 July 21, 2005 Albornoz
20050171844 August 4, 2005 Ferber et al.
20050177515 August 11, 2005 Kalavade et al.
20050207447 September 22, 2005 Sekiguchi et al.
20050210116 September 22, 2005 Samson
20050216701 September 29, 2005 Taylor
20050223199 October 6, 2005 Grochowski et al.
20050268237 December 1, 2005 Crane et al.
20050276272 December 15, 2005 Arai
20060015405 January 19, 2006 Bala et al.
20060015942 January 19, 2006 Judge et al.
20060020812 January 26, 2006 Steinberg et al.
20060026067 February 2, 2006 Nicholas et al.
20060026552 February 2, 2006 Mazzitelli et al.
20060031436 February 9, 2006 Sakata et al.
20060067498 March 30, 2006 Plas et al.
20060100912 May 11, 2006 Kumar et al.
20060101432 May 11, 2006 Simons et al.
20060109827 May 25, 2006 Zhang
20060111955 May 25, 2006 Winter et al.
20060112398 May 25, 2006 Mukkamala et al.
20060140200 June 29, 2006 Black et al.
20060143307 June 29, 2006 Codignotto
20060174028 August 3, 2006 Zhu
20060190354 August 24, 2006 Meisel et al.
20060190568 August 24, 2006 Patterson
20060198311 September 7, 2006 Molen et al.
20060206834 September 14, 2006 Fisher et al.
20060227761 October 12, 2006 Scott et al.
20060235960 October 19, 2006 Lai et al.
20060238380 October 26, 2006 Kimchi et al.
20060256814 November 16, 2006 Caci
20060282328 December 14, 2006 Gerace et al.
20070047449 March 1, 2007 Berger et al.
20070204033 August 30, 2007 Bookbinder et al.
20070210908 September 13, 2007 Putterman et al.
20070271498 November 22, 2007 Schachter
20070271547 November 22, 2007 Gulko et al.
20070298886 December 27, 2007 Aguilar et al.
20080082686 April 3, 2008 Schmidt et al.
20080242324 October 2, 2008 Smuga et al.
20090222654 September 3, 2009 Hum et al.
20110113410 May 12, 2011 Loen
20120311676 December 6, 2012 Ibasco et al.
20130080777 March 28, 2013 Martell et al.
20130110943 May 2, 2013 Menon et al.
20140143521 May 22, 2014 Doing et al.
20140173623 June 19, 2014 Chang et al.
20160154649 June 2, 2016 Lin et al.
Foreign Patent Documents
2002149546 May 2002 JP
2002183092 June 2002 JP
2004220254 August 2004 JP
2002034685 May 2002 KR
20030033432 May 2003 KR
20030040220 May 2003 KR
20040063423 July 2004 KR
2004059420 July 2004 WO
Other references
  • Clark et al., Processor Acceleration Through Automated Instruction Set Customization, IEEE, 2003, retrieved online on May 14, 2018, pp. 1-12. Retrieved from the Internet: . (Year: 2003).
  • Qin et al., A Multiprocessing Approach to Accelerate Retargetable and Portable Dynamic-compiled Instruction-set Simulation, ACM, 2006, retrieved online on Sep. 15, 2019, pp. 193-198. Retrieved from the Internet: . (Year: 2006).
Patent History
Patent number: 11956251
Type: Grant
Filed: Jan 24, 2023
Date of Patent: Apr 9, 2024
Patent Publication Number: 20230171265
Assignee: PERFTECH, INC. (San Antonio, TX)
Inventors: Jonathan E. Schmidt (San Antonio, TX), John A. Murphy (San Antonio, TX), Henry M. Donzis (San Antonio, TX), Lewis T. Donzis (San Antonio, TX), Peter W. Baron (San Antonio, TX), Rodney D. Frey (San Antonio, TX)
Primary Examiner: Thomas J Dailey
Application Number: 18/159,065
Classifications
International Classification: H04L 9/40 (20220101); G06F 16/955 (20190101); H04L 51/212 (20220101); H04L 51/224 (20220101); H04L 67/306 (20220101); H04L 67/50 (20220101); H04L 67/54 (20220101);