Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Mold inhibitor integrated within a matrix and method of making same
Patent Number: 6,965,005 Issued on 11/15/2005 to Markham,   et al.

Title: Method and apparatus for data transfer between at least two modules interconnected by a serial data bus
Patent Number: 7,159,138 Issued on 01/02/2007 to Aberl,   et al.

Title: Method for preparing unsaturated compound by pyrolysis reaction
Patent Number: 7,071,272 Issued on 07/04/2006 to Okazoe,   et al.

Title: Divided connector and method of assembling it
Patent Number: 7,172,468 Issued on 02/06/2007 to Nishide

Title: Method and apparatus for measuring switching noise in integrated circuits
Patent Number: 7,159,160 Issued on 01/02/2007 to Yoh,   et al.

Title: Method of producing and improving an optical transmission line, and associated compensation modules
Patent Number: 7,187,824 Issued on 03/06/2007 to Fleury,   et al.

Title: Method and apparatus for event distribution and event handling in an enterprise
Patent Number: 7,174,557 Issued on 02/06/2007 to Sanghvi,   et al.

Title: Temperature estimating apparatus for internal combustion engine
Patent Number: 6,758,038 Issued on 07/06/2004 to Ueno,   et al.

Title: Method for manufacturing thin-film structure
Patent Number: 7,041,593 Issued on 05/09/2006 to Okumura,   et al.

Title: Light-emitting device
Patent Number: 6,841,933 Issued on 01/11/2005 to Yamanaka,   et al.

Title: Brazed sintered compact
Patent Number: 6,902,825 Issued on 06/07/2005 to Yano,   et al.

Title: Hybrid photonic/electronic switching in a multi-channel network
Patent Number: 7,187,865 Issued on 03/06/2007 to Sparks,   et al.

Title: Color image forming apparatus
Patent Number: 7,010,245 Issued on 03/07/2006 to Shindoh,   et al.

Title: Method of creating a mask-programmed logic device from a pre-existing circuit design
Patent Number: 6,938,236 Issued on 08/30/2005 to Park,   et al.

Title: Change-point detection apparatus, method and program therefor
Patent Number: 7,016,797 Issued on 03/21/2006 to Takeuchi,   et al.

Title: Phase-change memory devices with a self-heater structure
Patent Number: 6,894,305 Issued on 05/17/2005 to Yi,   et al.

Title: Fuel feed apparatus having opening in sub-tank
Patent Number: 7,159,574 Issued on 01/09/2007 to Hayashi,   et al.

Title: Double-sided image forming apparatus and method
Patent Number: 7,016,636 Issued on 03/21/2006 to Hayashi,   et al.

Title: Readout method and apparatus for optical information medium
Patent Number: 7,016,290 Issued on 03/21/2006 to Nakano,   et al.

Title: Method for cross-linking of regulation-and/or control functions for a motor vehicle
Patent Number: 7,188,013 Issued on 03/06/2007 to Krimmel,   et al.

Title: Outlet box for concrete walls
Patent Number: 6,894,222 Issued on 05/17/2005 to Lalancette,   et al.

Title: Method and related apparatus for deriving a tracking error signal
Patent Number: 7,187,629 Issued on 03/06/2007 to Cheng

Title: Method and apparatus for controlling a high voltage generator in a wafer burn-in test
Patent Number: 7,016,248 Issued on 03/21/2006 to Park,   et al.

Title: Conductive inks for metalization in integrated polymer microsystems
Patent Number: 7,005,179 Issued on 02/28/2006 to Davidson,   et al.

Title: Method and apparatus for using adaptive switches for providing connections to point-to-point interconnection fabrics
Patent Number: 7,187,674 Issued on 03/06/2007 to Bresniker

Title: Spectrally tunable detector
Patent Number: 7,015,457 Issued on 03/21/2006 to Cole,   et al.

Title: Phase detector for all-digital phase locked and delay locked loops
Patent Number: 6,987,701 Issued on 01/17/2006 to Lin,   et al.

Title: Method and apparatus for correcting tilt of light beam to optical recording medium
Patent Number: 7,187,636 Issued on 03/06/2007 to Kato,   et al.

Title: Capacitor damage arrestor
Patent Number: 6,754,057 Issued on 06/22/2004 to Pereira,   et al.

Title: Electrostatic track following using patterned media
Patent Number: 6,943,980 Issued on 09/13/2005 to Bonin,   et al.

Title: Wearable electronic device with mode operation indicator
Patent Number: 6,975,562 Issued on 12/13/2005 to Lizzi

Title: Detecting element for a welding device
Patent Number: 7,015,419 Issued on 03/21/2006 to Hackl,   et al.

Title: Biological optical measuring instrument
Patent Number: 7,187,962 Issued on 03/06/2007 to Shingo

Title: Method and apparatus for intelligent modem warm start
Patent Number: 7,187,713 Issued on 03/06/2007 to Jones,   et al.

Title: Method and apparatus for determining properties of a transmission channel
Patent Number: 6,865,256 Issued on 03/08/2005 to Descamps,   et al.

Title: Internalized component for fuel tanks
Patent Number: 7,059,305 Issued on 06/13/2006 to Knaggs,   et al.

Title: Substrate and organic electroluminescence device using the substrate
Patent Number: 7,015,501 Issued on 03/21/2006 to Redecker,   et al.

Title: Command station for mobile radio networks
Patent Number: 7,187,950 Issued on 03/06/2007 to Hintermeier,   et al.

Title: Brake noise detection device
Patent Number: 6,898,976 Issued on 05/31/2005 to Kamiya,   et al.

Title: Method of providing information related to activity of a user and a data processing system program product
Patent Number: 6,996,612 Issued on 02/07/2006 to McCullough

Title: Plasma deposition device for forming thin film
Patent Number: 6,779,482 Issued on 08/24/2004 to Sakai,   et al.

Title: Active USB device
Patent Number: 6,996,636 Issued on 02/07/2006 to Hung,   et al.

Title: Method and apparatus to suppress electrical noise in a rotor assembly for an electrical machine
Patent Number: 7,015,608 Issued on 03/21/2006 to Hartman,   et al.

Title: Resin molded body joining method
Patent Number: 7,129,439 Issued on 10/31/2006 to Itakura,   et al.

Title: Film capacitor and film for a film capacitor
Patent Number: 6,754,065 Issued on 06/22/2004 to Carlen,   et al.

Title: Interactive graphical environment for drug model generation
Patent Number: 7,043,415 Issued on 05/09/2006 to Dunlavey,   et al.

Title: System for selective notification of severe weather events
Patent Number: 7,049,971 Issued on 05/23/2006 to Guillory

Title: Method for removing pollutants from the air and apparatus therefor
Patent Number: 6,779,976 Issued on 08/24/2004 to Carfagna,   et al.

Title: Index cards on network hosts for searching, rating, and ranking
Patent Number: 7,133,870 Issued on 11/07/2006 to Tripp,   et al.

Title: Sulfated fucoglucuronomannan
Patent Number: 7,041,656 Issued on 05/09/2006 to Sakai,   et al.

Title: Method for maintaining wavelength-locking of Fabry-Perot laser regardless of change of external temperature and WDM light source using the method
Patent Number: 7,187,700 Issued on 03/06/2007 to Shin,   et al.

Title: Axial piston pump
Patent Number: 6,779,991 Issued on 08/24/2004 to Leonhard

Title: Double block valve with proving system
Patent Number: 6,968,851 Issued on 11/29/2005 to Ramirez,   et al.

Title: Centering apparatus for injection mold machine
Patent Number: 6,779,999 Issued on 08/24/2004 to Ciccone

Title: Covering composition for optical fiber and covered optical fiber
Patent Number: 6,993,231 Issued on 01/31/2006 to Naruse,   et al.

Title: Liquid developer
Patent Number: 7,105,262 Issued on 09/12/2006 to Takano,   et al.

Title: Structure for connecting instrument panel-side connector and vehicle body-side connector
Patent Number: 6,780,020 Issued on 08/24/2004 to Kondo,   et al.

Title: Fan control system using a microcontroller
Patent Number: 6,779,981 Issued on 08/24/2004 to Huang,   et al.

Title: Polyaspartate resins with improved flexibility
Patent Number: 6,774,206 Issued on 08/10/2004 to Danielmeier,   et al.

Title: Ridge waveguide semiconductor laser
Patent Number: 7,187,701 Issued on 03/06/2007 to Mihashi,   et al.

Title: Printing apparatus and suction recovery control method
Patent Number: 6,752,485 Issued on 06/22/2004 to Murakami,   et al.

Title: Ring having a setting of semi-precious stones
Patent Number: 7,104,089 Issued on 09/12/2006 to LaCroix

Title: Exhaust device with an electric generator
Patent Number: 6,758,042 Issued on 07/06/2004 to Huang

Title: Method for applying flowable materials
Patent Number: 7,043,815 Issued on 05/16/2006 to Lande,   et al.

Title: Polyester composition and process for producing the same
Patent Number: 7,122,616 Issued on 10/17/2006 to Takase

Title: Apparatus and method for producing a flat-topped filter response for (de)multiplexer having a diffraction grating with variable line spacing
Patent Number: 6,754,412 Issued on 06/22/2004 to Huang,   et al.

Title: Variable valve actuating system and method
Patent Number: 7,159,548 Issued on 01/09/2007 to Shindou

Title: Method and apparatus for correcting a retained image artifact
Patent Number: 7,065,177 Issued on 06/20/2006 to Yanoff,   et al.

Title: Airfoil shape for a turbine bucket
Patent Number: 6,779,977 Issued on 08/24/2004 to Lagrange,   et al.

Title: Methods and apparatus for structurally supporting airfoil tips
Patent Number: 6,779,979 Issued on 08/24/2004 to Wadia,   et al.

Title: Packet data serving node (PDSN) load optimization
Patent Number: 7,187,682 Issued on 03/06/2007 to Soulhi,   et al.

Title: Melt-extruded orally administrable opioid formulations
Patent Number: 6,743,442 Issued on 06/01/2004 to Oshlack,   et al.

Title: Collecting agent for sulphidic ores, the production and use thereof
Patent Number: 7,104,404 Issued on 09/12/2006 to Rau,   et al.

Title: Protective case for night vision goggles
Patent Number: 7,104,398 Issued on 09/12/2006 to Wisecarver

Title: Dispensing container
Patent Number: 7,104,426 Issued on 09/12/2006 to Suzuki

Data transformation architecture Number:6,826,627 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Georgia's Parliament Urges Breaking Diplomatic Ties With Russia by Peter Heinlein
     Darfur Rebels Claim to Shoot Down Spy Plane by VOA News
     Obama Prepares to Formally Accept Democratic Party Presidential Nomination by VOA News

Title: Data transformation architecture

Abstract: An architecture in which data outputs from an application program into a communication interface are diverted, by changing their address to a reserved address, and then are processed further by an added program which is invisible to the application program. The added program can provide authentication, privacy, data reformatting, or other such desired features to the data outputs without requiring it to be integrated with the application program.

Patent Number: 6,826,627 Issued on 11/30/2004 to Sjollema,   et al.


Inventors: Sjollema; Mark (Hampton Hill, GB); Odom; Greg (Grand Prairie, TX)
Assignee: Burnbag, Ltd. (Ballinakil, IE)
Appl. No.: 334684
Filed: December 31, 2002


Current U.S. Class: 709/250 ; 709/220; 709/223; 709/238
Field of Search: 709/250,220,223,227,230,238,245,246


References Cited [Referenced By]

U.S. Patent Documents
4649533 March 1987 Chorley
5185860 February 1993 Wu
5761440 June 1998 De Marco
5968133 October 1999 Latham
6009103 December 1999 Woundy
6038233 March 2000 Hamamoto
6219707 April 2001 Gooderum
6243751 June 2001 Chatterjee
6332195 December 2001 Green
6425008 July 2002 Lecheler
6560642 May 2003 Nurmann
6564257 May 2003 Emens et al.
6590861 July 2003 Vepa et al.
6591291 July 2003 Gabber et al.
6591306 July 2003 Redlich
6654792 November 2003 Verma et al.
6668276 December 2003 Ohkado et al.
Foreign Patent Documents
WO0167258 Sep., 2001 WO
WO02080491 Oct., 2002 WO
Primary Examiner: Eng; David Y.
Attorney, Agent or Firm: Groover; Robert Pham; N. Elizabeth Groover & Holmes

Parent Case Text



CROSS-REFERENCE TO OTHER APPLICATION

This application claims priority from U.S. Provisional Application 60/408,096 filed Sep. 3, 2002, which is hereby incorporated by reference.
Claims



What is claimed is:

1. A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b); wherein said operations a), b), and c) by said additional module are transparent to said active program.

2. The system of claim 1, wherein said additional module is a software module.

3. The system of claim 1, wherein said additional module is a software module, running on the same processor as said active program.

4. The system of claim 1, wherein said protocol is TCP/IP.

5. The system of claim 1, wherein said additional module transmits results of said operation b) through said interface module to a non-reserved address.

6. The system of claim 1, wherein said additional module separates protocol-related header portions of said transmission from data content portions thereof, and performs data translation operations on said data content portions without operating on said header portions.

7. The system of claim 1, wherein said processing step b) is performed only conditionally, in dependence on information in the header of the transmission as received.

8. The system of claim 1, wherein said modification includes data compression.

9. The system of claim 1, wherein said modification includes data hashing.

10. The system of claim 1, wherein said modification includes data encryption and decryption.

11. The system of claim 1, wherein said modification includes data filtering.

12. The system of claim 1, wherein said modification includes digital signature and identification.

13. The system of claim 1, wherein said modification includes interfacing to software programs.

14. The system of claim 1, wherein said modification includes dongles.

15. A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes non-reserved addresses and also one or more reserved loopback addresses which are not freely available for external communication, and which echoes back data addressed to one of said reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved loopback addresses; and an additional module which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b); wherein said operations a), b), and c) by said additional module are transparent to said active program.

16. The system of claim 15, wherein said additional module is a software module.

17. The system of claim 15, wherein said protocol is TCP/IP.

18. The system of claim 15, wherein said additional module transmits results of said operation b) through said interface module to a non-reserved address.

19. The system of claim 15, wherein said processing step b) is performed only conditionally, in dependence on information in the header of the transmission as received.

20. The system of claim 15, wherein said additional module separates protocol-related header portions of said transmission from data content portions thereof, and performs data translation operations on said data content portions without operating on said header portions.

21. The system of claim 15, wherein said modification includes data compression.

22. The system of claim 15, wherein said modification includes data hashing.

23. The system of claim 15, wherein said modification includes data encryption and decryption.

24. The system of claim 15, wherein said modification includes data filtering.

25. The system of claim 15, wherein said modification includes digital signature and identification.

26. The system of claim 15, wherein said modification includes interfacing to software programs.

27. The system of claim 15, wherein said modification includes dongles.

28. A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) modifies data content portions thereof but not protocol-related header portions thereof, and c) transmits results of said operation b); wherein said operations a), b), and c) by said additional module are transparent to said active program.

29. The system of claim 28, wherein said additional module is a software module.

30. The system of claim 28, wherein said additional module is a software module, running on the same processor as said active program.

31. The system of claim 28, wherein said additional module separates protocol-related header portions of said transmission from data content portions thereof, and performs data translation operations on said data content portions without operating on said header portions.

32. The system of claim 28, wherein said protocol is TCP/IP.

33. The system of claim 28, wherein said additional module transmits results of said operation b) through said interface module to a non-reserved address.

34. The system of claim 28, wherein said processing step b) is performed only conditionally, in dependence on information in the header and/or content of the transmission as received.

35. The system of claim 28, wherein said modification includes data compression.

36. The system of claim 28, wherein said modification includes data hashing.

37. The system of claim 28, wherein said modification includes data encryption and decryption.

38. The system of claim 28, wherein said modification includes data filtering.

39. The system of claim 28, wherein said modification includes digital signature and identification.

40. The system of claim 28, wherein said modification includes interfacing to software programs.

41. The system of claim 28, wherein said modification includes dongles.

42. A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b); and which also d) intercepts and modifies at least some incoming transmissions directed to said active program; wherein said operations a), b), and c) by said additional module are transparent to said active program.

43. The system of claim 42, wherein said additional module is a software module.

44. The system of claim 42, wherein said additional module is a software module, running on the same processor as said active program.

45. The system of claim 42, wherein said protocol is TCP/IP.

46. The system of claim 42, wherein said additional module transmits results of said operation b) through said interface module to a non-reserved address.

47. The system of claim 42, wherein said processing step b) is performed only conditionally.

48. The system of claim 42, wherein said processing step d) is performed only conditionally, in dependence on information in the content of the transmission as received.

49. The system of claim 42, wherein said additional module separates protocol-related header portions of said transmission from data content portions thereof, and performs data translation operations on said data content portions without operating on said header portions.

50. The system of claim 42, wherein said modification includes data compression.

51. The system of claim 42, wherein said modification includes data hashing.

52. The system of claim 42, wherein said modification includes data encryption and decryption.

53. The system of claim 42, wherein said modification includes data filtering.

54. The system of claim 42, wherein said modification includes digital signature and identification.

55. The system of claim 42, wherein said modification includes interfacing to software programs.

56. The system of claim 42, wherein said modification includes dongles.

57. A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) selectively modifies data in only some ones of said second communications, and c) transmits results of said operation b); wherein said operations a), b), and c) by said additional module are transparent to said active program.

58. The system of claim 57, wherein said additional module is a software module.

59. The system of claim 57, wherein said additional module is a software module, running on the same processor as said active program.

60. The system of claim 57, wherein said protocol is TCP/IP.

61. The system of claim 57, wherein said additional module transmits results of said operation b) through said interface module to a non-reserved address.

62. The system of claim 57, wherein said processing step b) is performed only conditionally.

63. The system of claim 57, wherein said processing step b) is performed only conditionally, in dependence on information in the content of the transmission as received.

64. The system of claim 57, wherein said modification includes data compression.

65. The system of claim 57, wherein said modification includes data hashing.

66. The system of claim 57, wherein said modification includes data encryption and decryption.

67. The system of claim 57, wherein said modification includes data filtering.

68. The system of claim 57, wherein said modification includes digital signature and identification.

69. The system of claim 57, wherein said modification includes interfacing to software programs.

70. The system of claim 57, wherein said modification includes dongles.

71. A computer, comprising: a network interface module which transmits and receives data over a communication channel according to an addressing protocol which includes non-reserved addresses and also one or more reserved addresses which are not freely available for external communication; at least one active program, running on a CPU of said computer, which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module, running on a CPU of said computer, which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b); wherein said operations a), b), and c) by said additional module are transparent to said active program.

72. The computer of claim 71, wherein said additional module is a software module.

73. The computer of claim 71, wherein said additional module is a software module, and is running on the same hardware as said active program.

74. The computer of claim 71, wherein said modification includes data compression.

75. The computer of claim 71, wherein said modification includes data hashing.

76. The computer of claim 71, wherein said modification includes data encryption and decryption.

77. The computer of claim 71, wherein said modification includes data filtering.

78. The computer of claim 71, wherein said modification includes digital signature and identification.

79. The computer of claim 71, wherein said modification includes interfacing to software programs.

80. The computer of claim 71, wherein said modification includes dongles.

81. A macro-system, comprising: multiple complex systems executing respective instruction streams; and at least one network linking said multiple complex systems; wherein multiple ones of said complex systems each comprise: a communications interface module which transmits data over said network according to an addressing protocol which includes non-reserved addresses and also one or more reserved addresses which are not freely available for external communication; at least one active program which sends first communications into said network through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) transforming data in ones of said second communications, and c) transmits results of said operation b); wherein said operations a), b), and c) by said additional module are transparent to said active program.

82. The macro-system of claim 81, wherein said additional module is a software module.

83. The macro-system of claim 81, wherein said additional module is a software module, and is running on the same hardware as said active program.

84. The macro-system of claim 81, wherein said additional module separates protocol-related header portions of said transmission from data content portions thereof, and performs data translation operations on said data content portions without operating on said header portions.

85. The macro-system of claim 81, wherein said processing includes data compression.

86. The macro-system of claim 81, wherein said processing includes data hashing.

87. The macro-system of claim 81, wherein said processing includes data encryption and decryption.

88. The macro-system of claim 81, wherein said processing includes data filtering.

89. The macro-system of claim 81, wherein said processing includes digital signature and identification.

90. The macro-system of claim 81, wherein said processing includes interfacing to software programs.

91. A modular expandable software architecture stored in a storage medium, comprising: an application program which performs at least one class of interface operations by looking up, in a configuration file, a network address which is used for said interface operations; said configuration file containing a reserved address, which does not correspond to any externally routable address, in place of the network address expected by said application program; and a functional module which, when said application program attempts to send data to said reserved address, performs data translation on said data, and retransmits said data, as modified by said data translation, to an externally routable network address; wherein said operations by said functional module are transparent to said active program.

92. The architecture of claim 91, wherein said module is a software module.

93. The architecture of claim 91, wherein said module is a software module, and is running on the same hardware as said active program.

94. The architecture of claim 91, wherein said translation includes data compression.

95. The architecture of claim 91, wherein said translation includes data hashing.

96. The architecture of claim 91, wherein said translation includes data encryption and decryption.

97. The architecture of claim 91, wherein said translation includes data filtering.

98. The architecture of claim 91, wherein said translation includes digital signature and identification.

99. The architecture of claim 91, wherein said translation includes interfacing to software programs.

100. A method, comprising the steps of: (a.) from an application program, sending out a packet, which is intended for a real destination, to a first reserved address which cannot correspond to any real destination; and (b.) in a translation program, looking up a second address, corresponding to said real destination in a table in memory, and transforming the data of said packet, and rerouting said packet thereafter to said second address; wherein said operations by said translation program are transparent to said application program.

101. A software structure in a storage medium, comprising instructions which, when activated by at least one processor, will direct the processor to perform operations to implement the method of claim 100.

102. The method of claim 100, wherein said transformation includes data compression.

103. The method of claim 100, wherein said transformation includes data hashing.

104. The method of claim 100, wherein said transformation includes data encryption and decryption.

105. The method of claim 100, wherein said transformation includes data filtering.

106. The method of claim 100, wherein said transformation includes digital signature and identification.

107. The method of claim 100, wherein said transformation includes interfacing to software programs.

108. The method of claim 100, wherein said transformation includes dongles.

109. A method for adding a data conversion function to a third-party software program, comprising the steps of: in a configuration file, replacing at least one target address with a respective non-routable address; and adding a functional module which, when the third-party program attempts to send a packet to said non-routable address, performs data translation on the content of the packet according to stored algorithms, and retransmits the content, as modified by said data translation, to an externally routable address; wherein said operations by said functional module are transparent to said third-party software program.

110. A software structure in a storage medium, comprising instructions which, when activated by at least one processor, will direct the processor to perform operations to implement the method of claim 109.

111. A method for adding data translation functions to a third-party e-mail program, comprising the steps of: in a configuration file, substituting a reserved address, which does not correspond to any externally routable address, for a correct e-mail upload address; and adding a functional module which, when the e-mail program attempts to send a packet to said reserved address, performs data translation on the content of the packet according to stored algorithms, and retransmits the translated content to the correct e-mail upload address; wherein said operations by said functional module are transparent to said third-party software program.

112. A software structure in a storage medium, comprising instructions which, when activated by at least one processor, will direct the processor to perform operations to implement the method of claim 111.
Description



BACKGROUND AND SUMMARY OF THE INVENTION

The present application relates to computer architecture, and particularly to techniques for interfacing added modules into existing e-mail programs.

Background: Computer Communications

"Computer communications" was regarded as a specialized area in the 1960s or so, but now most communication is converging to a paradigm of data communication. The endpoints of data communication are not necessarily computers, but can be audio, video, or image interfaces, sensors, switches, control units, or many kinds of "smart" devices. Thus the established engineering principles of computer networks are becoming applicable to a wide range of applications.

Background: Networks, Packets, and Protocols

Computer network structure and operation is one of the basic areas of computer science, and a vast amount of literature has been published. One of the basic ways to structure communications over a network is to use packets of data, as in the pioneering "packet-switched" ARPANET which evolved into the Internet.

Background: Data Translations Generally

There are many types of transformations which can be useful to perform on a stream or packet of data. One very simple example is hashing. Another common example is encryption and decryption, where data is converted from a "plain" text (which can be read directly with the appropriate application to and from an encrypted text (which cannot be easily read without knowledge of the secret "key" data).

Background: Data Compression

In general, random (unpredictable) data cannot be compressed without loss of precision. However, many types of commonly-used data blocks are not perfectly random. To the extent that the data is not perfectly random, it can be compressed.

A wide variety of techniques have been developed for data compression. A popular, and very simple, algorithm achieves significant compression of any data stream which contains long chains of repeated bytes, and has the advantage that it will not produce a compressed output which is significantly longer than the input (as some algorithms will).

Compression does not have to be lossless, but can also be lossy. Many image compression algorithms do not permit the full original data to be recovered exactly, and such algorithms are not lossless.

Data compression can be particularly important when streaming video is sent over the Internet, as is increasingly common.

Background: Hashing

One of the simplest types of data translation is "hashing," where data is reversibly transformed in a way which randomizes the statistical distribution of bytes. Hashing can be a useful way to disarm viruses and/or provide a more nearly stochastic distribution of data. (Equalizing symbol distribution can help in increasing S/N ratio of data transmission.)

Background: Filtering

A special kind of data translation is filtering, where data is transformed conditionally depending on a certain test. "Packet filtering" is a more specific term for content-dependent routing. Any router performs address-dependent routing, but filtering implies that the data in the packet is analyzed in some fashion to affect routing. (For example, packets in which a virus signature is found may be discarded.)

Background: Digital Signature and Identification

Public-key algorithms (RSA etc.) can be useful for authenticating digital documents. An extension of this is for identification of the specific human who has chosen to authenticate the document. There are many circumstances where it would be useful for persons communicating over the Internet (or over a network) to be able to identify themselves reliably. For example, in arm's-length Internet sales, it can be useful to definitely identify the other party. For another example, electronic publishing over the internet becomes much more practical if working access can be limited to only those users who have paid for it. For another example, some users would like to filter incoming email to exclude mailings (such as spam) which are not tagged with a reliable certificate of origin.

Keys used for digital signatures are a very long series of bits, which can be represented as long series of alphanumeric characters. Unlike Personal Identification Numbers (PINs), it is simply not feasible for individuals to remember them. For access control, such key data is typically stored in a chip (or other electronic memory), which can be embedded in a plastic card, or in another physical object such as a ring.

Background: Interfacing to Programs

In the past decade it has become increasingly difficult to introduce innovative business software products for the personal computer market. Such products must be able to interface to the widely used software application packages, and this is not always easy. In particular, it is important for communications-related software to be able to interface to Outlook, Notes, and GroupWise, and none of these are easy to program for. (The documentation provided to third-party developers is unclear and difficult to use.)

Computer communications are a somewhat unusual area of software development, in that many functions may need to be combined. A user's full-range email program should be able to handle (using calls to other programs as needed) various compression or authentication formats, various image formats, various audio formats, various HTML or XTML extensions, various drawing formats, various special fonts, virus-checking, and other new functions as they come up. (For example, the secure communications capabilities of PGP were integrated into some email programs, such as Eudora, long before PGP was available in other email programs.) As this list indicates, the boundary between browser functions and email functions has blurred somewhat in the last decade, and this trend may continue. Thus, since email handling necessarily involves so many different data types and data operations, smooth integration is particularly important.

Background: Dongles

A recurrent theme in the software industry has been the desire to find some way to make copied software unusable. One of the earliest ways to do this was the "dongle," in which a physical package containing an electronic key was attached to a port of the computer.

Data Translation Architecture

The present application describes a new system architecture for adding in functionality, and particularly for adding data translation functions between a communications program and its target (e.g. the outside world). The preferred embodiment achieves this without any need to intrude on management of the TCP/IP stack; instead, data for communication is simply addressed to a reserved (preferably loopback) address, and is snooped by a "translation agent" (software routine or hardware) either when it is being sent to the network interface unit or when it is echoed back. The translation agent can provide authentication, privacy, data reformatting, or other such functions. In alternative embodiments these ideas can be used in digital systems which are not computers, or can be used as part of a firewall or gateway, or to interface between networks using different protocols, or used in other analogous ways.

The disclosed innovations, in various embodiments, provide one or more of at least the following advantages: simple interface into existing software; added IP address uses without added stack handling; good invisibility to viruses; easy integration, even with undocumented e-mail programs; can secure all non-protocol-level data on any TCP/IP port; transparent to applications which use TCP/IP; device, platform and operating system independent; independent of any specific methodology for securing data; recipient-dependent email modifications are easy.

BRIEF DESCRIPTION OF THE DRAWING

The disclosed inventions will be described with reference to the accompanying drawings, which show important sample embodiments of the invention and which are incorporated in the specification hereof by reference, wherein:

FIG. 1 shows a generic overview of the translation-assistant.

FIG. 2 shows an example of implementation of the Translation Agent into an existing application environment.

FIG. 3 shows a generic TCP/IP session.

FIG. 4 shows a client server environment using some of the disclosed inventions.

FIG. 5 shows an environment whereby TA secures the transmission between two TA client applications without Server interdiction.

FIG. 6 shows secure data transmission in a peer-to-peer environment.

FIG. 7 shows the client to server secure relationship, and

FIG. 8 shows the server to client relationship.

FIG. 9 is a flowchart for the TA examining and processing for transmitting data.

FIG. 10 is a flowchart for the TA examining and processing of received data.

FIG. 11 is a sample of the devices that can be secured with TA.

FIG. 12 illustrates the interface between Translation Agent and application software in a device.

FIG. 13 gives an overview of the installation process.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The numerous innovative teachings of the present application will be described with particular reference to the presently preferred embodiment (by way of example, and not of limitation).

Translation Agent (TA) is an architecture for modifying (e.g. securing data in the Telecommunications Control Protocol and Internet Protocol (TCP/IP) data stream). TA is platform, operating system and device independent. TA is independent of any specific technology for securing or otherwise modifying the data.

TA utilizes the TCP/IP "loopback" address 127.0.0.2 and/or other class A addresses in that range to implement a procedure whereby TA can become a pseudo-server on and within the physical device.

TA is then able to monitor all or specific ports on the device and secure the data as it is transmitted or unsecure the data as received.

TA is independent of specific protocols such as SMTP ("Simple Mail Transport Protocol"), POP3 ("Post Office Protocol 3"), FTP, HTTP etc. TA examines the data, passing protocol level information without modification and secures the data portion of the transmission.

TA processes and secures the data based on the requirements and capabilities of the specific method used for securing the data.

TA is designed to be transparent to other applications and virus checking applications.

The TA architecture provides an open framework into which many different algorithm implementations can be inserted as modules. For example, for converting unsecured data to secure data and vice versa, the TA architecture can support insertion of e.g. LZW, DES, DES-3, Rijndael, Blowfish, TwoFish, PGP, RSA, etc. Algorithms used can be, for example, streaming or block-oriented, symmetric or asymmetric.

The Translation Agent architecture is modular to the extent that a wide variety of existing encryption (or other) algorithms can be "plugged in" to the Translation Agent. This means that any existing or later-developed algorithm or system can be used if any sizeable group of users demands it. The amount of administrative overhead created by these systems is reduced, since the activities performed within the Translation Agent module are unseen by the user. This is particularly beneficial in corporate IT departments, where a considerable amount of support is usually necessary to make this systems function properly.

FIG. 1 shows a generic overview of the TA's function in a device 101 using TCP/IP. (The device 101 can be, for example, a personal computer, or alternatively can be a variety of other device types as discussed below.) The configuration of a software application 100 is modified to send and/or receive TCP/IP packets using a reserved (e.g. "loopback") TCP/IP address 102 in place of its original TCP/IP settings. TA module 103 is configured to listen on the reserved address 102 specified for this application. (Note that multiple reserved addresses can be specified for multiple applications.) TA module 103 then initiates sessions, using the application's data, on another TCP/IP connection 106. (The TA module 103 retains the application's original TCP/IP address and Port configuration data, in order to transmit and receive the data.) For widely used applications, configuring the application settings would be an automated installation process. In most cases, modifications or enhancements by the application vendors should not be required.

As denoted in FIG. 1, the configuration for the application 100 is changed to use the "loopback" address 102, and TA will then communicate with the application 100 as though TA were the intended destination. TA 103 will examine and modify the data as necessary, and will forward the modified (e.g. secured) data to the intended destination through connection 106. In the other direction, TA 103 will receive data for the application 100 from connection 106, examine the data and unsecure it when necessary, and forward it to the application 100 through connection 102. Thus TA 103 allows the application 100 to be secure in transmitting and receiving its data without modification to the application's software.

Sample Implementation: SMTP/POP3 E-Mail Client Interface

FIG. 2 is a more specific example of implementing TA into an existing application environment. Again, the example shown is based on a device 101, e.g. a personal computer or PDA, with TCP/IP connectivity. The E-Mail client 100' in this example is reconfigured so that its SMTP/POP3 interfaces send and receive on the "loopback" TCP/IP address 127.0.0.2. Specifically, the SMTP target address saved (with many other parameters) in system configuration data file 108 (e.g. a Windows registry file) has been changed to 127.0.0.2, and the POP3 address has also been changed to 127.0.0.2.

In this example the TA module 103' listens on 127.0.0.2 on the "Well known" port 25. When the SMTP interface 100A sends an E-Mail message and/or attachments, TA 103' intercepts the messages.

The protocol level data is preferably passed through intact, but the message content (indicated by the appropriate SMTP body tags etc.) can be transformed by the TA module 103'. That is, the TA module 103' preferably "parses" the SMTP transmission, to the limited extent needed to identify the message body and/or attachments, and then (depending on is programming) performs a data translation operation on these portions. The possibly-transformed body and attachment data, combined with the untransformed protocol data, is then sent along, through connection 106, to the SMTP server that was originally specified by the application.

Correspondingly, the TA module 103' will listen on the reserved address (in this example 127.0.0.2 on Port 110) for the application to initiate a POP3 session. Thereafter TA 222 will monitor the session, and if secured data is encountered for this application/user, then the TA module 222 will unsecure the data. Otherwise the TA module 103' can simply pass the clear data through to the POP3 interface 100B.

Both the SMTP and POP3 data securing and unsecuring processing are transparent to the application and virus scans implemented at the device.

Installation of TA

FIG. 13 gives an overview of the installation process (which, as noted, is preferably automatic.) In the presently preferred embodiment, TA (or its installation program) initially examines the windows registry 108 for e-mail client configurations. (The actual entry locations and data will vary depending on the versions of the E-Mail client and possibly the Windows operating system.) TA extracts the client configuration (steps 1310 and 1330) and saves the information in its own configuration file.

TA (or the installation program) then updates the windows registry 108 with POP3 (step 1340) and SMTP (step 1320) configurations set to a reserved address, e.g. a loopback address 127.0.0.x.

The TA module is then configured (step 1360) with logical relations which will cause it to load whatever translation algorithms are desired. (For example, hashing might be used for outbound messages to some addresses, or encryption for others.)

Once the TA module itself has been set up to launch automatically, the unit can be restarted (step 1390).

TA then starts a listening function for POP3 and SMTP on the loopback address at the well known ports for POP3 and SMTP.

When the e-mail client starts, it obtains the e-mail server configuration from the windows registry, and is not aware of the changes made by TA.

When the e-mail client initiates a POP3 or SMTP request, it actually connects with TA on the same device.

TA then initiates the same type connection with the actual POP3 or SMTP server.

TA then monitors the information, receiving from the e-mail client and forwarding to the server and visa versa.

If e-mail is being sent (SMTP), then TA looks for the recipient information, both primary and carbon copies. If any recipients are in the list of registered secured recipients for the encryption technology implemented then TA will wait for the actual text and attachments and secure the information. If there are no secure recipients then TA simply continues to pass the information.

If a POP3 session is initiated then TA simply checks the information to determine if it is in a secure format, and unsecures the information if necessary, before passing it to the e-mail client. If TA is not able to decrypt the information, e.g. because the recipient is not the authorized recipient, then the information is passed to the email client in its as-received format.

When TA is uninstalled, the uninstallation program preferably resets the registry entries back to their original configuration.

Preferably, TA performs a test for integrity at startup. (For example, a checksum derived from the updated registry entries can be stored where TA can read it and check it.)

The same general interface should function for Lotus Notes and IMAP with minor changes for these protocols.

The example refers to the windows registry, but the specific client application may use some other form for saving its configuration information, such as an ".ini" file, and in this case the minimal access to registry described above is merely performed on the appropriate .ini file or other location.

Non-E-Mail Applications

FIG. 3 shows a generic TCP/IP session with a non-email application 100", which can include but is not limited to FTP, VPN, HTTP, video conferencing and peer-to-peer applications. By configuring the application 100" to send and receive using the "loopback" addressing scheme, TA is able to secure an application's data without modification to the application's software. TA can secure all data or selected data based on configuration parameters. TA can be configured using its secured configuration manager to use a different TCP/IP port on the device or for the destination.

TA's mechanics of operation in this configuration are similar to those of the e-mail configuration of FIG. 2. The application's configuration data is preferably altered so that its send routines 100A' use a non-routable address 102A (preferably a loopback address), and its receive routines 100B' use a non-routable address 102B (also preferably a loopback address). The translation agent 103" is set up to capture accesses to these reserved addresses, and to perform data translation operations on the content of the transmissions as described above. Note however that the retransmission functions performed by translation agent 103" can be slightly more complicated than those performed by email translation agent 103', since the ultimate target address is not necessarily static. Where the target address is unpredictable (as in http: or ftp: accesses), the TA 103" is preferably configured either to snoop and divert all communications, or else to access dynamic routing data from inside the application 100".

Secure Communication to Interdicting Server

FIG. 4 shows a sample implementation in a client-server environment whereby the Server requires the data to be unsecured upon arrival. In this example an application 410, running on a physical device 101A (e.g. a workstation), is backed up by a local TA 420A which secures some or all of the communications over connection 106 (e.g. a LAN or WAN routing). A corresponding server-side TA 420S provides a complementary data translation interface between channel 106S and a server 430. An example of this environment could be organization with a central E-Mail server where the client 410 secures all data to the server (in this case E-Mail messages and attachments), and the E-Mail server 430 unsecures the data to perform a Server level virus scan.

The reverse process can also be employed, where the client 410 only receives data that has been secured by the Server even when the originator did not have the capability. An example of this is shown in FIG. 7, where an application 710 on a remote device 101C can communicate with the application 410, but all communication must be routed through client-server channel 106S which is protected by TA modules 420A and 420S. Thus in this example the server 430 can be programmed (for example) to perform firewall and gateway functions needed for interface to the outside world.

FIG. 8 shows a different implementation, where client-server communications over local channel 106L are not necessarily mediated by TA modules, but communications which must pass over a more exposed channel 106W are secured by TA modules 420A and 420S. Note that this diagram is very similar to FIG. 4, except that the channel assignments are different; in the embodiment of FIG. 8 the local network is assumed to be protected by (e.g.) physical security precautions, and the problem addressed is that of providing secure communications with remote workstations.

Peer-to-Peer Implementations

FIG. 6 shows an example where data transmission can also be secured in a peer-to-peer environment. In this example processes 610A and 610B, running on two different physical devices 10A and 10B, have their communications mediated by the complementary operations of respective translation agents 103. Note again that the physical devices 101 do not have to be computers, but can be, for example, components of a computing system. Thus, for example, in a large computing system which uses an array of asynchronous processors to form a "compute farm," or an array of storage devices to form a "server farm," the TA modules can be added in to modify peer-to-peer communications. Note, however, that this modification is not as attractive for applications where latency in communications is an action.

FIG. 5. shows a different version of this, where a server 520 links one subnetwork 106C, on which an application 100C is running on a physical device 101A, to another subnetwork 106D, on which another application 100D is running on a physical device 101B. The complementary operations performed by the TA modules 103 do not disturb routability, but can be used, as described above, for symbol equalization, hashing, or encryption/decryption operations.

Sample Software Implementation of Translation agent

FIGS. 9 and 10 are a complementary pair of flow charts which show an example of implementation of the Translation Agent module in software.

FIG. 9 shows how the TA, in this sample embodiment, handles data transmitted by an application (to a reserved address).

Initially the TA routine simply listens to a particular address and port for transmissions by the application program (state 9A), and loops in this state until matched incoming data is detected (branch 9B).

When matched incoming data is detected, the protocol portion of it is extracted for unmodified retransmission (branch 9C). If data translation is conditional (which it may not be), the logical evaluations are done to see whether data modification is to be performed (branch 9D). (Note that test 9D can be performed before or after test 9C.) If data modification is to be performed, step 9E determines what subroutines are to be called for securing or otherwise translating the data, and step 9F calls the appropriate subroutines (typically third-party modules). Finally (step 9G), the reassembled packet (e.g. unmodified header plus modified body and attachments) is transmitted on to an external address.

FIG. 10 shows how the TA, in this sample embodiment, handles inbound data for an application. This example shows the particular case when TA is used for decryption, but of course similar testing and translation operations would apple to other uses of TA.

Initially the TA routine simply listens for transmissions to a particular address and port (state 10A), and loops in this state until matched incoming data is detected (branch 10B).

When matched incoming data is detected, the protocol portion of it is extracted for unmodified retransmission (branch 10C).

The data portion of the packet is then tested to see whether it has been secured (branch 10D), and if so the application then determines what algorithm or algorithms must be called to unsecure the data (step 10E). The appropriate program calls are then made (step 10F), and the modified data, plus the unmodified protocol-related header, are then transmitted to the IP address and port being watched by the application.

Software Interface with Translation Agent

FIG. 12 illustrates the interface between Translation Agent and application software in a device.

TA does not interface directly with any application software. The interface is through a loopback address with TCP/IP.

In the communications loop, the application simply continues to communicate with other devices using the TCP/IP interface. TA intercepts the transmission within the device and takes the appropriate action.

If TA is used to secure information within a device then the same loop interface exists, but TA loops the transmission back to the application after having taken the appropriate action (encrypt or decrypt).

The arrows on the document are meant to show flow of the information. In actuality the information is normally a two way exchange over the one connection between the software. In other words the application probably sends and receives over one TCP/IP connection for one function and likewise TA sends and receives over the one connection.

Adaptation to Mobile Systems

FIG. 11 is a sample of the devices that can achieve secure communication, using the TA, through the Internet (or other large network). This diagram is not an exhaustive list at all, but does give some idea of the range of applications of TA technology. The illustrated devices, which can be connected through the Internet or some other TCP/IP or analogous network, include without limitation: Windows.TM. computers; Unix/Linux computers; MacIntosh.TM. computers; PDA devices; digital cell phones; other digital devices; mainframe computers; servers; videoconferencing stations; Windows-CE.TM. devices; minicomputers; IP telephones; Bluetooth devices; satellites; digital cameras; and laptop or notebook computers.

A particularly attractive contemplated use of the disclosed inventions is in handheld mobile internet devices. Such devices (such as the Blackberry, or other SIM-enabled PDAs) are increasingly coming to include substantial memory and processing power, and are often designed for easy installation of software applications and accessories. It is contemplated that the modular add-on capability of a "translation agent" as described above can be particularly advantageous for updating such systems to include user-selected translation operations as described above.

The Blackberry, for example, uses a Java.TM. operating system, and therefore the above functionality implies a slight modification to the "JVM" (the "Java Virtual Machine," which any Java-capable computer must be able to emulate). That is, Java instructions are assumed to be executed by the Java virtual machine, and any particular computer must be equipped with software drivers to implement the JVM. Typically Java midlets sit on the Blackberry to perform encryption and related functions.

XDA is a competitor to Blackberry, which uses Windows CE, and the disclosed inventions can be similarly adapted to the XDA.

Other implementations (in Java, embedded Linux, PalmOS, or other system software) can similarly be ported to Epoc or other machines, including but not limited to any "3G" or "2.5G" phone.

In the special case of routing e-mail into PDAs (or telephones or other mobile information appliances), the TA can also be set up for formatting functions, e.g. for selective stripping of attachments and/or images. This function is a normal part of low-bandwidth wide-area wireless network communication, but the ability to include it in the TA, where it is performed transparently to the devices and applications involved, provides a new capability.

Two-Translation-Agent Methods

In one class of embodiments, communications between two Translation Agents (or more precisely, between two TA-mediated devices) can be structured to introduce modifications (e.g. for security) even when using protocols (such as FTP) which are inherently unsecure. Thus TA's capabilities are not limited to securing data in transit. TA's in combination can also implement or enhance security and authentication functions, within the communication architecture, which are virtually impossible to achieve without changes in basic internet standards and/or massive changes in software and servers.

In such embodiments, the TA's which jointly control a communication channel can be programmed to jointly introduce non-standard enhancements to standard protocols.

According to various disclosed embodiments of the present invention, there is provided: A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications to said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b).

According to various disclosed embodiments of the present invention, there is provided: A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes non-reserved addresses and also one or more reserved loopback addresses which are not freely available for external communication, and which echoes back data addressed to one of said reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved loopback addresses; and an additional module which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b).

According to various disclosed embodiments of the present invention, there A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) modifies data content portions thereof but not protocol-related header portions thereof, and c) transmits results of said operation b).

According to various disclosed embodiments of the present invention, there is provided: A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) modifies data in ones of said second communications, and c) transmits results of said operation b); and which also d) intercepts and modifies at least some incoming transmissions directed to said active program.

According to various disclosed embodiments of the present invention, there is provided: A system, comprising: a communications interface module which transmits data over a communication channel according to an addressing protocol which includes one or more reserved addresses which are not freely available for external communication, and also includes non-reserved addresses; at least one active program which sends first communications into said channel through said interface module, using non-reserved addresses, and which also sends second communications through said interface module using ones of said reserved addresses; and an additional module which a) detects ones of said second communications, b) selectively modifies data in only some ones of said second communications, and c) transmits results of said operation b).

According to various disclosed embodiments of the present invention, there is provided: A system, comprising: a communications interface module which transmits data over a communication channel; at least one active program which sends communications into said channel through said interface module; and an additional software module which a) monitors at least some ones of said communications, b) selectively modifies data in only some ones of said second communications, and c) transmits results of said operation b) through said interface module.

According to various disclosed embodiments of the present


Free Web Sudoku Puzzles.
Solve with your browser.
        2   6 5  
          6 2   9
8               3
5     6 8        
  1           8  
        3 2     1
3               2
7   1 4          
  4 5   1        
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!