Plaque It!
Sponsored by: Flash of Genius |
[0001] This application claims the benefit of priority under 35 U.S.C. Sections 119(e) and/or 120 and incorporates by reference each of the following U.S. Patent Applications:
[0002] U.S. Provisional Application Serial No. 60/271,455 (Attorney Docket No. P-70322/RMA) filed Feb. 25, 2001, entitled Hardware Architecture, Operating System And Network Transport Neutral System, Method And Computer Program Product For Secure Communications And Messaging;
[0003] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70553/RMA) filed ______, entitled Hardware Architecture, Operating System And Network Transport Neutral System, Method And Computer Program Product For Secure Communications And Messaging;
[0004] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70554/RMA) filed ______, entitled System and Method for Authorization of Access to a Resource;
[0005] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70555/RMA) filed ______, entitled System, Method, and Structure for Generating and Using A Compressed Digital Certificate,
[0006] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70556/RMA) filed ______, entitled Common Security Protocol Structure and Mechanism and System and Method for Using;
[0007] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70557/RMA) filed ______, entitled System and Method for Conducting A Secure Interactive Communication Session;
[0008] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70558/RMA) filed ______, entitled System and Method for Secure Unidirectional Messaging;
[0009] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70559/RMA) filed ______, entitled Secure Certificate and System and Method for Issuing and Using Same;
[0010] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70560/RMA) filed ______, entitled System and Method for Conducting a Secure Response Communication Session;
[0011] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70561/RMA) filed ______, entitled System and Method for Communicating A Secure Unidirectional Response Message;
[0012] U.S. Utility application Ser. No. ______ (Attorney Docket No. A-70562/RMA) filed ______, entitled System, Method And Computer Program Product For Device, Operating System, And Network Transport Neutral Secure Interactive Multi-Media Messaging; each of which is hereby incorporated by reference
[0013] U.S. patent application Ser. No. 09/627,357, filed Jul. 28, 2000, entitled Method for Cooperatively Executing a Plurality of Code Threads in a Processor Using Instruction Retry upon Resource Constraints;
[0014] U.S. patent application Ser. No. 09/627,645, filed Jul. 28, 2000, entitled Business Method to Generate and Electronically Distribute Rich Media E-mail Messages to People with Physical Disabilities;
[0015] U.S. patent application Ser. No. 09/627,358, filed Jul. 28, 2000, entitled Business Method for Generating and Electronically Distributing Targeted Author-Once Architecture Independent Rich Media Content,
[0016] U.S. patent application Ser. No. 09/628,205, filed Jul. 28, 2000, entitled Method to Generate and Electronically Distribute Highly Targeted Rich Media E-mail Messages;
[0017] U.S. patent application Ser. No. 09/706,661 filed Nov. 4, 2000, entitled Hardware Architecture Neutral Computer Program Language And Structure And Method For Execution;
[0018] U.S. patent application Ser. No. 09/706,621 filed Nov. 4, 2000, entitled System and Method for Autonomous Generation of Customized File Having Procedural and Data Elements from Non-procedural Flat-File Descriptors;
[0019] U.S. patent application Ser. No. 09/706,664, filed Nov. 4, 2000, entitled System and Method for Intelligently Scaling Procedure/Data Sets to Adapt the Procedure/data Sets to Receiver Attributes and Maintain Message Intent;
[0020] U.S. patent application Ser. No. 09/706,609 filed Nov. 4, 2000, entitled Intent Preserving Message Adaptation and Conversion System and Method for Communicating with Sensory And/or Physically Challenged Persons;
[0021] U.S. patent application Ser. No. 09/706,612 filed Nov. 4, 2000, entitled System and Method for Searching and Selecting Data and Control Elements in Message Procedural/data Set for Automatic and Complete Portrayal of Message to Maintain Message Intent;
[0022] U.S. patent application Ser. No. 09/706,617 filed Nov. 4, 2000, entitled System and Method for Adapting Content for Sensory and Physically Challenged Persons Using Embedded Semantic Elements in a Procedurally Based Message File;
[0023] U.S. patent application Ser. No. 09/706,615 filed Nov. 4, 2000, entitled System and Method for Forward and Backward Content Based Version Control for Automated Autonomous Playback on Client Devices Having Diverse Hardware and Software;
[0024] U.S. patent application Ser. No. 09/706,611 filed Nov. 4, 2000, entitled System and Method for Reducing Unauthorized Access by Procedural Messages Executing in a Computer System to Computer System or Memory or Programs or Data Stored Therein;
[0025] U.S. patent application Ser. No. 09/706,614 filed Nov. 4, 2000, entitled System and Method for Self-directed Loading of an Input Buffer with Procedural Messages from a Stream of Sub-files Containing Sets of Logical Files;
[0026] U.S. patent application Ser. No. 09/706,610 filed Nov. 4, 2000, entitled System and Method for Device-Neutral Procedurally-Based Content Display Layout and Content Playback;
[0027] U.S. patent application Ser. No. 09/706,616 filed Nov. 4, 2000, entitled System and Method for Thin Procedural Multi-Media Player Run-Time Engine Having Application Program Level Cooperative Multi-threading and Constrained Resource Retry with Anti-Stall Features;
[0028] U.S. patent application Ser. No. 09/706,613 filed Nov. 4, 2000, entitled System and Method for Streaming Multimedia-Rich Interactive Experiences Over a Communications Channel; and
[0029] U.S. patent application Ser. No. 09/706,606 filed Nov. 4, 2000, entitled System and Method for Cooperative Application-Level Multi-Thread Execution Including Instruction Retry Feature Upon Identifying Constrained System Resource; each of which is hereby incorporated by reference.
[0030] This invention pertains generally to systems and methods for providing security for communication of electronic messages, interactive sessions, software downloads, software upgrades, and other content from a source to a receiving device as well as signals used for such communications; and more particularly to systems, methods, signals, device architectures, data formats, and computer program structures for providing authentication, integrity, confidentiality, non-repudiation, replay protection, and other security properties while minimizing the network bandwidth, computational resources, and manual user interactions required to install, enable, deploy and utilize these security properties.
[0031] Numerous security protocols has been proposed in the academic literature and many have been deployed in commercial products. Currently the most popular protocol for secure sessions between a client machine and a server machine is SSL/TLS, which provides an interactive two-way connection that has at least one party authenticated using a digital certificate issued by a mutually trusted third party. Secure browser-based electronic commerce is almost always performed with the help of the SSL protocol. The most popular secure protocols for unidirectional messaging (e.g., e-mail) are S/MIME and PGP, which provide encryption and/or digital signatures based on digital certificates. The most popular protocols for secure downloads and upgrades are Authenticode and Signed JAR files, which also use digital certificates The most popular systems for requesting and issuing digital certificates are PKCS-7&10 and the S/MIME CMS protocol.
[0032] Each of these protocols requires a large amount of software code and data memory to implement and the steps needed to enroll or register to use these systems are time consuming and in other ways annoying to users. A system that needed to implement all of these protocols would be very difficult to implement on a device with limited memory and computing resources, and very annoying to the users These protocols do not provide solutions to the problem of securely authorizing a specific user the right to access a specific resource, such as a web page or software upgrade, in a manner that cannot be spoofed by a third party.
[0033] The need for appropriate security protocols, procedures, and methods are particularly problematic for electronic messaging in general, and for electronic mail or email in particular.
[0034] Electronic mail, commonly referred to as e-mail, is broadly acknowledged as the “killer” application of the Internet and is a major contributor to its growth, but in a number of ways e-mail is stuck in the past. Most e-mail messages, particularly in a business or other commercial environment but also frequently in personal or non-commercial environments as well, have a predetermined intent, goal, or other purpose directed at achieving some particular result or response from the e-mail receiver. Once a message is composed and published, it is generally expected that the intent and quality of presentation of the message will be preserved. In the past, when e-mail was exclusively or primarily symbol or text based, maintaining the goal or intent of the message was relatively strait forward. If the message was well authored so as to present the desired intent and the message was received, it was likely that the receiver would having sufficient intelligence, appreciate the intent of the message. As e-mail has evolved, it may frequently include non-symbolic or non-textual information, for example, digital images or pictures, graphics, digital audio, video, and the like. Usually, these non-symbolic content enhancements are provided as attachments to the basic message. Frequently, the intent of the message or the reason for sending the message will be partially or even entirely lost unless the non-symbolic portion, such as a video attachment, is also viewed by the receiver. Whether the content enhancements are ever seen or heard by the e-mail recipient may be functions of the recipients hardware, software, programmed preferences, sophistication, as well as other tangible and intangible factors. The e-mail author, sender, or forwarder may typically not know these tangible or intangible factors for any particular recipient.
[0035] For these and other reasons that will be described in greater detail herein, conventional procedures for generating and distributing e-mail unfortunately do not typically preserve either the intent of the message or the quality of the presentation when sending messages to a broad range of e-mail client devices (the types and sophistication of which are nearly unlimited) unless concerted efforts are made to maintain the intent and quality. As a result, conventional approaches used to generate and distribute e-mail severely restrict the impact that e-mail could have on recipients and mainstream e-commerce applications.
[0036] One problem, for example, with conventional approaches used to generate and distribute e-mail is related to the fact that content in e-mail messages is typically not adjusted to the hardware capabilities of an e-mail client that will actually receive the content. If the content of the e-mail is not generated to be compatible with the hardware capabilities of a particular e-mail client, the desired intent of the message may be completely lost. Such hardware and/or software capabilities include, for example, audio capabilities, motion video capabilities, microprocessor type, the amount of memory that is available to store and/or execute the e-mail content, display monitor screen size, and display monitor characteristics, which in turn depend on both the logical circuitry (provided by a video adapter) of the display monitor and display monitor screen size, and the like.
[0037] Consider an example where an e-mail publisher sends an e-mail advertisement message that consists of a color motion video of a diamond ring. If the message is received by an e-mail client that does not have required hardware for computing graphical transformations, for example, a graphics accelerator card, the recipient of the message will not be able to view the motion video portion of the message, and a necessary component of the message will have been lost, the motion video.
[0038] Clearly, some client device types will be able to receive, format, and display or present each and every one of the information items included in an e-mail message. Equally clearly, other client device types would be unable to present any but the minimum set of information items, and likely none of the information items unless only the minimum compatible information items was actually communicated. For example, a cellular telephone having only one or a few lines of monochrome display, a low-end Personal Data Assistant (PDA), or the like information appliance having limited display and/or limited multimedia presentation capabilities would only be able to display small amounts of text or limited monochrome graphics. Therefore, while it would be desirable to generate and distribute optimized e-mail messages that include content that is compatible with all e-mail enabled client hardware configurations, this has not been achieved in practice.
[0039] Heretofore, e-mail is not typically authored to take into account the hardware, software, and user preference attributes of the e-mail recipient. Only where a user has subscribed to some service where the content is authored specifically for a particular intended recipient or group of recipients may the content sometimes be tailored to match these attributes. For electronic messages sent to a large number of intended recipients, such as for a mass consumer advertising campaign, where no knowledge of the users' hardware, software, or preference attributes is available, conventional systems and methods do not facilitate providing an optimized e-mail communication that maintains the intent of the message. Therefore, it has been necessary to rely on a least common denominator approach for such e-mailings where the impact of the communication must frequently be sacrificed so that the message may be received and viewed by a maximum number of the intended recipients.
[0040] If the publisher in this example above for the diamond ring generated the e-mail content with a least common denominator approach that incorporated only that content that is compatible with the hardware of all e-mail clients, for example, textual content, the level of quality that may have been desired to show the advertisers products in a positive light would also be lost with respect to an e-mail client that does have the necessary hardware capability to view the motion video. All recipients would merely receive a text message saying for example, “Three Carat Diamond Ring, $1595.00 at Joe's Jewelry Store”, rather than at least some potential buyers viewing a multi-media presentation on the ring and other attributes of Joe's Jewelry Store. Therefore, it is also desirable to substantially optimize e-mail to take significant advantage of those respective capabilities and attributes that are known or may be knowable either before sending the message or after the message is received. Related to these ideals is the fact that e-mail messages often include extra information that while compatible with the hardware capabilities of an e-mail client, cannot or will not be used by the e-mail client.
[0041] For example, there is no need to include color image data in a message that is being sent to a device that only has a monochrome monitor. A monochrome monitor cannot display a color image no matter how fancy a video card the device may have. To make matters even worse, there are a number of undesirable side effects of sending such extra information. For example, the extra information may take up a significant amount of limited memory resources of the receiving device, and/or, depending on the communication channel connection characteristics of the client device, may slow down the speed at which the message is received by the device. In addition, in spite of the fact that a user's device may be capable of receiving a rich-media message, the user may simply prefer not to receive advertisements or other e-mail having multi-media or rich media content.
[0042] Another problem with conventional techniques for generating and exchanging e-mail, is that e-mail messages are not typically generated such that an e-mail client's network connection characteristics are considered. As a result, the presentation of the e-mail message may be compromised. Such network connection characteristics include, for example, nominal speed or bandwidth of network connections, latencies, throughput, and other contemporaneous communication link/channel attributes. This is a problem because, even though a client device may be capable of receiving a very rich message, if the then prevailing communication channel is only supporting low speed or low bandwidth communication, the conventional systems and methods do not provide procedure to reduce the richness of the message while maintaining the goal or intent of the message. In fact, conventional streaming techniques for rich media tend to do just the opposite, that is to permit any reduction in quality so that the content is received within a real-time or near-real-time time constraint. In some instances, the content may be so degraded as not to offer any useful information at all.
[0043] Another problem with conventional techniques for generating and exchanging e-mail, is that e-mail messages are typically generated in a manner that is insensitive to individual user preferences. Such preferences include, for example, preferred language, security level, physical disability requirements, content layout, demographic information, and the like. For example, a user may be a predominantly Spanish-speaking individual who prefers to receive information, for example, text and audio, in the Spanish-language where possible, rather than in for example the English language. If a message is generated in a language that is not understood by the recipient, the recipient will not be able to understand the message without additional assistance, for example, with assistance by a language interpreter. Even if the message might be understood by the recipient, it may fail to make the desired impression on the recipient. Additionally, if the message does not comply with the recipient's physical disabilities, for example, blindness or deafness, the recipient also may not be able to fully understand the message without additional assistance, for example, having the message translated into a Braille or an audio format. As illustrated in both of these example, if the e-mail is generated in a manner that is insensitive to individual user preferences, the full impact and intent of the message is generally lost.
[0044] To complicate matters, an e-mail client device that has received an e-mail may forward the e-mail to additional e-mail enabled devices, and they in turn may forward the message to other e-mail clients, and the like. Each of these additional e-mail clients may have similar, narrower, or broader hardware capabilities, network connection characteristics, and corresponding user preferences as compared to the capabilities, characteristics and preferences of a forwarding e-mail client. Desirably, e-mail messages are generated in a manner such that the respective content of the e-mail is optimized and compatible with the respective hardware capabilities, connection characteristics, and user preferences associated with all e-mail clients, regardless of whether the e-mail client received the message directly from the publisher or from an intermediary by way of forwarded e-mail.
[0045] Yet another problem with conventional e-mail is that it provides poor navigational and procedural control for e-commerce applications, and conventional e-mail has little or no capability for rich graphics, audio, video, or interactive controls. As a result, conventional e-mail severely restricts the ease of use of e-mail and the impact that e-mail could have on recipients and mainstream e-commerce applications. Such applications include, for example, business-to-consumer (B2C) e-commerce and business-to-business e-commerce (B2B). This problem becomes more apparent every day, because increasingly, communications between suppliers and customers is being accomplished via e-mail. Customers are inquiring about products and orders via e-mail, and suppliers are alerting existing and potential customers about new products and services.
[0046] To illustrate this problem, refer to Table 1, where there is illustrated a targeted promotion in the form of an e-coupon from an on-line business or retailer (sometimes referred to as an “etailer”) to a consumer (this is an example of a business to consumer or B2C transaction) that offers the consumer a gift certificate.
[0047] To take advantage of the retailer's targeted promotion, a recipient must perform an number of time consuming navigational and procedural steps. For example, at step 1, the recipient must point her browser to the on-line retailer's web site on the world wide web (www). At step 2, the recipient must select the items of interest and be sure not to use a particular payment method (1-click), but instead place the selected items in the shopping cart. At step 3, the recipient must select a “checkout” button. Finally, at step 4, the recipient must wait until prompted by the retailer's web site to type in the numbers of the provided gift certificate claim code to generate an order form to complete the transaction. These procedures are time consuming and require complicated navigation for the recipient of a targeted promotion to generate an order in response to the promotion.
TABLE 1 EXAMPLE OF AN E-COUPON FROM AN ON-LINE RETAILER To: dan_i@pacbell.net Amount. U.S. $10.00 From: on-line retailer.com Claim code (YOU'LL NEED THIS WHEN ORDERING!): 2AUH_RX8A7G_RE73YL Expiration date: December 3, 1999 Using your gift certificate is easy. Just follow these steps: 1. Visit our Toys & Video Games store at http://www.on-line retailer.com/ toys. 2. Select the items you want. Please use our Shopping Cart rather than our 1_Click 3. Hit the ‘Proceed to Checkout’ button.
[0048] To make matters even worse, the recipient of a targeted promotion must be connected to the Internet to respond to the promotion. Often an e-mail recipient will download e-mail from an internet connected device to a non-internet connected device for example, a handheld PDA, for later perusal at a location that may not have convenient internet access. However, it can be appreciated from the foregoing discussion, that to perform the procedural and navigational steps required for the recipient to respond to the promotion, the recipient must be connected to the internet because there are no procedures for the recipient to navigate the steps outlined in the promotion without connecting to the retailer's web site Desirably a targeted promotion would include interactive controls and content that is generated such that it is optimized and compatible with the respective hardware capabilities, connection characteristics, and user preferences associated with all e-mail clients. Such interactive controls would allow a recipient of a targeted promotion to respond to it without needing to undertake time consuming navigational and procedural steps either to generate an order or to obtain additional information that relates to the promotion. Additionally, it is desirable to have a procedure which will allow the recipient to respond to the promotion without having to respond from a device connected to the internet.
[0049] There are a number of problems that must be solved to overcome the above discussed limitations of traditional procedures used to generate and distribute e-mail. For example, it is rare that an author knows the respective hardware capabilities, connection characteristics, and user preferences of each e-mail enabled device to which a message is targeted. Even if the author did know of such capabilities, characteristics, and preferences, the author would typically be required to perform a number of laborious, time consuming procedures to generate such messages. For example, for each respective device, the author would typically need to manually compose each respective message based on each respective e-mail client's respective capabilities, characteristics, and associated preferences. But, as discussed above, these labors will be moot if the targeted message is forwarded to a device that has different such capabilities, characteristics, and preferences than the device for which the original e-mail message was composed. It is also advantageous that the message be composed automatically without human intervention, and that the message ultimately received by a recipient substantially match hardware, software, and user preference attributes of each individual client device and user.
[0050] Additionally, if an author desires to compose a message, for example, with a similar intent but that is targeted to a different audience than a prior targeted message, the author would typically be required to generate individual messages that not only conform to the different audience, but that also conform to the such capabilities, characteristics and preferences discussed above. For example, it may frequently be desirable to alter the content of an e-mail message to take advantage of a particular cultural context or to avoid particular language or stereotypes that may be detrimental to the intent of the message. For example, if it is known that the receiver identifies themselves with the Armenian-American community it may be advantageous to frame an advertisement so that it is well received by that member of the Armenian-American community and uses for example video images showing Armenian-American's enjoying the product and Armenian music as the background. By the same token, when marketing the same products to an individual identifying himself or herself with the Irish-American community, it may be advantageous to show Irish-Americans enjoying the product and traditional Irish music in the background.
[0051] In light of the above, what is needed is a procedure for generating and exchanging optimized e-mail that conveys the intent of the e-mail publisher across a wide variety of audiences within the boundaries of the hardware capabilities, and connection characteristics of all e-mail enabled devices. Ideally, such optimized e-mail will be generated in a manner that is sensitive to any user preferences of an end user for whom the message is directed. Desirably, a receiver of an e-mail message would be able to access and respond to the message with interactive graphical user interface controls in a manner that does not depend on whether the e-mail client is on-line or off-line. It is also desirable that the e-mail not only be optimized for the user's normal hardware, software, communications channel and other attributes if such are known to the e-mail author, but most desirably to the actual attributes at the time the e-mail message is received by the recipient.
[0052] Also needed are system architectures and program and data structures coupled or used together with appropriate security protocols, procedures, methods, and that provide the desired functionality in a secure manner and desirably do so in an architecture-neutral operating-system neutral, and transport layer neutral environment.
[0053] The invention provides numerous innovations and enhancements over conventional systems and methods, and where implemented in whole or in part as a computer program (for example, as software, firmware, a combination of software, firmware and/or hardware) also provides computer program and computer program product as well as various articles of manufacture.
[0054] In one aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for authorizing a specific user the right to access a specific resource such as an e-mail message or a promotional coupon.
[0055] In another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for representing a digital certificate that enables at least encryption and digital signatures using substantially less storage and bandwidth than conventional digital certificates.
[0056] In another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for implementing two or more security protocols such as 1) secure interactive sessions, 2) secure unidirectional messaging, 3) secure software downloading, 4) secure software upgrading, and 5) secure issuing of digital certificates, using a common set of data formats, algorithms, subroutines, and methods.
[0057] In another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for secure interactive sessions using less software code and network bandwidth than conventional systems.
[0058] In another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for secure unidirectional messaging using less software code and network bandwidth than conventional systems.
[0059] In another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for secure certificate issuing using less software code and network bandwidth than conventional systems.
[0060] In another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for secure response session using less software code and network bandwidth than conventional systems.
[0061] In yet another aspect, the invention provides a system, device, method, computer program and computer program product for a hardware architecture neutral and operating system neutral and network transport neutral method for secure unidirectional response message using less software code and network bandwidth than conventional systems.
[0062] The invention provides numerous innovations and enhancements over conventional systems and methods, and where implemented in whole or in part as a computer program (for example, as software, firmware, a combination or software, firmware, and/or hardware) also provides computer program and computer program product as well as various articles of manufacture. Furthermore each of the innovations provides and/or supports one or more business models and methods of during business particularly when the innovations contribute to a generated revenue stream (either directly or indirectly) and fosters relationships between consumers and/or businesses.
[0063] For example, the invention provides a system, device, method, computer program, and computer program product for a hardware architecture neutral computer program language and structure and method for execution.
[0064] The invention further provides a system, device, method, computer program, and computer program product for autonomous generation of customized file having procedural and data elements from non-procedural flat-file descriptors.
[0065] The invention further provides a system, device, method, computer program, and computer program product for intelligently scaling message procedural/data sets to adapt the procedural/data sets to receiver attributes and maintain message intent.
[0066] The invention further provides a system, device, method, computer program, and computer program product for an intent preserving message adaptation and conversion system and method for communicating with sensory and/or physically challenged persons.
[0067] The invention further provides a system, device, method, computer program, and computer program product for searching and selecting data and control elements in message procedural/data sets for automatic and complete portrayal of message to maintain message intent.
[0068] The invention further provides a system, device, method, computer program, and computer program product for adapting content for sensory and physically challenged persons using embedded semantic elements in a procedurally based message file.
[0069] The invention further provides a system, device, method, computer program, and computer program product for forward and backward content based version control for automated autonomous playback on client devices having diverse hardware and software.
[0070] The invention further provides a system, device, method, computer program, and computer program product for reducing unauthorized access by procedural messages executing in a computer system to computer system or memory or programs or data stored therein.
[0071] The invention further provides a system, device, method, computer program, and computer program product for self-directed loading of an input buffer with procedural messages from a stream of sub-files containing sets of logical files.
[0072] The invention further provides a system, device, method, computer program, and computer program product for device-neutral procedurally-based content display layout and content playback.
[0073] The invention further provides a system, device, method, computer program, and computer program product for thin procedural multi-media player run-time engine having application program level cooperative multi-threading and constrained resource retry with anti-stall features.
[0074] The invention further provides a system, device, method, computer program, and computer program product for streaming multimedia-rich interactive experiences over a communications channel.
[0075] The invention further provides a system, device, method, computer program, and computer program product for cooperative application-level multi-thread execution including instruction retry feature upon identifying constrained system resource.
[0076] These and other aspects of the system, device, method, computer program, and computer program product are provided by the invention and each may be utilized separately or in various combinations to provide a broad range of structures, functions, and capabilities.
[0077] In still another aspect, the invention provides various signals, such as signals in the form of digital bit sequences, for providing such communication either with or without security features.
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089] Aspects of the inventive system, system architecture, and method are now described so that the security features which may advantageously be used with such system, system architecture, and method will be more readily understood. It will be apparent to those workers having ordinary skill in the art in conjunction with the description provided herein, that the inventive security apparatus, data structures, instructions, codes, methods and other aspects may be utilized with StoryMail™ type features as well as with other non-StoryMail systems and methods. Exemplary system architectures and methods are therefore described first, followed by a more detailed description of other security features of the invention. Other aspects of the invention are described in the related applications which are hereby incorporated by reference. While the term storymail or StoryMail may be used to conveniently describe certain types of structures, files, or operations, it will be appreciated that structures, files, or operations that do not formally or exactly satisfy the Storymail criteria but that provide Storymail-like or would otherwise operate with the inventive element may also or alternatively be used.
[0090] Exemplary System Architecture and Method Embodiments
[0091] We first provide a top-level description of some of the key technology components of the invention called a story or other content and systems and methods for authoring, communicating, securing, and rendering such content, along with a description of some of the advantages provided by stories. This description is then followed by several sections that describe the manner in which certain functional and procedural capabilities and/or advantages are achieved in the inventive system. Section headers when provided are provided merely as a convenience to the reader as a guide to portions of the description addressing certain aspects of the invention; however, it will be appreciated that various aspects of the invention are described throughout the description and certain aspects are best described in several portions of the description rather than in a single portion to that relationships may be better understood. Therefore, the description should be considered as a whole with respect to the characteristics or attributes of any structure, system, device, method, procedure, computer program, or other aspect of the invention.
[0092] For purposes of an initial working definition and in somewhat simplified terms, a story as the term is used in this description generally refers to a single, author once, play everywhere file or data/command structure that is interactive either on-line or off-line and that can be used to distribute rich multimedia messages or other rich-media content to all e-mail enabled clients. (More complete as well as alternative definitions of “stories” are described elsewhere in the detailed description.) Next, aspects of an exemplary system to generate, transfer and play stories, according to one embodiment of the present invention, are described. Once this top level description has been provided, the detailed operation of the respective business or operating models and methods of the invention will be described and more readily understood.
[0093] The term e-mail is used here because it represents a form of electronic communication that is known in the art, but it will be appreciated that the inventive system, method, software, business and operating model pertain to much more than what is normally envisioned for conventional e-mail systems and methodologies. The inventive e-mail enhancement, extension, or replacement contemplates some generalized electronic content that is directed to one, a plurality, or a multitude of recipients.
[0094] Recall that in greatly simplified terms, a story is a single, author once, play everywhere file or data/command structure that is interactive either on-line or off-line that can be used to distribute rich multimedia messages or other rich-media content to all e-mail enabled clients. Stories can be used to distribute and coordinate e-commerce transactions, order fulfillment, meeting scheduling, advertisements, catalog item descriptions, customized catalogs and brochures, holiday greeting cards, electronic storybooks, driving directions, vacation slide and picture shows, surveys, real-estate walk thru, medical care pamphlets, pharmaceutical information pamphlets, recipes, business presentations, party invitations, instructional manuals, entertainment, and numerous other applications, particularly where the message consists of more than merely a text or symbolic message. Several of such exemplary applications include, for example, surveys, forms, contracts.
[0095] Story content creation is advantageously automated and dynamically adaptive, because a story is optimized over a plurality of variables to selectively communicate elements of an e-mail message to e-mail client devices and users. Such variables include, for example, client device hardware capabilities, network connection characteristics and user preferences. This is accomplished from a standpoint, for example, of CPU speed, display type, screen size, the existence of and or attributes of audio and/or video capabilities, data scalability, language, use of or not use of audio or visual content, nominal speed or bandwidth of all of the communication links and protocols, and the like.
[0096] In preferred though not all embodiments, a final story is not generated until substantially all such relevant e-mail client information is determined during the time of connection of the client device. In a sense, the system and procedure of the present invention is contrary to other prevailing trends (which attempt to pre-form content so that is available as early as possible) in that StoryMail actually delays composition of the final message until it is ready to be received. For example, if it is determined that an e-mail client cannot view motion video but can display text and play audio, the story will be generated such that it does not include motion video, but rather textual and/or audio elements that communicate the intent of the e-mail publisher within the capabilities of the e-mail client.
[0097] In yet another example, even though a client device may be capable of receiving and rendering a very rich message, if the then prevailing communication channel is only supporting low-speed or low-bandwidth communication, a story is generated such that the richness of the message is reduced so that the message is optimized for the attributes of the client device and the user preferences at that moment in time.
[0098] Sometimes, the message may be optimized or nearly optimized to be received within any time constraints that may be imposed, however, unlike systems and methods that must satisfy real-time or near real time constraints, the story need not provide real-time delivery, as it is intended to be a messaging and communication system, method, and operating model, rather than a real-time rich-media broadcast or streaming system. In this regard, a story is a fully aware e-mail message that is optimized to substantially deliver the intent of an e-mail publisher across the broad range of all e-mail client architectures.
[0099] A story may further be optimized to comply with a predefined set of user defined preferences, making each story beneficially configurable for physically challenged individuals. This is because for every logical element (either text, sound, images, video, or the like logical elements) there is an underlying textual description of that logical element. In addition, there are contextual logical elements included as may be needed to insure that the intent of the message may be easily understood in text or audio only representations. An example of such contextual logical element would be a text element that provides an overview of what is on the screen to be rendered as text or audio in cases where some or all of the screen's visual elements can not be seen by the recipient on the receiving device.
[0100] In a preferred embodiment, all logical elements have corresponding semantic information so that it can be known or determined which elements to use under varying circumstances. For example, the aforementioned contextual logical text element would have associated semantic flags packaged with it inside a story indicating that the element contains text providing an overview of the elements displayed on a screen for use when it is known that the recipient cannot view the screen. Such a case might be when a story player application is used to render and control a rich media message for someone whose only means of communication to the rich media message playing application is over a voice only telephone connection. In other embodiments, an audio representation, either recorded or generated by a text to speech engine may provide audio information backup—contextual information, or semantic information rather than text. In this manner an individual can read text and the text can automatically be articulated for a blind individual.
[0101] In one embodiment, the inventive system, method, and operating model are designed to interface with a peripheral device that generates a Braille or other tactilely sensible indicia corresponding to the story. This peripheral device may either be linked to a conventional client device, such as a computer, or integrated within the device. Using semantics, there is always an alternative sensory presentation mode.
[0102] Stories are self contained and lightweight, meaning that stories have relatively small memory and processor requirements and can be played on client devices the types and sophistication of which are virtually unlimited. A story is self contained because in at least one embodiment, a story is actually a single file that is made up of a number of component logical files. Each component file encapsulates, for example, one or more of computer program instructions, control information, user input forms, validation procedures, and/or multimedia content. Each component logical file is respectively compressed and all of the component logical files are combined, packaged, compressed again to generate the single story file.
[0103] A story is lightweight not only because when it is executed, or played, a story's contents are selectively and sequentially decompressed. But also because a story only includes those elements that are optimized and compatible with the e-mail client's hardware capabilities and network connection characteristics, making stories lightweight (thin) enough to run on inexpensive information appliances or other devices. In fact one of the great advantages of the StoryMail system is its ability to support the hardware capabilities and network connection characteristics of virtually any client device. In fact, a story can even be played on a client device that is not multimedia enabled because a story always has a set of text that describes, or narrates any non-textual element of the story. The story also contains semantic flags indicating the circumstances under which to render all text or non-textual elements.
[0104] A story according to embodiments of the invention is reliable because it is played in a novel run-time environment, wherein, unlike an HTML Web page where there may be links to other servers to provide further information, a story is a self-contained unit. The novel run-time environment is largely deterministic because of the self contained cooperative multitasking system employed in the playback engine and the explicit input buffer coding instructions with fixed size memory buffers. So if it runs correctly one time on one device it will almost certainly run correctly most of the time on all devices.
[0105] A run-time environment such as this is more reliable than, for example a pre-emptive multitasking system using the device's threading mechanism, or an architecture which allows for variable size buffering. Also in story messaging all content is present on the target device before the story is run. So unreliable connections to other devices or content on a network are unnecessary and part of a story cannot be missing since they are packaged together in a single logical file.
[0106] Because a story is self contained and reliable, creation of story content can be completely automated, devices made today will be able to handle future content without upgrades. This provides for intelligent content specific scaling and compression, it is easily stored and exchanged between e-mail clients as a single file, for example, that can be: embedded in a Web page, embedded in an e-mail attachment, stored in ROM, streamed from a server, run as a MIME type, run as an ActiveX component, run as a plug-in, and/or run as an ActiveX component.
[0107] Most story enabled devices will run or play a story in a window, or in a non-windowed operating environment such as occur on in basic or thin client devices, on a display device screen. Such devices include, for example, a desktop computer, notebook computer, personal data assistant (PDAs), telephone, set-top box, movie marquee, informational kiosk, Internet e-mail appliances, billboard, microwave oven, point-of-sale displays, gasoline pump, vending machine, instructional appliance, automobile display device, global positioning system (GPS), point-of-sale display, and myriad of other device types are supported. In fact, a story can even be played on a client device that is not multimedia enabled because preferred embodiments of the inventive story always have a set of text that describes, or narrates any non-textual element of the story, along with semantic information describing the role of each logical element. In one embodiment, a device may play a story entirely with voice commands and automatically articulated responses.
[0108] It is noted that although applicant describes embodiments of the inventive structure, method, computer program, operating model, and structure and organization of content used in or in conjunction with other aspects of the invention, the underlying inventive concept and indeed many embodiments of the invention do not require all features described here. Many such structures and procedures though advantageous and desirable are optional. Including text behind each logical element of the story is a preferred embodiment. Therefore, with respect to the structure and content of a story described here, it should be understood for example, that not all stories must contain underlying text behind each logical element of the story.
[0109] These optimizations make a story very flexible, scalable, and powerful. Unlike some conventional systems and methods, a story maintains a focus on the intent of the message and preserves that message intent in spite of its ability to selectively communicate elements to client devices and users.
[0110] For example, in conventional video streaming systems the primary goal has been to maintain real-time transmission of the video stream and to relax quality to the point where almost all picture quality has been lost if necessary to maintain continuous operation. For an advertiser promoting a high-end product, such as example a diamond ring, it is very important to maintain the quality and clarity of the product image. If the transmitted image(s) of the diamond ring make the ring appear undesirable, the entire purpose for the advertisement is lost. Therefore, attempts should be made to customize composition of the message so that where possible the bright high-resolution image of the diamond ring is presented to the receiver, and if such presentation is not possible then to provide an alternative possibly textual description of the ring which creates the same desire to own product as the bright clear image would. This particular example really illustrates the notion of selecting or substituting content to maintain the intent all of the StoryMail™ message independent of the device hardware capabilities or network connection characteristics and even to some extent independently of user preferences.
[0111] The inventive structure and method may be applied to on-line auctions as well and provide significant benefits here. For example, a story message provides rich product descriptions complete with BID forms; bid limit exceed notifications providing a bidder a chance to upgrade a bid from a form embedded in the message without requiring the bidder to go to the action web site; and, bid accepted notification with transaction completion automation.
[0112] Traditionally, on-line auctions require composing a product description that may not scale up and down depending on the device. Traditional on-line auctions typically require repeated visits the site to determine if a bid is accepted. Furthermore, traditional on-line auctions generally require further visits to a Web site or the placement of a phone call to complete a transaction.
[0113] It can be appreciated that stories can be used at point of sale to provide looping demonstrations and/or advertisements of a product. For example, a story can be embedded in read-only-memory (ROM) of microwaves, stereos, set top boxes, and the like. Playback of such a story can be in the store that displays the story
[0114] There are other exemplary applications for stories, for example, stories can also be used for meeting scheduling, advertising, catalog item descriptions, holiday greeting cards, electronic storybooks, driving directions, vacation slide and picture shows, surveys, real-estate walk throughs, medical care pamphlets, pharmaceutical information pamphlets, cooking or production recipes, business presentations, instructional manuals, entertainment, and numerous other applications where the message consists of more than merely the text message.
[0115] We now describe aspects of an inventive next generation e-mail system that is used to generate, distribute, and play stories. In one embodiment, a story that is sent as a message from a server to a client device is called StoryMail. Referring to
[0116] Sender/publisher
[0117] I/O interface
[0118] Network
[0119] In one embodiment, the system of the invention includes receiving story server
[0120] In one embodiment, network
[0121] Story enabled client
[0122] Conventional e-mail client
[0123] In one embodiment, conventional e-mail client
[0124] Story enabled device
[0125] Each client device
[0126] Referring to
[0127] Data
[0128] In one embodiment, database
[0129] In a preferred embodiment, a digital or binary image can have a set of scaled and color depth versions of the binary image. For example, if database
[0130] In a preferred embodiment, scaling of logical story elements can occur at three different times: (1) when generating the message; (2) when executing the procedural elements of the message; and, (3) while the message elements are being rendered by the hardware specific functions (e.g., the HAL functions) that connect a portable story playback engine to actual device specific hardware.
[0131] For example, in one preferred embodiment, sending story server (see
[0132] Document
[0133] Referring to
[0134] The pseudocode describes a set of tags that each respectively in turn describes an element, wherein each tag is followed by an equals sign (“=”) and a corresponding textual description that defines some other property of the element. The property can be either an absolute description string, an embedded document, or a string that includes a URL and a document name. If a descriptive property is a URL and document name, the URL will be accessed and the identified document downloaded when document
[0135] Line
[0136] Line
[0137] Lines
[0138] Lines
[0139] Lines
[0140] Line
[0141] Lines
[0142] Line
[0143] It can be appreciated that document
[0144] In a preferred embodiment, for at least a subset of the non-textual data in Document
[0145] Applications
[0146] Sender/publisher
[0147] Referring to
[0148] There may be any number of sending story servers
[0149] In one embodiment, sending story server
[0150] Applications
[0151] Composition engine
[0152] To accomplish this, composition engine
[0153] For example, such a sequenced set of data may include a first set of computer program instructions to display a graphic. The first set of computer program instructions is followed, for example, data used by a story player to display navigational buttons on the story receiving devices display. Desirably, each media part is assigned an absolute priority that controls when and if a particular media part will be rendered.
[0154] The computer program instructions specify operations to render graphical user interface (GUI) components, media parts, and provide procedural control to user interaction with the GUI components. The control information, for example, provides offsets into the sequenced set of data that indicate where particular media parts are located. In one embodiment, control information also provides a set of semantics and flags for each logical element of a story to maintain the intent of the message on all receiving devices.
[0155] In yet another embodiment, control information, for example, includes an array of hot spots, one hot spot for every logical element. Such logical elements include, for example, button controls, text input controls, bitmaps, areas wherein motion video will be displayed, text boxes, decorative elements, and the like. Each hot spot is associated with a rectangular region of the receiving devices' screen display (if one is available). The rectangular region facilitates event identification. Such event identification is associated with user instantiated events. For example, if a user selects, for example, with a mouse device, a region identified by the rectangle associated with a particular hotspot, the operating system will generate a button click event which, as will be described in greater detail below is processed by a story player in the context of the logical element selected.
[0156] Each hot spot is further identified as being either active or inactive. An active hotspot is a hotspot that generates an event when a user selects a region within the rectangular area associated with the hotspot. In contrast, an inactive hotspot does not generate an event when a user selects a region within the rectangular area.
[0157] In a preferred embodiment, each hotspot area is implemented as a bitmap. Aspects of an exemplary procedure for a story player to use an array of hot spots to play a story is described in greater detail below in reference to
[0158] In addition to areas the hotspot array may also contain semantic and alternative rendering element identifiers (ids) for logical elements other than areas For example, a hotspot's semantic flags may indicate that there is overview test available that describes the overall purpose of a screen of information, and the hotspot may also contain the id of the overview text element of the story.
[0159] Aspects of control and control information include memory buffer creation, memory buffer loading, branching, condition or searching, layout, subroutines, linkage between different sequences of instructions, decompression and compression and file packaging, e-mail access for sending messages, requests for subfiles.
[0160] In one embodiment, each opcode, parameter and offset is a 32-bit word. This is beneficial for a number of reasons. For example, portability and adaptability are supported by the use of fixed size 32-bit words A 32-bit fixed size word is advantageously used for representing a large dynamic range of value and is highly compressible because both instructions and parameters are designed to have mostly small integer values. The fixed size makes things very scalable and processor words are always aligned along the word boundary.
[0161] Because of this suitably chosen fixed size, the playback code, or the story
[0162] Such one-time processed information is stored by composition engine
[0163] In one embodiment, composition engine
[0164] Story teller