Patent US3105508A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5083309A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and a system enabling software to be run securely

Assignee: Schlumberger SA
•
Filing: 1990-11-16
•
Granted: 1992-01-21
•
Expires: 2010-11-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract When a user receives a data medium containing software, the user is also provided with a memory card that must remain engaged in a card reader associated with the computer on which the software is run while the software is being run. Various intermediate results are stored in the memory of the card and not in the memory of the computer. During subsequent execution of the software these intermediate results are read back from the memory in the card.

Inventors

  • 👤 Daniel Beysson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 03:56
CPC Classifications
G; G07; G07F; G07F7/00; G07F7/08; G07F7/10; G07F7/1008; G06; G06F; G06F21/00; G06F21/10; G06F21/12; G06F21/121; G06F21/123; G06Q; G06Q20/00; G06Q20/30; G06Q20/34; G06Q20/346; G06F2207/00; G06F2207/72; G06F2207/7219; G06F2211/00; G06F2211/007

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 172 words
A method of running software by means of a system comprising at least a main apparatus on which said software is run and an auxiliary device for receiving a removable data medium including at least a memory zone and suitable for interchanging information between said main apparatus and said memory zone, the method comprising the steps of: defining in said software a certain number of commands requesting communication with said auxiliary device, said commands comprising first commands (C n ) associated with the generation of intermediate results for said software, and second commands (C n ) associated with requesting intermediate results in order to enable the program execution to continue; on the appearance of each first command (C n ), writing one of said intermediate results in said memory zone; and on the appearance of each second command (C n ) reading one of said intermediate results from said memory zone, thereby ensuring that the software cannot be executed in full unless said suitable removable medium is present in said auxiliary device.
Claim 2
Independent Claim 172 words
A method of running software by means of a system comprising at least a main apparatus on which said software is run and an auxiliary device for receiving a removable data medium including at least a memory zone and suitable for interchanging information between said main apparatus and said memory zone, the method comprising the steps of: defining in said software a certain number of commands requesting communication with said auxiliary device, said commands comprising first commands (C n ) associated with the generation of intermediate results for said software, and second commands (C n ) associated with requesting intermediate results in order to enable the program execution to continue; on the appearance of each first command (C n ), writing one of said intermediate results in said memory zone; and on the appearance of each second command (C n ) reading one of said intermediate results from said memory zone, thereby ensuring that the software cannot be executed in full unless said suitable removable medium is present in said auxiliary device.
Claim 3
Dependent Claim 103 words
A method according to claim 1, in which at least some of the commands (C n ) in said software are associated with duration information (t n ) which is not less than the normal execution time of said software between said command (C n ) and the following command (C n+1 ); said duration information (t n ) being transmitted to said auxiliary device, and being compared in said auxiliary device with the time that effectively elapses between receiving two successive commands; with access to said auxiliary device being inhibited or not inhibited as a function of the result of said comparison.
Claim 4
Dependent Claim 53 words
A method according to claim 1, in which, on receiving each second command (C n ), said auxiliary device transmits a reply which is encoded on the basis of a new secret key (f n+1 ) together with the new secret key (f n+1 ) encoded using the preceding key (f n ).
Claim 5
Dependent Claim 78 words
A method according to claim 2 of running software rented by an owner to a user, wherein a pecuniary balance second zone is additionally defined in the memory zone of said removable medium; an initial pecuniary balance is written into said second zone when the software is supplied; and said balance is decremented during utilization of said software as a function of the information relating to time effectively elapsed (f n ) as generated by said auxiliary device.
Claim 6
Dependent Claim 60 words
A method according to claim 4, in which said main apparatus is suitable for transmitting interrupt information to said auxiliary device during certain stages of the execution of said software, and on receiving interrupt information, said auxiliary device interrupts its measurement of the time effectively elapsed since the preceding command (C n ), thus interrupting decrementation of the pecuniary balance.
Claim 7
Dependent Claim 53 words
A method according to claim 3, in which, on receiving each first command (C n ), said auxiliary device transmits an acknowledgment signal which is encoded using a new secret key (f n+1 ) together with the new secret key (f n+1 ) which is encoded using the preceding key (f n ).
Claim 8
Dependent Claim 55 words
A method according to claim 2, in which, on receiving each second command (C n ), said auxiliary device transmits a reply which is encoded on the basis of a new secret key (f n+1 ) together with the new secret key (f n+1 ) which is encoded using the preceding key (f n ).
Claim 9
Independent Claim 178 words
A system for running software provided by an owner to a user, the system comprising: a first medium in which said software is stored; a removable second medium including a memory zone suitable for receiving information; a main apparatus for loading said software from the first medium, and for running it; an auxiliary device suitable for receiving said second medium, said auxiliary device being connected to said main apparatus to enable information to be interchanged between said main apparatus and said auxiliary device; said software stored in said first medium including a set of instructions for execution together with first commands (C n ) for causing intemediate results to be transmitted to said auxiliary device and second commands (C n ) for requesting said auxiliary device to provide preceding intermediate results to the main apparatus; and said auxiliary device including means for storing said intermediate results transmitted by said main apparatus in the memory zone of said second removable medium, and means for transmitting intermediate results to said main apparatus on receiving a second command (C n ).
Claim 10
Independent Claim 178 words
A system for running software provided by an owner to a user, the system comprising: a first medium in which said software is stored; a removable second medium including a memory zone suitable for receiving information; a main apparatus for loading said software from the first medium, and for running it; an auxiliary device suitable for receiving said second medium, said auxiliary device being connected to said main apparatus to enable information to be interchanged between said main apparatus and said auxiliary device; said software stored in said first medium including a set of instructions for execution together with first commands (C n ) for causing intemediate results to be transmitted to said auxiliary device and second commands (C n ) for requesting said auxiliary device to provide preceding intermediate results to the main apparatus; and said auxiliary device including means for storing said intermediate results transmitted by said main apparatus in the memory zone of said second removable medium, and means for transmitting intermediate results to said main apparatus on receiving a second command (C n ).
Claim 11
Dependent Claim 24 words
A system according to claim 8, in which said second removable medium is an electronic circuit memory card including memory means and processor means.
Claim 12
Dependent Claim 118 words
A system according to claim 9, in which said software associates at least some of said commands (C n ) with duration information (t n ) which is not less than the normal execution time of said software between said command (C n ) and the following command (C n+1 ); and main apparatus including means for transmitting said duration information (t n ) to said auxiliary device; and said processor means of the card including means for counting the effective time (T n ) that elapses between said command (C n ) and receiving the following command (C n+1 ), and means for comparing the duration information (t n ) and said effective time (T n ).
Claim 13
Dependent Claim 56 words
A system according to claim 9, in which said processor means include means for generating secret keys (f n ) and means responsive to receiving a command (C n ) for generating an encoded response using said key (f n ) and for encoding said key (f n ) using the proceding key (f n-1 ).
Claim 14
Dependent Claim 55 words
A system according to claim 10, in which said card includes memory means for storing initial pecuniary balance information when said card is issued with said first medium containing said software; and said card processor means includes means for decrementing said initial balance as a function of the effective elapsed time information (T n ).
Claim 15
Dependent Claim 32 words
A system according to claim 9, in which said auxiliary device is a memory card reader suitable for transmitting data read instructions and data write instructions to the circuit of said card.
Claim 16
Dependent Claim 56 words
A system according to claim 10, in which said processor means include means for generating secret keys (f n ) and means responsive to receiving a command (C n ) for generating an encoded response using said key (f n ) and for encoding said key (f n ) using the proceding key (f n-1 ).

References Cited (Backward Citations)

US4683553A Cited
EP0135422A1 Cited
US4907268A Cited
FR2606185A1 Cited
WO1988005941A1 Cited
EP0314148A2 Cited
US4932054A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-01-20 1995-07-22 1996-01-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-01-20 1999-07-22 2000-01-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-01-20 2003-07-22 2004-01-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag