Distributing captured codes

Information

  • Patent Grant
  • 9384612
  • Patent Number
    9,384,612
  • Date Filed
    Friday, March 14, 2014
    10 years ago
  • Date Issued
    Tuesday, July 5, 2016
    8 years ago
Abstract
A method for distributing a sequence of access codes to a plurality of users, comprising comprises storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with an access system of a specific type. A same sequence of access codes is provided to both a first remote access device of a first user and to a second remote access device of a second user.
Description
TECHNICAL FIELD

This invention relates to remote keyless vehicle access systems, and more particularly to distributing codes for remote keyless vehicle access systems to use.


BACKGROUND

Wireless signal transmitter-receiver systems are employed in a variety of security systems and remote activation systems. Remote access devices are generally used in the automotive industry to activate and deactivate vehicle access systems. Remote access devices can also perform other tasks including remote starting, locking and unlocking doors, unlatching trunk decks or tail gates, opening windows or doors and operating convertible top mechanisms.


An original remote access device may use a code generator capable of generating a very large number of unique codes to operate with a unique vehicle access system. These codes work with certain vehicle types.


3rd parties might want to build replacement remote access devices, but they might not know the code generator's algorithm or seed.


SUMMARY

One aspect of the invention features a method for distributing a sequence of access codes to a plurality of users. The method comprises storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with an access system of a specific type. The method also comprises providing a first sequence of access codes to a first remote access device of a first user to remotely operate a vehicle having the specific type of access system. The method also comprises providing the first sequence of access codes to a second remote access device of a second user to remotely operate a second vehicle having the specific type of access system.


Another aspect of the invention features a server comprising one or more processors and a memory system configured to store a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with an access system of a specific type. The server is configured to provide a first sequence of access codes to a first remote access device of a first user to remotely operate a first vehicle having the specific type of access system. It is also configured to provide the same first sequence of access codes to a second remote access device of a second user to remotely operate a second vehicle having the specific type of access system.


Particular implementations of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages: This invention allows manufacturers of remote access devices and distributors of sequences of access codes to more efficiently distribute the sequences of access codes into remote access devices. They can provide fewer codes to a greater number of remote access devices with minimal risk of the remote access devices interfering with each other.


The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.





DESCRIPTION OF DRAWINGS


FIG. 1 is a system for distributing sequences of access codes.



FIG. 2 is a flowchart of a method for distributing sequences of access codes.



FIG. 3 is a flowchart of a method for determining which sequence of access codes to distribute.



FIG. 4 is a flowchart of another method for determining which sequence of access codes to distribute.



FIG. 5 is a flowchart of another method for determining which sequence of access codes to distribute.



FIG. 6 is a flowchart of a method for deciding when to start using the distribution methods.



FIG. 7 is a flowchart of a method for distributing indexes of a sequence of access codes.





Like reference symbols in the various drawings indicate like elements.


DETAILED DESCRIPTION


FIG. 1 is a system 100 for distributing sequences of access codes. A service provider for remote access devices may store sets of sequences of access codes. Each set contains sequences of access codes that work with certain types of vehicles, e.g., a particular year, make, model, and trim. A server 101 stores the sets of sequences of access codes in a memory. Vehicle owners will request from the server a sequence of access codes that will work with the owner's particular type of vehicle. The server can use one or more processors to process the request and make any necessary decisions.


The server will distribute the sequences of access codes through a communication network 103 such as the internet. The server downloads the sequences into remote access devices 105[a-c]. Remote access device 105a downloads a first sequence of codes compatible for operation with vehicle access system 107a of a first type of vehicle. Remote access device 105b downloads a different sequence of codes compatible for use with a vehicle access system 107b for the same type of vehicle. Remote access device 105c downloads a different sequence of codes compatible for use with vehicle access system 107c for a different type of vehicle.


Because remote access devices 105a and 105b share the same sequence of access codes, they risk operating each other's vehicle access system. Sometimes, a vehicle registration can reduce or eliminate this risk when the vehicle access system registers an ID of the remote access devices that it allows access from, but not every vehicle access system has this capability. Distributing different sequences of access codes, such the different sequence of access codes to remote access device 105c, will also reduce or eliminate the risk of cross-operation.



FIG. 2 is a flowchart 200 of a method for distributing sequences of access codes. A server stores 201 a set of sequences of access codes that a remote access device can use to operate an access system of a particular type of vehicle. In some examples, the server stores a set of sequences of access codes that a remote access device can use to operate a certain type of access system that can be used with multiple vehicles. The server receives requests 203 from remote access devices needing to work with an access system of the particular type of vehicle.


The server determines 205 which sequences to provide to which remote access devices. To make the determination, the server can use any of the methods later disclosed, e.g., as shown by the later flowcharts of FIGS. 3-6. Sometimes, it may provide a sequence that it did not previously provide to another remote access device.


The server decides to provide 207 sequence #1 to a first remote access device. It may also provide 209 sequence #1 to a second remote access device after determining remote access device #2 will not likely interfere with the operation of remote access device #1. It may provide 211 sequence #3 to a third remote access device.



FIG. 3 is a flowchart 300 of a method for determining which sequence of access codes to distribute based on location. A vehicle owner sends a request to a server to download a sequence of access codes compatible with the owner's vehicle type onto the vehicle owner's remote access device. A server receives 301 the request and identifies the set of sequences of access codes that work with the owner's vehicle type.


The server may request 303 location information about the vehicle, the owner, or the remote access device. The server uses the location information to determine 305 if the remote access device is or will be used at least a minimum threshold distance away from other remote access devices using a certain sequence. The minimum distance can be a distance such as 1 mile or 1,000 miles. Alternatively, it can be based on a geographic boundary, such as by state, zip code, city, country, etc.


If the distance between the remote access devices exceeds the minimum threshold distance, the server can provide 307 the same certain sequence of access values that it previous provided for use to a different vehicle access device for use with a different owner's vehicle. If the distance between the remote access devices does not exceed the minimum distance threshold, then the server provides 309 a new sequence of access values for download into the requesting owner's remote access device, the new sequence of access values having not been previously provided to a different owner to download into a different remote access device.



FIG. 4 is a flowchart 400 of another method for determining which sequence of access codes to distribute. A vehicle owner sends a request to a server to download a sequence of access codes compatible with the owner's vehicle type onto the owner's remote access device. A server receives 401 the request and identifies the set of sequences of access codes that work with the owner's vehicle type.


The server may request location information about the vehicle, the owner, or the remote access device. The server uses the location information to determine 403 if the vehicle, vehicle's owner, or remote access device reside in a densely populated area. It may also determine if other vehicles, owners, or access devices that have used a certain sequence of vehicle access codes reside in a densely populated area. If yes, then the server may set 405 a high threshold distance, e.g., 1000 miles or a certain state. If no, then a server may set a low 407 threshold distance, e.g., 100 miles or a county, city, or zip code boundary.


The server then decides 409 if the distance between the remote access device and other remote access devices exceed the minimum threshold distance. If the minimum distance threshold is met, then the server can provide 411 a same sequence of access values that it previous provided for use to a different vehicle access device for use with a different owner's vehicle. If the distance threshold is not met, then the server provides 413 a new sequence of access values for download into the requesting owner's remote access device, the new sequence of access values having not been previously provided to a different owner to download into a different remote access device.



FIG. 5 is a flowchart 500 of another method for determining which sequence of access codes to distribute. A vehicle owner sends a request to a server to download a sequence of access codes compatible with the owner's vehicle type onto the vehicle owner's remote access device. A server receives 501 the request and identifies the set of sequences of access codes that work with the owner's vehicle type.


The server uses time information, e.g., the time of the request, to determine 503 if a minimum amount of time elapsed since the server last provided a certain sequence to a different access device. The minimum elapsed time can be, for example, 1 year or 10 years. The minimum elapsed time may be set differently for users at different locations, e.g. based on distance or population density.


If the elapsed time exceeds the minimum amount of time, the server can provide 507 the same certain sequence of access values that it previous provided for use to a different vehicle access device for use with a different owner's vehicle. If the elapsed time does not exceed the minimum amount of time, then the server provides 509 a new sequence of access values for download into the requesting owner's remote access device, the new sequence of access values having not been previously provided to a different owner to download into a different remote access device.



FIG. 6 is a flowchart 600 of a method for deciding when to start using the distribution methods. A vehicle owner sends a request to a server to download a sequence of access codes compatible with the owner's vehicle type onto the owner's remote access device. A server receives 601 the request and identifies the set of sequences of access codes that work with the owner's vehicle type.


The server checks 603 if it previously provided all of the sequences in the set to other access devices of other vehicle owners. If not, the server provides 607 a previously unused sequence to the vehicle access device of the requesting owner. If so, then the server can provide 605 a previously used sequence of access codes. In doing so, the service may ensure that it did not provide a different owner same sequence of access codes within a minimum distance or time, e.g., by using methods in FIGS. 3-5.



FIG. 7 is a flowchart 700 of a method for distributing indexes of a sequence of access codes. A vehicle owner sends a request to a server to download a sequence of access codes compatible with the owner's vehicle type onto the owner's remote access device. A server receives 701 the request and identifies the set of sequences of access codes that work with the owner's vehicle type.


The server may decide 703 to provide a previously used sequence to the access device of the owner, e.g., by using methods in FIGS. 3-5. Having done so, it may also provide 705 an reference index to the remote access device of the requesting owner. The remote access device begins issuing codes from the sequence at the position in the sequence specified by the reference index.


For example, a sequence of access codes may contain 200,000 access codes. The server may have previously provided to an access device the sequence of access codes with a reference index to start at the first access code. Now, the server provides to the access device of the requesting owner the same sequence of codes with a reference index to start at a different point, e.g., the 100,000th code.


Alternatively, the server may distribute the index in other ways, such has incrementally, algorithmically, or randomly. Examples of algorithms include calculating the farthest unused index and calculating an expected index that a previous user may be currently using. For example, a user starting at the first index of a sequence may, on average, increment 5 indexes per day and reach index 5000 after 1000 days, so a second user given the same sequence can be given the first index again, but not the index of 5000.


Techniques for distributing the indexes can employ variations of the methods used for distributing sequences shown in FIGS. 3-7.


A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the information requested or used in the determinations may comprise information about a vehicle's location, a vehicle owner's location, or an expected use location instead of location about the remote access device. The various methods shown by the figures can be varied and rearranged, and they can be used in parallel, sequence, or combination with the methods shown by other figures. Accordingly, other embodiments are within the scope of the following claims.

Claims
  • 1. A method for distributing a sequence of access codes to a plurality of users, comprising: storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device configured to issue one or more access codes from the sequence of access codes to gain access to a vehicle having a certain type of access system;receiving a first request to program a first remote access device of a first user for a first vehicle that has the certain type of access system;providing a first sequence of access codes to the first remote access device of the first user for use in the first remote access device to remotely operate the first vehicle that has the certain type of access system;receiving a second request to program a second remote access device of a second user for a second vehicle that has the certain type of access system; andproviding the first sequence of access codes to the second remote access device of the second user for use in the second remote access device to remotely operate the second vehicle that has the certain type of access system.
  • 2. The method of claim 1, wherein providing the first sequence of access codes to the second remote access device of the second user comprises: determining that the second user is located at least a threshold distance away from the first user; andin response, providing the first sequence of access codes to the second remote access device of the second user.
  • 3. The method of claim 1, wherein providing the first sequence of access codes to the second remote access device of the second user comprises: determining that a minimum amount of time elapsed after providing the first sequence of access codes to the first remote access device of the first user; andin response, providing the first sequence of access codes to the second remote access device of the second user.
  • 4. The method of claim 1, further comprising: providing each sequence of access codes in the set to a respective different remote access device; andwherein providing the first sequence of access codes to the second remote access device of the second user occurs in response to providing each sequence of access codes in the set to a respective different remote access device.
  • 5. The method of claim 1, wherein the set of sequences of access codes is stored onto a centralized server configured to be accessible from distributed access points.
  • 6. The method of claim 1, further comprising: providing a first index referencing a first access code of the first sequence of access codes to the first remote access device of the first user; andproviding a different index referencing a different access code of the first sequence of access codes to the second remote access device of the second user.
  • 7. A server comprising: one or more processors; anda memory system configured to store a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device configured to issue one or more access codes from the sequence of access codes to gain access to a vehicle having a certain type of access system;wherein the server is configured to: receive a first request to program a first remote access device of a first user for a first vehicle that has the certain type of access system;provide a first sequence of access codes to the first remote access device of the first user for use in the first remote access device to remotely operate the first vehicle that has the certain type of access system;receive a second request to program a second remote access device of a second user for a second vehicle that has the certain type of access system; andprovide the first sequence of access codes to the second remote access device of the second user for use in the second remote access device to remotely operate the second vehicle that has the certain type of access system.
  • 8. The server of claim 7 further configured to: determine that the second user is located at least a threshold distance away from the first user; andprovide the first sequence of access codes to the second remote access device of the second user in response to determining that the second user is located at least a threshold distance away from the first user.
  • 9. The server of claim 7 further configured to: determine that a minimum amount of time elapsed after providing the first sequence of access codes to the first remote access device of the first user; andprovide the first sequence of access codes to the second remote access device of the second user occurs in response to determining that a minimum amount of time elapsed after providing the first sequence of access codes to the first remote access device of the first user.
  • 10. The server of claim 7 further configured to: provide each sequence of access codes in the set to a respective different remote access device; andwherein providing the first sequence of access codes to the second remote access device of the second user occurs in response to providing each sequence of access codes in the set to a respective different remote access device.
  • 11. The server of claim 7, wherein the server is configured to connect through a remote network to a plurality of remote access devices.
  • 12. The server of claim 7, further configured to: provide a first index referencing a first access code of the first sequence of access codes to the first remote access device of the first user; andprovide a different index referencing a different access code of the first sequence of access codes to the second remote access device of the second user.
  • 13. A system comprising: a plurality of remote access devices, each remote access device being configured to issue a code from a sequence of access codes stored in a memory of the remote access device in response to a user pressing a button on the remote access device; anda server storing a set of sequences of access codes for a particular vehicle access system type, wherein each sequence of access codes is selected so that a remote access device issuing one or more codes from the sequence of access codes can gain access to a vehicle having the particular vehicle access system type, the server configured to perform operations comprising: receiving a first request to program a first remote access device for a first vehicle having a first vehicle access system of the particular vehicle access system type;providing a first sequence of access codes from the set for use in the first remote access device;receiving a second request to program a second remote access device for a second vehicle having a second vehicle access system of the particular vehicle access system type; andproviding the first sequence of access codes for use in the second remote access device.
  • 14. The system of claim 13, wherein providing the first sequence of access codes for use in the second remote access device comprises: determining that the second remote access device is located at least a threshold distance away from the first remote access device; andin response, providing the first sequence of access codes to the second remote access device.
  • 15. The system of claim 13, wherein providing the first sequence of access codes for use in the second remote access device comprises: determining that a minimum amount of time elapsed after providing the first sequence of access codes to the first remote access device; andin response, providing the first sequence of access codes to the second remote access device.
  • 16. The system of claim 13, wherein the operations further comprise: providing each sequence of access codes in the set to a respective different remote access device,wherein providing the first sequence of access codes for use in the second remote access device occurs in response to providing each sequence of access codes in the set to a respective different remote access device.
  • 17. The system of claim 13, wherein the server is configured to be accessible from distributed access points.
  • 18. The system of claim 13, wherein the operations further comprise: providing a first index referencing a first access code of the first sequence of access codes to the first remote access device; andproviding a different index referencing a different access code of the first sequence of access codes to the second remote access device.
  • 19. The method of claim 1, wherein the remote access device is configured to issue one or more access codes from the sequence of access codes in response to a user pressing a button on the remote access device.
  • 20. The server of claim 7, wherein the remote access device is configured to issue one or more access codes from the sequence of access codes in response to a user pressing a button on the remote access device.
  • 21. A method for distributing a sequence of access codes to a plurality of users, comprising: storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with a certain type of access system;providing a first sequence of access codes to a first remote access device of a first user to remotely operate a first vehicle that has the certain type of access system; andproviding the first sequence of access codes to a second remote access device of a second user to remotely operate a second vehicle that has the certain type of access system, wherein providing the first sequence of access codes to the second remote access device of the second user comprises: determining that the second user is located at least a threshold distance away from the first user; andin response, providing the first sequence of access codes to the second remote access device of the second user.
  • 22. A method for distributing a sequence of access codes to a plurality of users, comprising: storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with a certain type of access system;providing a first sequence of access codes to a first remote access device of a first user to remotely operate a first vehicle that has the certain type of access system; andproviding the first sequence of access codes to a second remote access device of a second user to remotely operate a second vehicle that has the certain type of access system, wherein providing the first sequence of access codes to the second remote access device of the second user comprises: determining that a minimum amount of time elapsed after providing the first sequence of access codes to the first remote access device of the first user; andin response, providing the first sequence of access codes to the second remote access device of the second user.
  • 23. A method for distributing a sequence of access codes to a plurality of users, comprising: storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with a certain type of access system;providing a first sequence of access codes to a first remote access device of a first user to remotely operate a first vehicle that has the certain type of access system;providing the first sequence of access codes to a second remote access device of a second user to remotely operate a second vehicle that has the certain type of access system,providing each sequence of access codes in the set to a respective different remote access device, andwherein providing the first sequence of access codes to the second remote access device of the second user occurs in response to providing each sequence of access codes in the set to a respective different remote access device.
  • 24. A method for distributing a sequence of access codes to a plurality of users, comprising: storing a set of sequences of access codes, wherein each sequence of access codes of the set can be programmed for use by a remote access device with a certain type of access system;providing a first sequence of access codes to a first remote access device of a first user to remotely operate a first vehicle that has the certain type of access system;providing the first sequence of access codes to a second remote access device of a second user to remotely operate a second vehicle that has the certain type of access system;providing a first index referencing a first access code of the first sequence of access codes to the first remote access device of the first user; andproviding a different index referencing a different access code of the first sequence of access codes to the second remote access device of the second user.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Application Ser. No. 61/793,858, filed on Mar. 15, 2013.

US Referenced Citations (82)
Number Name Date Kind
3821704 Sabsay Jun 1974 A
4652860 Weishaupt et al. Mar 1987 A
4926665 Stapley et al. May 1990 A
5046093 Wachob Sep 1991 A
5617323 Stansberry et al. Apr 1997 A
5650774 Drori Jul 1997 A
5661804 Dykema et al. Aug 1997 A
5740428 Mortimore Apr 1998 A
5808372 Schwegler et al. Sep 1998 A
5864297 Sollestre et al. Jan 1999 A
5926103 Petite Jul 1999 A
6501369 Treharne Dec 2002 B1
6801967 Nakamura et al. Oct 2004 B2
6941203 Chen Sep 2005 B2
6956460 Tsui Oct 2005 B2
6998956 Dix Feb 2006 B2
7124058 Namaky et al. Oct 2006 B2
7315238 Chambers et al. Jan 2008 B2
7375673 Spilo May 2008 B2
7463959 Namaky Dec 2008 B2
7778186 Oman et al. Aug 2010 B2
7900966 Stennett Mar 2011 B1
8350670 Kelly Jan 2013 B2
8412401 Bertosa et al. Apr 2013 B2
8466774 Lopez et al. Jun 2013 B2
8584841 Tiegs Nov 2013 B1
8854181 Lopez et al. Oct 2014 B2
8912883 Kobres Dec 2014 B2
9002536 Hatton Apr 2015 B2
9171456 Ramchandani et al. Oct 2015 B2
20030112121 Wilson Jun 2003 A1
20030189530 Tsui Oct 2003 A1
20040066308 Sampsell Apr 2004 A1
20040088228 Mercer May 2004 A1
20040113786 Maloney Jun 2004 A1
20040155793 Mui Aug 2004 A1
20040252030 Trimble et al. Dec 2004 A1
20050024229 Chuey Feb 2005 A1
20050212655 Underdahl Sep 2005 A1
20050225429 Burzio Oct 2005 A1
20050231323 Underdahl et al. Oct 2005 A1
20050248436 Hohmann et al. Nov 2005 A1
20050269414 Kell et al. Dec 2005 A1
20050285724 Schmidt et al. Dec 2005 A1
20050288837 Wiegand et al. Dec 2005 A1
20060176146 Krishan et al. Aug 2006 A1
20060179057 Moretti Aug 2006 A1
20060198523 Shearer Sep 2006 A1
20070001805 Utter et al. Jan 2007 A1
20070008168 Liao et al. Jan 2007 A1
20070096940 Laranang et al. May 2007 A1
20070120641 Sommer et al. May 2007 A1
20070176787 Iten et al. Aug 2007 A1
20070200671 Kelley Aug 2007 A1
20070229301 Katz Oct 2007 A1
20070296559 Fehr Dec 2007 A1
20080150685 Desai et al. Jun 2008 A1
20090113963 Pocrass May 2009 A1
20090163140 Packham et al. Jun 2009 A1
20090171684 Samolinski et al. Jul 2009 A1
20090276115 Chen Nov 2009 A1
20090298020 Corcoran et al. Dec 2009 A1
20100045423 Glickman et al. Feb 2010 A1
20100069043 Khawand Mar 2010 A1
20110190962 Peterson et al. Aug 2011 A1
20110315569 Haag Dec 2011 A1
20120008509 Myers et al. Jan 2012 A1
20120242506 Nguyen et al. Sep 2012 A1
20120249289 Freese et al. Oct 2012 A1
20120252365 Lam Oct 2012 A1
20120286927 Hagl Nov 2012 A1
20120317317 Kristiansson Dec 2012 A1
20130069761 Tieman Mar 2013 A1
20130226795 Hopper Aug 2013 A1
20130249677 Kohanek et al. Sep 2013 A1
20130331976 Freeman Dec 2013 A1
20140152882 Samek et al. Jun 2014 A1
20140229316 Brandon Aug 2014 A1
20140266580 Lopez Sep 2014 A1
20140266582 Lopez Sep 2014 A1
20140266583 Lopez Sep 2014 A1
20140266587 Lopez Sep 2014 A1
Non-Patent Literature Citations (6)
Entry
Operator s Instructions DJ-CM2000 Scanner/Transmitter Duplicator.
Operator's Instructions, CT2000E/CT2000SR, Replacement Remote Control Operation.
Operator's Instructions, Model: RMC888; Duplicator Operating Instruction.
Operator's Instructions, “StingPro—Learning Remote—TX-44”.
Operator's Instructions, “Skylink” Model 39, Universal Garage Door Remote Control.
Operator's Instructions, “JMA” CTM-200 Remote Control Duplicator Manual.
Related Publications (1)
Number Date Country
20140266579 A1 Sep 2014 US
Provisional Applications (1)
Number Date Country
61793858 Mar 2013 US