SYSTEM AND PROCESS FOR LIMITING DISTRIBUTION OF INFORMATION ON A COMMUNICATION NETWORK BASED ON GEOGRAPHIC LOCATION

Abstract: A communication system includes a plurality of recipient processors (14, 15, 16) located at geographically remote locations with respect to each other and connected for communication with an information provider processor (12), over the communications network. The provider (12) and recipient processors (14, 15, 16) may comprise respective computers coupled for communication on the Internet or WWW. The provider processor is capable of providing information from any suitable source, by communicating such information over a communications network. However, access to the information by the recipient processors is controlled, based on the geographic location or region of the recipient processors. Each recipient processor is operably associated with a positioning system for providing geographic location information corresponding to the location or region in which the positioning system is located, such as a global positioning system GPS (20, 21, 22). The geographic position information is used to determine whether or not the processor requesting the information is within a restricted or non-restricted region.

Description: SYSTEM AND PROCESS FOR LIMITING DISTRIBUTION OF INFORMATION ON A COMMUNICATION NETWORK BASED ON GEOGRAPHIC LOCATION by Greg A. Piccionelli and Ted R. Rittmaster Field of the Invention The present invention relates, generally, to a system, process and article of manufacture for limiting the distribution of information on a communications network based on geographic location and, in preferred embodiments, to such a system, process and article for limiting distribution of information on the Internet or World Wide Web, based on the geographic location of the Internet or Web user requesting the information, based on geographic location information generated by a satellite-signal positioning system. Background of the Invention The Internet and World Wide Web (WWW) have opened vast new- global marketplaces and opportunities for companies, organizations, institutions and individuals to distribute and obtain information and to interact verbally and visually with others, virtually on a world-wide basis. By employing the Internet and WWW, companies and groups of all sizes and individuals may have, in effect, a world-wide market in which to distribute information, products and services through the Internet or WWW (including, but not limited to, programs, movies, photographs, and other information that can be transmitted over the Internet or WWW). However, such a geographically expansive marketplace can be problematic for providers of some products and services. Consider, for example, a company or individual involved in the business of selling a product or service, but which is constrained under statute or contract to a limited geographic sales region. In one representative example, a software company contracts with various software distribution companies to sell its software in specified sales regions, wherein each distributor is provided a sales region and, under the terms of the contract, is not allowed to sell the software outside of the region. A distribution company may desire to employ the Internet or WWW as a distribution channel, but would need to limit sales (and access to the distributed software) to only those Internet users (customers) that are located within the region assigned to that company. As another example, consider a company or individual in the business of providing a lottery or other game in which a fee is required to play and the player is provided with a chance to win money or prizes. Under many legal jurisdictions (which can also be defined in terms of geographic areas), such lotteries and games may be illegal or otherwise limited by gambling statutes, rules or regulations. Again, the company or individual may desire to offer the lottery or game service over the Internet or WWW, but also avoid potential legal liability for offering such services to Internet users that are located in a geographic region of an adverse legal jurisdiction. As yet another example, consider a company, organization or individual involved in distributing information having a content that is politically or ethically sensitive in certain geographic regions, but not other geographic regions. Again, the company, organization or individual may desire to provide the information over the Internet but, for political, ethical or legal reasons, may also desire to limit the accessibility to the information to certain geographic regions. Thus, in a number of contexts, there is a need in the industry for a system by which a provider of a service or product on the Internet may readily limit access to the product or service, based on the geographic region in which the user requesting the product or service is located.. Summary of the Disclosure Embodiments of the present invention relate to a system, process and article of manufacture for limiting the distribution of information on a communications network based on geographic location. In preferred embodiments, the invention relates to such a system, process and article for limiting distribution of information on the Internet and World Wide Web (WWW), based on the geographic location of the Internet user requesting the information. A system according to a general embodiment of the present invention includes at least one information provider processor which is coupled to a plurality of recipient processors on a communications network. The recipient processors are located at geographically remote locations with respect to each other and connected for intercommunication with the provider processor, over the communications network. In preferred embodiments, the provider and recipient processors comprise respective computers coupled for communication on the Internet. The provider processor is capable of providing information from any suitable source, by communicating such information over a communications network. However, access to the information by the recipient processors is controlled, based on the geographic location or region of the recipient processors. Each recipient processor operates with an associated a means for providing a position signal. Various embodiments of the invention may employ any suitable means which provides a computer readable signal that corresponds to the position, or geographic location, of the recipient processors, including, but not limited to, devices for generating pre-recorded geographic information and user-operated input devices. However, in preferred embodiments, the geographic location information is generated by a means which calculates the location from information received at the location from satellite signals, such as a global positioning system GPS. The geographic position information is used to determine whether or not the processor requesting the information is within a restricted (or limited) or non-restricted region. This determination may be made by any suitable procedure, including, but not limited to, comparing the geographic information provided by the recipient processor and positioning system with a list of non- restricted or non-limited (or restricted) geographic locations or regions. Thus, according to some embodiments, information may be provided or not provided (access to the information may be allowed or denied) dependent on the geographic information provided by the recipient processor, such that, if a recipient processor provides geographic information corresponding to a restricted geographic location or region, then the provider processor will be controlled to not provide selective information to the recipient processor. On the other hand, if a recipient processor provides geographic information corresponding to a non-restricted geographic location or region, then the provider processor is controlled to provide the selective information to the recipient computer. In further embodiments, a set of rules may be implemented, depending upon the geographic information (and, thus, the geographic location or region) such that various restrictions or limitations may be implemented for various geographic locations or regions. Thus, if a recipient processor provides geographic information corresponding to a first geographic location or region, then the provider processor may be controlled to not provide selective information to the recipient processor, unless further criteria is met. For example, such further criteria may include, but is not limited to, a minimum user age, a particular period of the day, week, month or year, or other suitable criteria. Other geographic locations or regions may be associated with similar or other limitations or restrictions to the access of information from the provider processor. In this manner, the distribution of information on a communications network may be controlled, based on geographic location of the recipient of the information. Brief Description of the Drawings A brief description of preferred embodiments of the invention will be made with reference to the accompanying drawings, wherein: Fig. 1 is a generalized schematic view of a system according to an embodiment of the present invention. Fig. 2 is a flow chart representing a process carried out by the system of Fig. 1, according to an embodiment of the present invention. Fig. 3a is a block diagram representing a communication packet provided by a user computer of the system shown in Fig. 1, according to an embodiment of the present invention. Fig. 3b is a block diagram representing communication packets provided by a user computer and the provider computer of the system shown in Fig. 1, according to a further embodiment of the present invention. Fig. 4 is a flow chart representing an example embodiment of a process carried out by a user computer of the system shown in Fig. 1. Fig. 5 is a flow chart representing an example embodiment of a process carried out by the provider computer of the system shown in Fig. 1. Detailed Description of the Preferred Embodiments The following detailed description is of the best presently contemplated mode of carrying out the invention. This description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of the invention. The scope of the invention is best defined by the appended claims. As summarized above, the present invention relates, generally, to a system, process and article of manufacture for limiting the distribution of information on a communications network based on geographic location and, in preferred embodiments, to such a system, process and article for limiting distribution of information on the Internet or WWW, based on the geographic location of the Internet user requesting the information. Fig. 1 represents a general embodiment and can also represent a specific Internet embodiment of the present invention, as described below. With reference to Fig., 1, a system 10 is shown according to a general embodiment of the present invention, wherein an information providing processor (provider processor 12) is coupled for communication to a plurality of recipient processors 14 - 16 located at mutually different geographic locations with respect to each other, by a communications network 18. The processors may comprise any suitable data processing and communicating device controlled, preferably by a software program, to operate as described below. The communications network may comprise any suitable means which allows the recipient processors and the provider processor to communicate with each other, including, but not limited to, the Internet or WWW, intranet, cable or other hard-wired networks, optical, electromagnetic or other wireless networks, as well as hybrids thereof, or the like. The provider processor 12 is capable of providing information from any suitable source (including, but not limited to an on-line source or a computer readable storage medium such as a hard or floppy disk, random access memory RAM, read only memory ROM, compact disk (CD), other optical storage disk, such as a DVD, or the like), by communicating such information over a communications network 18. Such information may include, but is not limited to, data, text or image information, for example, having different market, legal, political, social, ethical or moral implications in different geographic regions. However, access to the information by the recipient processors 14 - 16 is controlled, based on the geographic location or region of the recipient processors. Each recipient processor 14 - 16 operates with an associated means 20 - 22 for providing a position signal. Various embodiments of the invention may employ any suitable means which provides a computer readable signal corresponding to the position, or geographic location or region, of the recipient processors, including, but not limited to, devices for generating pre-recorded geographic information, or user-operated input devices operated by a user to input information corresponding to a geographic location or region (for example, a keyboard, touch-screen, microphone, display icons that are selected by positioning a mouse curser and clicking the mouse, or the like). However, in preferred embodiments, the geographic location information is generated by a means which calculates the location from information received at the location from satellite signals, such as a global positioning system GPS. The geographic position information is used to determine whether or not the processor requesting the information is within a restricted (or limited) or non-restricted region. This determination may be made by any suitable procedure, including, but not limited to, comparing the geographic information provided by the recipient processor and positioning system with a list of non- restricted or non-limited (or restricted) geographic locations or regions. Thus, according to some embodiments, information may be provided or not provided (that is, access to the information may be allowed or denied) dependent on the geographic information provided by the recipient processor, such that, if a recipient processor provides geographic information corresponding to a restricted geographic location or region, then the provider processor will be controlled to not provide selective information to the recipient processor. On the other hand, if a recipient processor provides geographic information corresponding to a non-restricted geographic location or region, then the provider processor is controlled to provide the selective information to the recipient computer. In further embodiments, a set of rules may be implemented, which depend upon the geographic information (and, thus, the geographic location or region, such that various restrictions or limitations may be implemented for various geographic locations or regions. Thus, if a recipient processor provides geographic information corresponding to a first geographic location or region, then the provider processor may be controlled to not provide selective information to the recipient processor, unless further requirements are met. Other geographic locations or regions may be associated with similar or other requirements, limitations or restrictions to the access of information from the provider processor. While embodiments of the invention may be applicable in a variety of network contexts, in which a network of processors in mutually different geographic locations are coupled through a communications network to a provider processor, preferred embodiments relate to Internet or WWW contexts, in which a provider computer and a plurality of user computers are coupled for communication, through the Internet. For example, Fig. 1 may be considered a generalized representation of an Internet or WWW embodiment, wherein the provider server 12 comprises an Internet product or service provider computer or server (hereinafter referred to as the provider server) coupled for communication, through the Internet 18, to a plurality of user computers. The plurality of user computers includes a first user computer 14 at a location within a first geographic region X and a second user computer 15 at a location within a second geographic region Y, remote from the first region X. Any suitable number of user computers at mutually different geographic locations and/or regions may be connected through the Internet 18, as represented by the Nth user computer 22. The user computers may be coupled in communication with the provider server 12 simultaneously or during mutually different periods of time. The user computers 14-16 and provider computer (or server) 12 may each comprise any suitable computer device having means for interfacing with and communicating on a communications network and for operating, preferably under the control of software programs, in the manner described below. Such computers and communication interfacing is well known in the art and is not described in further detail herein for purposes of simplifying the present disclosure. Each user computer 14 - 16 is operatively coupled to an associated means 20 - 22 for providing a position signal to its associated user computer, indicative of the location or region in which the means is located. As discussed above, in some embodiments, such means may include a user input device associated with a given user computer 14 - 16 (including, but not limited to a keyboard, touch-screen, microphone, display icons that are selected by positioning a mouse cursor and clicking the mouse, or the like) which is operated by the user to input information associated with the user's location or region. For example, such information might include, but is not limited to, the user's zip code, street address, city, state, country, or the like. Alternatively, the means for providing position information may comprise a computer-readable storage media (including, but not limited to, a hard disk, floppy disk, optical or magneto-optical disk, or the like) on which position information is pre-stored and selectively retrieved by or provided to its associated user computer. In a further alternative embodiment, the means for providing position information comprises a user input device, such as described above, for allowing a user to input a code (such as an alphanumeric string) that includes the user's geographic location in an encrypted (or otherwise hidden) format. For example, the provider of a product or service on the network (e.g., Internet) may issue authorized users such a code, based on the geographic location of the user. More preferably, the user will also be issued a user identification number specific to the user (such as, but not limited to, a number associated with the user's network address or the user's computer, such as a computer serial number or other number typically issued to and stored in computers by computer manufacturers), wherein the identification number and the geographic location information of the user may be encrypted together in a user code. The product or service provider may issue and communicate such a code to a user, for example, over the telephone, postal mail, electronic mail (e- mail), or the like, upon the user requesting such a code and further upon the provider verifying the user's geographic location. Verification of geographic location may be accomplished by any suitable process, including, but not limited to looking up the user's mailing address, or requiring the user to submit evidence. In such an embodiment, the means for providing position information communicates the code (user location information encrypted code or a combined user id and user location encrypted code) to the provider server. The provider server includes further means (for example, a suitable program for controlling the server processor) for decrypting the encrypted code and deriving the user id and/or user location information therefrom. The provider server further includes means (for example, a suitable program for controlling the server processor) for comparing the decrypted information with, for example, entries in a table of authorized users and/or geographic locations therefor, stored in a persistent memory associated (or accessible) by the provider server. If the decrypted information does not match an entry for an authorized user (for example, an authorized user's id code, network address or computer information) and/or does not match the entry in the table for that user's verified geographic location, then the provider server will be controlled (by the software program) to deny access to the product or service. On the other hand, if the decrypted information does match an entry for an authorized user and its associated geographic location, then the user will be allowed access to the product or service. However, in preferred embodiments, the means 20 - 22 associated with each user computer 14 - 16, for providing position information to its associated user computer, comprises a means which is capable of generating position information from signals and/or information obtained by the means in its location environment, including, but not limited to satellite signals received in its location environment. In preferred embodiments, each position information providing means comprises a satellite-signal positioning system, for example, a Global Positioning System GPS 20 -22. More specifically, each positioning system 20 - 22 includes a receiver which receives satellite signals from one or more satellites 24 in orbit about the Earth and processes information derived from those signals to produce further information regarding the geographic location of the positioning system. Therefore, the positioning system 20 produces information regarding its geographic location. Similarly, the positioning system 22 produces information regarding its geographic location, which is different than that of positioning system 20. In accordance with modern GPS technology, such geographic information may, for example, correspond to a pre-established global coordinate system such as, but not limited to, Latitude and Longitude (Lat/Long), Universal Transverse Mercator (UTM), Ordinance Survey of Great Britain (OSGB), Universal Polar Stereographic (UPS), Thomas Brother's Page and Grid™, Trimble Atlas™, or the like. In preferred embodiments, the positioning systems 20 - 22 are coupled in close proximity to their respective associated computer 14 - 16 (or at least to a video monitor coupled to the associated computer), such that each positioning system and its respective associated computer (or computer monitor) are located in the same geographic region. Thus, in Fig. 1, the positioning system 20 is at a location within the same geographic region X as computer 14. Similarly, the positioning system 21 is at a location within the same geographic region Y as computer 15. In preferred embodiments, the positioning systems are internal positioning systems, in that they are incorporated within the same housing that also contains their respective associated computer, as shown with respect to positioning system 20 and computer 14. In other preferred embodiments, the positioning systems are located in a housing external to the associated computer's housing, but still within the proximity of the associated computer's housing (or monitor), as shown with respect to positioning system 21 and computer 15. Further preferred embodiments may employ one or more computers with internal positioning systems and one or more computers with external positioning systems, as shown in Fig. 1. Because of the close proximity of each positioning system to its associated computer (or computer monitor), a given positioning system will produce location information that corresponds to the geographic location of its associated computer (or computer monitor), or at least to a geographic location within the same geographic region as its associated computer (or computer monitor). As described above, the location information produced by each positioning system 20 - 22 is provided to the computer 14 - 16 respectively associated with the positioning system that produced the information. Interface hardware and software for coupling positioning systems, such as GPSs, with computers are well known in the art. Moreover, some portable computers are presently being manufactured with internal GPS hardware and software for processing geographic position information relating to the geographic position of the portable computer. Accordingly, technology associated with interfacing a positioning system and a computer for communicating information therebetween and processing, by the computer, of geographic location information is well known in the art and, for purposes of simplifying the present disclosure, is not described in detail herein. In the Fig. 1 embodiment, the computers 14 - 16 are operated under the control of associated user software 26 - 28, respectively to communicate geographic information to the provider computer, such as a provider server 12. The server is operated under the control of associated server software 29 to selectively provide or deny a given computer 14 - 16 access to a product or service dependent upon the geographic information provided by the given computer. One embodiment of such an operational process is generally shown with respect to the flow chart of Fig. 2. At step 30 in Fig. 2, a user of, for example, the first user computer 14, sends a request over the Internet 18 to the server 12, requesting one or more products or services that can be provided over the Internet connection. Example embodiments of such a request are described in further detail below, with respect to Figs. 3a and 3b. In addition, geographic information corresponding to the geographic location and/or region X of the positioning system 20 (and, thus, of the first user computer 14) is communicated from the first computer to the server 12. Such geographic information may include, for example, data corresponding to coordinate values provided by the positioning system. Alternatively, such geographic information may include data corresponding to the region X, for example, determined by a routine of software 26, from information provided by the positioning system 20. Thus, for example, a software routine may control the computer 14 to determine a region X for example, the region within a particular zip code, city, state, country or other geographically defined region) in which the computer 14 is located from the location information provided by the positioning system 20 and to communicate identification data corresponding to that region (such as an identification name or code preassigned for region X). In preferred embodiments, however, the determination of the region in which the user computer is located is performed at the provider server, under control of a routine of software 29 (as represented by step 32 in Fig. 2). Once the user computer's region (region X) is determined, a routine of software 29 controls the provider server 29 to determine whether or not the region X is a restricted region (step 34). This determination may be made by any suitable routine, including, but not limited to, a comparison of the data (e.g., ID data) for region X with a pre-stored (or on-line) table or list of restricted regions (or a list of non-restricted regions). Alternatively, the determination of whether or not the user computer is in a restricted region may be made (at the user computer 14 or, more preferably, at the provider server 12) from data corresponding to the location information (such as coordinate values) provided by the positioning system 20, without determining the pre-assigned ID name or code for the region X.. For example, data corresponding to coordinate values (as opposed to the ID name or code) may be applied in an algorithm or comparison routine to determine whether or not the coordinates are within a restricted region. Thus, in one example embodiment, a routine may determine, by a pre-stored (or on-line) mathematical comparison routine or algorithm, whether or not the coordinate value data is within a particular range corresponding to the range of coordinates of a restricted (or non-restricted) geographic region. The path marked "No" from the step 34 in Fig. 2 represents a determination that the region X in which the user computer 14 is located is a restricted region. If the region X is determined to be a restricted region, then the provider server 12 is controlled to deny access by the user computer 14 to the requested product or service (step 36). In preferred embodiments, the server 12 provides a deny message to the user computer 14 as part of step 36. On the other hand, if the region X is determined in step 34 to be within a non-restricted region, then the user computer 14 may be provided access to the product or service (step 38). In preferred embodiments, if access is allowed (in step 38), the server 12 downloads to the user computer 14, software files, programs, data, decode keys, or other information that defines the requested product or service or that are necessary for the user to obtain the requested product or service. Accordingly, in the system embodiment of Figs. 1 and 2, a user computer may communicate a request for a product or service, as well as geographic information identifying the location or region of the user computer, to a provider of the product or service on a wide area computer network, such as the Internet or WWW. The provider employs the geographic information to determine whether to allow or deny access to the product or service requested by the user computer. In this manner, the provider of a requested product or service on the network may control access to the product or service on the basis of the geographic location of the user making the request. In further preferred embodiments, instead of a simple access/deny- access determination, the provider may provide limited access for one or more geographic regions or may provide various degrees of limited access, depending upon the geographic region of the user computer. Thus, for example, a set of rules may be implemented such that the server 12 in Fig. 1 may be controlled to allow full access to a particular product or service for user computers (such as 14) in a first region (region X), partial access to the product or service for user computers (such as 15) in a second region (region Y) and no access for user computers (such as 16) located outside of regions X and Y. A set of rules may be pre-stored (for example, as part of the program controlling the determination step 34 or as part of another program or file operable with the control program), for implementing various combinations and degrees of limitations, depending upon the geographic location of the requesting user computer. Alternatively, a set of rules may be provided to the server 12 from an on-line source, or the like. In some embodiments, according to such rules, the provider may require additional user input or other information to provide limited or full access, depending upon the geographic location of the user computer. For example, with respect to the above embodiment, the provider server 12 may be controlled to allow access to any user computer in the second region (region Y), only if the user also provides further information, such as the user's age, identification information, payment information, acceptance of an agreement, or other information, or only after the user is provided with a warning, disclaimer or other message or information. Preferably, the provider server 12 is controlled by the software 29 to communicate a request for such further information and/or to communicate the warning, disclaimer or other message or information to the user. Other information, which is not necessarily received from the user computer, may be employed in the determination of whether or not to allow access (full or limited). For example, restrictions or limitations may be imposed on certain regions during certain times of the day or during certain dates, wherein time or date information is provided to the server 12 from any suitable source. One factor which affects the reliability and integrity of the above- described embodiments is the reliability and integrity of the positioning system (20 - 22) which receives the satellite signals and provides the location information used by the computer (14 - 16) for requesting the product or service. In preferred embodiments, reliability may be enhanced by communicating time information from the requesting computer to the server, where the time information corresponds to the time that the positioning system (20-22) associated with the requesting computer received the satellite signals. In other embodiments, the time information may correspond to the time that the positioning system generated the location information or provided the location information to the requesting computer for use in connection with the request. The server 12 may be controlled to make a determination (step 36 in Fig. 2) of whether or not the time information received from the requesting computer (14 - 16) is within an expected range, for example, within a preselected time period before the time that the server 12 receives the request (and/or the location information), which can be represented as: (t, - Δt) < t 2 ≥ t, where Δt, is the preselected time period, t, is the time at which the request (and/or location information) was received by the server, and t 2 is the time corresponding to the time information received from the requesting computer. Other suitable algorithms or like means may be used to determine whether or not t 2 is acceptable for a given user computer request. A step 40 for testing the acceptability of the time t 2 , can improve the reliability that the location information was not pre-generated and recorded at another region. Thus, time testing step 40 can provide a greater confidence to the provider that the location information in a given request was generated by a positioning system at the same location (or at least within the same local region) as the requesting computer and at about the same time that the requesting computer is making the request. In the Fig. 2 embodiment, the determination of whether or not the time information received from the requesting computer corresponds to an acceptable time (step 40) is carried out following the determination that the requesting computer is within a non-restricted region or, at least, a limited access region (step 34). However, in other embodiments, the acceptable time determination step (step 40) may be carried out before the region restriction determination step (step 34), such that the request is tested for an acceptable time prior to being tested for an acceptable geographic region. In such an embodiment, if the time t 2 is determined to be not acceptable, then access would be denied (step 36). The process would not proceed to the region- restriction determination step (step 34) unless the time t 2 is determined to be acceptable in the time determination step. Time information (corresponding to time t 2 ) which is communicated to the server 12 by the requesting computer (14 - 16) is preferably derived or generated from information obtained from the satellite (or other) signals received by the positioning system (20 - 22) associated with the requesting computer. Typical modern GPS receivers receive and process time information signals as part of the satellite-signal processing steps carried out to determine geographic location. Because this time information will generally corresponds to the time at which the satellite signals are received and processed by the requesting computer, this time information may be used to provide the time information communicated to the server 12 by the requesting computer (14 - 16). Alternatively, the time information may be obtained from other sources, including but not limited to a clock (not shown) located external or internal to the positioning system (20 -22) and/or computer (14 - 16). In further preferred embodiments, for purposes of minimizing counterfeit position or time information, the requesting computer (or more preferably, the positioning system) may be controlled to encode the time data and the geographic location data before transmission to the server 12. In yet further preferred embodiments, the location and time information provided by the positioning system (20 - 22) are encoded together to render it more difficult to determine either one or both items of information without the decryption algorithm or key. In yet further preferred embodiments, the location and time information may be encoded by the requesting computer (or more preferably, the associated positioning system) according to an asynchronous key encoding scheme, wherein a common encoding key Kl is used at the user computer side and a decoding key K2, different from the encoding key Kl issued to the user computers, is used by the server 12 for decoding the user computer's communication and obtaining the location and time information therefrom. In this manner, a requesting computer communicates location information having (and preferably encoded with), in effect, a time stamp corresponding generally to the time at which the satellite signals were received and the location information was generated. In one embodiment, the location and time information may be communicated from the requesting computer as part of the request (as represented in Fig. 3a) or as part of a separate communication (as represented in Fig. 3b). More specifically, Figs. 3a and 3b represent examples of alternative schemes for carrying out step 30 of Fig. 2. In Fig. 3a, a request packet 42 communicated by the requesting computer to the server 12 includes location and time information, as well as information identifying the product or service requested ("request info") and, optionally, information identifying the user ("user info"). Preferably, at least the location and time information is encoded. However, in further preferred embodiments, all of the information may be encoded together to render it more difficult to decode without the decoding key or algorithm. In more preferred embodiments, the location and time information are communicated separate from the requested product information ("request info"), as shown in Fig. 3b. In Fig. 3b, the requesting computer first communicates a request for a product or service, as represented by request packet 44. The server 12 may then be controlled to determine whether or not the requested product or service is one which involves geographic restrictions or limitations. If not, the server may be operated to take further steps to provide access to the requested product or service. However, if the requested product or service is one which does involve geographic restrictions or limitations, then the server may be controlled to communicate a query 46 to the requesting computer, in response to which the requesting computer may then communicate location and time information (represented by packet 48). In further preferred embodiments, the user computer 14 - 16 is controlled by software 26 - 28 to periodically (or otherwise successively) communicate location and/or time information generated by the associated positioning system 20 - 22 (preferably also periodically or otherwise successively, corresponding to the periodic or successive communications) during a communication interchange between the provider server 12 and the user computer. As a result, the provider server is provided with multiple location and/or time information packets over the course of a communication interchange, to continue to monitor the user computer's location (or region) and reported time, thus, to allow the provider server a greater confidence that the user computer is located at the location or region that corresponds to the location information during the time of the communication interchange. While, in the above embodiments, the user computers may be controlled to automatically communicate the periodic (or successive) location and/or time information, in a further embodiment, the server computer 12 may be controlled by software 29 to periodically (or otherwise successively) communicate queries to the user computer 14 - 16 during a communications interchange, requesting that the user communicate location and/or time information. The user computer may then be controlled by its associated software to respond to each query by communication location and/or time information to the provider server. The flow charts of Figs. 4 and 5 show example processes carried out by the requesting computer (14 - 16) and the server 12, respectively, under the control of the software (26 - 28) and 29, respectively. The flow chart of Fig. 4 represents an example embodiment of a process carried out by the requesting computer, in accordance with the scheme of Fig. 3b. Initially, the requesting computer communicates a request (step 50) and then awaits a reply (steps 52 and 54). Preferably, if a reply is not received within a predetermined time from the request step 50, a determination is made (in step 54) to terminate the process as a failed attempt. If a reply is received within the allotted time, then a determination is made as to whether or not the reply is a query for location information and/or time information (step 56). If not, the requesting computer prepares for receiving the requested product or service (step 58). However, if the reply is a query for location and/or time information, then the requesting computer is controlled to communicate location and/or time information (step 60) and awaits a reply (steps 62 and 64). Such location and/or time information may be encoded prior to communication, as part of step 60. Preferably, if a reply is not received within a predetermined time from the send step 60, a determination is made (in step 64) to terminate the process as a failed attempt. If a reply is received within the allotted time, then a determination is made as to whether or not the reply is a denial message (step 66) and, if so, the user computer may be controlled to display a "denied access" message to the user and the procedure may be terminated. If, on the other hand, the reply is an acceptance message or the requested product or service, then the requesting computer prepares for receiving the requested product or service (step 58). The flow chart in Fig. 5 represents an example embodiment of a process carried out by the server 12, upon receiving a request for a product or service. In the Fig. 5 embodiment, the server receives a request from a user computer (step 70). The server 12 is then controlled to determine whether or not the requested product or service is one which is limited or restricted geographically (step 72). This may be accomplished, for example, by comparing identification information for the requested product or service with a pre-stored (or on-line) table or list of products or services which have geographic limitations or restrictions (or which are free of such limitations or restrictions). If the requested product or service is not limited or restricted by the geographic location of the requester, then from step 72, the process proceeds to prepare for sending the requested product or service (step 74). If, on the other hand, the requested product or service is one which is geographically limited or restricted, then the server 12 is controlled to send one or more queries, requesting location and/or time information.(step 76) and then await receipt of such information (steps 78 and 80). Preferably, if a reply is not received within a predetermined time from the send step 76, a determination is made (in step 80) to terminate the process as a failed attempt. If a reply is received within the allotted time, then, at least in some embodiments, the region in which the user computer resides is determined (step 82) and the thus- determined region is compared with a table or list of non-restricted (or restricted or limited) regions (step 84) to determine whether the requesting computer is within a restricted, limited or non-restricted access region. Alternative embodiments may determine this information from the location information, instead of first determining the region to which the location information corresponds. If the location and/or time information was encoded prior to communication from the user computer, then step 82 would also involve a step of decoding the encoded information prior to determining the geographic region associated with the information. If the server determines that the requesting computer is within a non- restricted region, then the server prepares to send the requested product or service (step 74). Otherwise, the server sends a deny message to the requesting computer 76 and terminates the process (step 86). While, the processes represented in Figs. 4 and 5 are example embodiments for carrying out various aspects of the present invention, other processes which involve the communication over the Internet (or other communications network) of location information obtained from positioning system (such as a GPS) and which limit or restrict access to products or services based on such location information, may be within the scope of further embodiments of the present invention. Furthermore, it is noted that determinations, such as whether or not the user computer is in a restricted region or the degree of restriction or additional information needed based on the user's geographic location are primarily described above as being performed by the server 12. This may be preferred for purposes of minimizing fraudulent requests. However, other embodiments may employ the user computer software (26 - 28) to perform some or all of these determinations. Thus, for example, the user computer (or information receiver processor) may operate with software that effectively locks the user computer (information receiver) out or otherwise disables or limits the user computer's ability to receive requested information, products or services, in the event that the user computer (information receiver) is in a geographic region for which access to such information, products or services is restricted or limited, or is not in a location that corresponds to a predefined (unrestricted) or expected geographic region. In such an embodiment, the user computer (information receiver) may be controlled by suitable software, firmware or the like residing on the user computer (or otherwise accessible by the user computer) to, for example, selectively allow or deny access to predefined information on the network, allow or deny receipt of information from the network, or enable or disable processing or receiving circuitry or routines necessary to receive or effectively use the predefined information on the network, without requiring the transmission of location information from the user computer (information receiver). Systems or processes, as described above, in which the user computer or processor (rather than the provider processor) is controlled by software, firmware or the like for making determinations, such as whether or not the user computer is in a restricted region or the degree of restriction or additional information needed based on the user's geographic location, have a wide variety of useful applications for controlling access of information on the Internet or WWW. However, further embodiments employing such systems or processes have a wide variety of useful applications in connection with other communication systems. Consider, for example, satellite communications systems in which an information signal (such as, but not limited to, a television signal) is transmitted from a satellite to a plurality of receiver processors located in multiple geographic regions. According to one embodiment of the present invention, the transmitted information signal will be locked out from (unaccessible to) receiver processors that are in restricted geographic regions or that are not in an acceptable geographic region. In one preferred embodiment, the information provider comprises a subscription satellite television signal provider and the recipient or receiver processors comprise satellite television receivers located at user (subscriber) locations. The positioning system (preferably a GPS), as well as the processor and software for performing steps as described above, are located with the user's (or subscriber's) satellite signal receiver or processing electronics. In this manner, the receipt and/or processing (such as, but not limited to, decrypting or decoding) of the television signal may be inhibited or restricted, unless GPS location data corresponds to predefined or expected location. The provider may program or store the predefined or expected location in the receiver-side processor and associated memory, for example, when the provider issues the receiver equipment to the user (subscriber) or installs the receiver equipment at the user's (subscriber's) location. Alternatively, the provider may include information in the transmitted signal, representing the expected or predefined location of the receiver-side processor. Such predefined or expected location information (whether pre-programmed, pre- stored or received with the transmitted signal) is fed to the receiver-side processor. In addition, actual location information, such as GPS data from the GPS associated with the user (subscriber), is fed to the receiver-side processor, for example, when receiver is activated (or a particular television channel or program is selected by the user) to receive a content signal. If the actual location information matches the predefined or expected location, then access to the information (television signal) is allowed. Alternatively, or in addition, the content signal may be encoded according to an encoding scheme which can be decoded by a decoding scheme that requires proper GPS data as part of the decoding algorithm or as a decoding key or simply to allow access to the decoding algorithm or key. Also while some of the above embodiments are described as employing the software 26 to operate with the user computers, other embodiments may employ positioning systems 20 - 22 having processing means capable of processing the software 26 - 28 and performing the functions described above with respect to the computers 14 - 16, such that some or all of the location, time and request generation functions are performed by the systems 20 - 22. In such embodiments, the provider may issue (lend, lease or sell) and periodically (or otherwise successively) monitor such processing systems to customers (users) and may, thereby better guard against fraudulent use of the equipment. While embodiments described above are primarily concerned with employing user (or recipient) location information to control access to information, other embodiments may employ provider location information to control access to information in a similar manner. In such embodiments, the provider processor is associated with a positioning system (such as a GPS) for providing location information representing the geographic location of the provider. Such information is transmitted over the communications network to the recipient processor(s), for example during a handshaking exchange or in conjunction with the transmission of content information. The recipient processor would, then be controlled, for example, according to processes described above, to determine whether the provider processor location information corresponds to an expected (or pre-defined or pre-stored) location. If not, then the recipient processor may ignore or deny user access to the information. If the provider processor location information does correspond to an expected location, then the recipient process would be controlled to allow processing and/or user access to further information received from the provider. In this manner, provider authentication may be accomplished, using the provider location information (such as GPS data) to verify the authenticity of the provider information. Also, while a number of determinations are described above as being accomplished by comparing a value (product identification, location information, region information, user computer id, user location) to a table or list of such values, other embodiments may employ suitable algorithm-based schemes for rendering the determinations. Further embodiments may employ additional features, such as means for the provider computer to compare the location information received from the requesting computer with other location information obtained from the user, such as, but not limited to, billing address information associated with credit card numbers provided by the user, pre-stored address information (for example, stored in storage means 13 or available to the server from other online sources, not shown) which is expected to correspond to a particular user, or the like. If the location information does not correspond to the address information, access to the requested product or service may be denied or limited. Other uses of location information transmitted by a user computer over the Internet may include, for example, uses associated with detecting stolen or contraband computers. For example, user computers which operate with satellite-signal positioning systems as described above may be programmed to transmit location information to a predetermined address when connected to the Internet such that, in the event the computer is stolen, the computer's location may be tracked. The location information may also be used to track the location of illegal subscribers of Internet connection services. The embodiments disclosed herein are to be considered in all respects as illustrative and not restrictive of the invention. The scope of the invention is indicated by the appended claims, rather than the foregoing description. All changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.

Claims: WHAT IS CLAIMED IS: 1. A method for controlling the distribution of information from an information provider processor to a plurality of recipient processors on a communications network, based on the geographic locations of the recipient processors the method comprising: associating a respective positioning system with each respective recipient processor; generating location information with a first one of said positioning systems and providing the location information to the recipient processor associated with the first positioning system, said location information corresponding to the general geographic location of the positioning system; communicating, on the communications network, locaiton information from the recipient processor associated with the first positioning system to the provider processor; determining, from the location information, whether the geographic location of the first positioning system is within a predefined location or region for which limitations or restrictions to access are imposed; imposing said limitations or restrictions to the access of information by the recipient processor associated with the first positioning system in the event that the geographic location of the first positioning system is determined to be within a location or region for which such limitations or restrictions to access are imposed in said determining step, and allowing access of information by the recipient processor without limations or restrictions in the event that the geographic location of the first positioning system is determined to not be within a location or region for which such limitations or restrictions to access are imposed in said determining step. 2. A method as recited in claim 1 , wherein said step of associating a respective positioning system with each respective recipient processor comprises coupling a satellite signal receiving and processing device to each respective recipient processor, in geographically close proximity to the respective recipient processor. 3. A method as recited in claim 2 wherein said step of providing a data signal corresponding to the geographic location of the recipient processor comprises the steps of receiving satellite signals and processing the received satellite signals to provide said data signal. 4. A method as recited in claim 1, wherein the recipient processors and the provider processors each comprise a computer coupled for communication over the internet and the communications network comprises the internet and wherein said step of transmitting location communications signals over the communications network comprises transmitting said location communications signals over the internet from the recipient processor computer associated with the first positioning system to the provider processor computer. 5. A method as recited in claim 4, wherein said step of imposing said limitations comprises the steps of: denying access to predefined information by the recipient processor associated with the first positioning system in the event that the geographic location of the first positioning system is determined to be within a restricted region; transmitting a denial message from the provider processor to the recipient processor associated with the first positioning system. 6. A method as recited in claim 1, wherein said step of imposing said limitations comprises the steps of: denying access to predefined information by the recipient processor associated with the first positioning system in the event that the geographic location of the first positioning system is determined to be within a restricted region; transmitting a denial message from the provider processor to the recipient processor associated with the first positioning system. 7. A method as recited in claim 1, further comprising the steps of: generating time data representing the time at which the location information is generated; communicating said time data on the communications network, from the recipient processor associated with the first positioning system to the provider processor; determining whether the time data corresponds to a time within an expected location information generating time period; and imposing limitations or restrictions to the access of information by the recipient processor associated with the first positioning system in the event that the time data does not correspond to a time within the expected location information generating time period. 8. A method as recited in claim 1, wherein: said step of associating a respective positioning system with each respective recipient processor comprises coupling a satellite signal receiving and processing device to each respective recipient processor, in geographically close proximity to the respective recipient processor; said step of providing a data signal corresponding to the geographic location of the recipient processor comprises the steps of receiving satellite signals and processing the received satellite signals to provide said data signal; and said method further comprises the steps of: generating time data from the received satellite signal, the time data representing the time at which the satellite signal is received; communicating said time data on the communications network, from the recipient processor associated with the first positioning system to the provider processor; determining whether the time data corresponds to a time within a predefined range; and imposing limitations or restrictions to the access of information by the recipient processor associated with the first positioning system in the event that the time data does not correspond to a time within the predefined range. 9. A method for communicating information from an information provider unit to one or more recipient units coupled in a communications network, based on geographic location, the method comprising: associating a respective positioning system with each respective recipient unit; providing, with at least one of the positioning systems, a data signal corresponding to the geographic location of the recipient unit associated therewith; transmitting location communications signals over the communications network from at least one of the recipient units, the location communications signals including geographic location information corresponding to the data signal provided by the positioning system associated with the transmitting recipient unit; receiving the location communications signals with the information provider unit; transmitting provider communication signals from the information provider unit to the at least one recipient unit, based on the geographic location information included in the location communications signals received from the at least one recipient unit. 10. A method as recited in claim 9, wherein said step of associating a respective positioning system with each respective recipient unit comprises coupling a satellite signal receiving and processing device to each respective recipient unit, in geographically close proximity to the respective recipient unit. 11. A method as recited in claim 10 wherein said step of providing a data signal corresponding to the geographic location of the recipient unit comprises the steps of receiving satellite signals and processing the received satellite signals to provide said data signal. 12. A method as recited in claim 9, wherein the recipient units and the provider unit each comprise a computer coupled for communication over the internet and the communications network comprises the internet and wherein said step of transmitting location communications signals over the communications network comprises transmitting said location communications signals over the internet from at least one recipient unit computer to the provider unit computer. 13. A method for communicating information between processors coupled in a communications network, dependent on geographic location of one of the processors, the method comprising: associating a positioning system with a first processor coupled in the network; providing, with the positioning system, a data signal corresponding to the geographic location of the first processor; transmitting location communications signals over the network from the first processor to at least one other processor coupled in the network; controlling further communications between the first processor and the at least one other processor, dependent upon the geographic location of the first processor. 14. A method as recited in claim 13, wherein said step of associating a positioning system with a first processor comprises coupling a satellite signal receiving and processing device to the first processor, in geographically close proximity to the first processor and wherein said step of providing a data signal corresponding to the geographic location of the first processor comprises the steps of receiving satellite signals and processing the received satellite signals to provide said data signal. 15. A method as recited in claim 13, wherein said processors each comprise a computer coupled for communication over the internet and the communications network comprises the internet and wherein said step of transmitting location communications signals over the network comprises transmitting said location communications signals over the internet from the first processor computer to another processor computer. 16. A method for controlling communications between first and second communications units coupled in a communications network, comprising the steps of: receiving location information over the network with the first communications unit, the location information corresponding to the geographic location of the second communications unit; determining, from the location information, whether the geographic location of the second communications unit is within a predefined geographic region; controlling the communication of further information between the first and second communications units, dependent upon the determination of whether the second communication unit is within the predefined geographic region. 17. A method as recited in claim 16, wherein said step of controlling the communication of further information comprises controlling the communication of information from the first communications unit to the second communications unit, dependent upon the determination of whether the second communication unit is within the predefined geographic region 18. A method as recited in claim 16, further comprising the steps of: receiving time data with the first communications unit, the time data representing the time at which the location information was generated; and determining whether the time data corresponds to a time within an expected location information generating time period; and wherein said step of controlling the communication of further information comprises the step of controlling the communication of further information between the first and second communications units, dependent upon the determination of whether the time data corresponds to a time within the expected location information generating time period. 19. A method as recited in claim 16, wherein said location information comprises communication signals representing location data generated by a satellite signal receiving and processing device located in the proximity of the second communications unit. 20. A method as recited in claim 19, further comprising the steps of: receiving time data with the first communications unit, the time data comprising data generated from the satellite signal receiving and processing device and representing the time at which the location information was generated; and determining whether the time data corresponds to a time within an expected location information generating time period; and wherein said step of controlling the communication of further information comprises the step of controlling the communication of further information between the first and second communications units, dependent upon the determination of whether the time data corresponds to a time within the expected location information generating time period. 21. A method as recited in claim 16, wherein the first and second communications units each comprise a computer coupled for communication over the internet and the communications network comprises the internet and wherein said step of receiving location information over the network comprises receiving communication signals containing location information over the internet from the computer associated with the second communications unit.

Inventors: PICCIONELLI GREG A, RITTMASTER TED R, PICCIONELLI, GREG, A., RITTMASTER, TED, R.
Applicants: PICCIONELLI GREG A, RITTMASTER TED R, PICCIONELLI, GREG, A., RITTMASTER, TED, R.
Application year: 1999
Main classification: H04Q
IPC codes: G01S5, G06F12, G06F17, G06F21, H04L29