JP4780915B2 - Method and system for simplifying online shopping using internet browser - Google Patents

Method and system for simplifying online shopping using internet browser Download PDF

Info

Publication number
JP4780915B2
JP4780915B2 JP2003540833A JP2003540833A JP4780915B2 JP 4780915 B2 JP4780915 B2 JP 4780915B2 JP 2003540833 A JP2003540833 A JP 2003540833A JP 2003540833 A JP2003540833 A JP 2003540833A JP 4780915 B2 JP4780915 B2 JP 4780915B2
Authority
JP
Japan
Prior art keywords
user
browser
internet
interface
window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003540833A
Other languages
Japanese (ja)
Other versions
JP2005508047A (en
Inventor
チー ルー
アシシュ バルドゥア
Original Assignee
ヤフー! インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/015,816 external-priority patent/US20020186255A1/en
Application filed by ヤフー! インコーポレイテッド filed Critical ヤフー! インコーポレイテッド
Priority claimed from PCT/US2002/034510 external-priority patent/WO2003038640A1/en
Publication of JP2005508047A publication Critical patent/JP2005508047A/en
Application granted granted Critical
Publication of JP4780915B2 publication Critical patent/JP4780915B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Description

本願は、米国特許出願番号09/429,585(1999年10月28日出願)の一部継続、並びに、“インターネットブラウザを用いてオンライン・ショッピングを簡便化する方法およびシステム”という名称の米国特許出願番号10/015,816(2001年11月1日出願)の一部継続であり、双方の出願とも現在係属中である。本願はまた米国仮出願特許第60/331,565号(2001年11月16日出願)に対して優先権を主張するものである。   This application is a continuation of US patent application Ser. No. 09 / 429,585 (filed Oct. 28, 1999) and a US patent entitled “Method and System for Simplifying Online Shopping Using an Internet Browser”. Application No. 10 / 015,816 (filed on November 1, 2001), both of which are currently pending. This application also claims priority to US Provisional Application No. 60 / 331,565 (filed Nov. 16, 2001).

本発明は、インターネットブラウザを用いてオンライン・ショッピングを簡便化する方法およびシステムに関する。   The present invention relates to a method and system for simplifying online shopping using an Internet browser.

インターネット(即ちワールドワイドウェブ、ウェブなど)にアクセスする時、インターネットユーザは、通常、例えば、ネットスケープ・ナビゲータ(商標)またはマイクロソフト・インターネットエクスプローラ(商標)などのようなブラウザ・ソフトウェア・プログラムをコンピュータを介して開始または起動させる。ブラウザ・プログラム(本願明細書ではブラウザとも呼ぶ)は、(例えばモデムとインターネット・サービス・プロバイダ(ISP)を介して)インターネットとの物理リンクを確立し、所定の外観と機能を有するテキストインターフェイスとグラフィックユーザインターフェイス即ちブラウザ・インターフェイスを提供する。現在、この外観と機能のいずれもインターネットユーザにより大幅に変更する事は出来ない。従って、インターネットユーザが、ウェブサイトからウェブサイトへ、アプリケーションからアプリケーションへ、HTML(ハイパーテキストマークアップ言語)ページからHTMLページへ移動しながらインターネットをナビゲートしている間、ブラウザ・インターフェイスは比較的静的である。   When accessing the Internet (ie, the World Wide Web, Web, etc.), Internet users typically use a browser software program, such as Netscape Navigator ™ or Microsoft Internet Explorer ™, via a computer. Start or start. A browser program (also referred to herein as a browser) establishes a physical link with the Internet (eg, via a modem and an Internet service provider (ISP)), and provides a text interface and graphics that have a predetermined appearance and functionality. Provides a user interface or browser interface. Currently, neither the appearance nor the functionality can be changed significantly by Internet users. Thus, the browser interface is relatively quiet while Internet users navigate the Internet as they move from website to website, application to application, and from an HTML (Hypertext Markup Language) page to an HTML page. Is.

ブラウザ・インターフェイスの限定された制御は、例えば、ブラウザ・インターフェイスにファンクションボタンを追加出来る実行可能なソフトウェアプログラムを介して現在利用可能である。しかし、この付加機能は、ブラウザが最初起動されるときにブラウザ・インターフェイスに追加されるが、その後静的状態のままである。従って、ブラウザが起動された時や、ユーザがインターネットをナビゲートしている時、インターネットサイトから情報を動的にダウンロードし、前述したように変更されたブラウザ・インターフェイスを表示するブラウザが、ブラウザ自身をカスタマイズする事は出来ない。またこのような変更されたブラウザ・インターフェイスは、プラグインとインターフェイス用の種々のブラウザ・アプリケーション・プログラミング・インターフェイス(API)へのアクセスに供する事は出来ない。従って、ブラウザ・インターフェイスを変更する方法を提供し、従来技術の上述の欠点を解決するブラウザ・インターフェイスを提供することが望ましい。   Limited control of the browser interface is currently available via, for example, an executable software program that can add function buttons to the browser interface. However, this additional functionality is added to the browser interface when the browser is first launched, but then remains static. Therefore, when the browser is launched or when the user is navigating the Internet, the browser that dynamically downloads information from the Internet site and displays the modified browser interface as described above is the browser itself. Cannot be customized. Also, such a modified browser interface cannot be used to access various browser application programming interfaces (APIs) for plug-ins and interfaces. Accordingly, it would be desirable to provide a method for modifying the browser interface and provide a browser interface that overcomes the above-mentioned drawbacks of the prior art.

或るウェブサイトにアクセスする時、ユーザ固有のそのウェブサイトを介してデータへのアクセス許可を受ける前に、そのユーザがユーザIDとパスワードの入力をする必要がある場合がある。例えば、オンライン・ショッピング・ウェブサイト(但しこれに限定されるものではない)を設けているほとんどの金融機関、投資会社、その他のサービス提供団体などは、インターネットを介してユーザ(または団体のクライアント)が自分のアカウントへアクセスすることを許可している。種々の明白な理由のために、このようなアクセスはユーザアカウントの取得に先行してユーザが一定のユーザ固有情報を入力したことに基づくものである。例えば、オンライン・アカウントを設定するために、ユーザはユーザIDとパスワードなどのようなユーザを特定する一定のユーザ固有情報の提供を求められることがある。一度このユーザ固有情報が提供され、オンライン・アカウントが確立されると、ログイン処理の一部としてユーザ固有情報を提供することにより、ユーザだけが自分のオンライン・アカウントにアクセスすることが可能となる。   When accessing a certain website, it may be necessary for the user to enter a user ID and password before being granted permission to access data via the user-specific website. For example, most financial institutions, investment companies and other service providers that have online shopping websites (but are not limited to) are users (or clients of organizations) via the Internet. Has allowed access to their account. For various obvious reasons, such access is based on the user entering certain user specific information prior to obtaining a user account. For example, to set up an online account, a user may be required to provide certain user specific information identifying the user, such as a user ID and password. Once this user-specific information is provided and an online account is established, only the user can access his / her online account by providing the user-specific information as part of the login process.

ユーザが、複数のウェブサイトを介してアクセス可能な、(複数の金融機関、投資会社および別のサービス提供団体と)複数のオンライン・アカウントを保持していることも稀ではない。複数のウェブサイトのそれぞれのウェブサイト用としてユーザが同じログインIDとパスワードを使用しているような場合があるが、このようなことは推奨されるものではない。実際、さらに望ましい推奨されるプラクティスとして、個々のオンライン・アカウント用の異なるログインIDとパスワードの使用が挙げられる。これによって、ユーザのオンライン・アカウントのセキュリティが高められ、他人がユーザのログインIDとパスワードのうちの一方をたまたま取得しても、当該アカウントに対するアクセス権限のないアクセスが行われる可能性は小さくなる。しかし、個々のオンライン・アカウントの異なるログインIDとパスワードとを使用することにより、個々のログインIDとパスワードとを少しも記憶できないというそれ自体の問題が提起されている。   It is not uncommon for a user to have multiple online accounts (with multiple financial institutions, investment companies and other service providers) that can be accessed through multiple websites. There may be cases where the user uses the same login ID and password for each of a plurality of websites, but this is not recommended. In fact, a more desirable and recommended practice is the use of different login IDs and passwords for individual online accounts. As a result, the security of the user's online account is enhanced, and even if another person happens to acquire one of the user's login ID and password, the possibility of unauthorized access to the account is reduced. However, the use of different login IDs and passwords for individual online accounts raises its own problem that individual login IDs and passwords cannot be stored at all.

個々のウェブサイトをナビゲートする必要なく、1以上のウェブサイトからユーザが情報の検索を行えることも望ましい。インターネットブラウザを用いて、簡単かつ迅速にこのような情報を取得出来ることがさらに望ましい。   It is also desirable that a user can search for information from one or more websites without having to navigate through individual websites. It is further desirable to be able to obtain such information easily and quickly using an internet browser.

本発明は、インターネットブラウザ・インターフェイスに機能を追加する方法およびシステムを目的とするものである。本発明の1つの実施形態では、この追加機能によって、インターネットブラウザを用いてウェブサイトへの自動ログインを簡便化する事が出来る。別の実施形態では、上記追加された機能によって、ユーザは、インターネットブラウザを用いて種々のタスクの実行が可能となる。本発明を限定するものではないが、そのようなタスクの例として、1以上のウェブページのナビゲーションに必要な、あるいは、1以上のウェブページやウェブサイトからユーザ所望の情報を検索するのに必要な種々のタスクの実行が挙げられる。   The present invention is directed to a method and system for adding functionality to an Internet browser interface. In one embodiment of the present invention, this additional function can simplify automatic login to a website using an Internet browser. In another embodiment, the added functionality allows the user to perform various tasks using an Internet browser. Although not limiting the present invention, examples of such tasks are necessary for navigation of one or more web pages, or for retrieving user desired information from one or more web pages or websites. Execution of various tasks.

本発明の実施形態によれば、ユーザのインターネットブラウザへ或る機能を追加するコンピュータコードがサーバからユーザ用コンピュータへ伝送される。従って、本発明は、ユーザによるボタンおよび/またはツールバーのブラウザ・インターフェイスへの選択的追加と、特性と機能のブラウザへの追加とを可能にすることにより、インターネットブラウザ・インターフェイスの動的制御を行うものである。好ましい実施形態では、このコンピュータコードによって、インターネットブラウザ・インターフェイスへインターフェイス・オブジェクトを選択的に追加することにより、ユーザがブラウザ・インターフェイスの変更を行うことが可能となる。インターフェイス・オブジェクトは、既存のツールバーの一部として、または、ブラウザ・インターフェイスに追加された新たなツールバーの一部としてブラウザ・インターフェイスに追加出来るボタンを備える事が出来る。このボタンによって、ユーザはマーチャント・リストにアクセス出来るようになり、ブラウザへの自動ログイン機能が追加される。マーチャント・リストへのアクセスによって、ユーザは、自動ログインのためのマーチャントの追加、マーチャントの編集およびマーチャントの選択を行うこと出来るようになる。一度このボタンがブラウザ・インターフェイスに追加されると、ユーザは追加されたボタン(本願明細書では一般に自動ログインボタンと呼ぶ)の上をクリックし、マーチャント・リストとして1以上のマーチャントを表示するプルダウンメニューへアクセスする事が出来る。マーチャント・リストのマーチャントのうちの一人を選択することにより、本発明に準拠するブラウザに追加された機能によりユーザは選択されたマーチャントへの自動ログインを行い、マーチャントのウェブサイトへナビゲートする。上記処理は、ユーザにとって実質的に透過的なプロセスであり、ユーザがマーチャント・リストからマーチャントを選択する処理が開始される。   According to an embodiment of the present invention, computer code for adding a function to the user's Internet browser is transmitted from the server to the user computer. Accordingly, the present invention provides dynamic control of the Internet browser interface by allowing the user to selectively add buttons and / or toolbars to the browser interface and add features and functions to the browser. Is. In the preferred embodiment, this computer code allows the user to change the browser interface by selectively adding interface objects to the Internet browser interface. Interface objects can have buttons that can be added to the browser interface as part of an existing toolbar or as part of a new toolbar added to the browser interface. This button allows the user to access the merchant list and adds an automatic login function to the browser. Access to the merchant list allows the user to add merchants, edit merchants, and select merchants for automatic login. Once this button is added to the browser interface, the user clicks on the added button (generally referred to herein as an auto-login button) and displays a pull-down menu that displays one or more merchants as a merchant list. Can be accessed. By selecting one of the merchants in the merchant list, a feature added to the browser in accordance with the present invention allows the user to automatically log in to the selected merchant and navigate to the merchant website. The above process is a process that is substantially transparent to the user, and a process in which the user selects a merchant from the merchant list is started.

本発明に準拠して提供される自動ログイン機能は、選択したマーチャントへの自動ログイン処理が終了する前に、ユーザにセキュリティ保護キーの入力を求めるセキュリティ保護を施したログイン処理を利用することが望ましい。ユーザが、特定のインターネットセッション中に予めセキュリティ保護キーを入力していない場合、あるいは、ユーザがセッションの最中にセキュリティ保護キーを入力して、セキュリティ保護キーの入力から所定の時間が経過した場合、ユーザは自動ログイン処理の一部としてセキュリティの入力を求められる。正しいセキュリティ保護キーが入力された後でしか自動ログイン処理は次のステップへは進まない。上述のセキュリティ保護を施したログイン処理はセキュリティ保護サーバとユーザ用コンピュータとにより実行する事が出来る。   The automatic login function provided in accordance with the present invention preferably uses a login process with security protection that requires the user to input a security protection key before the automatic login process to the selected merchant is completed. . When the user has not entered the security protection key in advance during a specific Internet session, or when the user has entered the security protection key during the session and a predetermined time has elapsed since the entry of the security protection key The user is prompted for security as part of the automatic login process. Only after the correct security protection key has been entered, the automatic login process proceeds to the next step. The login process with the above security protection can be executed by the security protection server and the user computer.

インターネットセッション中、ユーザがセキュリティ保護処理を行ってセキュリティ保護サーバにログインした場合、セキュリティ保護サーバからセキュリティ・クッキーを伝送し、ユーザ用コンピュータに格納する事が出来る。セキュリティ・クッキーがユーザ用コンピュータに存在し、有効であれば(例えば有効時間が切れていなければ)、ユーザがマーチャント・リストからマーチャントを選択した時、セキュリティ・クッキーが、コンピュータコードにより、第1リクエストの一部としてセキュリティ保護サーバへ伝送される。セキュリティ保護サーバはこの要求を受け取り、この要求がセキュリティ・クッキーを含むかどうか、および、そのセキュリティ・クッキーが有効なものであるかどうかの判定を行う。セキュリティ・クッキーが第1リクエストの中に含まれていれば、セキュリティ保護サーバはコンピュータコードへ確認応答を伝送し、今度は、このコンピュータコードは、フィードサーバへ第2リクエストを伝送する。このフィードサーバは、設計の選択上の問題として、同じセキュリティ保護サーバであってもよいし、セキュリティ保護サーバとは異なるサーバであってもよい。この第2リクエストにはユーザIDとマーチャントIDとが含まれる。フィードサーバは、第2リクエストを受け取ると、ユーザIDとマーチャントIDをデータベースエントリと比較して、一致が存在するかどうかの判定を行う。一致が存在する場合、フィードサーバは別のサーバ(セキュリティ保護サーバであってもよい)へアクセス・クリデンシャル要求を伝送する。当該別のサーバには、複数のユーザに関連する複数のデータを含む、セキュリティ保護を施したデータベースが含まれている。個々のユーザのデータは、ユーザIDにより特定可能であり、複数のマーチャントのそれぞれのマーチャントのログインIDとパスワードとを含むことが可能であり、複数のマーチャントのそれぞれは対応するマーチャント・ルール・ファイルを有している。ログインID、パスワードおよびマーチャント・ルール・ファイルから成る個々のデータベースエントリを本願明細書ではアクセス・クリデンシャルと呼ぶ場合もある。一度ユーザが選択したマーチャントに対応するアクセス・クリデンシャルが特定されると、当該別のサーバはユーザ用コンピュータへアクセス・クリデンシャルを伝送する。このアクセス・クリデンシャルを受信すると、本発明に準拠して提供されるコンピュータコードによって、選択したマーチャントの所定のウェブページ(例えばログイン・ウェブページなど)へのナビゲーションがユーザのブラウザにより行われ、ユーザは当該ユーザのアカウントにログインし、アクセスするのに必要な任意のフィールドに自動的にポピュレートされる。再言するが、これらの処理はユーザにとって透過的な処理である。自動ログインが首尾よく終った場合、通常首尾よく終ったログインの後に続くマーチャント・ウェブページがマーチャントのサーバにより伝送され、ユーザのブラウザ・ウィンドウに表示される。   When the user performs security protection processing and logs in to the security protection server during an Internet session, a security cookie can be transmitted from the security protection server and stored in the user computer. If the security cookie exists on the user's computer and is valid (eg, if it has not expired), when the user selects the merchant from the merchant list, the security cookie is first requested by the computer code. As part of the security protection server. The secure server receives this request and determines whether the request includes a security cookie and whether the security cookie is valid. If a security cookie is included in the first request, the secure server transmits an acknowledgment to the computer code, which in turn transmits a second request to the feed server. This feed server may be the same security protection server or a different server from the security protection server as a matter of design choice. This second request includes a user ID and a merchant ID. When the feed server receives the second request, it compares the user ID and merchant ID with the database entry to determine whether a match exists. If a match exists, the feed server transmits an access credential request to another server (which may be a secure server). The other server includes a secure database including a plurality of data related to a plurality of users. Individual user data can be identified by user ID and can include the login ID and password of each of the plurality of merchants, each of the plurality of merchants having a corresponding merchant rule file. Have. Individual database entries consisting of a login ID, password, and merchant rules file are sometimes referred to herein as access credentials. Once the access credentials corresponding to the merchant selected by the user are identified, the other server transmits the access credentials to the user computer. Upon receipt of this access credential, the computer code provided in accordance with the present invention causes the user's browser to navigate to the selected merchant's predetermined web page (eg, a login web page). Automatically populates any fields required to log in and access the user's account. Again, these processes are transparent to the user. If the automatic login is successful, the merchant web page that normally follows the successful login is transmitted by the merchant server and displayed in the user's browser window.

従って、マーチャント・リストからマーチャントを選択することにより、ユーザは、自動的にナビゲーションを行い、そのマーチャントのウェブページへログインし、ユーザのアカウントにアクセスすることが可能となる。   Thus, by selecting a merchant from the merchant list, the user can automatically navigate, log in to the merchant's web page, and access the user's account.

ここで用いられている、“制御する”および“制御可能な”という用語は、本発明を限定しない例として、インターネットブラウザ・インターフェイスの追加、削除および変更を意味するものである。本願明細書に記載されているように、インターネットブラウザ・インターフェイスは、ブラウザユーザに対して提示される視覚的あるいは聴覚的表示意味し、ユーザがブラウザとリアルタイムで交信を行う媒介手段となるものである。“カスタマイズする”という用語(およびこの用語の変形)は、本発明により提供される制御能力を記述するために本願明細書で使用出来るものである。ここで使用されているように、“動的に制御する”という用語(およびこの用語の変形)は、インターネットブラウザ・インターフェイス(即ちインターフェイス・オブジェクト)の一部分を表示し、これを選択的に追加し、周期的に変更または更新する事が出来る方法を意味する。   As used herein, the terms “control” and “controllable” are meant to add, delete and modify Internet browser interfaces as non-limiting examples of the present invention. As described herein, an Internet browser interface means a visual or audible display presented to a browser user and serves as an intermediary for the user to communicate with the browser in real time. . The term “customize” (and variations of this term) can be used herein to describe the control capabilities provided by the present invention. As used herein, the term “dynamically controlled” (and variations of this term) displays a portion of the Internet browser interface (ie, interface object) and selectively adds it. , Means a method that can be changed or updated periodically.

本願明細書で使用されているように、ブラウザには、その一般的な、当業で理解されている意味が与えられているが、ブラウザという用語は、一般に、ワールドワイドウェブまたはインターネットとのインターフェイスを提供するソフトウェアプログラムを意味する。ブラウザによって、インターネットユーザがインターネットをナビゲートすることを可能にし、種々のインターネットサイト(本願明細書ではウェブサイトとも呼ばれる)との接続を確立し、コンテンツ・プロバイダが種々のインターネットサイトに設けているウェブページの閲覧を可能とするものである。ブラウザは、特に、インターネットサイトを介してアクティブXコントロールやプラグインを呼び出す事が出来るものである。ブラウザによって、インターネットユーザはインターネットサイト間をナビゲートする(ネットサーフィンを行う)事が出来る。ブラウザによってインターネットユーザとのブラウザ・インターフェイスが提供されるが、このブラウザ・インターフェイスのフォーマットはブラウザ・ソフトウェア・プログラムのプロバイダにより決定される。ブラウザ・インターフェイスによって、一般に、ブラウザがインターネットユーザに提供するレイアウト(色、大きさ、数および位置など)および機能が規定される。ブラウザ・インターフェイスによって、一般に、ブラウザ・インターフェイスの通常の大きさ、色、レイアウトを規定する第1の親ウィンドウと、ウィンドウ制御ボタン(最小化、クローズなど)とを備える事も出来る。ブラウザ・インターフェイスは、第2の親ウィンドウ(第1の親ウィンドウに対する子ウィンドウになる場合もある)、並びに、この第2の親ウィンドウに従属する1以上のウィンドウを備えることも可能である。第2の親ウィンドウおよびその従属するウィンドウは、例えば、様々な情報(広告、クーポン券、ニュース、HTMLリンクなど)と、機能(ツールバー、プルダウンメニュー、プラグイン、アプリケーションなど)とをインターネットユーザへ提供する事が出来る。   As used herein, a browser is given its general, art-recognized meaning, but the term browser generally refers to an interface with the World Wide Web or the Internet. Means a software program that provides A browser allows Internet users to navigate the Internet, establishes connections with various Internet sites (also referred to herein as Web sites), and is provided by content providers at various Internet sites. The page can be browsed. The browser is particularly capable of calling active X controls and plug-ins via the Internet site. Browsers allow Internet users to navigate between Internet sites (surf the Internet). The browser provides a browser interface with Internet users, the format of which is determined by the browser software program provider. The browser interface generally defines the layout (color, size, number and location, etc.) and functions that the browser provides to Internet users. The browser interface can also generally include a first parent window that defines the normal size, color, and layout of the browser interface and window control buttons (minimize, close, etc.). The browser interface may also include a second parent window (which may be a child window for the first parent window), as well as one or more windows subordinate to the second parent window. The second parent window and its subordinate windows provide, for example, various information (advertisements, coupons, news, HTML links, etc.) and functions (toolbars, pull-down menus, plug-ins, applications, etc.) to Internet users. I can do it.

本願明細書で使用されているように、アクティブXコントロールとは、インターネット用デスクトップ・アプリケーションにリンクするためのツールを意味し、当業で理解されているマイクロソフト社の開発仕様に基づくものである。本願明細書で使用されている、プラグインとは、ネットスケープブラウザと共に使用するために開発された一種のプログラムを意味し、さらに大きなアプリケーション(ブラウザ・ソフトウェア・プログラムなど)を統合化して、そのさらに大きなプログラムにある特定の機能または能力を付加するプログラムである。本願明細書で述べる、上述のようなアクティブXコントロールおよびプラグインはいずれのインターネットブラウザとも併用する事が出来る。   As used herein, active X control refers to a tool for linking to Internet desktop applications and is based on Microsoft's development specifications understood in the art. As used in this specification, a plug-in means a kind of program developed for use with a Netscape browser, and integrates a larger application (browser software program, etc.) A program that adds a specific function or capability to a program. The active X controls and plug-ins as described above described herein can be used with any Internet browser.

本願明細書で使用されているように、“インターネットサイト(またはウェブサイト)”という用語は、インターネットアドレスまたはURL(ユニフォームまたはユニバーサルリソースロケータ)により規定されたインターネット上の位置を意味する。本願明細書で使用する、“インターネット・ウェブページ”という用語は、インターネットサイトで提供されるハイパーテキストマークアップ言語(HTML)コマンドの集まりを意味し、これらのHTMLコマンドは、ブラウザを介してインターネットユーザのコンピュータ・ディスプレイに表示する事が出来るハイパーテキスト・ドキュメントを作成するためのテキスト、画像および機能に関するフォーマット情報を提供する。例えば、インターネットユーザは、URLを入力してインターネットサイトとの接続を確立し、そのインターネットサイトは、ユーザのブラウザへHTMLコマンドを出力して、ユーザのコンピュータ・ディスプレイに当該インターネットサイトのウェブページを表示出来るようにする。ブラウザは、ウェブページに埋め込まれたHTMLコマンドを翻訳し、HTMLコマンドを用いて、当該ウェブページ用のテキストおよび画像のフォーマットを行う。   As used herein, the term “Internet site (or website)” refers to a location on the Internet defined by an Internet address or URL (uniform or universal resource locator). As used herein, the term “Internet web page” refers to a collection of Hypertext Markup Language (HTML) commands provided on an Internet site, and these HTML commands are sent to Internet users via a browser. Provides formatting information about text, images and functions for creating hypertext documents that can be displayed on any computer display. For example, an internet user enters a URL to establish a connection with an internet site, and the internet site outputs an HTML command to the user's browser and displays the web page of the internet site on the user's computer display. Make it possible. The browser translates the HTML command embedded in the web page, and uses the HTML command to format text and images for the web page.

本発明は、インターネットユーザ、インターネット・コンテンツ・プロバイダ、インターネット・サービス・プロバイダ(ISP)に利益をもたらすものである。インターネットユーザに対して、本発明は、該ユーザのインターネットブラウザ・インターフェイスの動的制御またはカスタマイズを行う方法を提供するものである。インターネットユーザは、該ユーザがブラウザを用いてインターネットにアクセスする度に、ユーザが規定した情報および/または機能(本願明細書ではまとめてやはり情報と呼ぶ)がブラウザ・インターフェイスと共に表示させるようにブラウザ・インターフェイスをカスタマイズする事が出来る。例えば、ユーザは、アクティブXコントロールとプラグインとを介して利用出来るようなブックマーク、住所録および電話帳、個人の財務情報、個人向けのニュースおよび各種機能を備える事が出来る。   The present invention benefits Internet users, Internet content providers, and Internet service providers (ISPs). For Internet users, the present invention provides a method for dynamically controlling or customizing the user's Internet browser interface. Each time an Internet user accesses the Internet using a browser, the browser user can display information and / or functions defined by the user (collectively referred to herein as information) along with the browser interface. You can customize the interface. For example, the user can have bookmarks, address book and phone book, personal financial information, personal news and various functions that can be used via Active X control and plug-ins.

さらに、インターネットユーザがコンテンツ・プロバイダのアカウントを持っていれば、ブラウザによりブラウザ・インターフェイスと共にそのユーザの固有アカウント情報を動的に表示することも可能となる。現在、インターネットユーザは、コンテンツ・プロバイダのインターネットサイトと接続されている間だけ、該ユーザの固有アカウント情報にアクセスする事が出来る。ユーザは、更新されたアカウント情報を受信するために、コンテンツ・プロバイダのサイトへ戻らなければならない。ユーザが一度そのインターネットサイトを出ると、アカウント情報はブラウザ・インターフェイスと共に表示されなくなる。本発明は、ブラウザ・インターフェイスを動的に制御する方法と、インターネットユーザが、ブラウザ・インターフェイスと共に表示を行い、そのユーザ固有の情報および/または機能を連続して更新することを可能にする動的に制御可能なブラウザ・インターフェイスとを提供する。   Furthermore, if an Internet user has a content provider account, the browser can also dynamically display the user's unique account information along with the browser interface. Currently, an Internet user can access the user's unique account information only while connected to the content provider's Internet site. The user must return to the content provider's site to receive the updated account information. Once the user exits the Internet site, the account information will not be displayed with the browser interface. The present invention provides a method for dynamically controlling a browser interface and a dynamic that allows Internet users to display with the browser interface and continuously update their user-specific information and / or functionality. A controllable browser interface.

コンテンツ・プロバイダに対して、本発明は、ユーザがブラウザを用いてインターネットにアクセスする度に、(ブラウザを介して)このコンテンツ・プロバイダのインターネットサイトとの自動接続の確立を保証する。従って、インターネットユーザが(ブラウザアイコンを選択することなどにより)ブラウザを実行させるとすぐに、ブラウザは、当該ユーザのカスタマイズされたブラウザ・インターフェイス情報をロードするために、コンテンツ・プロバイダのインターネットサイトと自動的に接続を確立する。本発明は、ブラウザが起動状態の間、即ちユーザがネットサーフィンをしている間、周期的かつ自動的に、ユーザのブラウザをコンテンツ・プロバイダのインターネットサイトと接続する事も出来る。1つの実施形態では、コンテンツ・プロバイダは、ブラウザ・インターフェイスを制御するプログラムへのアクセスをインターネットユーザに提供する事が出来る。一度インターネットユーザが、そのユーザのブラウザ・インターフェイスをカスタマイズする制御プログラムにアクセスすると、ユーザがインターネットにアクセスする度に、そのユーザのブラウザにより、そのコンテンツ・プロバイダとの接続を自動的に確立する事が出来る。従って、ユーザがURLを入力した時にのみ(あるいは、別の方法で、例えばリンクやバナー広告を選択するような行動により接続を確立させるために積極的に行動する時に)、インターネットサイトとの接続を確立する現在利用可能なブラウザとは対照的に、本発明は、ブラウザが起動された時、インターネットユーザまたはブラウザ・ベンダのいずれかがブラウザに予めプログラムした選択ホームウェブページに関りなく、コンテンツ・プロバイダとの接続を自動的に確立する。一度その初期接続が確立されると、コンテンツ・プロバイダはインターネットユーザのコンピュータに対してユーザ固有情報および/または機能をロードして、そのユーザのブラウザ・インターフェイスと共に表示を行う事が出来る。   For content providers, the present invention ensures that an automatic connection is established with the content provider's Internet site (via the browser) each time a user accesses the Internet using a browser. Thus, as soon as an Internet user causes the browser to run (such as by selecting a browser icon), the browser automatically connects to the content provider's Internet site to load the user's customized browser interface information. Establish a connection. The present invention can also connect the user's browser with the content provider's Internet site periodically and automatically while the browser is in an active state, i.e., while the user is surfing the net. In one embodiment, the content provider can provide Internet users with access to programs that control the browser interface. Once an Internet user accesses a control program that customizes the user's browser interface, the user's browser can automatically establish a connection with the content provider each time the user accesses the Internet. I can do it. Therefore, only when the user enters a URL (or when he / she actively acts to establish a connection by another method, such as selecting a link or banner advertisement) In contrast to the currently available browsers that are established, the present invention allows content content, regardless of the selected home web page, preprogrammed into the browser by either an Internet user or browser vendor when the browser is launched. Automatically establish a connection with the provider. Once the initial connection is established, the content provider can load user-specific information and / or functions to the Internet user's computer for display along with the user's browser interface.

さらに、コンテンツ・プロバイダは、周期的にインターネットユーザのブラウザ・インターフェイス用に更新、新規のダウンロード、あるいは、情報および/または機能を伝送するために、ブラウザを当該コンテンツ・プロバイダのインターネットサイトと自動的に再接続させることが可能である。例えば、インターネットユーザがコンテンツ・プロバイダの電子メールサービスに申し込めば、たとえユーザがどこか別の場所で“サーフィン”していても、コンテンツ・プロバイダが受け取った当該インターネットユーザ用の電子メールメッセージをインターネットユーザへ自動的に伝送することが可能となる。ユーザのブラウザが、そのユーザのブラウザの起動時にコンテンツ・プロバイダのインターネットサイトとの接続を最初に確立する時、コンテンツ・プロバイダがインターネットユーザへ伝送する情報の中には、コンテンツ・プロバイダのインターネットサイトと周期的に再接続を行う命令が含まれている。従って、ユーザがアクセスするインターネットサイトの数に関係無く、また、ユーザが現在アクセスしている特定のインターネットサイトに関係無く、コンテンツ・プロバイダのインターネットサイトとの再接続がコンテンツ・プロバイダが定めた間隔で自動的に確立される。これらの再接続は、ユーザがコンテンツ・プロバイダから通知を受け取った(即ち新しいメールが着信した)ときを除いてインターネットユーザには透過的である。従って、インターネットユーザがネットサーフィンをしている時、ブラウザ・インターフェイスを動的に制御することが可能となる。ISPにとって、少なくともコンテンツ・プロバイダの場合と同程度の大きな利益がある。   In addition, the content provider automatically sends the browser to the content provider's Internet site to periodically transmit updates, new downloads, or information and / or features for the Internet user's browser interface. It is possible to reconnect. For example, if an Internet user subscribes to a content provider's email service, even if the user is “surfing” elsewhere, the Internet user will receive an email message for the Internet user that the content provider has received. Can be automatically transmitted to the network. When a user's browser first establishes a connection with the content provider's Internet site when the user's browser is launched, the information that the content provider transmits to the Internet user includes the content provider's Internet site and Instructions to periodically reconnect are included. Therefore, regardless of the number of Internet sites that the user accesses, and regardless of the specific Internet site that the user is currently accessing, the re-connection of the content provider with the Internet site is at intervals determined by the content provider. Established automatically. These reconnections are transparent to Internet users except when the user receives a notification from the content provider (ie, a new mail has arrived). Therefore, it is possible to dynamically control the browser interface when an Internet user is surfing the internet. There are significant benefits for ISPs, at least as much as for content providers.

最初、インターネットユーザ用のブラウザ・インターフェイスは、コンテンツ・プロバイダまたはISPが提供出来るソフトウェアプログラム、あるいは、ユーザのコンピュータで利用可能なソフトウェアプログラムを用いてカスタマイズする必要がある。本願明細書で以後、コンピュータコード、制御プログラムまたは制御を行うためのプログラム(およびその他の変名で)と呼ぶことにするこのソフトウェアプログラムによってユーザのブラウザが機能する態様が変更される。具体的には、上記制御プログラムはインターネットユーザのコンピュータでライブラリファイルのダウンロードまたは作成を行うものである。このライブラリファイルは、例えば、ブラウザ内に、シェル(または複数のシェル)を作成するダイナミックリンクライブラリ(DLL)(ウィンドウズ・オペレーティングシステム用)であってもよい。また、上記シェル内に、アクティブXコントロールやプラグインとしてブラウザ内に様々な情報および/または機能をロードしてもよい。このライブラリファイルには、本発明によりブラウザ・インターフェイスに追加されたインターフェイス・オブジェクトを規定するアクティブXコントロールやプラグイン機能が含まれる。インターネットユーザがブラウザを開始即ち起動すると、このライブラリファイルが開かれ、そのファイル内に含まれるアクティブXコントロールやプラグインコードはブラウザにより利用出来るようになり、ブラウザ・インターフェイスの中へ組み込まれ、これによって、インターフェイス・オブジェクトをブラウザ・インターフェイスと共に表示させる。ブラウザが起動されている限り、一般的にはユーザがネットサーフィンを行っている限り、ライブラリファイルは、従ってシェル(または複数のシェル)は開かれた状態のままとなる。従って、インターネットサイトからインターネットサイトへユーザが移動している時でも、シェル内にロードされる、ブラウザ・インターフェイスをカスタマイズするための情報および/または機能は起動状態のままとなる。本願明細書の文脈で使用される場合、“情報および機能”という用語は、ライブラリファイルに、または、任意の情報、データおよび/またはライブラリファイルの一部に含む事が出来るソフトウェアにより実行される機能を意味する。   Initially, the browser interface for Internet users needs to be customized using a software program that can be provided by a content provider or ISP, or a software program available on the user's computer. Hereinafter, this software program, which will be referred to as a computer code, a control program, or a program for performing control (and other names), changes the manner in which the user's browser functions. Specifically, the control program downloads or creates a library file on the Internet user's computer. This library file may be, for example, a dynamic link library (DLL) (for Windows operating system) that creates a shell (or a plurality of shells) in the browser. Also, various information and / or functions may be loaded in the browser as active X controls or plug-ins in the shell. This library file includes active X controls and plug-in functions that define interface objects added to the browser interface according to the present invention. When an Internet user starts or launches a browser, this library file is opened and the active X controls and plug-in code contained within the file are made available to the browser and incorporated into the browser interface, thereby , Display the interface object with the browser interface. As long as the browser is activated, typically as long as the user is surfing, the library file and thus the shell (or shells) will remain open. Thus, even when a user is moving from Internet site to Internet site, information and / or functions for customizing the browser interface that are loaded into the shell remain active. As used in the context of this specification, the term “information and functions” refers to functions performed by software that can be included in a library file or in any information, data and / or part of a library file. Means.

ユーザがブラウザを最初に起動すると、ライブラリファイルはまた、コンテンツ・プロバイダのインターネットサイトとの接続をブラウザに確立させる。コンテンツ・プロバイダのインターネットサイトは、インターフェイス・オブジェクトに関連する情報および/または機能をユーザのコンピュータへロードして、ブラウザで使用し、また、ブラウザ・インターフェイスでの表示に使用する。コンテンツ・プロバイダがロードする情報および/または機能は、例えば、そのユーザがコンテンツ・プロバイダのアカウントを持っていれば、インターネットユーザ固有のものとする事が出来る。上記とは別に、コンテンツ・プロバイダは、例えば、インターネットユーザがコンテンツ・プロバイダのアカウントを持っていなければ(即ちゲストであれば)、一般的な情報および/または機能をロードしてもよい。   When the user first launches the browser, the library file also causes the browser to establish a connection with the content provider's Internet site. The content provider's Internet site loads information and / or functions related to the interface object onto the user's computer for use in the browser and for display in the browser interface. The information and / or functions that a content provider loads can be specific to an Internet user, for example, if the user has a content provider account. Alternatively, the content provider may load general information and / or functionality, for example, if the Internet user does not have a content provider account (ie, a guest).

本発明は、処理中のサーバにおいてオブジェクトリンク&組み込み(OLE)を使用して、ブラウザ・インターフェイスの情報および/または機能の制御を行うものである。ライブラリファイルに含まれるアクティブXコントロールまたはブラウザプラグイン(それぞれ、本願明細書ではブラウザ・インターフェイス・オーバーレイ(BIO)ライブラリと呼ぶ)と共にアクティブXコントロールやプラグインにより利用可能な任意の情報および/または機能を、本発明を利用して仮想的にブラウザ・インターフェイスに追加してもよい。このようにして、ライブラリファイル(BIOライブラリを介して)には、ブラウザ・インターフェイスのカスタマイズ、即ち、ブラウザ・インターフェイスの追加、削除および/または変更に必要なコードが含まれる。   The present invention uses Object Link & Embedding (OLE) in the server being processed to control browser interface information and / or functionality. Any information and / or functionality available by the active X control or plug-in along with the active X control or browser plug-in (each referred to herein as a browser interface overlay (BIO) library) contained in the library file The present invention may be used to add virtually to the browser interface. In this way, the library file (via the BIO library) contains the code necessary to customize the browser interface, ie, add, delete and / or change the browser interface.

一度、制御プログラムにアクセスし、当該ユーザのブラウザのハンドルをカスタマイズすれば、ブラウザが起動された時、カスタマイズされたブラウザ・インターフェイスが表示される。従来のブラウザ変更方法とは対照的に、本発明は、動的に制御することが可能な方法およびブラウザ・インターフェイスを提供する。更新または変更された情報および/または機能がブラウザへ伝送され、インターネットユーザがネットサーフィンを行っている間、および、ブラウザ・インターフェイスのカスタマイズされた情報および/又機能が維持されている間、ブラウザ・インターフェイスに上記情報および/または機能を表示する事が出来る。このようにして、インターネットユーザは、当該ユーザのブラウザ・インターフェイスで、いずれのインターネットサイトにいても、また、ユーザがブラウザを用いてネットサーフィンを行っている限り、株式相場、電子メール、ヘッドラインニュースなどのような最新情報を受け取る事が出来る。   Once the control program is accessed and the user's browser handle is customized, the customized browser interface is displayed when the browser is launched. In contrast to conventional browser modification methods, the present invention provides a method and browser interface that can be dynamically controlled. Updated or changed information and / or functionality is transmitted to the browser, while the Internet user is surfing the web and while the browser interface's customized information and / or functionality is maintained. The above information and / or function can be displayed on the interface. In this way, an Internet user can use the browser's browser interface at any Internet site, and as long as the user is surfing the Internet using the browser, stock quotes, email, headline news. You can receive the latest information such as.

本発明はまた、ショッピング・アシスタント・ボタンと機能とを提供するブラウザ・インターフェイスの変更によりオンライン・ショッピングを簡便化する方法およびシステムを提供するものである。本発明のこの実施形態に基づいて提供される変更ブラウザ・インターフェイスは、個々の買物客即ちユーザ用のウォレットを作成することによりオンライン・ショッピングを単純化するものである。このウォレットはセキュリティ保護処理を施したサーバのデータベースに格納され、ユーザが与えるセキュリティ保護キーでしか、そして、ユーザしかアクセスや、変更を行う事は出来ない。このウォレットには、サポートされたマーチャント・チェックアウトのウェブページへ直接ポートする事が出来るユーザ供給情報が含まれる。従って、ユーザがサポートされたマーチャントのウェブサイトでオンライン・ショッピングしていて、そのマーチャントから或る商品および/またはサービスの購入を希望する時、本発明は、ユーザのウォレットへのアクセスをユーザに提供して、そのウォレットの中に含まれているデータのポートを容易にし、迅速にかつ努力することなく、マーチャントのチェックアウト・ウェブページに設けられているマーチャントの注文用紙に記入を行うようにするものである。   The present invention also provides a method and system for simplifying online shopping by changing the browser interface that provides shopping assistant buttons and functionality. The modified browser interface provided in accordance with this embodiment of the present invention simplifies online shopping by creating a wallet for each shopper or user. This wallet is stored in the database of the server that has been subjected to security protection processing, and can only be accessed and changed by the user with the security protection key given by the user. This wallet contains user-supplied information that can be ported directly to a supported merchant checkout web page. Thus, when a user is shopping online at a supported merchant website and wishes to purchase certain goods and / or services from that merchant, the present invention provides the user with access to the user's wallet. To facilitate the porting of the data contained in the wallet and to fill out the merchant order form provided on the merchant's checkout web page quickly and without effort Is.

本発明のさらに別の実施形態では、自動ログイン機能をインターネットブラウザに追加することが可能となる。自動ログインインターフェイス・オブジェクトをブラウザ・インターフェイスに追加するステップは、本発明の他の種々の実施形態に関して上述した場合と同じである。従って、当該ステップを本実施形態について繰り返す必要はない。自動ログインインターフェイス・オブジェクトは、本発明を限定しない例として、マーチャント・リストへのアクセス、および、マーチャント・リストの改訂、追加および/またはリストからの削除を行う能力、並びに、選択したマーチャント・ウェブサイトへ自動的にログインする能力などの種々の機能をブラウザに追加するものである。本願明細書では“マーチャントサイト”は本実施形態と関連して言及され、本発明は、ユーザが、オンライン・アカウントを確立することが可能ないずれのウェブサイトに対しても適用可能であることを付記しておく。ウェブサイトでは当該ウェブサイトを介してユーザのアカウントにアクセスするためのログインパスワードおよび/または他のユーザデータの入力がユーザに対して要求される場合がある。   In yet another embodiment of the present invention, an automatic login function can be added to the Internet browser. The steps of adding an auto login interface object to the browser interface are the same as described above with respect to various other embodiments of the present invention. Therefore, it is not necessary to repeat this step for this embodiment. The auto-login interface object includes, as a non-limiting example, the ability to access the merchant list and revise, add and / or remove the merchant list, and the selected merchant website Various functions such as the ability to log in automatically are added to the browser. As used herein, “merchant site” is referred to in connection with this embodiment, and the present invention is applicable to any website where a user can establish an online account. It is noted. A website may require the user to enter a login password and / or other user data to access the user's account via the website.

本発明の他の目的および特徴は、添付図面と関連して考察する以下の詳細な説明から明らかになるであろう。しかし、これらの図面は単に例示を目的として作成されたものであり、本発明を限定するものとして作成されたものではなく、本発明の限定については添付の請求項を参照すべきである。   Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. However, these drawings are merely for illustrative purposes and are not intended to limit the present invention, and reference should be made to the appended claims for limitations of the present invention.

単に例示的なものである図面では、同じ参照符号はいくつかの図を通して同じ対応する要素を示すものとする。   In the drawings, which are merely exemplary, the same reference numerals indicate the same corresponding elements throughout the several views.

本発明は、インターネットブラウザを用いてウェブサイトへの自動ログインを容易に行うことを目的とするものである。本発明の一実施形態によれば、サーバから、ユーザのインターネットブラウザに或る機能を追加するユーザ用コンピュータへコンピュータコードが伝送される。これによって本発明は、ユーザがボタンおよび/またはツールバーをブラウザ・インターフェイスに選択的に追加出来るようにし、さらに、ブラウザに特徴と機能とを追加出来るようにすることにより、インターネットブラウザ・インターフェイスの動的制御を提供するものである。好ましい実施形態では、コンピュータコードによって、ユーザが、インターネットブラウザ・インターフェイスにインターフェイス・オブジェクトの選択的追加によりブラウザ・インターフェイスの変更を行う事が出来るようになる。インターフェイス・オブジェクトは、既存のツールバーの一部として、またはブラウザ・インターフェイスに追加された新たなツールバーの一部としてブラウザ・インターフェイスに追加出来るボタンを備えたものであってもよい。このボタンによって、ユーザはマーチャント・リストにアクセスする事が出来るようになり、さらに、ブラウザに自動ログイン機能が追加される。マーチャント・リストへのアクセスによって、ユーザは、自動ログイン用のマーチャントの追加、マーチャントの編集、および、マーチャントの選択を行う事が出来るようになる。一度ブラウザ・インターフェイスにボタンが追加されると、ユーザはこの追加されたボタン(本願明細書では広義に自動ログインボタンと呼ぶ)上をクリックして、マーチャント・リストとして1以上のマーチャントを表示するプルダウンメニューへアクセスする事が出来る。マーチャント・リストのマーチャントの1つを選択することにより、本発明に基づいてブラウザに追加された機能によって、ユーザは選択したマーチャントに自動的にログインされ、ユーザのブラウザはマーチャントのウェブサイトへナビゲートされる。当該処理はユーザにとって実質的に透過的な処理であり、ユーザがマーチャント・リストからマーチャントを選択すると共に開始される。   An object of the present invention is to facilitate automatic login to a website using an Internet browser. According to one embodiment of the present invention, computer code is transmitted from a server to a user computer that adds certain functions to the user's Internet browser. This allows the present invention to dynamically add to the browser interface by allowing the user to selectively add buttons and / or toolbars to the browser interface, and by adding features and functions to the browser. It provides control. In the preferred embodiment, the computer code allows the user to change the browser interface by selectively adding interface objects to the Internet browser interface. An interface object may have buttons that can be added to the browser interface as part of an existing toolbar or as part of a new toolbar added to the browser interface. This button allows the user to access the merchant list and adds an automatic login function to the browser. Access to the merchant list allows the user to add merchants for automatic login, edit merchants, and select merchants. Once a button has been added to the browser interface, the user clicks on the added button (referred to broadly herein as an auto-login button) to pull down one or more merchants as a merchant list. You can access the menu. By selecting one of the merchants in the merchant list, a feature added to the browser in accordance with the present invention allows the user to be automatically logged in to the selected merchant and the user's browser navigates to the merchant's website. Is done. The process is substantially transparent to the user and begins when the user selects a merchant from the merchant list.

本発明はまた、ショッピング・アシスタント・ボタンおよび機能を提供するブラウザ・インターフェイスの変更によりオンライン・ショッピングを簡便化する方法およびシステムを提供するものである。本発明のこの実施形態に基づいて提供される変更済みブラウザ・インターフェイスは、個々の買物客即ちユーザ用のウォレットを作成することによりオンライン・ショッピングを単純化するものである。このウォレットはセキュリティ保護処理を施したサーバのデータベースに格納され、ユーザが与えるセキュリティ保護キーでしか、そして、ユーザしかアクセスや、変更を行う事は出来ない。このウォレットには、サポートされたマーチャント・チェックアウトのウェブページへ直接ポートすることが可能なユーザによる供給情報が含まれる。従って、ユーザが、サポートされたマーチャントのウェブサイトでオンライン・ショッピングをしていて、そのマーチャントから或る商品および/またはサービスの購入を希望する時、本発明は、自分のウォレットに対するアクセスをユーザに提供して、そのウォレットの中に含まれているデータのポートを容易にし、迅速にかつ努力することなく、マーチャントのチェックアウト・ウェブページに設けられたマーチャントの注文用紙への記入が行われるようにするものである。   The present invention also provides a method and system for simplifying online shopping by changing the browser interface that provides shopping assistant buttons and functionality. The modified browser interface provided in accordance with this embodiment of the present invention simplifies online shopping by creating a wallet for each shopper or user. This wallet is stored in the database of the server that has been subjected to security protection processing, and can only be accessed and changed by the user with the security protection key given by the user. This wallet contains user-supplied information that can be ported directly to a supported merchant checkout web page. Thus, when a user is shopping online at a supported merchant website and wishes to purchase certain goods and / or services from that merchant, the present invention provides access to his wallet to the user. To facilitate the porting of the data contained in the wallet so that the merchant order form provided on the merchant checkout web page can be completed quickly and without effort It is to make.

次に図面を詳細に参照すると、図10は、本発明を実現することが可能なインターネット90と接続されたコンピュータ50のブロック図である。コンピュータ50は、コンピュータ50の種々の装置間の情報の通信を容易にし、通信用インターフェイス68を介して、コンピュータと外部装置とシステムとの間の通信を容易にする内部バス64を備えている。バス64と接続されたプロセッサ66はコンピュータ50内部の情報を処理する。コンピュータ50は、プロセッサ66から伝送された命令を受け取り、格納するための、バス64と接続された、例えばランダムアクセスメモリ(RAM)または別の等価な動的記憶素子などのようなメインメモリ60を更に備えている。また、メインメモリ60は、プロセッサ66が命令を実行している間、変数やその他の中間情報を一時的に格納するために使用してもよい。また、リードオンリメモリ(ROM)62は、プロセッサ66が使用する静的データと命令とを格納するためにバス64と接続されている。本発明を限定しない例として、例えば、ディスプレイ54(たとえばブラウン管(CRT)、液晶ディスプレイ(LCD)など)、キーボードなどの入力装置56、マウスやトラックボールなどのカーソル制御装置58を含む種々の入出力装置がコンピュータ50の一部として設けられている。例えば、磁気ディスクドライブと磁気ディスク、CD−ROMドライブとCD−ROM、または、別の等価な装置並びにデータ記録媒体などのデータ格納装置52が、プロセッサ66、メインメモリ60、通信用インターフェイス68と通信を行うためのバス64と接続されている。格納装置52は、好適にはオペレーティングシステム70と、オペレーティングシステム70に格納されたインターネットブラウザ用ソフトウェアプログラム72(即ちブラウザ)とを格納することが望ましい。以下さらに詳細に論じるように、ライブラリファイル74をデータ格納装置52に格納してもよい。本願明細書で使用されている、“コンピュータ”という用語はその最も広義の解釈を有するものとして意図されるものであり、いずれの物理的サイズや構造、またはいずれのアーキテクチャの構成にも限定されるものではない。むしろ、本願明細書で用いられる“コンピュータ”という用語は、デジタルデータの伝送および/または受信能力、デジタルデータの格納および/または検索能力、デジタルデータの処理能力を有する任意の装置であって、例えば、インターネットなどネットワークと任意の態様で、また、任意の手段により接続可能な装置を意味するものとして使用されている。コンピュータは、任意のスタイル、大きさおよび構成のコンピュータであってもよく、限定を伴うことなく、サーバ、ワークステーション、デスクトップ、ラップトップ型、インターネット機器、ノートブック型、個人用情報機器(PDA)、インターネットと接続される携帯電話、あるいは現在公知の、または今後開発される装置を含むものであってもよい。コンピュータは以下の構成要素の全部または一部を含むものであってもよい:ソフトウェア(オペレーティングシステム、アプリケーションプログラムなど)と接続して作動可能な中央演算処理装置(CPUまたはプロセッサ)、ハードディスクユニット(HDU)、固定記憶装置(ROMなど)、一時メモリ(RAMなど)、取り外し可能データ格納装置(CD−ROM、フロッピードライブなど)、入力装置(キーボード、マウス、トラックボールなど)、出力装置(モニタやディスプレイなど)およびI/O装置(モデム、赤外線送受信機、無線(セルラ)送受信機など)。リストされていない構成要素と併せて、コンピュータがこれら構成要素の全部または一部を含み得るものであることは当業者には公知である。   Referring now in detail to the drawings, FIG. 10 is a block diagram of a computer 50 connected to the Internet 90 capable of implementing the present invention. The computer 50 includes an internal bus 64 that facilitates communication of information between the various devices of the computer 50 and facilitates communication between the computer, external devices, and the system via the communication interface 68. A processor 66 connected to the bus 64 processes information in the computer 50. The computer 50 has a main memory 60, such as a random access memory (RAM) or another equivalent dynamic storage element, connected to the bus 64, for receiving and storing instructions transmitted from the processor 66. In addition. The main memory 60 may also be used to temporarily store variables and other intermediate information while the processor 66 executes instructions. A read-only memory (ROM) 62 is connected to the bus 64 for storing static data and instructions used by the processor 66. Non-limiting examples include various inputs and outputs including, for example, a display 54 (eg, a cathode ray tube (CRT), a liquid crystal display (LCD), etc.), an input device 56 such as a keyboard, and a cursor control device 58 such as a mouse or trackball. An apparatus is provided as part of the computer 50. For example, a data storage device 52 such as a magnetic disk drive and a magnetic disk, a CD-ROM drive and a CD-ROM, or another equivalent device and a data recording medium communicate with the processor 66, the main memory 60, and the communication interface 68. Is connected to a bus 64 for performing The storage device 52 preferably stores an operating system 70 and an Internet browser software program 72 (that is, a browser) stored in the operating system 70. As will be discussed in further detail below, the library file 74 may be stored in the data storage device 52. As used herein, the term “computer” is intended to have its broadest interpretation and is limited to any physical size or structure, or any architectural configuration. It is not a thing. Rather, the term “computer” as used herein refers to any device that has the ability to transmit and / or receive digital data, store and / or retrieve digital data, and process digital data, for example, It is used to mean a device that can be connected to a network such as the Internet in any manner and by any means. The computer may be a computer of any style, size and configuration, without limitation, server, workstation, desktop, laptop, internet appliance, notebook, personal information appliance (PDA) It may include a mobile phone connected to the Internet, or a currently known or later developed device. A computer may include all or part of the following components: a central processing unit (CPU or processor) operable in connection with software (operating system, application program, etc.), a hard disk unit (HDU) ), Fixed storage device (ROM etc.), temporary memory (RAM etc.), removable data storage device (CD-ROM, floppy drive etc.), input device (keyboard, mouse, trackball etc.), output device (monitor and display) And I / O devices (modems, infrared transceivers, wireless (cellular) transceivers, etc.). It is well known to those skilled in the art that a computer can include all or part of these components, along with components not listed.

コンピュータ50は、同軸ケーブル、銅線、光ファイバケーブルを含む(但しこれらに限定されるものではない)送信媒体を通して通信用インターフェイス68を介してインターネット90と接続する事が出来る。コンピュータ50とインターネット90との間の通信は無線やセルラ・インターフェイスを介してもよい。通信用インターフェイス68は、コンテンツ・プロバイダ100、200により提供されるサーバコンピュータ(図示せず)などのコンピュータ50と別の電子装置やシステム間との双方向通信を容易にする。   The computer 50 can be connected to the Internet 90 via the communication interface 68 through a transmission medium including, but not limited to, a coaxial cable, a copper wire, and an optical fiber cable. Communication between the computer 50 and the Internet 90 may be via a wireless or cellular interface. The communication interface 68 facilitates bidirectional communication between the computer 50 such as a server computer (not shown) provided by the content providers 100 and 200 and another electronic device or system.

コンピュータ50を使用するインターネットユーザ(図示せず)は、ブラウザ72を起動させることによりインターネット90へのアクセスを行う事が出来、これによって、インターネット・サービス・プロバイダ(ISP)80を介して、コンピュータ50の通信用インターフェイス68とコンテンツ・プロバイダ100のインターネットサイト130との間の通信リンクが開かれる。ブラウザ72は、ブラウザ・ベンダがブラウザ72内に予め設定されたウィンドウ30のレイアウト(色、大きさ、数、位置など)および機能とを有するブラウザ・インターフェイス20(図1などを参照のこと)をコンピュータ・ディスプレイ54に提供する。インターネット・コンテンツはコンピュータ50へ伝送され、コンテンツ・プロバイダ100ブラウザ・インターフェイス20のコンテンツ・ウィンドウ32に表示される。   An Internet user (not shown) who uses the computer 50 can access the Internet 90 by activating the browser 72, whereby the computer 50 is connected via the Internet service provider (ISP) 80. Communication link 68 between the content provider 100 and the Internet site 130 of the content provider 100 is opened. The browser 72 displays the browser interface 20 (see FIG. 1 etc.) having the layout (color, size, number, position, etc.) and functions of the window 30 preset in the browser 72 by the browser vendor. Provided on computer display 54. Internet content is transmitted to the computer 50 and displayed in the content window 32 of the content provider 100 browser interface 20.

本発明の一実施形態によれば、第1のインターネット・コンテンツ・プロバイダ100は、ブラウザ72とブラウザ・インターフェイス20とを制御するためのプログラム120へのアクセスをインターネットユーザに提供することも可能である。ユーザが処理を実行すると、制御プログラム120により、例えば、ダイナミックリンクライブラリ(DLL)などのようなライブラリファイル74がインターネットユーザのコンピュータ50のデータ格納装置52にダウンロードされ、あるいは作成される。ライブラリファイル74はアクティブXコントロールやプラグイン機能を含むことが望ましい。その後、インターネットユーザがブラウザ72を用いてインターネットにアクセスする時、ブラウザ72はライブラリファイル74を開き、好ましくはコンテンツ・プロバイダのインターネットサイト130との接続を自動的に確立することが望ましい。コンテンツ・プロバイダは、ブラウザ72によりを確立された接続に応答して、ライブラリファイル74により作成された、ブラウザ内で作動するシェルの中へ情報および/または機能データをロードする。例えば、ユーザがコンテンツ・プロバイダ100のアカウントを持っていれば、カスタマイズされた情報および/または機能をライブラリファイル74の中へロードしてもよい。ユーザがアカウントを持っていなければ、さらに一般化された情報および/または機能をロードしてもよい。   According to one embodiment of the present invention, the first Internet content provider 100 can also provide Internet users with access to a program 120 for controlling the browser 72 and the browser interface 20. . When the user executes the process, the control program 120 downloads or creates a library file 74 such as a dynamic link library (DLL) to the data storage device 52 of the computer 50 of the Internet user. The library file 74 preferably includes an active X control and a plug-in function. Thereafter, when an Internet user accesses the Internet using the browser 72, the browser 72 opens the library file 74 and preferably automatically establishes a connection with the content provider's Internet site 130. In response to the connection established by browser 72, the content provider loads information and / or functional data into a shell running in the browser created by library file 74. For example, if the user has an account with the content provider 100, customized information and / or functions may be loaded into the library file 74. If the user does not have an account, more generalized information and / or functions may be loaded.

本発明の種々の実施形態によれば、本願でさらに詳細に説明するように、コンピュータ間での(サーバとユーザまたはクライアントコンピュータなどの間での)データ通信を行う事が出来る。本発明では、任意の現在公知のあるいは以後開発される媒体または方法を用いて、任意の媒体を用いる任意の方法で、このようなデータ通信(または送信/受信、ダウンロード/アップロードなど)を行う事が出来ることが想定されている。   Various embodiments of the present invention allow data communication between computers (between a server and a user or client computer, etc.), as described in more detail herein. In the present invention, such data communication (or transmission / reception, download / upload, etc.) is performed by any method using any medium using any currently known or later-developed medium or method. It is assumed that

ライブラリファイル74は、本質的には、インターネットブラウザ72とブラウザ・インターフェイス20との制御を行うことが可能なアクティブXコントロールやプラグインコードを含むブラウザ72内の1つのシェル(または複数のシェル)を開くものである。アクティブXコントロールやプラグインと共にロードされるとき、ライブラリファイル74は、ブラウザ74とブラウザ・インターフェイス20の制御に利用する事が出来る関数、オブジェクト、データおよびその他のソフトウェアを含むことが望ましい。本願明細書ではこれらを広義に情報と呼ぶ。本発明は、インターネットユーザがインターネットサイト130からインターネットサイト230へ移動する時、ライブラリファイル74(およびシェル)が閉じないことを保証するものである。これによって、インターネットユーザがアクティブXコントロールやプラグインをロードしたインターネットサイトから切断し、別のインターネットサイトと接続した時でも、当該アクティブXコントロールやプラグインを介して得られた情報および/または機能は失われない。   The library file 74 essentially consists of one shell (or multiple shells) in the browser 72 containing active X controls and plug-in code that can control the Internet browser 72 and the browser interface 20. Open. When loaded with active X controls and plug-ins, the library file 74 preferably includes functions, objects, data, and other software that can be used to control the browser 74 and browser interface 20. In the present specification, these are called information in a broad sense. The present invention ensures that the library file 74 (and shell) does not close when an Internet user moves from the Internet site 130 to the Internet site 230. As a result, even when an Internet user disconnects from an Internet site loaded with an Active X control or plug-in and connects to another Internet site, information and / or functions obtained through the Active X control or plug-in are not Not lost.

次に、図1を参照すると、それぞれのウィンドウがインターネットユーザに種々の機能を与える複数のウィンドウを持つ従来のインターネットブラウザ・インターフェイス20が示される。ブラウザ・インターフェイス20は、ブラウザ・インターフェイスの一般的な大きさ、色およびレイアウトを通常規定し、当該ウィンドウ30用のウィンドウ制御ボタン28(最少化する、閉じるなどを行う)を含む第1の親ウィンドウ30を備える事が出来る。ブラウザ・インターフェイス20は、第1の親ウィンドウ30内に第2の親ウィンドウ36(第1の親ウィンドウの子)、および、第2の親ウィンドウに従属する1以上のウィンドウ38を更に備えることも可能である。第2の親ウィンドウ36および子ウィンドウ38は、一般に、インターネットにアクセスしたり、ナビゲートしたりする時、インターネットユーザを補助する情報および/または機能を規定する。例えば、第2の親36およびその従属ウィンドウ38は、ツールバー、プルダウンメニュー、プラグイン、アプリケーションを提供してもよい。   Referring now to FIG. 1, a conventional Internet browser interface 20 is shown having a plurality of windows, each window providing various functions to Internet users. The browser interface 20 typically defines the general size, color, and layout of the browser interface, and includes a first parent window that includes window control buttons 28 (minimize, close, etc.) for that window 30. 30 can be provided. The browser interface 20 may further include a second parent window 36 (a child of the first parent window) within the first parent window 30 and one or more windows 38 subordinate to the second parent window. Is possible. Second parent window 36 and child window 38 generally define information and / or functions that assist Internet users when accessing or navigating the Internet. For example, the second parent 36 and its subordinate windows 38 may provide toolbars, pull-down menus, plug-ins, and applications.

例えば、インターフェイス20の(図中)上部に設けられた3つのウィンドウ38は3つのツールバー22を規定し、これらのツールバーには、例えばプルダウンメニュー、ファンクションボタン(停止、戻り、次へ、ホームなど)およびファンクションボタンとウィンドウとの組み合わせ(探索ボタンとウィンドウなど)のような種々のインターフェイス・コントロール24を含むものであってもよい。最上部のツールバー22は複数のプルダウンメニュー24を提供し、中段のツールバー22は複数のファンクションボタン24を提供し、最下段のツールバー22はプルダウンメニューおよびウィンドウ26(URLアドレスウィンドウ)を提供する。コンテンツ・ウィンドウ32も、インターネット・コンテンツ・プロバイダ100(図10などを参照)からのコンテンツが表示出来るインターフェイス20の一部として設けられる。インターネットユーザは、第2のツールバー22に設けられた表示ツールバーオブジェクト24(プルダウンメニュー)を用いて、下方の3つの(図中)ツールバー22のうちのいずれかをオンとオフに切り替える事が出来る。しかし、インターネットユーザはここではブラウザ・インターフェイス20を追加、削除あるいは他の方法で変更する事は出来ない。   For example, the three windows 38 provided at the top of the interface 20 (in the figure) define three toolbars 22, which include, for example, pull-down menus, function buttons (stop, return, next, home, etc.). And various interface controls 24 such as a combination of function buttons and windows (such as search buttons and windows). The uppermost toolbar 22 provides a plurality of pull-down menus 24, the middle toolbar 22 provides a plurality of function buttons 24, and the lowermost toolbar 22 provides a pull-down menu and a window 26 (URL address window). A content window 32 is also provided as part of the interface 20 that can display content from the Internet content provider 100 (see FIG. 10 etc.). The Internet user can switch on and off one of the three lower toolbars 22 (in the drawing) using the display toolbar object 24 (pull-down menu) provided on the second toolbar 22. However, Internet users cannot add, delete or otherwise change the browser interface 20 here.

本発明の種々の実施形態により構成されたインターネットブラウザ20が図2〜図4に示される。図2では、ブラウザ・インターフェイス20には、コンテンツ・プロバイダ100によりライブラリファイル74にロードされたアクティブXコントロールやプラグインにより規定されるインターフェイス・オブジェクト40が含まれる。インターフェイス・オブジェクト40は、プルダウンメニュー44を有し、ブラウザ72が提供するインターフェイス・コントロール(即ちブラウザ・ツールバー・オブジェクト)24と共にブラウザ・ツールバー22に表示される。図3では、インターフェイス・オブジェクト40は、ブラウザ・インターフェイス20に別のウィンドウ48として表示されたインターフェイス・オブジェクト・ツールバー42とプルダウンメニュー44とを有する。図4では、インターフェイス・オブジェクト40は、ブラウザ・インターフェイス20内の別の48ウィンドウ内に表示された複数のプルダウンメニュー44およびサーチウィンドウ46を含むインターフェイス・ツールバー42を備える。本発明の種々の実施形態によるインターフェイス・オブジェクト40は、ブラウザを介して利用可能な任意のタイプの情報および/または機能を仮想的に備える事が出来る。従って、本発明を限定しない例として、インターフェイス・オブジェクト40は、プルダウンメニューや、ツールバーおよびプルダウンメニューや、文字情報(例えば広告、クーポン券、新たなHTMLリンクなど)、文字および/または音声情報(同時に生じる音を伴うテキストによる広告など)や、文字、音声および/または画像(動画であるか否かを問わない)情報や、ビデオや、ビデオおよびオーディオや、オーディオなどを含むものであってもよい。   An Internet browser 20 configured in accordance with various embodiments of the present invention is shown in FIGS. In FIG. 2, the browser interface 20 includes an interface object 40 defined by an active X control or plug-in loaded into the library file 74 by the content provider 100. The interface object 40 has a pull-down menu 44 and is displayed on the browser toolbar 22 along with the interface control (ie, browser toolbar object) 24 provided by the browser 72. In FIG. 3, the interface object 40 has an interface object toolbar 42 and a pull-down menu 44 displayed as a separate window 48 in the browser interface 20. In FIG. 4, the interface object 40 includes an interface toolbar 42 that includes a plurality of pull-down menus 44 and a search window 46 displayed in another 48 window within the browser interface 20. The interface object 40 according to various embodiments of the present invention can virtually comprise any type of information and / or functionality available through a browser. Thus, by way of non-limiting example, the interface object 40 may include pull-down menus, toolbars and pull-down menus, text information (eg, advertisements, coupons, new HTML links, etc.), text and / or audio information (at the same time). May include text, sound-related advertisements, etc.), text, voice and / or image (whether or not video) information, video, video and audio, audio, etc. .

図2〜図4により示される本発明によるインターネットブラウザ・インターフェイス20の種々の実施形態は単に本発明の例示であって、本発明を限定する例ではない。本願明細書に示す教示によりブラウザ・インターフェイス20への変更が可能である。   The various embodiments of the Internet browser interface 20 according to the present invention illustrated by FIGS. 2-4 are merely illustrative of the present invention and are not limiting examples of the present invention. Changes to the browser interface 20 are possible with the teachings presented herein.

次に図5を参照すると、本発明の一実施形態によるインターネットブラウザ・インターフェイス20を制御する方法がこの図に示され、全体が500として指定されている。ステップ510で、インターネットユーザは、インターネット・ウェブサイト130、ISP80またはユーザのコンピュータ50を介して制御プログラム120にアクセスする。制御プログラム120は、インターネットユーザが処理を実行すると、さらに詳細に以下論じるように、ユーザのインターネットブラウザ・インターフェイス20をその後制御する能力を当該ユーザに与えるものである。制御プログラム120は、ステップ520で、インターフェイス・オブジェクトを規定するアクティブXコントロールやプラグインコードを含むインターネットユーザのコンピュータ50に、ライブラリファイル74のダウンロードや作成を行う。ステップ530と540に示されているように、インターネットユーザがブラウザ72を開始即ち起動する度に、ライブラリファイル74が開かれ、所定のインターネットのウェブサイト110との接続が自動的に確立される。このウェブサイト110は、インターフェイス・オブジェクト用のアクティブXコントロールやプラグインコードをインターネットユーザのコンピュータ50へ伝送するように好適に構築されている。開かれたライブラリファイル74は、アクティブXコントロールやプラグインが提供する機能をブラウザ・インターフェイス20に追加する事が出来るブラウザ70内にシェルを提供する。ブラウザ72が閉じられるまで、ライブラリファイル74とシェルのいずれも閉じない。ステップ550で、ブラウザ・インターフェイス20に表示されるインターフェイス・オブジェクト40が作成される。インターフェイス・オブジェクト40の情報および/または機能は、アクティブXコントロールやプラグインにより規定される。本発明の種々の実施形態によれば、インターフェイス・オブジェクト40は、ステップ560に示されるように、ユーザがネットサーフィンを続けている限り、即ち、ブラウザ72が起動されている限り、ブラウザ・インターフェイス20と共にブラウザ72により表示された状態のままになる。従って、本発明によりブラウザ72およびブラウザ・インターフェイス20に追加された機能は、インターネットユーザがネットサーフィンをしている間は失われることはない。   Referring now to FIG. 5, a method for controlling the Internet browser interface 20 according to one embodiment of the present invention is shown in this figure and designated generally as 500. At step 510, the Internet user accesses the control program 120 via the Internet website 130, ISP 80 or the user's computer 50. The control program 120 provides the user with the ability to subsequently control the user's Internet browser interface 20 as the Internet user performs processing, as discussed in more detail below. In step 520, the control program 120 downloads and creates the library file 74 on the Internet user's computer 50 including the active X control that defines the interface object and the plug-in code. As shown in steps 530 and 540, each time an Internet user starts or activates the browser 72, the library file 74 is opened and a connection to a predetermined Internet website 110 is automatically established. The website 110 is preferably constructed to transmit active X controls and plug-in code for interface objects to the Internet user's computer 50. The opened library file 74 provides a shell in the browser 70 that can add functions provided by active X controls and plug-ins to the browser interface 20. Neither the library file 74 nor the shell is closed until the browser 72 is closed. At step 550, an interface object 40 that is displayed on the browser interface 20 is created. Information and / or functions of the interface object 40 are defined by active X controls and plug-ins. In accordance with various embodiments of the present invention, the interface object 40, as shown in step 560, is the browser interface 20 as long as the user continues to surf the net, i.e., as long as the browser 72 is activated. At the same time, it remains displayed by the browser 72. Thus, the functionality added to browser 72 and browser interface 20 according to the present invention is not lost while Internet users are surfing the net.

本発明は、図5を参照して概要を説明したようなブラウザ72およびブラウザ・インターフェイス20を制御する種々の実施形態を提供するものであり、これら実施形態のそれぞれについて以下詳細に説明する。   The present invention provides various embodiments for controlling the browser 72 and browser interface 20 as outlined with reference to FIG. 5, each of which will be described in detail below.

次に図6、続けて図10を参照しながら、本発明によるブラウザ72とブラウザ・インターフェイス20とを制御し、これらを表示する方法を示す実施形態について全体を600として次に説明を行う。本願明細書で解説するように、図6の目的のために、および、この図に向けられた以下の解説を目的として、ライブラリファイル74がインターネットユーザのコンピュータ50に予めダウンロードまたは作成されているものとする。ステップ610で、インターネットユーザはブラウザ72を開始即ち起動し、インターネット90へのアクセスを開始する。ステップ620で、ライブラリファイル74が開かれ、ステップ630に示すように所定のコンテンツ・プロバイダとの接続が自動的に確立される。BIOライブラリのアクティブXコントロールまたはプラグインコードにより規定された機能が、コンテンツ・プロバイダによりユーザのコンピュータ50へ伝送されて、ブラウザ・インターフェイス20に追加出来るインターフェイス・オブジェクト40が作成される。ステップ640に示すように、インターフェイス・オブジェクト40は、インターネットブラウザ・インターフェイス20と共に表示される。インターフェイス・オブジェクト40の機能は、アクティブXコントロールまたはプラグインコードにより規定されているが、インターネットユーザがインターネット90を巡回している間、ユーザが訪れたインターネットサイトの数や種類に関係無く、また、ユーザが、ブラウザ・ソフトウェア・プログラム72を用いてインターネット90にアクセスしている限り、インターネットブラウザ・インターフェイス20と共に残っている。ステップ650に示すように、インターネットユーザが1つのインターネットサイトから別のインターネットサイトへ移動する時、本発明は、インターフェイス・オブジェクト40が当該移動により現存しているかどうか、即ち、ステップ652に示すように、該オブジェクト40が、ブラウザ・インターフェイス20にブラウザ72によりまだ表示されているかどうかの判定を行う。インターフェイス・オブジェクト40がブラウザ・インターフェイス20に表示されていなければ(即ち、ブラウザ・インターフェイス20から削除されたか、他の理由により終了されていれば)、ステップ660に示すように、インターフェイス・オブジェクト40は再描画される。インターフェイス・オブジェクト40が1つのインターネットサイトから別のインターネットサイトへユーザの移動によっても現存して、ブラウザ・インターフェイス20内に表示された状態のままであれば、ステップ654で、ブラウザ72が操作可能な状態であるかどうかの判定も行われる。何故なら、ブラウザ72が操作可能な状態にあれば、インターフェイス・オブジェクト40はブラウザ・インターフェイス20にのみ表示されるからである。ブラウザ72が操作可能な状態でなければ、ステップ670に示すように、インターフェイス・オブジェクト40は終了され、ライブラリファイル74は閉じられる。ブラウザ72が操作可能な状態のままであれば、本発明は、ステップ652で、インターフェイス・オブジェクト40がブラウザ・インターフェイス20と共に表示されることを保証し続ける。インターネットユーザがインターネットサイト間で移動している時、本発明はインターフェイス・オブジェクト40の状態をモニタし、ユーザがインターネット90を巡回している限り、インターフェイス・オブジェクト40がブラウザ72によりブラウザ・インターフェイス20と共に表示されることを保証する。   Next, referring to FIG. 6 and subsequently to FIG. 10, an embodiment showing a method for controlling and displaying the browser 72 and the browser interface 20 according to the present invention will be described as 600 as a whole. As described herein, for the purposes of FIG. 6 and for the purposes of the following discussion directed to this figure, a library file 74 has been previously downloaded or created on the Internet user's computer 50. And At step 610, the Internet user starts or activates browser 72 and begins accessing the Internet 90. In step 620, the library file 74 is opened and a connection with a predetermined content provider is automatically established as shown in step 630. Functions defined by the active X control or plug-in code of the BIO library are transmitted to the user's computer 50 by the content provider to create an interface object 40 that can be added to the browser interface 20. As shown in step 640, the interface object 40 is displayed with the Internet browser interface 20. The function of the interface object 40 is defined by the active X control or plug-in code, but regardless of the number or type of Internet sites visited by the user while the Internet user circulates the Internet 90, As long as the user is accessing the Internet 90 using the browser software program 72, it remains with the Internet browser interface 20. As shown in step 650, when an Internet user moves from one Internet site to another, the present invention determines whether the interface object 40 is present due to the movement, ie, as shown in step 652. A determination is made as to whether the object 40 is still displayed on the browser interface 20 by the browser 72. If the interface object 40 is not displayed on the browser interface 20 (ie, it has been deleted from the browser interface 20 or terminated for other reasons), as shown in step 660, the interface object 40 is Redrawn. If the interface object 40 exists even when the user moves from one Internet site to another Internet site and remains displayed in the browser interface 20, the browser 72 can be operated in step 654. It is also determined whether or not it is in a state. This is because the interface object 40 is displayed only on the browser interface 20 if the browser 72 is operable. If the browser 72 is not operable, the interface object 40 is terminated and the library file 74 is closed, as shown in step 670. If the browser 72 remains operable, the present invention continues to ensure that the interface object 40 is displayed with the browser interface 20 at step 652. The present invention monitors the state of the interface object 40 as the Internet user is moving between Internet sites, and as long as the user is traversing the Internet 90, the interface object 40 is moved along with the browser interface 20 by the browser 72. Guarantee that it will be displayed.

図6に示される実施形態によれば、本発明は、BIOライブラリを初めに呼び出し、ユーザのコンピュータ50へロードしたインターネット・ウェブサイト130からインターネットユーザが出るとき、ブラウザ72がブラウザ・インターフェイス20と共にインターフェイス・オブジェクト40を表示することを保証するものである。例えば、ユーザがブラウザ72を開始即ち起動した時、第1のコンテンツ・プロバイダ100により保守管理される第1の所定のインターネットサイト130との接続が自動的に確立され、BIOライブラリがユーザのコンピュータ50にロードされる。次いで、BIOライブラリにより提供される機能が、ライブラリファイル74により作成されたシェルを介してブラウザ72に利用可能になる。インターネットユーザが、第2のコンテンツ・プロバイダ200により保守管理されている第2のインターネットサイト230と接続した時、インターフェイス・オブジェクト40用の機能はブラウザ・インターフェイス20に存在し続けることになる。本実施形態では、第1のインターネットサイト130とのリンクが終了した時、コンピュータ50のブラウザ72またはオペレーティングシステム70が、ライブラリファイル74のアンロードを行うことによりBIOライブラリの機能を使用禁止にすることを本発明により防止するものである。   In accordance with the embodiment shown in FIG. 6, the present invention provides an interface for the browser 72 along with the browser interface 20 when the Internet user exits from the Internet website 130 that initially invoked the BIO library and loaded into the user's computer 50. It is guaranteed that the object 40 is displayed. For example, when the user starts or activates the browser 72, a connection to the first predetermined Internet site 130 maintained and managed by the first content provider 100 is automatically established, and the BIO library is stored in the user's computer 50. To be loaded. The functions provided by the BIO library are then made available to the browser 72 via the shell created by the library file 74. When an Internet user connects to the second Internet site 230 maintained by the second content provider 200, the functionality for the interface object 40 will continue to exist in the browser interface 20. In the present embodiment, when the link with the first Internet site 130 is completed, the browser 72 or the operating system 70 of the computer 50 disables the function of the BIO library by unloading the library file 74. Is prevented by the present invention.

例えば、ブラウザ72がインターネットサイト130と最初に接続した時、当該サイト130は、ライブラリファイル74の中へロードされるBIOライブラリとして、アクティブXコントロールソフトウェアコードの形で機能情報をインターネットユーザのコンピュータ50へ伝送する。もし、第1のインターネットサイト130との接続終了時に、ライブラリファイル74がオペレーティングシステム70またはブラウザ72により、閉じるやアンロードのような明確な命令を受けていなければ、第1のインターネットサイト130との接続が閉じられた後であっても、ライブラリファイル74はロードされた状態を保つことになり、ブラウザ・インターフェイス20内のインターフェイス・オブジェクト40用の所望の機能が提供されることになる。インターネットユーザが種々のインターネットサイト間を移動している間、ライブラリファイル74がロードされたままの状態を保つことにより、ライブラリファイル74の内部を除いて、(第1のインターネットサイト130によりインターネットユーザ50へ伝送されるだけの)アクティブXコントロールの外部のデータ、関数およびオブジェクトのロードを行うことが可能となる。ライブラリファイル74がロードされたままの状態を保っている限り、ライブラリファイル74で、および、アクティブXコントロールの外部で作成されたいずれのデータやオブジェクトもロードされたままの状態となり、ブラウザ・インターフェイス20内で機能し続けることになる。   For example, when the browser 72 first connects to the Internet site 130, the site 130 provides functional information in the form of active X control software code to the Internet user's computer 50 as a BIO library loaded into the library file 74. To transmit. If the library file 74 has not received a clear command such as closing or unloading by the operating system 70 or the browser 72 at the end of the connection with the first Internet site 130, the connection with the first Internet site 130 Even after the connection is closed, the library file 74 will remain loaded and the desired functionality for the interface object 40 within the browser interface 20 will be provided. By keeping the library file 74 loaded while the Internet user is moving between the various Internet sites, except for the interior of the library file 74 (the Internet user 50 by the first Internet site 130). It is possible to load data, functions and objects outside the active X control (which are only transmitted to). As long as the library file 74 remains loaded, any data or objects created in the library file 74 and outside the active X control will remain loaded, and the browser interface 20 Will continue to function within.

ブラウザ72が第1のインターネットサイト130と接続した後、かつ、その接続が終了する前に、サーフィンの間ライブラリファイル74を開いた状態に保つことにより、グローバルオブジェクトA(オブジェクトA)が、呼び出し関数のヒープではなく、インターネットユーザのコンピュータ50のプログラムのヒープに作成される。このようにして、グローバルオブジェクトは呼び出し関数の終了を生き延びることになる。C++の新しい演算子を用いて、または、包括的宣言でグローバルオブジェクトを宣言することによりグローバルオブジェクトの作成を行う事が出来る。いずれの場合にせよ、グローバルオブジェクトはブラウザ72と第1のインターネットサイト130との間の接続が終了しても存在し続けることになる。   By keeping the library file 74 open during surfing after the browser 72 connects to the first Internet site 130 and before the connection is terminated, the global object A (object A) is called It is created in the program heap of the Internet user's computer 50 instead of the heap of the user. In this way, the global object survives the end of the calling function. A global object can be created using a new C ++ operator or by declaring a global object with a generic declaration. In any case, the global object will continue to exist even after the connection between the browser 72 and the first Internet site 130 is terminated.

このように規定されたグローバルオブジェクトは、第1のインターネットサイト130により提供されるアクティブXコントロールが閉じた後、即ち第1のインターネットサイト130との初期接続が終了した後も、機能し続けることになる。一度グローバルオブジェクトが作成されると、このグローバルオブジェクトを用いてインターフェイスが作成される。当該インターフェイスは、例えば、機能の削除、置換および/またはブラウザ72とブラウザ・インターフェイス20への機能の追加を行うために機能する。このインターフェイスは、グローバルオブジェクトの一部として、あるいは、新たなインターフェイス・オブジェクト40を割り当てるグローバルオブジェクトにより作成してもよい。例えば、ブラウザ・ウィンドウ38内にインターフェイス・オブジェクトウィンドウ48(図3と図4などを参照のこと)を作成すること等により、インターフェイス・オブジェクト40を作成してもよい。上記とは別に、ブラウザ・インターフェイス20は、例えば、ブラウザ・インターフェイス20内にブラウザ・ツールバー22またはブラウザ・ツールバー・オブジェクト24の追加または変更等を行うことにより直接変更してもよい。さらに別の代替例として、図4に示されるブラウザ・インターフェイス20から切り離されたオブジェクト・インターフェイス・ツールバー42の作成がある。   The global object defined in this manner will continue to function even after the active X control provided by the first Internet site 130 is closed, that is, after the initial connection with the first Internet site 130 is terminated. Become. Once a global object is created, an interface is created using this global object. The interface functions to, for example, delete functions, replace functions, and / or add functions to the browser 72 and the browser interface 20. This interface may be created as part of the global object or by a global object to which a new interface object 40 is assigned. For example, the interface object 40 may be created by creating an interface object window 48 (see FIGS. 3 and 4 etc.) in the browser window 38. Apart from the above, the browser interface 20 may be directly changed by adding or changing the browser toolbar 22 or the browser toolbar object 24 in the browser interface 20, for example. Yet another alternative is the creation of an object interface toolbar 42 that is separate from the browser interface 20 shown in FIG.

さらに、ブラウザ72を制御して、例えば、所定のインターネットサイト130との接続の確立をブラウザ72に命令するのに用いるポインタが必要となる。このポインタを広範囲に格納することが望ましく、それによってブラウザ72へコマンドを送信するライブラリファイル74内の任意の関数またはオブジェクトにより上記ポインタのアクセスが可能となる。例えば、マイクロソフト・インターネットエクスプローラ(商標)では、IWebBrowser、IWebBrowser2またはIWebBrowserAppオブジェクトリンク&組み込み(OLE)インターフェイスコマンドを用いてポインタを作成する事が出来る。例えば、マイクロソフト・ファウンデーション・クラス(MFC)、を利用して、COleControlクラスのGetClientSiteメンバーを使用し、第1のインターネットサイト130、即ちBIOライブラリをロードしたインターネットサイトからポインタを検索するポインタを作成する事が出来る。GetClientSiteはブラウザ72がBIOライブラリと交信するためのエントリポイントとして機能する。前回のステップにより返されたIOleClientSiteクラスのGetContainerメンバーを用いてBIOライブラリ用コンテナへのポインタを取得する事が出来る。BIOライブラリのコンテナは、アクティブXコントロールをロードするコンテナである。インターネットブラウザ・インターフェイス20は一般にブラウザ・ツールバー22とコンテンツ・ウィンドウ32とを含むいくつかの部分から構成される。ドキュメントオブジェクトは、インターネットユーザがアクセスし、ある特定のウェブページに現れる全てのデータを含む全てのウェブページ用としてブラウザ72により作成される。ドキュメントオブジェクトはBIOライブラリ用のコンテナでもある。従って、ドキュメントオブジェクトをBIOライブラリのコンテナと呼ぶ場合もある。   Furthermore, a pointer used for controlling the browser 72 to instruct the browser 72 to establish a connection with a predetermined Internet site 130 is required. It is desirable to store this pointer in a wide range so that it can be accessed by any function or object in the library file 74 that sends commands to the browser 72. For example, in Microsoft Internet Explorer (trademark), a pointer can be created using an IWebBrowser, IWebBrowser2 or IWebBrowserApp object link & embedded (OLE) interface command. For example, using the Microsoft Foundation Class (MFC), the GetClientSite member of the COleControl class is used to create a pointer that retrieves a pointer from the first Internet site 130, that is, the Internet site loaded with the BIO library. I can do it. GetClientSite functions as an entry point for the browser 72 to communicate with the BIO library. A pointer to the BIO library container can be acquired using the GetContainer member of the IOleClientSite class returned in the previous step. The BIO library container is a container for loading an active X control. The internet browser interface 20 is generally composed of several parts including a browser toolbar 22 and a content window 32. Document objects are created by browser 72 for all web pages that contain all the data accessed by an internet user and appearing on a particular web page. The document object is also a container for the BIO library. Therefore, the document object may be referred to as a BIO library container.

前回のステップにより返されたIOleContainerクラスのQueryInterfaceメンバーを用いて、IServiceProviderインターフェイスへのポインタを取得する事が出来る。このポインタを用いて、ブラウザ72が示す別のインターフェイスの所在位置を検知する事が出来る。最後に、BIOライブラリを呼び出したブラウザ72により提供される固有インターフェイスに対応して、前回のステップにより返されたIServiceProviderクラスのQueryServiceメンバーを用いて、IWebBrowserApp、IWebBrowserまたはIWebBrowser2インターフェイスへのポインタを取得する事が出来る。   A pointer to the IServiceProvider interface can be obtained using the QueryInterface member of the IOleContainer class returned in the previous step. Using this pointer, the location of another interface indicated by the browser 72 can be detected. Finally, the pointer to the IWebBrowserApp, IWebBrowser or IWebBrowser2 interface is obtained using the QueryService member of the IServiceProvider class returned by the previous step, corresponding to the specific interface provided by the browser 72 that called the BIO library. I can do it.

ある代替実施形態では、本発明を用いてブラウザ・ウィンドウ30全体の変更を行う事が出来る。ブラウザ・ウィンドウ30全体を変更する場合、インターフェイス・オブジェクト40を既存のブラウザ・ウィンドウ38の中へ統合化するのとは対照的に、変更したブラウザ・ウィンドウ30用のクラス全体をサブクラス化したり、或いは、固有ブラウザ・ウィンドウ38をサブクラス化したりすることが可能となる。ここで用いられている、ウィンドウ・フッキング(hooking a window)とも呼ばれる“ウィンドウのサブクラス化”という用語は、ユーザ規定ウィンドウ・メッセージ・ハンドリング・プロシージャを用いて、ウィンドウへ送信される全てのメッセージ処理と元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャを置き換えることを意味する。例えば、ウィンドウはマイクロソフト・ファウンデーション・クラス(MFC)CWnd:SubclassWindow ()関数を用いてサブクラス化する事が出来る。上記とは別に、GWL_WNDPROC引数(マイクロソフト・ウィンドウズ定数)と共にSetWindowLong関数(マイクロソフト・ウィンドウズ関数)呼び出しを用いて、ウィンドウをサブクラス化することも可能である。サブクラスのウィンドウ用の元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャにSetWindowLong関数呼び出しにより返されたポインタを格納してもよい。これによって、ウィンドウ30または38へ渡される全てのメッセージをBIOライブラリがインターセプトすることが可能となる。さらに、BIOライブラリは、ブラウザ72から提供された、ボタン、メニューなどを含むインターフェイス・コントロール24からのコマンド、または、本発明に準拠するBIOライブラリにより追加されたインターフェイス・オブジェクト40からのコマンドを翻訳することが可能となる。   In an alternative embodiment, the entire browser window 30 can be modified using the present invention. If the entire browser window 30 is modified, the entire class for the modified browser window 30 may be subclassed, as opposed to integrating the interface object 40 into the existing browser window 38, or It becomes possible to subclass the unique browser window 38. As used herein, the term “window subclassing”, also called hooking a window, refers to the processing of all messages sent to a window using a user-defined window message handling procedure. It means replacing the original browser window message handling procedure. For example, a window can be subclassed using the Microsoft Foundation Class (MFC) CWnd: SubclassWindow () function. Apart from the above, it is also possible to subclass windows using the SetWindowLong function (Microsoft Windows function) call with the GWL_WNDPROC argument (Microsoft Windows constant). The original browser window message handling procedure for the subclass window may store the pointer returned by the SetWindowLong function call. This allows the BIO library to intercept all messages passed to window 30 or 38. Further, the BIO library translates commands from the interface control 24 including buttons, menus, etc. provided by the browser 72 or commands from the interface object 40 added by the BIO library according to the present invention. It becomes possible.

BIOライブラリにより与えられるユーザ規定ウィンドウ・メッセージ・ハンドリング・プロシージャであって、元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャを置き換える上記ユーザ規定ウィンドウ・メッセージ・ハンドリング・プロシージャは、BIOプロシージャ(BIO Procedure)と呼ばれる。ブラウザ72に対してBIOプロシージャを用いて、ブラウザ72用として意図されたメッセージ(コマンドなど)をインターセプトし、変更することも可能である。あるいは置き換えまたは新たなメッセージ(インターフェイス・オブジェクト40用メッセージハンドラなど)をBIOプロシージャによりブラウザ72へ伝送することも可能である。   A user-defined window message handling procedure provided by the BIO library, which replaces the original browser window message handling procedure, is a BIO procedure. be called. It is also possible to intercept and change messages (commands, etc.) intended for the browser 72 using the BIO procedure for the browser 72. Alternatively, a replacement or new message (such as a message handler for the interface object 40) can be transmitted to the browser 72 by the BIO procedure.

本発明はまた、ブラウザ・インターフェイス20からのインターフェイス・オブジェクト40の削除を保証するものでもある。例えば、インターネットユーザが新たなウェブサイトにアクセスすると、インターネットブラウザ72のなかにはブラウザ・インターフェイス20全体を再描画するものもある。ユーザが行う上記のようなインターネットでの移動に従いながらグローバルオブジェクトがまだ機能可能な間、インターフェイス・オブジェクト40がブラウザ・インターフェイス20から削除される結果、インターフェイス・オブジェクト40はブラウザ・インターフェイス20により表示されなくなる。このような事態が生じるのを防ぐために、ブラウザ・インターフェイス20をリペイントするブラウザ72からのメッセージをBIOプロシージャによりインターセプトすることが可能であり、ブラウザ・インターフェイス20が再描された直後にインターフェイス・オブジェクト40を再描画することが可能となる。上記とは別に、ブラウザ・インターフェイス20におけるインターフェイス・オブジェクト40の存在を周期的にテストすることが可能であり、インターフェイス・オブジェクト40が存在しなければ、ブラウザ・インターフェイス20内にインターフェイス・オブジェクト40を再描画することが可能となる。ほぼ1秒未満の間隔でこのような周期的テストを行うことが望ましい。   The present invention also ensures deletion of the interface object 40 from the browser interface 20. For example, when an Internet user accesses a new website, some Internet browsers 72 redraw the entire browser interface 20. While the global object is still functional while following the user's movement on the Internet as described above, the interface object 40 is deleted from the browser interface 20 so that the interface object 40 is not displayed by the browser interface 20. . To prevent this from happening, a message from the browser 72 that repaints the browser interface 20 can be intercepted by a BIO procedure, and the interface object 40 immediately after the browser interface 20 is redrawn. Can be redrawn. Apart from the above, the presence of the interface object 40 in the browser interface 20 can be periodically tested. If the interface object 40 does not exist, the interface object 40 is re-introduced in the browser interface 20. It becomes possible to draw. It is desirable to perform such periodic tests at intervals of approximately less than 1 second.

上述の実施形態の一例(図6に図示)として、アクティブXコントロールがBIOライブラリとしてロードされ、メニュー項目(および機能)がブラウザ・インターフェイス20に追加される。本発明は、新たなグローバルオブジェクトを動的に作成するアクティブXコントロールを作成するものであり、この新たなグローバルオブジェクトによって、ブラウザ・インターフェイス20に追加すべき所望の機能を備えた新たなメニューオブジェクト(このオブジェクトはインターフェイス・オブジェクト40であってもよい)が作成される。命令AfxGetMainWnd ()- GetMenu ()- AppendMenu ()を用いてメニューオブジェクト40をブラウザ・インターフェイス20に追加することも可能である。この場合、ブラウザ・インターフェイス20の追加メニューはメニューオブジェクト40を指示するポップアップメニューを含むことになる。次いで、ブラウザ・インターフェイス・ウィンドウがサブクラス化され、このブラウザ・インターフェイス・ウィンドウにより、BIOプロシージャにより処理されたメニューオブジェクト40用としてメッセージが処理され、ブラウザ・インターフェイス20用のメッセージはブラウザ72用メッセージハンドラへ渡される。インターネットユーザが第1のインターネットサイト130から切断する(アクティブXコントロールを含むウェブページから出る)と、アクティブXコントロールは閉じることになるが、グローバルオブジェクトはプログラムのヒープ(program heap)内に残り、ブラウザ・インターフェイス20へ所望の機能を提供し続ける。   As an example of the above-described embodiment (shown in FIG. 6), the active X control is loaded as a BIO library and menu items (and functions) are added to the browser interface 20. The present invention creates an active X control that dynamically creates a new global object, and this new global object provides a new menu object (with a desired function to be added to the browser interface 20). This object may be an interface object 40). It is also possible to add the menu object 40 to the browser interface 20 using the command AfxGetMainWnd ()-GetMenu ()-AppendMenu (). In this case, the additional menu of the browser interface 20 includes a pop-up menu indicating the menu object 40. The browser interface window is then subclassed and the browser interface window processes the message for the menu object 40 processed by the BIO procedure, and the message for the browser interface 20 goes to the message handler for the browser 72. Passed. When an Internet user disconnects from the first Internet site 130 (exiting a web page containing an active X control), the active X control will be closed, but the global object will remain in the program heap and the browser Continue to provide desired functions to the interface 20.

インターフェイス・オブジェクト40が追加されるブラウザ・ウィンドウをサブクラス化する代わりに、オブジェクトAまたはその子孫のうちの1つは、インターフェイス・オブジェクト40の所有者である状態を保持することが可能である。次いで、インターフェイス・オブジェクト40用のメッセージハンドラを作成する事が出来る。例えば、マイクロソフト・ファウンデーション・クラスを用いて、オブジェクトAまたはその子孫のうちの1つになるようにセットするということを除いて、インターフェイス・オブジェクト40の所有者が、上述の本発明の実施形態に準拠するブラウザ・ツールバー22にインターフェイス・オブジェクト40を追加する事が出来る。   Instead of subclassing the browser window to which the interface object 40 is added, the object A or one of its descendants can retain the state that is the owner of the interface object 40. A message handler for the interface object 40 can then be created. For example, the owner of the interface object 40 may use the above-described embodiments of the present invention, except that the Microsoft Foundation class is used to set the object A or one of its descendants. An interface object 40 can be added to the compliant browser toolbar 22.

次に図7から図10までを続けて参照しながら、本発明によるブラウザ・インターフェイス20を制御し、表示する方法(700として全体を示す)、の別の実施形態について説明を行う。本願明細書に記載のように、図7の目的として、また、図7へ向けられる以下の説明のために、ライブラリファイル74がインターネットユーザのコンピュータ50に予め作成されている。ステップ710で、インターネットユーザはブラウザ72を開始即ち起動して、インターネット90にアクセスする。ステップ720で、ライブラリファイル74がユーザのコンピュータ50で開かれ、ステップ730に示されるように所定のインターネットサイト130との接続が自動的に確立される。ステップ740で、BIOライブラリのアクティブXコントロールまたはプラグインコードにより規定された機能が、コンテンツ・プロバイダによりユーザのコンピュータ50へ伝送されて、インターフェイス・オブジェクト40の表示を制御する連続ループを用いて、ブラウザ・インターフェイス20で表示出来るインターフェイス・オブジェクト40が作成される。連続ループの終了時にインターフェイス・オブジェクト40を削除する(即ちその機能を終了させる)だけでよい。アクティブXコントロールまたはプラグインコードにより規定されているようなインターフェイス・オブジェクト40の機能は、ユーザが訪れたインターネット・ウェブサイトの数やタイプに関係無く、また、インターネットユーザがブラウザ・ソフトウェア・プログラムを用いてインターネットにアクセスしている限り、そして、ブラウザ72が起動状態のままである限り、インターネットユーザがインターネット90を巡回する時のインターネットブラウザ・インターフェイス20の場合の状態のままである。インターネットユーザが1つのウェブサイトから別のウェブサイトへ移動する時、ステップ750に示すように、本発明は、インターフェイス・オブジェクト40がその移動により現存しているかどうかの判定、即ち、ステップ752に示すように、上記オブジェクト40がブラウザ・インターフェイス20にまだ表示されているかどうかの判定を行うものである。インターフェイス・オブジェクト40がブラウザ72によりブラウザ・インターフェイス20に表示されていなければ、ステップ760に示すように、インターフェイス・オブジェクト40は再描画される。インターフェイス・オブジェクト40が1つのウェブサイトから別のウェブサイトへユーザの移動を生き延びて、ブラウザ・インターフェイス20に表示された状態のままであれば、ステップ754で、ブラウザ72が操作可能な状態であるかどうかの判定も行われる。何故なら、ブラウザ72が操作可能な状態にあれば、インターフェイス・オブジェクト40はブラウザ72によりブラウザ・インターフェイス20のみに表示されるからである。ブラウザ72が起動していなければ、ステップ770に示すように、インターフェイス・オブジェクト40は終了し、ライブラリファイル74は閉じられる。ブラウザ72が操作可能な状態のままであれば、本発明は、ステップ756で、連続ループが終了しているかどうかの判定を行う。ループが終了していれば、ステップ770に示すように、インターフェイス・オブジェクト40も終了する。ステップ752に示すように、ループがまだ処理を実行していれば、本発明は、インターフェイス・オブジェクト40がブラウザ・インターフェイス20にまだ表示されているかどうかの判定を行う。   Next, another embodiment of a method for controlling and displaying the browser interface 20 according to the present invention (generally indicated as 700) will be described with continued reference to FIGS. As described herein, a library file 74 has been pre-created on the Internet user's computer 50 for the purposes of FIG. 7 and for the following discussion directed to FIG. At step 710, the Internet user starts or activates browser 72 to access Internet 90. At step 720, the library file 74 is opened on the user's computer 50, and a connection to a predetermined Internet site 130 is automatically established as shown in step 730. In step 740, the function defined by the active X control or plug-in code of the BIO library is transmitted by the content provider to the user's computer 50, using a continuous loop to control the display of the interface object 40, and the browser. An interface object 40 that can be displayed on the interface 20 is created. It is only necessary to delete the interface object 40 at the end of the continuous loop (i.e. to terminate its function). The function of the interface object 40 as defined by the active X control or plug-in code is independent of the number and type of Internet websites visited by the user, and the Internet user uses a browser software program. As long as the Internet is accessed, and as long as the browser 72 remains active, the Internet browser interface 20 when the Internet user circulates the Internet 90 remains. When an Internet user moves from one website to another, as shown in step 750, the present invention determines whether the interface object 40 is present due to the movement, ie, shown in step 752. As described above, it is determined whether or not the object 40 is still displayed on the browser interface 20. If the interface object 40 is not displayed on the browser interface 20 by the browser 72, the interface object 40 is redrawn as shown in step 760. If the interface object 40 survives the user's movement from one website to another and remains displayed on the browser interface 20, the browser 72 is operational at step 754. It is also determined whether or not. This is because the interface object 40 is displayed only on the browser interface 20 by the browser 72 if the browser 72 is operable. If the browser 72 is not activated, the interface object 40 is terminated and the library file 74 is closed, as shown in step 770. If the browser 72 remains operable, the present invention determines in step 756 whether the continuous loop has ended. If the loop is complete, the interface object 40 is also terminated, as shown at step 770. As shown in step 752, if the loop is still executing, the present invention determines whether the interface object 40 is still displayed on the browser interface 20.

図7に示される本発明の実施形態では、たとえオペレーティングシステム70またはブラウザ72がライブラリファイル74のアンロードまたは終了を行う命令を生成しても、(アクティブXコントロールコードが中でロードされる)ライブラリファイル74の処理をフリーズさせることによりアクティブXコントロールのアンロードを防止するようにするものである。ライブラリファイル74がフリーズし、アンロードを終了させなくすることに起因して、アクティブXコントロールが作成したライブラリファイル74の内部のデータ、関数およびオブジェクトの全ては、ライブラリファイル74がアンロード命令を受けた後も存在し、機能し続ける。   In the embodiment of the invention shown in FIG. 7, even if the operating system 70 or browser 72 generates an instruction to unload or terminate the library file 74 (the active X control code is loaded in) The processing of the file 74 is frozen to prevent the active X control from being unloaded. Due to the fact that the library file 74 is frozen and does not end unloading, all of the data, functions and objects inside the library file 74 created by the active X control are received by the library file 74. Exist and continue to function.

いくつかのオペレーティングシステム70および/またはブラウザ72では、アクティブXコントロールがもうインターネットサイトに存在しなくなったとき、BIOライブラリは閉じられる。このことは、図10のインターネットサイト130などの、アクティブXコントロールを持つ1つのインターネットサイトから、図10のインターネットサイト230などの、アクティブXコントロールを持たない別のインターネットサイトへインターネットユーザが移動する時生じる場合がある。アクティブXコントロールが存在しないとき、インターフェイス・オブジェクト40の作動の継続を可能にするために、BIOライブラリ(およびライブラリファイル74)が閉じないようにする必要がある。   In some operating systems 70 and / or browsers 72, the BIO library is closed when the active X control no longer exists on the Internet site. This is when an Internet user moves from one Internet site with active X control, such as the Internet site 130 of FIG. 10, to another Internet site without active X control, such as the Internet site 230 of FIG. May occur. When there is no active X control, the BIO library (and library file 74) must not be closed to allow the interface object 40 to continue operating.

これを達成するために、ブラウザ72の制御に用いるポインタが作成される。このポインタはグローバルに格納することが望ましく、それによってブラウザ72へコマンドを送信する必要があるライブラリファイル74内の任意の関数またはオブジェクトにより上記ポインタのアクセスが可能となる。例えば、マイクロソフト・インターネットエクスプローラ(商標)では、IWebBrowser、IWebBrowser2またはIWebBrowserAppOLEインターフェイスコマンドを用いてポインタを作成する事が出来る。マイクロソフト・ファウンデーション・クラス(MFC)を利用してこれを行うために、(BIOライブラリとの交信に用いる事が出来る)COleControlクラスのGetClientSiteメンバーを用いて、BIOライブラリのインターネットサイト、即ち、アクティブXコントロールを行うそのインターネットサイトへのポインタの検索を行う事が出来る。前回のステップにより返されたIOleClientSiteクラスのGetContainerメンバーを用いて、BIOライブラリ用コンテナへのポインタを取得する事が出来る。前回のステップにより返されたIOleContainerクラスのQueryInterfaceメンバーを用いて、IServiceProviderインターフェイスへのポインタを取得する事が出来る。IServiceProviderインターフェイスを用いて、ブラウザ72が示す別のインターフェイスのうちのいずれでも容易に見つける事が出来る。BIOライブラリを呼び出したブラウザ72のバージョンにより示されるインターフェイスに応じて、前回のステップにより返されたIServiceProviderクラスのQueryServiceメンバーを用いて、IWebBrowserApp、IWebBrowserまたはIWebBrowser2インターフェイスへのポインタを取得する事が出来る。   In order to achieve this, a pointer used to control the browser 72 is created. This pointer is preferably stored globally so that it can be accessed by any function or object in the library file 74 that needs to send commands to the browser 72. For example, in Microsoft Internet Explorer (trademark), a pointer can be created using an IWebBrowser, IWebBrowser2 or IWebBrowserAppOLE interface command. To do this using the Microsoft Foundation Class (MFC), the BIO library Internet site, ie Active X Control, can be used using the GetClientSite member of the COleControl class (which can be used to communicate with the BIO library). You can search for a pointer to that Internet site. By using the GetContainer member of the IOleClientSite class returned by the previous step, a pointer to the BIO library container can be obtained. A pointer to the IServiceProvider interface can be obtained using the QueryInterface member of the IOleContainer class returned in the previous step. Any of the other interfaces shown by the browser 72 can be easily found using the IServiceProvider interface. A pointer to the IWebBrowserApp, IWebBrowser, or IWebBrowser2 interface can be obtained using the QueryService member of the IServiceProvider class returned in the previous step according to the interface indicated by the version of the browser 72 that called the BIO library.

ライブラリファイル74が閉じないようにするために、ライブラリファイルの動作は停止される。ライブラリファイル74の処理のフリーズまたは停止を行うために、BIOライブラリがアンロードされた時にのみ終了する連続するプログラムループを作成し、処理を実行することも可能である。その時点でプログラムループはメッセージキューのポンピングも行う。このプログラムループは、本願明細書ではメッセージポンプと呼ばれ、ループ内のPeekMessage、GetMessage、TranslateMessageおよびDispatchMessageコマンドを用いてこのプログラムループを作成することが可能である。メッセージポンプを実行する例示のC++コードを以下に示す:   In order to prevent the library file 74 from closing, the operation of the library file is stopped. In order to freeze or stop the processing of the library file 74, it is also possible to create a continuous program loop that ends only when the BIO library is unloaded and execute the processing. At that point, the program loop also pumps the message queue. This program loop is referred to as a message pump in the present specification, and can be created using the PeekMessage, GetMessage, TranslateMessage, and DispatchMessage commands in the loop. Exemplary C ++ code for implementing a message pump is shown below:

Figure 0004780915
Figure 0004780915

但し、m_Continueは停止時点をループに命令するのに用いる論理変数であり、PeekMessage, GetMessage, TranslateMessage, and DispatchMessageは全てのウィンドウズ関数である。m_Continueが偽ならば、ループは終了し、メッセージポンプを終了させる。msg引数はウィンドウズMSG構造に対する基準値である。   However, m_Continue is a logical variable used to instruct the stop point to the loop, and PeekMessage, GetMessage, TranslateMessage, and DispatchMessage are all Windows functions. If m_Continue is false, the loop ends and terminates the message pump. The msg argument is a reference value for the Windows MSG structure.

メッセージポンプが好適に作動する方法として、いずれかのPeekMessage関数を用いてメッセージキュー内で待機しているいずれかのメッセージがあるかどうかを調べるためにチェックを行う方法が挙げられる。メッセージが存在すれば、メッセージポンプは、GetMessage関数を用いてメッセージキューからメッセージを取得し、TranslateMessage関数を用いてバーチャル・キーメッセージからこのメッセージを変換し、キャラクタ・メッセージに変える。最後に、メッセージポンプは、DispatchMessage関数を用いてメッセージを受け取るようになっている初期のウィンドウ・メッセージ・ハンドリング・プロシージャへメッセージを送信する。   One way the message pump works well is to check to see if there are any messages waiting in the message queue using any PeekMessage function. If the message exists, the message pump obtains the message from the message queue using the GetMessage function, converts the message from the virtual key message using the TranslateMessage function, and converts it into a character message. Finally, the message pump sends the message to the initial window message handling procedure that is supposed to receive the message using the DispatchMessage function.

オペレーティングシステム70の組み込まれた能力を利用して、メッセージキューをポンプするメッセージポンプを構成することも可能である。例えば、MFCコマンドCWnd:: MessageBox ( "マイモーダル",MB_OK)などのコマンドを用いるモ―ダル・ダイアログ・ボックスやメッセージボックスはこの目的を果たすのに十分に役立つものとなり、さらに、このボックスはライブラリファイル74の処理のフリーズや停止を行うために利用される。   It is also possible to configure a message pump that pumps the message queue using the built-in capabilities of the operating system 70. For example, a modal dialog box or message box that uses commands such as the MFC command CWnd :: MessageBox ("My Modal", MB_OK) will be useful enough to serve this purpose, and this box will be a library. This is used to freeze or stop processing of the file 74.

メッセージポンプが連続ループ処理を実行している限り、インターネットユーザが別のインターネットサイトをアクセスしている時でもアクティブXコントロールが終了することはない。   As long as the message pump is performing a continuous loop process, active X control will not be terminated even when an Internet user is accessing another Internet site.

図7により示される本発明の実施形態は、(例えばサブクラス化、メッセージ処理などの場合)図6の上述の実施形態と同様に実施される。   The embodiment of the present invention illustrated by FIG. 7 is implemented similarly to the above-described embodiment of FIG. 6 (for example, in case of subclassing, message processing, etc.).

上述の実施形態(図6と図7)の双方の場合、必要というわけではないが、インターフェイス・オブジェクト40用の出口関数を設けて、オブジェクトAとその子孫の全てを閉じるようにすることが望ましい。出口関数を呼び出すための実施可能な例示シナリオには、BIOプロシージャ内のブラウザ・ウィンドウを閉じるためにメッセージをインターセプトするステップや、アクティブXコントロールを終了させるステップが含まれる。   In both of the above embodiments (FIGS. 6 and 7), although not necessary, it is desirable to provide an exit function for the interface object 40 so that object A and all of its descendants are closed. . An example scenario that can be implemented to call the exit function includes intercepting a message to close the browser window in the BIO procedure and terminating the active X control.

次に図8を参照すると、本発明の方法のさらに別の実施形態が示され、その全体が800として指定されている。図8の目的として、また、図8へ向けられる以下の説明のために、ライブラリファイル74がインターネットユーザのコンピュータ50に予め作成されている。ステップ810で、インターネットユーザはブラウザ72を開始即ち起動して、インターネット90にアクセスする。ステップ820で、ライブラリファイル74がユーザのコンピュータ50で開かれ、ステップ830に示されるように、所定のインターネットサイト130(図10などを参照のこと)との接続が自動的に確立される。ステップ832で、ブラウザ72により提供される初期のブラウザ・インターフェイスの複製である新たなブラウザ・インターフェイスが作成される。ステップ840で、プラグインの機能が最初にロードされた元のブラウザ・インターフェイスを表す機能ウィンドウが作成される。   Referring now to FIG. 8, yet another embodiment of the method of the present invention is shown, designated generally as 800. For the purposes of FIG. 8 and for the following discussion directed to FIG. 8, a library file 74 has been created in the Internet user's computer 50 in advance. At step 810, the Internet user starts or activates browser 72 to access Internet 90. At step 820, the library file 74 is opened on the user's computer 50, and a connection to a predetermined Internet site 130 (see FIG. 10, etc.) is automatically established as shown at step 830. At step 832, a new browser interface is created that is a copy of the initial browser interface provided by browser 72. In step 840, a function window is created that represents the original browser interface from which the plug-in functions were first loaded.

本発明のこの実施形態に準拠する機能ウィンドウの作成ステップが図8aに示され、全体が840として指定されている。ステップ842で、最初のブラウザ・インターフェイス・ウィンドウ用のハンドルが特定される。最初のブラウザ・インターフェイス・ウィンドウ(現在、機能ウィンドウである)は、ステップ844で隠し状態および/または使用禁止の状態にされているため閉じる事は出来ない。これを閉じれば、BIOライブラリをクラッシュさせることになる。ステップ846で、ブラウザ72の制御に用いるポインタが作成される。最後に、ステップ848で、インターネットを巡回するためにインターネットユーザが使用出来る新たなブラウザ・インターフェイス・ウィンドウが作成される。   The function window creation steps according to this embodiment of the present invention are shown in FIG. At step 842, a handle for the first browser interface window is identified. The first browser interface window (currently the function window) cannot be closed because it has been hidden and / or disabled at step 844. Closing this will crash the BIO library. In step 846, a pointer used to control the browser 72 is created. Finally, in step 848, a new browser interface window is created that can be used by Internet users to crawl the Internet.

図8を再び参照すると、ステップ850から始めて、制御の対象とする任意のブラウザ・ウィンドウ、または、ブラウザが使用する任意のウィンドウの第1のサブクラス化、次いで、以下さらに詳細に説明するようなウィンドウの追加、削除および/または変更により、今度はブラウザ・インターフェイスの制御を行うことが可能となる。元のブラウザ・ウィンドウ・メッセージ・ハンドリング・プロシージャは(上記で規定したように)BIOプロシージャにより置き換えられる。ステップ860で、本発明は、いずれかの新たなブラウザ・ウィンドウ(即ち予めサブクラス化されていない可能性のあるウィンドウ、または、本発明に準拠して制御されていない可能性があるウィンドウ)が開かれているかどうかの判定を行う。新たなウィンドウが開かれていれば、本発明は、ステップ870で、インターフェイス・オブジェクト40をこれらの新たなウィンドウに追加すべきかどうかの判定を行う。新たなウィンドウが開かれていなければ、本発明は、ステップ880で示すように、インターネットユーザがブラウザ72を閉じることを望んでいるかどうかの判定を行う。望んでいれば、本発明は、ステップ890で、機能ウィンドウを含む全てのブラウザ・ウィンドウを閉じる。ユーザがブラウザ72を閉じることを望んでいなければ、ステップ880で判定されるように、本発明はステップ860へ戻り、新たなブラウザ・ウィンドウが開かれているかどうかの判定を再び行う。   Referring again to FIG. 8, starting from step 850, a first subclass of any browser window to be controlled or any window used by the browser, then a window as described in further detail below. Addition, deletion and / or modification of the browser can now control the browser interface. The original browser window message handling procedure is replaced by a BIO procedure (as defined above). In step 860, the present invention opens any new browser windows (ie, windows that may not have been previously subclassed or that may not have been controlled in accordance with the present invention). Judgment is made whether or not If new windows are open, the present invention determines in step 870 whether the interface object 40 should be added to these new windows. If a new window has not been opened, the present invention determines whether the Internet user wants to close the browser 72, as shown in step 880. If desired, the present invention closes all browser windows, including function windows, at step 890. If the user does not wish to close browser 72, as determined at step 880, the present invention returns to step 860 and again determines whether a new browser window is open.

図8、図8aおよび図10を続けて参照しながら、上述の本発明の実施形態についてさらに詳細に解説することにする。インターネットサイト130を介してコンテンツ・プロバイダ100によりアクティブXコントロールがロードされると、一般に、ブラウザ72によるそのウェブサイト130との接続の確立とアクティブXコントロールの呼び出しとに応答して、ユーザのコンピュータに配置されているライブラリファイル74が開かれ、ブラウザ72内にシェルが作成される。このブラウザ72内でアクティブXコントロール用コードをロードする事が出来る。アクティブXコントロールが閉じられるとき(ユーザがインターネットサイト130との接続を終了させるとき)、アクティブXコントロールを含むライブラリファイル74がアンロードまたはクローズを行うようにオペレーティングシステム70またはブラウザ72により明示的に命令されていれば、ライブラリファイル74がアンロードされた時、アクティブXコントロールの外側で、しかも、ライブラリファイル74内で作成されたいずれのデータ、関数またはオブジェクトも破壊されることになる。ライブラリファイル74のアンロードを防止するために、命令されるまでブラウザ72はアクティブXコントロールのクローズを妨げられる。アクティブXコントロールがクローズ命令を受けることがなければ、ライブラリファイル74がアンロードされることは決してない。   With continued reference to FIGS. 8, 8a and 10, the above-described embodiment of the present invention will be described in further detail. When an active X control is loaded by the content provider 100 via the internet site 130, generally in response to the browser 72 establishing a connection with the website 130 and calling the active X control on the user's computer. The arranged library file 74 is opened, and a shell is created in the browser 72. The code for active X control can be loaded in the browser 72. When the active X control is closed (when the user terminates the connection with the Internet site 130), the operating system 70 or browser 72 explicitly instructs the library file 74 containing the active X control to unload or close. If so, when the library file 74 is unloaded, any data, functions or objects created outside the active X control and within the library file 74 will be destroyed. To prevent unloading of the library file 74, the browser 72 is prevented from closing the active X control until instructed. If the active X control does not receive a close command, the library file 74 is never unloaded.

これを達成する好適な方法として、アクティブXコントロールをロードした最初のブラウザ・インターフェイス・ウィンドウを隠し状態および/または使用禁止状態にして、インターネットユーザが中で作業を続け、インターネットを巡回することが可能なその同一のウィンドウの新たなコピーを作成する方法がある。最初のブラウザ・インターフェイスが好適に隠し状態および/または使用禁止状態にされているため、ライブラリファイル74が、最初のブラウザ・インターフェイス用ウィンドウ(ライブラリファイル74をロードしたウィンドウ)を示すまで、このウィンドウを作動可能にするまで、あるいは、このウィンドウを閉じるまでアクティブXコントロールを閉じる事は出来ない。   A good way to accomplish this is to allow the Internet user to continue working and go around the Internet by hiding and / or disabling the first browser interface window that has loaded the Active X control. There is a way to make a new copy of that same window. Since the first browser interface is preferably hidden and / or disabled, this window is displayed until the library file 74 points to the first browser interface window (the window that loaded the library file 74). The active X control cannot be closed until it is enabled or until this window is closed.

図8の上述の方法として、例えば、ウェブページ130内に、または、バンドオブジェクトとして通常含まれているタグを利用して、および、マイクロソフト・インターネットエクスプローラ(商標)4.x用ソフトウェア開発キットに記載のように、ブラウザ74内の標準的アクティブXコントロールとしてBIOライブラリを好適にロードする方法が挙げられる。これは、BIOライブラリ用コードを含むライブラリファイル74の初期化と実行とをブラウザ72に命令するものである。   As described above in FIG. 8, for example, using a tag normally included in a web page 130 or as a band object, and described in a software development kit for Microsoft Internet Explorer (trademark) 4.x. As described above, there is a method of suitably loading the BIO library as a standard active X control in the browser 74. This instructs the browser 72 to initialize and execute the library file 74 including the BIO library code.

BIOライブラリを初期化し、呼び出した最初の時点で、機能ウィンドウが作成され、インターネットユーザが別のインターネット・ウェブサイト210、即ち別のウェブページを訪問している間、この機能ウィンドウは、アクティブXコントロール自身とのセッションを開いた状態に保つことによりBIOライブラリは開いた状態に保たれる。この機能ウィンドウによって、開いているBIOライブラリのコピーを持っていないブラウザ・ウィンドウが、ブラウザ72と接続するOLEインターフェイスにアクセスすることも可能となる。   At the first time that the BIO library is initialized and invoked, a function window is created, and while an Internet user is visiting another Internet website 210, ie another web page, this function window is active X control. By keeping the session with itself open, the BIO library is kept open. This function window also allows a browser window that does not have a copy of the open BIO library to access the OLE interface connected to the browser 72.

機能ウィンドウを作成するために、最初のブラウザ・インターフェイス・ウィンドウ(即ちBIOライブラリをロードしたウィンドウ)を隠し状態および/または使用禁止状態にすることが望ましい。これは、BIOライブラリのハンドルから始めて、最初のブラウザ・インターフェイス・ウィンドウ用のハンドルを特定することにより達成する事が出来る。BIOライブラリのハンドルから最初のブラウザ・インターフェイス用ウィンドウ・ハンドルを検索するために、GetParent関数の呼び出し用の現在値がデスクトップウィンドウより1つ下のレベルを表すまで、GetParent関数(ウィンドウズ関数)が連続して呼び出される。例えば、ループ内で実行される“m_Handle=GetParent(m_Handle)”などの宣言により所望の機能と結果を得る事が出来る。但しm_Handleの値はBIOライブラリのハンドル値に等しく最初セットされ、次いで、この値は、最終的に最初のブラウザ・インターフェイス・ウィンドウへこのハンドルを返す。   In order to create a functional window, it is desirable to hide and / or disable the initial browser interface window (ie, the window that loaded the BIO library). This can be accomplished by specifying a handle for the first browser interface window, starting with the BIO library handle. In order to retrieve the window handle for the first browser interface from the handle of the BIO library, the GetParent function (Windows function) continues until the current value for calling the GetParent function represents one level below the desktop window. Called. For example, a desired function and result can be obtained by a declaration such as “m_Handle = GetParent (m_Handle)” executed in a loop. However, the value of m_Handle is initially set equal to the handle value of the BIO library, and then this value eventually returns this handle to the first browser interface window.

次のステップは、最初のブラウザ・インターフェイス・ウィンドウ(今度は機能ウィンドウと呼ばれる)を隠すおよび/または使用禁止にし、その結果インターネットユーザが、(例えばブラウザ72を閉じることにより)機能ウィンドウを閉じる事が出来ないようにし、それによって、BIOライブラリにアンロードを行わせ、BIOライブラリにより提供された機能をブラウザ・インターフェイス20から削除するステップである。ユーザから最初のブラウザ・インターフェイス・ウィンドウを隠すおよび/またはユーザ駆動イベントからそのブラウザ・ウィンドウを使用禁止にするために、ブラウザ・ウィンドウを隠すおよび/またはブラウザ・ウィンドウを使用禁止にする値と共に、WM_SHOWWINDOWおよび/またはWM_ENABLEメッセージ(双方ともウィンドウズ定数)を最初のブラウザ・インターフェイス・ウィンドウへ送信する事が出来る。例えば、ブラウザウィンドウ・ハンドルを用いて最初のブラウザ・インターフェイス・ウィンドウへメッセージを送信するために、PostMessageまたはSendMessage関数(既存のウィンドウズ関数)を利用する事が出来る。上記とは別に、ShowWindowおよびEnableWindow関数(既存のウィンドウズ関数)を用いて同じ結果を得ることも可能である。   The next step is to hide and / or disable the first browser interface window (now called the function window) so that the Internet user can close the function window (eg, by closing browser 72). This is the step of disabling it, thereby causing the BIO library to unload and deleting the functionality provided by the BIO library from the browser interface 20. WM_SHOWWINDOW with a value that hides the browser window and / or disables the browser window to hide the initial browser interface window from the user and / or disable the browser window from user-driven events. And / or WM_ENABLE messages (both Windows constants) can be sent to the first browser interface window. For example, the PostMessage or SendMessage function (existing Windows function) can be used to send a message to the first browser interface window using the browser window handle. Apart from the above, it is also possible to obtain the same result using the ShowWindow and EnableWindow functions (existing Windows functions).

ブラウザ72を制御するポインタが作成される。ブラウザ72へコマンドを送信する、ライブラリファイル74内の任意の関数またはオブジェクトによりアクセス可能となるように、このポインタをグローバルに格納することが望ましい。例えば、マイクロソフト・インターネットエクスプローラ(商標)では、IWebBrowser、IWebBrowser2またはIWebBrowserAppOLEインターフェイスを用いて前記ポインタを作成する事が出来る。例えば、マイクロソフト・ファウンデーション・クラスを利用して上記を行うために、ブラウザ72用のエントリポイントとして役立つCOleControlクラスのGetClientSiteメンバーを用いて、BIOライブラリと交信して、BIOライブラリのインターネットサイト、即ち、アクティブXコントロールをロードしたインターネットサイト130へのポインタの検索を行う事が出来る。前回のステップにより返されたIOleClientSiteクラスのGetContainerメンバーを用いて、BIOライブラリ用コンテナへのポインタを取得する事が出来る。前回のステップにより返されたIOleContainerクラスのQueryInterfaceメンバーを用いて、IServiceProviderインターフェイスへのポインタを取得することが可能であり、IServiceProviderインターフェイスを用いて、ブラウザ72が示す別のインターフェイスのうちのいずれのインターフェイスでも見つけられるようにすることが望ましい。BIOライブラリを呼び出したブラウザ72のバージョンにより示されるインターフェイスに応じて、前回のステップで返されたIServiceProviderクラスのQueryServiceメンバーを用いて、IWebBrowserApp、IWebBrowserまたはIWebBrowser2インターフェイスへのポインタを取得してもよい。   A pointer for controlling the browser 72 is created. This pointer is preferably stored globally so that it can be accessed by any function or object in the library file 74 that sends commands to the browser 72. For example, in Microsoft Internet Explorer (trademark), the pointer can be created using an IWebBrowser, IWebBrowser2 or IWebBrowserAppOLE interface. For example, to do the above using the Microsoft Foundation Classes, use the GetClientSite member of the COleControl class, which serves as an entry point for the browser 72, to communicate with the BIO library and the BIO library Internet site, ie active A pointer to the Internet site 130 loaded with the X control can be searched. By using the GetContainer member of the IOleClientSite class returned by the previous step, a pointer to the BIO library container can be obtained. It is possible to get a pointer to the IServiceProvider interface using the QueryInterface member of the IOleContainer class returned by the previous step, and use any of the other interfaces shown by the browser 72 using the IServiceProvider interface. It is desirable to be able to find it. A pointer to the IWebBrowserApp, IWebBrowser, or IWebBrowser2 interface may be obtained using the QueryService member of the IServiceProvider class returned in the previous step according to the interface indicated by the version of the browser 72 that called the BIO library.

最後に、インターネットユーザがネットサーフィンを続ける(即ち、種々の異なるインターネットサイトにアクセスし続ける)事が出来る新たなブラウザ・ウィンドウが作成される。何故なら、機能ウィンドウを作成するために前に使用したブラウザ・ウィンドウが隠し状態および/または使用禁止状態にされているからである。好ましくは、IWebBrowser、IWebBrowser2またはIWebBrowserAppOLEインターフェイスのうちのいずれかを用いて(例えばそのOLEインターフェイスのナビゲートメンバーまたはナビゲート2メンバーを用いて)、新たなブラウザ・ウィンドウを作成することが望ましい。上記とは別に、New WindowやOpen In New Windowコマンドなどの、ブラウザ72を用いて新たなブラウザ・ウィンドウを開く事が出来るような、任意のコマンドに対応するWMCOMMANDメッセージをブラウザ72へ送信することも可能である。ブラウザ72により提供される動的データ交換(DDE)サポートを用いて新たなウィンドウを開くようにしてもよい。   Finally, a new browser window is created that allows Internet users to continue surfing (ie continue to access a variety of different Internet sites). This is because the browser window previously used to create the function window is hidden and / or disabled. Preferably, a new browser window is created using any of the IWebBrowser, IWebBrowser2 or IWebBrowserApp OLE interfaces (eg, using the navigate member or navigate 2 member of the OLE interface). In addition to the above, a WMCOMMAND message corresponding to an arbitrary command that can open a new browser window using the browser 72, such as a New Window or Open In New Window command, may be transmitted to the browser 72. Is possible. A new window may be opened using dynamic data exchange (DDE) support provided by browser 72.

BIOライブラリは、様々なブラウザ・インターフェイスの特徴と機能およびこれらの特徴と機能とを制御する必要がある。第1のステップとして、本発明に準拠して制御の対象となるブラウザ・ウィンドウのうちのいずれかまたはブラウザが使用するウィンドウ(即ち子ウィンドウ)のうちのいずれかのサブクラス化を行うステップがある。BIOウィンドウ・メッセージ・ハンドリング・プロシージャを用いて、本願明細書で以後BIOプロシージャと呼ぶ元のウィンドウ・メッセージ・ハンドリング・プロシージャの置き換えが行われる。   The BIO library needs to control various browser interface features and functions and these features and functions. As a first step, there is a step of subclassing any one of the browser windows to be controlled in accordance with the present invention or one of the windows used by the browser (that is, a child window). The BIO window message handling procedure is used to replace the original window message handling procedure, hereinafter referred to as the BIO procedure.

一度ブラウザ・ウィンドウ、または、その子ウィンドウのうちのいずれかのサブクラス化が行われると、GetMenu関数を用いてブラウザ・ウィンドウ・メニューへのポインタを検索することによりサブクラスメニューへの追加が可能となる。一度メニューのハンドルへのポインタを取得すると、ModifyMenu, AppendMenu, InsertMenuなどのメニュー関数を用いて、任意の所望のメニューをブラウザ・ウィンドウに追加する事が出来る。メニューに割り当てられたいずれのコマンドも、BIOウィンドウのサブクラス化に用いるBIOプロシージャにより処理する必要がある。メニュー作成時にブラウザ内に含まれるコマンド識別子と同じコマンド識別子を使用してはならない。   Once the browser window or any of its child windows is subclassed, it can be added to the subclass menu by retrieving the pointer to the browser window menu using the GetMenu function. Once you have a pointer to the menu handle, you can use menu functions such as ModifyMenu, AppendMenu, and InsertMenu to add any desired menu to the browser window. Any command assigned to the menu must be processed by the BIO procedure used to subclass the BIO window. Do not use the same command identifier as that included in the browser when creating the menu.

標準的ウィンドウズ関数を用いてツールバー42の追加先であるウィンドウのハンドル(本願明細書では以後フレームハンドルと呼ぶ)を検索することにより、インターフェイス・オブジェクト・ツールバー42をブラウザ・インターフェイス20に追加する事が出来る。一般に、上記ウィンドウは、BIOウィンドウまたはBIOウィンドウの子であるフレームウィンドウになる。次いで、親ウィンドウとしてフレームハンドルを用いてウィンドウが作成される。例えば、(ツールバーの1つの形である)ダイアログバーをインターフェイス・オブジェクト40として追加するために、タイプCDialogBar(マイクロソフト・ファウンデーション・クラス)から導き出されたり、タイプCDialogBarのオブジェクトが作成されたりするが、これがフレームハンドルを用いて呼び出すCreate法である。例えば、画像、ツールバー、ダイアログなどのようなリソースが使用され、かつ、ブラウザ72がBIOライブラリと同じリソースを共有していない場合、BIOライブラリ・リソースからいずれかのデータをロードする事が出来るようになる前に、ブラウザのリソースはBIOライブラリ・リソースより一時的に置き換えられる。その後、ブラウザの原リソースよってBIOライブラリ・リソースの置き換えが可能となる。   The interface object toolbar 42 may be added to the browser interface 20 by searching for the handle of the window to which the toolbar 42 is added (hereinafter referred to as the frame handle) using standard Windows functions. I can do it. In general, the window is a BIO window or a frame window that is a child of the BIO window. A window is then created using the frame handle as the parent window. For example, to add a dialog bar (which is one form of a toolbar) as an interface object 40, it is derived from type CDialogBar (Microsoft Foundation Class) or an object of type CDialogBar is created. This is a Create method that is called using a frame handle. For example, when resources such as images, toolbars, dialogs, etc. are used and the browser 72 does not share the same resources as the BIO library, any data can be loaded from the BIO library resource. Before that happens, browser resources are temporarily replaced by BIO library resources. Thereafter, the BIO library resource can be replaced by the original resource of the browser.

新たなブラウザ・ウィンドウが開かれると、この新たなウィンドウにインターフェイス・オブジェクト40を追加することが望ましい場合がある。ユーザ定義関数を呼び出すSetTimerウィンドウズ関数を用いてタイマを作成してもよい。上記ユーザ定義関数は、機能ウィンドウと同じクラス名を持つデスクトップウィンドウの全ての子ウィンドウのチェックを行うFindWindowEx関数(ウィンドウズ関数)を利用することになる。予め変更されていないブラウザ・ウィンドウ、即ち、インターフェイス・オブジェクト40を有していないブラウザ・ウィンドウについては、必要なハンドルを検索することが可能であり、元のBIOウィンドウに対して行われた変更と同じ変更を行う事が出来る。   When a new browser window is opened, it may be desirable to add an interface object 40 to the new window. A timer may be created using a SetTimer Windows function that calls a user-defined function. The user-defined function uses the FindWindowEx function (Windows function) that checks all the child windows of the desktop window having the same class name as the function window. For browser windows that have not been changed in advance, i.e., browser windows that do not have the interface object 40, it is possible to retrieve the necessary handle, and the changes made to the original BIO window. You can make the same changes.

最後に、インターネットユーザがブラウザ72を閉じることを望む場合、機能ウィンドウを除いてブラウザ・ウィンドウの全てが閉じているかどうかの判定を行う必要がある。そして、他の全てのブラウザ・ウィンドウが閉じていれば、この機能ウィンドウも閉じなければならない。BIOメッセージ処理手順内のWMCLOSEメッセージ(ウィンドウズ定数)をリスンすることにより、あるいは、開かれているブラウザ・ウィンドウ数を周期的にチェックするタイマをセットすることにより、上記を達成することが可能となる。元の機能ウィンドウを閉じるために、WMCLOSEメッセージをそのウィンドウへ送信する事が出来る。   Finally, if an Internet user wishes to close the browser 72, it needs to determine whether all of the browser windows are closed except the function window. And if all other browser windows are closed, this function window must also be closed. The above can be achieved by listening to the WMCLOSE message (Windows constant) in the BIO message processing procedure or by setting a timer that periodically checks the number of open browser windows. . To close the original function window, you can send a WMCLOSE message to that window.

次に図9を参照すると、本発明によるインターネットブラウザ・インターフェイス20を制御し、これを表示する方法の別の代替実施形態が示され、全体が900として指定されている。   Referring now to FIG. 9, another alternative embodiment of a method for controlling and displaying the Internet browser interface 20 according to the present invention is shown and designated generally as 900. FIG.

ステップ910、920および930は図6〜図8の上述の実施形態の場合とほぼ同じである。ステップ940で、新たなブラウザ・インターフェイス・ウィンドウを作成し、最初のブラウザ・インターフェイス・ウィンドウを隠し状態および/または使用禁止状態とする。このブラウザ・インターフェイス・ウィンドウは機能ウィンドウと呼ばれる。プラグインは最初のブラウザ・インターフェイス・ウィンドウ用ハンドルを特定し、このウィンドウを隠すおよび/または使用禁止にし、インターネットユーザが使用出来る新たなブラウザ・インターフェイス・ウィンドウを作成する。ステップ950で、全てのブラウザ・ウィンドウがサブクラス化され、次いで、ステップ960で示されているように、全ての開かれたウィンドウに対してブラウザ・インターフェイスを制御することが可能となる。ステップ962で、本発明はいずれかの新たなブラウザ・ウィンドウが開かれているかどうかを判定し、開かれていれば、本発明はステップ960へ戻る。新たなブラウザ・インターフェイス・ウィンドウが開かれていない場合、ステップ962はステップ964へ進み、インターネットユーザがブラウザを閉じることを望んでいるかどうかが判定される。機能ウィンドウを閉じる前に全てのウィンドウを閉じる必要があり、それはステップ966で判定される。ステップ970で示されているように、全てのウィンドウが閉じられた場合、機能ウィンドウが閉じられる。全てのウィンドウが閉じられていない場合、ステップ966はステップ964へ戻る。   Steps 910, 920 and 930 are substantially the same as in the above embodiment of FIGS. In step 940, a new browser interface window is created and the first browser interface window is hidden and / or disabled. This browser interface window is called a function window. The plug-in identifies the handle for the first browser interface window, hides and / or disables this window, and creates a new browser interface window that can be used by Internet users. At step 950, all browser windows are subclassed, and then the browser interface can be controlled for all opened windows, as shown at step 960. In step 962, the present invention determines whether any new browser windows are open, and if so, the present invention returns to step 960. If a new browser interface window has not been opened, step 962 proceeds to step 964, where it is determined whether the Internet user wishes to close the browser. All windows must be closed before the function window is closed, which is determined in step 966. As shown in step 970, if all windows are closed, the function window is closed. If all windows are not closed, step 966 returns to step 964.

本発明のさらに別の代替実施形態では、本発明は、ブラウザプラグインを用いてインターネットブラウザ・インターフェイスを制御して、呼び出しブラウザ72の機能を制御し、プラグインをロードしたインターネットサイト130からユーザが出た後プラグイン機能を保持する方法を提供するものである。   In yet another alternative embodiment of the present invention, the present invention uses a browser plug-in to control the internet browser interface to control the functionality of the calling browser 72 and allows a user from the internet site 130 loaded with the plug-in. It provides a way to retain plug-in functionality after exiting.

ブラウザ72とインターネットサイト130との接続の確立と、プラグインの呼び出しとに応答して、ブラウザプラグインがインターネットユーザのコンピュータ50にロードされると、ライブラリファイル74はブラウザ72内にシェルを確立し、このブラウザ72内にプラグイン用コードをロードする事が出来る。プラグインが閉じられた場合、ライブラリファイル74のアンロードを行うことがオペレーティングシステム70またはブラウザ72により明白に指示されていれば、ライブラリファイル74がアンロードされた時、プラグインの外側にあり、しかも、ライブラリファイル74内で作成されたいずれのデータ、関数またはオブジェクトも破壊されることになる。ライブラリファイル74がアンロードしないようにするために、プラグインのクローズ命令を受け取るまで、ブラウザ72によるプラグインのクローズは妨げられる。プラグインがクローズ命令を受けることがなければ、ライブラリファイル74もアンロード命令を受けることは決してない。プラグインをロードした最初のブラウザ・ウィンドウを隠すおよび/または使用禁止にすることにより、さらに、インターネットユーザがインターネットにアクセスし、インターネットを巡回するのに使用するために、その同じウィンドウの新たなコピーを作成することにより、上記を達成する事が出来る。最初のブラウザ・ウィンドウは隠された状態および/または使用禁止状態にされていることが望ましいため、プラグインは、ライブラリファイル74が表示、起動またはクローズを選ぶまで、プラグインをロードした最初のブラウザ・ウィンドウを閉じる事は出来ない。   In response to establishing a connection between the browser 72 and the Internet site 130 and invoking the plug-in, the library file 74 establishes a shell in the browser 72 when the browser plug-in is loaded into the Internet user's computer 50. The plug-in code can be loaded in the browser 72. If the plug-in is closed, it is outside the plug-in when the library file 74 is unloaded, provided that the operating system 70 or browser 72 explicitly indicates unloading the library file 74; Moreover, any data, function or object created in the library file 74 will be destroyed. To prevent the library file 74 from unloading, the plug-in closing by the browser 72 is prevented until a plug-in close command is received. If the plug-in does not receive a close command, the library file 74 will never receive an unload command. By hiding and / or disabling the first browser window that loads the plug-in, a new copy of that same window can also be used by Internet users to access and crawl the Internet The above can be achieved by creating. Since it is desirable that the first browser window be hidden and / or disabled, the plug-in is the first browser that loaded the plug-in until the library file 74 chooses to display, launch or close.・ The window cannot be closed.

例えば、ブラウザプラグインが、好適にはウェブページ110内のタグ(図10などを参照)を用いて、標準プラグインとしてブラウザ72にロードされる。このプラグインは、プラグイン(即ちBIOライブラリ)用コードを含むライブラリファイル74の初期化とロードとを行うようにブラウザ72に命令する。   For example, a browser plug-in is loaded into the browser 72 as a standard plug-in, preferably using a tag in the web page 110 (see, eg, FIG. 10). This plug-in instructs the browser 72 to initialize and load the library file 74 containing the plug-in (ie BIO library) code.

BIOライブラリが最初に初期化され、呼び出された時点で、元のブラウザ・ウィンドウを隠すおよび/または使用禁止にすることにより機能ウィンドウが作成され、これによって、プラグイン自身とのセッションを開いた状態に保つことによりBIOライブラリのアンロードが防止される。この機能ウィンドウによって、開いているBIOライブラリのコピーを持っていないブラウザ・ウィンドウが、プラグイン用組み込み型アプリケーションプログラミングインターフェイス(API)にアクセスすることも可能となる(即ち、ネットスケープ・ナビゲータ(商標)とマイクロソフト・インターネットエクスプローラ(商標)とにより提供されるようなブラウザ・インターフェイス20を通じて、および、プラグイン機能を介して機能がインターネットユーザに利用可能となる)。   When the BIO library is first initialized and called, a functional window is created by hiding and / or disabling the original browser window, thereby opening a session with the plug-in itself By keeping this, unloading of the BIO library is prevented. This function window also allows browser windows that do not have a copy of the open BIO library to access the plug-in's embedded application programming interface (API) (ie, Netscape Navigator ™). The functionality is made available to Internet users through a browser interface 20 such as that provided by Microsoft Internet Explorer ™ and via a plug-in function).

ブラウザ72が最初に呼び出された時点で、最初のブラウザ・ウィンドウを使用禁止にするか、隠す(この場合プラグインは常駐している)ことにより機能ウィンドウが好適に作成される。これを行うために、プラグインは最初のブラウザ・ウィンドウのハンドルを最初に特定する必要がある。NPWindow構造のウィンドウメンバーが、NPPSetWindow関数への第2の引数としてブラウザ72からBIOライブラリへ渡される。このウィンドウメンバーはプラグイン・ウィンドウへのハンドルである(NPWindowとNPP_SetWindowはプラグイン用のネットスケープおよびインターネットエクスプローラ(商標)APIの一部である)。このウィンドウメンバーから最初のブラウザウィンドウ・ハンドルを検索するために、GetParent関数を呼び出すための現在値がデスクトップウィンドウより1つ下のレベルを表すまで、GetParent関数(ウィンドウズ関数)が連続して呼び出される。例えば、ループ内で実行される“m_Handle=GetParent(m_Handle)”などの宣言により所望の機能と結果とを得る事が出来る。但しm_Handleの値はNPWindow構造のハンドル用の値に等しく最初セットされ、次いで、この値は、最終的に最初のブラウザ・ウィンドウへこのハンドルを返す。   When the browser 72 is first invoked, the functional window is preferably created by disabling or hiding the initial browser window (in which case the plug-in is resident). To do this, the plug-in must first identify the handle of the first browser window. A window member having an NPWindow structure is passed from the browser 72 to the BIO library as a second argument to the NPPSetWindow function. This window member is a handle to the plug-in window (NPWindow and NPP_SetWindow are part of the Netscape and Internet Explorer ™ API for plug-ins). In order to retrieve the first browser window handle from this window member, the GetParent function (Windows function) is continuously called until the current value for calling the GetParent function represents one level below the desktop window. For example, a desired function and result can be obtained by a declaration such as “m_Handle = GetParent (m_Handle)” executed in a loop. However, the value of m_Handle is initially set equal to the value for the handle of the NPWindow structure, and then this value eventually returns this handle to the first browser window.

次いで、インターネットユーザが機能ウィンドウを閉じて、BIOライブラリをクラッシュさせる事が出来ないように、最初のブラウザ・ウィンドウを隠し状態および/または使用禁止状態にする。ユーザから最初のブラウザ・ウィンドウを隠すおよび/またはユーザ駆動イベントからそのウィンドウを使用禁止にするために、ブラウザ・ウィンドウを隠すおよび/またはブラウザ・ウィンドウを使用禁止にする値と共に、WM_SHOWWINDOWおよび/またはWM_ENABLEメッセージ(双方ともウィンドウズ定数)を最初のブラウザ・ウィンドウへ送信する事が出来る。これは、例えば、PostMessageまたはSendMessage関数(ウィンドウズ関数)を利用して、ブラウザウィンドウ・ハンドルを用いて最初のブラウザ・ウィンドウへメッセージを送信することにより達成出来る。上記とは別に、ShowWindowおよびEnableWindow関数(ウィンドウズ関数)を用いて同じ結果の達成が可能である。   The initial browser window is then hidden and / or disabled so that Internet users cannot close the function window and crash the BIO library. WM_SHOWWINDOW and / or WM_ENABLE with values to hide the browser window and / or disable the browser window to hide the first browser window from the user and / or disable the window from user-driven events A message (both Windows constants) can be sent to the first browser window. This can be accomplished, for example, by using the PostMessage or SendMessage function (Windows function) to send a message to the first browser window using the browser window handle. Apart from the above, the same results can be achieved using the ShowWindow and EnableWindow functions.

最終ステップは、最初のブラウザ・ウィンドウを隠し状態および/または使用禁止状態にした後、ネットサーフィンを続けるためにインターネットユーザが使用出来る新たなブラウザ・ウィンドウを作成することである。例えば、_new、_blank、または、予め存在しない任意のウィンドウ名にターゲットパラメータをセットして、以下のネットスケープとインターネットエクスプローラ(商標)のプラグインAPI関数:NPN_GetURL, NPN_PostURL, NPN_GetURLNotify, NPN_PostURLNotifyのうちのいずれかを呼び出すことにより上記を達成する事が出来る。上記関数のNPP引数は、ブラウザ72により機能ウィンドウ用プラグインへ提供されたNPP構造である。これを行う別の方法として、例えば、New_WindowコマンドまたはOpen_In_New_Windowなどの新たなウィンドウを開くために用いる事が出来るような任意のコマンドに対応するブラウザ72へWMCOMMANDメッセージを送信する方法がある。ブラウザにより提供される動的データ交換(DDE)サポートを用いて新たなウィンドウを開く事が出来る。NPN_GetURL, NPN_PostURL, NPNGetURLNotify, NPNPostURLNotifyおよびNPP構造はプラグイン用ネットスケープおよびインターネットエクスプローラ(商標)APIの一部であり、WMCOMMANDはウィンドウズ定数である。   The final step is to create a new browser window that can be used by Internet users to continue surfing after the initial browser window is hidden and / or disabled. For example, _new, _blank, or any of the following Netscape and Internet Explorer (trademark) plug-in API functions: NPN_GetURL, NPN_PostURL, NPN_GetURLNotify, NPN_PostURLNotify The above can be achieved by calling. The NPP argument of the above function is an NPP structure provided by the browser 72 to the function window plug-in. Another way to do this is to send a WMCOMMAND message to the browser 72 corresponding to any command that can be used to open a new window, such as a New_Window command or Open_In_New_Window, for example. A new window can be opened using dynamic data exchange (DDE) support provided by the browser. The NPN_GetURL, NPN_PostURL, NPNGetURLNotify, NPNPostURLNotify and NPP structures are part of the plug-in Netscape and Internet Explorer ™ API, and WMCOMMAND is a Windows constant.

BIOプラグインは、ブラウザ72の特徴と機能とを制御する事が出来る。第1のステップとして、本発明に準拠して制御の対象となるブラウザ・ウィンドウのうちのいずれかまたはブラウザが使用するウィンドウ(まとめてBIOウィンドウ)のうちのいずれかのサブクラス化を行うステップがある。   The BIO plug-in can control the features and functions of the browser 72. As a first step, there is a step of subclassing any one of the browser windows to be controlled in accordance with the present invention or any of the windows used by the browser (collectively BIO windows). .

ブラウザ・ウィンドウまたはその子ウィンドウをサブクラス化した後、GetMenu関数(ウィンドウズ関数)を用いてブラウザ・ウィンドウ・メニューへのポインタを検索することによりブラウザ・インターフェイス20にメニューを追加する事が出来る。一度メニューのハンドルへのポインタを取得すると、ModifyMenu, AppendMenu, InsertMenuなど(ウィンドウズ関数)のメニュー関数を用いて、任意の所望のメニューをブラウザ・ウィンドウに追加する事が出来る。ブラウザ72内に含まれるいずれかの同じコマンド識別子と同じコマンド識別子をメニュー作成時に使用しないように注意しながら、BIOウィンドウのサブクラス化に用いるBIOメッセージ処理手順によって、メニューに割り当てられたいずれのコマンドも処理しなければならない。   After subclassing the browser window or its child window, a menu can be added to the browser interface 20 by retrieving a pointer to the browser window menu using the GetMenu function (Windows function). Once a pointer to the menu handle is obtained, any desired menu can be added to the browser window using menu functions such as ModifyMenu, AppendMenu, InsertMenu (Windows functions). Any command assigned to the menu by the BIO message processing procedure used for subclassing the BIO window is careful not to use the same command identifier as any of the same command identifiers included in the browser 72 when creating the menu. Must be processed.

上記とは別にまたはこれに追加して、標準的ウィンドウズ関数を用いてツールバー42の追加先であるウィンドウのハンドル(本願明細書では以後フレームハンドルと呼ぶ)を検索することにより、インターフェイス・オブジェクト・ツールバー42をブラウザ・インターフェイス20に追加する事が出来る。上記ウィンドウはBIOウィンドウまたはBIOウィンドウの子ウィンドウであるフレームウィンドウになる。次いで、親ウィンドウとしてフレームハンドルを用いてウィンドウが作成される。例えば、(ツールバーの1つの形である)ダイアログバーをインターフェイス・オブジェクト40として追加するために、タイプCDialogBar(マイクロソフト・ファウンデーション・クラス)から導き出されたオブジェクトまたはタイプCDialogBarのオブジェクトを作成する事が出来る。これがフレームハンドルを用いて呼び出すCreate法である。例えば、画像、ツールバー、ダイアログなどのようなリソースが使用され、かつ、ブラウザ72がBIOライブラリと同じリソースを共有していない場合、BIOライブラリ・リソースからいずれかのデータをロードする事が出来るようになる前に、ブラウザのリソースはBIOライブラリ・リソースにより一時的に置き換えられる。その後、ブラウザの元のリソースによってBIOライブラリ・リソースを置き換えることが可能となる。   In addition to or in addition to the above, the interface object toolbar can be retrieved by using standard Windows functions to retrieve the handle of the window to which the toolbar 42 is added (hereinafter referred to as the frame handle). 42 can be added to the browser interface 20. The window becomes a BIO window or a frame window which is a child window of the BIO window. A window is then created using the frame handle as the parent window. For example, to add a dialog bar (which is one form of a toolbar) as an interface object 40, an object derived from type CDialogBar (Microsoft Foundation Class) or an object of type CDialogBar can be created. This is the Create method that is called using the frame handle. For example, when resources such as images, toolbars, dialogs, etc. are used and the browser 72 does not share the same resources as the BIO library, any data can be loaded from the BIO library resource. Before that happens, browser resources are temporarily replaced by BIO library resources. Thereafter, the BIO library resource can be replaced by the original resource of the browser.

新たなブラウザ・ウィンドウが開かれたとき、この新たなウィンドウにインターフェイス・オブジェクト40を追加する事が出来る。ユーザ定義関数を呼び出すSetTimerウィンドウズ関数を用いてタイマを作成することにより上記を達成する事が出来る。上記ユーザ定義関数は、機能ウィンドウと同じクラス名を持つデスクトップウィンドウの全ての子ウィンドウのチェックを行うFindWindowEx関数(ウィンドウズ関数)を利用する。変更されたインターフェイスを予め含まない新たなウィンドウ(インターフェイス・オブジェクト40を含まない)については、必要なハンドルが検索され、元のBIOウィンドウに対して行われた変更と同じ変更が行われる。   When a new browser window is opened, an interface object 40 can be added to the new window. You can achieve this by creating a timer using the SetTimer Windows function that calls the user-defined function. The user-defined function uses a FindWindowEx function (Windows function) that checks all child windows of the desktop window having the same class name as the function window. For new windows that do not include the changed interface in advance (not including the interface object 40), the necessary handles are retrieved and the same changes as those made to the original BIO window are made.

最後に、インターネットユーザがブラウザ72を閉じることを望む場合、機能ウィンドウを除いてブラウザ・ウィンドウの全てが閉じているかどうかの判定を行う必要がある。そして、他の全てのブラウザ・ウィンドウが閉じていれば、この機能ウィンドウを閉じる事が出来る。例えば、BIOメッセージ処理手順内のWMCLOSEメッセージ(ウィンドウズ定数)をリスンすることにより、あるいは、開かれているブラウザ・ウィンドウの数を周期的にチェックするタイマをセットすることにより、上記を達成することが可能となる。WM_CLOSEメッセージを送信することにより元の機能ウィンドウを閉じることも可能である。   Finally, if an Internet user wishes to close the browser 72, it needs to determine whether all of the browser windows are closed except the function window. And if all other browser windows are closed, this function window can be closed. For example, the above can be achieved by listening to a WMCLOSE message (Windows constant) in the BIO message processing procedure, or by setting a timer that periodically checks the number of browser windows that are open. It becomes possible. It is also possible to close the original function window by sending a WM_CLOSE message.

本発明によれば、BIOライブラリ(即ちプラグイン)をロードすることが可能となり、ブラウザ・インターフェイス20内に自動的にBIOライブラリの機能を提供する事が出来る(ユーザが、特定のインターネットサイトへ積極的にアクセスする、即ちプラグインを呼び出すウェブページへサーフィンする必要は無くなる)。例えば、ネットスケープは、自動スタートアップとして特定されるキーをそのウィンドウ・レジストリ内に備えている。起動時に、ネットスケープは、自動スタートアップキー内にリストされているOLEの制御機能の全てをロードする。自動スタートアップキー内のライブラリファイル74への(従って、BIOライブラリとインターフェイス・オブジェクト40を規定するプラグインへの)リファレンスまたは呼び出しを行うことにより、ネットスケープブラウザを開始する即ち起動する度にライブラリファイルのロードを行う事が出来る。ブラウザ・インターフェイス20でインターフェイス・オブジェクト40のインスタンスを作成する命令と、所定のインターネットサイト130との接続を確立するブラウザ72用の命令とを上記ライブラリファイル74の中に含める事が出来る。この技法を用いることにより、ユーザがある特定のインターネットサイト130を訪問してBIOライブラリをロードする必要は無くなる。少なくともブラウザ72内にプラグインをロード出来るようになるまで、ブラウザ・インターフェイス20を介して表示とアクセスを行うためにライブラリファイル74を開いた状態に保つ必要がある。これを行う1つの方法として、ライブラリファイル74と関連するリファレンスカウンタの増分を行い、それによって、ネットスケープが自動スタートアップキーにリストされたOLEコントロール機能のアンロードを行う時、ライブラリファイル74が、より大きなリファレンス番号を持っているためにアンロードされないようにする方法がある。   According to the present invention, a BIO library (that is, a plug-in) can be loaded, and the function of the BIO library can be automatically provided in the browser interface 20 (the user can actively visit a specific Internet site). There is no need to surf to a web page that automatically accesses, ie calls a plug-in). For example, Netscape has a key in its window registry that identifies it as an automatic startup. At startup, Netscape loads all of the OLE control functions listed in the auto-startup key. The library file is loaded each time the Netscape browser is started or started by making a reference or call to the library file 74 in the automatic startup key (and thus to the plug-in that defines the BIO library and interface object 40). Can be done. An instruction for creating an instance of the interface object 40 in the browser interface 20 and an instruction for the browser 72 for establishing a connection with a predetermined Internet site 130 can be included in the library file 74. By using this technique, the user need not visit a particular Internet site 130 to load the BIO library. It is necessary to keep the library file 74 open for display and access via the browser interface 20 at least until the plug-in can be loaded into the browser 72. One way to do this is to increment the reference counter associated with the library file 74, so that when the Netscape unloads the OLE control functions listed in the auto startup key, the library file 74 becomes larger. There is a way to prevent unloading because it has a reference number.

ライブラリファイル74をプラグインとしてロードして、タイマまたはループを用いてネットスケープDDEサーバを周期的に探すようにする事が出来る。ブラウザ72によりネットスケープDDEサーバから返信を受信した時、ネットスケープはコマンドを受け取る準備ができており、プラグインを共にロードすることが可能となる。次いで、DDEを用いて、WWW_OPENURLなどのコマンドをブラウザ72へ送信してもよく、このコマンドは本願明細書で論じているようにプラグインをロードさせることになる。   The library file 74 can be loaded as a plug-in so that the Netscape DDE server can be searched periodically using a timer or loop. When the browser 72 receives a reply from the Netscape DDE server, Netscape is ready to receive the command and can load the plug-in together. The DDE may then be used to send a command, such as WWW_OPENURL, to the browser 72, which will cause the plug-in to be loaded as discussed herein.

BIOライブラリ用として用いるネットスケープ・プラグイン・ウィンドウを隠す別の方法として、(“スタート”ボタンが配置されている)タスクバーからネットスケープ・プラグイン・ウィンドウを削除して、可視スクリーンから見えなくするという方法がある。上記ネットスケープ・プラグイン・ウィンドウをタスクバーから取り除く1つの方法として、SetWindowLongを呼び出して、プラグイン・ウィンドウのウィンドウ・スタイルをツールボックス・ウィンドウに変更する方法がある。ツールボックス・ウィンドウはタスクバーには現れることはない。ネットスケープ・プラグイン・ウィンドウは、MoveWindowを呼び出し、ユーザのデスクトップの可視範囲にはない座標を与えることによりスクリーンから外して配置する事が出来る。   Another way to hide the Netscape plug-in window used for the BIO library is to remove the Netscape plug-in window from the taskbar (where the “Start” button is located) and make it invisible from the visible screen There is. One way to remove the Netscape plug-in window from the taskbar is to call SetWindowLong to change the window style of the plug-in window to a toolbox window. The toolbox window never appears in the taskbar. Netscape plug-in windows can be placed off the screen by calling MoveWindow and giving coordinates that are not in the visible range of the user's desktop.

元のブラウザメッセージ処理手順を置き換えるために用いるBIOウィンドウ・メッセージ・ハンドリング・プロシージャは、メッセージの指定する届け先がどのウィンドウであるか、および、一度BIOウィンドウ・メッセージ・ハンドリング・プロシージャがメッセージを受け取った場合、当該メッセージを用いて何をすべきかを知っていなくてはならない。これを行う好適な方法として、情報を互いにリンクするマップを作成する方法がある。本発明の場合、そのウィンドウにとって重要な情報を含む構造とウィンドウ・ハンドルとをリンクするマップを利用することが望ましい。例えば、BIOライブラリが新たなブラウザ・ウィンドウにインターフェイス・オブジェクト40を追加する時、そのBIOウィンドウにとって有益な情報を含む構造とBIOウィンドウのハンドルをリンクさせるマップ内の新たなエントリが作成される。この構造内に含まれる数々の情報の1つとして、BIOウィンドウ用のブラウザの元のウィンドウ・メッセージ・ハンドリング・プロシージャが含まれることが望ましい。ブラウザの元のウィンドウ・メッセージ・ハンドリング・プロシージャを保持することによって、BIOウィンドウ・メッセージ・ハンドリング・プロシージャがメッセージの処理方法が分からない場合、ブラウザの元のウィンドウ・メッセージ・ハンドリング・プロシージャへメッセージを渡す事が出来るようにする必要がある。   The BIO window message handling procedure used to replace the original browser message processing procedure is the window to which the message is specified, and once the BIO window message handling procedure receives the message , You must know what to do with the message. A preferred way to do this is to create a map that links information together. In the case of the present invention, it is desirable to utilize a map that links the structure containing information important to the window and the window handle. For example, when the BIO library adds an interface object 40 to a new browser window, a new entry is created in the map that links the structure containing the information useful for that BIO window to the handle of the BIO window. One of the numerous pieces of information contained within this structure preferably includes the browser's original window message handling procedure for the BIO window. By holding the browser's original window message handling procedure, if the BIO window message handling procedure does not know how to handle the message, it passes the message to the browser's original window message handling procedure I need to be able to do things.

BIOウィンドウ・メッセージ・ハンドリング・プロシージャによりメッセージが受信されると、処理手順へ渡される第1の引数は上記メッセージを受信したウィンドウのハンドルである。このウィンドウ固有の全てのデータを含む構造を検索するために、キーとしてウィンドウ・ハンドルを用いてマップ内の検索が行われる。返された構造には元のウィンドウ・メッセージ・ハンドリング・プロシージャなどの格納済みウィンドウ固有の情報が含まれる。   When a message is received by the BIO window message handling procedure, the first argument passed to the processing procedure is the handle of the window that received the message. To retrieve the structure containing all the window specific data, a search in the map is performed using the window handle as a key. The returned structure contains stored window specific information such as the original window message handling procedure.

ブラウザ・インターフェイス20の制御時に、本発明ではブラウザ72の作動方法が変更される。ブラウザのウィンドウまたは子ウィンドウへメッセージを送信することにより、ブラウザの機能に関してインターネットユーザはほとんどどんなことでも行うことが可能となる。メッセージを送信するオブジェクトまたはウィンドウには、インターネットユーザが直接リアルタイムで通信出来る相手先であるメニュー、ボタン、コンボボックスおよびその他のほとんどあらゆる手段(即ちインターフェイス・コントロール手段)が含まれる。例えば、メッセージは4つの構成要素に分解する事が出来る:1)メッセージの受信を意図するウィンドウのハンドル、2)メッセージのmsg値、3)通常msg値に従属する用途を持つwParam、4)やはり通常msg値に依存する値を持つIParam。   When the browser interface 20 is controlled, the operation method of the browser 72 is changed in the present invention. By sending messages to the browser window or child windows, Internet users can do almost anything with regard to browser functionality. Objects or windows that send messages include menus, buttons, combo boxes and almost any other means (ie interface control means) with which Internet users can communicate directly in real time. For example, a message can be broken down into four components: 1) the handle of the window that is intended to receive the message, 2) the msg value of the message, 3) the wParam that has uses dependent on the normal msg value, 4) An IParam with a value that usually depends on the msg value.

例えば、ブラウザのウィンドウ内のボタンをクリックすると、ブラウザ・ウィンドウのウィンドウ・メッセージ・ハンドリング・プロシージャへウィンドウズ定数であるWMCOMMANDを含むメッセージ(msg値)を送信する事が出来る。この場合、上記メッセージ内のwParam変数の下位2バイトはどのボタンが押されたかを特定するために用いる数となる。   For example, when a button in a browser window is clicked, a message (msg value) including a WMCOMMAND that is a windows constant can be transmitted to the window message handling procedure of the browser window. In this case, the lower two bytes of the wParam variable in the message are the numbers used to specify which button was pressed.

上述のように、ブラウザのウィンドウまたは子ウィンドウのサブクラス化を行うことにより、ユーザがインターフェイス・コントロール手段のいずれかとリアルタイムで伝送する際に送信されるいずれのメッセージもインターセプトする事が出来る。一度メッセージがインターセプトされると、BIOウィンドウ・メッセージ・ハンドリング・プロシージャが上記メッセージを翻訳し、このメッセージに対して反応する事が出来る。インターフェイス・コントロール機能が同じ状態のままにする(即ち本発明への追加、本発明からの削除または本発明による変更を行わない)ことである場合、上記メッセージは元のウィンドウ・メッセージ・ハンドリング・プロシージャへ戻す事が出来る。このようにして、ブラウザ72内に存在するほとんど全てのインターフェイス・コントロール機能を制御することが可能となる。さらに、ブラウザ・インターフェイス20にインターフェイス・コントロール機能を追加し、(wParamの形で渡される)コマンド識別子を割り当てる事が出来る。次いで、BIOウィンドウ・メッセージ・ハンドリング・プロシージャにより、上記wParamを翻訳し、追加すべきインターフェイス・コントロール機能の提供が可能となる。さらに、ブラウザから削除すべきインターフェイス・コントロールと関連するコマンド識別子を受け取った場合、単に本発明によるウィンドウ処理手順に何もさせることなく機能の削除を行う事が出来る。これによって、上記コマンドがブラウザ・ウィンドウの元のメッセージハンドリングプロシージャへ渡されないようにする事が出来る。   As described above, by subclassing the browser window or child window, any message sent when the user transmits in real time with any of the interface control means can be intercepted. Once the message is intercepted, the BIO window message handling procedure can translate the message and react to the message. If the interface control function is to remain the same (i.e. not add to, remove from or modify the present invention), the message will be the original window message handling procedure. You can go back to In this way, almost all interface control functions existing in the browser 72 can be controlled. In addition, an interface control function can be added to the browser interface 20 to assign a command identifier (passed in the form of wParam). The BIO window message handling procedure can then translate the wParam and provide an interface control function to be added. Further, when a command identifier associated with an interface control to be deleted is received from the browser, the function can be deleted without causing the window processing procedure according to the present invention to do anything. This prevents the above command from being passed to the original message handling procedure in the browser window.

上記に詳しく論じたように、本発明の種々の実施形態を用いて、インターネットユーザは、ユーザ定義インターフェイス・コントロール機能を備えたブラウザ・インターフェイス20の作成が可能となる。この場合、上記ブラウザ・インターフェイス20のウィンドウの親をサブクラス化されたウィンドウにセットすることにより、新規の(即ち制御対象の)ウィンドウから出されるいずれのメッセージでもBIOウィンドウ・メッセージ・ハンドリング・プロシージャで処理することになる。これを利用して、ツールバー、ダイログバー(dialogbar)、フローティング・ダイアローグ(floating dialog)などの任意のインターフェイス・オブジェクト40をブラウザ・インターフェイス20に追加することが可能となる。   As discussed in detail above, various embodiments of the present invention allow Internet users to create a browser interface 20 with user-defined interface controls. In this case, by setting the parent of the window of the browser interface 20 to a subclassed window, any message issued from a new (ie, controlled) window is processed by the BIO window message handling procedure. Will do. Using this, it is possible to add arbitrary interface objects 40 such as a toolbar, a dialog bar, and a floating dialog to the browser interface 20.

本発明についてさらなる説明を行うために、本発明を限定しない以下の例示の利用例を示す。インターネットユーザがインターネットを巡回する時持続して存在するプラグインまたはアクティブXコントロールによって、ユーザが、インターネットに配置されているデータベースから得られる自分の“ブックマーク”や“お気に入り”のダウンロードを可能にするブラウザ・インターフェイス20にインターフェイス・オブジェクト40を追加することが可能となる。このインターフェイスはブラウザ・インターフェイスの中へ直接追加され、このインターフェイスによってプラグインまたはアクティブXコントロールにより提供されたインターフェイス・オブジェクト40を用いて、ユーザはダウンロードした“ブックマーク”や“お気に入り”のリンクを訪れることが可能となる。このインターフェイス・オブジェクト40は、既存のブラウザ上の現在の“お気に入り”や“ブックマークマーク”メニュー項目と同様の機能を果たすものである。有利な相違点として、このブックマークはインターネット上のデータベースからダウンロードされるため、ユーザは、プラグインまたはアクティブXコントロールをロード出来る自分のブックマークに任意のコンピュータのブラウザ上でアクセス出来るという利点が挙げられる。   In order to further illustrate the present invention, the following illustrative use examples are presented that do not limit the present invention. A browser that allows users to download their “bookmarks” and “favorites” from a database located on the Internet, with plug-ins or active X controls that persist when Internet users travel around the Internet It becomes possible to add an interface object 40 to the interface 20. This interface is added directly into the browser interface, and using this interface object 40 provided by the plug-in or active X control, the user can visit downloaded “bookmark” and “favorite” links. Is possible. The interface object 40 performs the same function as the current “favorite” or “bookmark mark” menu item on an existing browser. An advantageous difference is that since this bookmark is downloaded from a database on the Internet, the user can access their bookmarks that can load plug-ins or active X controls on any computer browser.

本発明は、プラグインまたはアクティブXコントロールを介して、ブラウザ・インターフェイス20の“お気に入り”や“ブックマーク”に設けた広告“リンク”に基づいて広告収入を生むために利用することも可能である。広告対象のターゲット消費者は、例えば、氏名、年齢、性別、収入、人種、学歴および地理上の所在地などのデータベースに格納された情報に基づいて、また、データベースに格納されているまたはブラウザ72に存在するお気に入りとブックマークなどの好みに基づいて行うことも可能である。   The present invention can also be used to generate advertising revenue based on advertisement “links” provided in “favorites” and “bookmarks” of the browser interface 20 via plug-ins or active X controls. The targeted consumer to be advertised is based on information stored in the database, such as name, age, gender, income, race, educational background and geographic location, and is also stored in the database or browser 72 It is also possible to carry out based on favorites such as favorites and bookmarks.

ユーザがインターネットを巡回する時持続して存在するプラグインまたはアクティブXコントロールを用いて、ユーザが、インターネットに配置されているデータベースから得られる自分の“アドレス帳”のダウンロードを可能にするブラウザ・インターフェイス20にインターフェイス・オブジェクト40を追加することが可能となる。このようなインターフェイス・オブジェクト40は、ブラウザ・インターフェイス20のインターフェイスの中へ直接追加することが可能であり、このインターフェイス・オブジェクト40は、電子メールの送信並びに自分の“アドレス帳”にリストされている連絡先用の格納済み情報の検索をユーザが行う事が出来るようにするものである。   A browser interface that allows users to download their “address book” from a database located on the Internet, using plug-ins or active X controls that persist when the user crawls the Internet It is possible to add an interface object 40 to 20. Such an interface object 40 can be added directly into the interface of the browser interface 20, and this interface object 40 is sent in an email as well as listed in its “address book”. It enables the user to search stored information for contacts.

本発明は、プラグインまたはアクティブXコントロールのインターフェイス・オブジェクト40の“アドレス帳”に設けた広告“リンク”に基づいて広告収入を得ることを目的として利用することも可能である。広告対象のターゲット消費者は、例えば、氏名、年齢、性別、収入、人種、学歴および地理上の所在地などのデータベースに格納された情報に基づいて、また、データベースに格納されているまたはブラウザに存在するお気に入りとブックマークなどの好みに基づいて行うことも可能である。   The present invention can also be used for the purpose of obtaining advertising revenue based on the advertisement “link” provided in the “address book” of the interface object 40 of the plug-in or active X control. Targeted consumers to be advertised are based on information stored in the database, such as name, age, gender, income, race, educational background and geographic location, and are also stored in the database or in the browser It is also possible to perform based on existing favorites and bookmarks and other preferences.

本発明は、ユーザの探索を可能にするウェブページを訪問する必要なく、プラグインまたはアクティブXコントロールを利用して、ユーザがブラウザの中へ直接探索語をタイプ出来るようにする、ブラウザ・インターフェイス20の編集ボックスの追加を可能にするものである。   The present invention provides a browser interface 20 that allows a user to type search terms directly into the browser using plug-ins or active X controls without having to visit a web page that allows the user to search. The edit box can be added.

さらに、持続して存在するプラグインまたはアクティブXコントロールによって、たとえユーザが異なるウェブサイトをサーフィンしていても、ユーザ側で、ウェブサイトで、あるいは、プログラムで選択された間隔で、ポーリング即ち周期的に好適なウェブサイトから情報の探索を行うことが可能となる。好適なウェブサイトのポーリングを行う時、この好適なウェブサイトによって、メールや、株価の連続する更新や、例えば、ニュースをフィード・ヘッドラインや、ひいきのスポーツチームのスポーツ得点、等のその他の時間に敏感に反応する情報のリアルタイムに近い受信通知などの更新済み情報の送信をユーザのブラウザのインターフェイス・オブジェクトに対して行うことが可能となる。好適なウェブサイトは、ピーク時の利用期間中、好適なウェブサイトでのトラフィックを制御するために、ポーリング間の時間間隔を延ばすことにより、所望の場合ポーリングのタイミング制御を行う事が出来る。   In addition, with persistent plug-ins or active X controls, even if the user is surfing a different website, polling or periodic at the user, on the website, or at program-selected intervals It is possible to search for information from a suitable website. When polling the preferred website, this preferred website will allow you to email, continuously update stock prices, and other times such as feed headlines for news, sports scores for favorite sports teams, etc. It is possible to send updated information such as notification of near real-time reception of sensitive information to the interface object of the user's browser. Preferred websites can control polling timing if desired by extending the time interval between polls to control traffic on the preferred website during peak usage periods.

本願明細書に記載のように、ライブラリファイルが作成したシェルは、アプリケーションを実行したり、情報を表示したりすることが可能な1つの環境であるため、本発明を利用して任意の情報またはプログラムをブラウザのインターフェイスに追加することが可能となる。上記シェルは、ブラウザ・インターフェイス、ブラウザの内容、さらにはシェル自体の内容さえからも独立している。要するに、シェルは適応可能な1つの機能であり、この機能は極端な場合ユーザにとって可視である必要さえ無い。従って、使用中、シェルは空であってもよく、ウェブサイトからその内容を受け取る事が出来る。あるいは、シェルはプラグインを取得することも可能である。もしくは、シェルがウェブサイトまたはユーザから新しい内容を受け取るとき、シェルは新たなライブラリファイルを取得して、“リアルタイムで”新たな情報の構文解析を学習することさえ可能である。従って、本発明は、ユーザが別のサイトを訪問している時でさえ、好適なサイトからユーザへ所望の情報を直接送る重要な機会を提供するものである。言うまでもなく、本発明のカスタム可能なインターフェイスを介してウェブサイトにより提供されるユーザ固有機能が多ければ多いほど、そのウェブサイトが発生させる事が出来るユーザロイヤルティはさらに大きくなる。   As described in the present specification, the shell created by the library file is one environment in which an application can be executed and information can be displayed. The program can be added to the browser interface. The shell is independent of the browser interface, browser content, and even the shell itself. In short, the shell is an adaptable function that, in extreme cases, does not even need to be visible to the user. Thus, during use, the shell may be empty and receive its contents from the website. Alternatively, the shell can obtain a plug-in. Alternatively, when the shell receives new content from a website or user, the shell can even get a new library file and learn to parse new information "in real time". Thus, the present invention provides an important opportunity to send the desired information directly from the preferred site to the user, even when the user is visiting another site. Of course, the more user-specific functions provided by a website via the customizable interface of the present invention, the greater the user loyalty that the website can generate.

図11〜図17を参照すると、本発明の別の実施形態で、インターネットブラウザ・インターフェイスのツールバーへショッピング・アシスタント・ボタンを追加して、サポートされたマーチャント・ウェブサイトでのオンライン・ショッピングを簡便化する事が出来る。ショッピング・アシスタント・ボタンの規定を含むこの実施形態の機能は、サーバから送信されたコンピュータコードにより提供され、ユーザのコンピュータに格納される。コンピュータコードはインターネットブラウザのインターネット・ナビゲーションをモニタして、ブラウザが、サポートされたマーチャント・ウェブサイトに在るかどうかの判定を行い、インターネットブラウザがサポートされたマーチャント・ウェブサイトに在れば、ショッピング・アシスタント・ボタン用のインジケータを提供し、サポートされたマーチャント・チェックアウト・ウェブページに記入を行う。   Referring to FIGS. 11-17, in another embodiment of the present invention, a shopping assistant button is added to the toolbar of the Internet browser interface to simplify online shopping on supported merchant websites. I can do it. The functionality of this embodiment, including the provision of shopping assistant buttons, is provided by computer code sent from the server and stored on the user's computer. The computer code monitors the internet navigation of the internet browser to determine if the browser is on a supported merchant website, and if the internet browser is on a supported merchant website, shopping Provide an indicator for assistant buttons and fill out supported merchant checkout web pages.

本願明細書のユーザのように、“オンライン・ショッピング”という用語は、インターネットブラウザのユーザが、インターネットで商品および/またはサービスを購入する事が出来る処理プロセスを意味する。オンライン・マーチャント(インターネット上の商品および/またはサービスの販売者など)は、マーチャントサーバが主催するウェブサイトを提供する事が出来る。このウェブサイトを介してユーザはインターネットブラウザを用いて1以上のウェブページにアクセスする事が出来る。マーチャントは1以上のウェブページを介して販売用として種々の商品および/またはサービスの提供を行う事が出来る。買物客は商品、サービスについての説明を閲覧し、電子ショッピングカートの中へ入れる種々の商品および/またはサービスを選択し、ショッピングカートの内容を見て、チェックアウトする事が出来る(以下さらに詳細に説明する)。   As used herein, the term “online shopping” refers to a process by which an Internet browser user can purchase goods and / or services on the Internet. Online merchants (such as sellers of goods and / or services on the Internet) can provide websites hosted by merchant servers. Through this website, the user can access one or more web pages using an internet browser. The merchant can provide various goods and / or services for sale via one or more web pages. Shoppers can browse descriptions of products and services, select various products and / or services to be placed in the electronic shopping cart, view the contents of the shopping cart, and check out (see below for further details). explain).

図11に示されるブラウザ・インターフェイス20にはインターフェイス・オブジェクト40が含まれ、このインターフェイス・オブジェクト40には、インターフェイス・オブジェクト・ツールバー42とショッピング・アシスタント・ボタン144とが設けられている。このショッピング・アシスタント・ボタン144は、ブラウザ・インターフェイス20に種々の機能を提供するものであるが、この種々の機能の中には、本発明を限定しない例として、ブラウザ・インターフェイス20のユーザ(ユーザおよび買物客という用語は本願明細書では交換可能に用いられている)が、電子ウォレット(さらに詳細に以下解説する)を作成し、この電子ウォレットを編集し、ショッピング・アシスタント・ボタン144(およびブラウザ・インターフェイス20からのショッピング機能)を使用禁止にし、サポートされたマーチャントをリストし、ショッピング・アシスタント・ボタン144と、プルダウンメニュー44と、ショッピング・アシスタント・ボタン144が提供する機能とについて問い合わせを行い、ショッピング・アシスタント・ボタン144およびショッピング・アシスタント・ボタン144が提供する機能の利用方法について助けを求める問い合わせを行う能力が含まれる。ショッピング・アシスタント用コンピュータコードまたはソフトウェア(例えばdllファイルやexe.ファイル、JavaScriptなど)がサーバにより提供され、ユーザのコンピュータ50に格納され、ショッピング・アシスタント・ボタン144および本発明に準拠して提供されるその他の機能を規定し、提供するために、ブラウザおよびブラウザ・インターフェイス20と接続して実行可能である。これらについてはさらに詳細に以下説明する。   The browser interface 20 shown in FIG. 11 includes an interface object 40, which is provided with an interface object toolbar 42 and a shopping assistant button 144. The shopping assistant button 144 provides various functions to the browser interface 20, and among these various functions, as a non-limiting example, the user of the browser interface 20 (user And the term shopper are used interchangeably herein) to create an electronic wallet (discussed in more detail below), edit the electronic wallet, and enter the shopping assistant button 144 (and browser Disable the shopping function from the interface 20, list supported merchants, and inquire about the shopping assistant button 144, the pull-down menu 44, and the functions provided by the shopping assistant button 144. How to use the function of shopping assistant button 144, and a shopping assistant button 144 is provided includes the ability to carry out an inquiry to ask for help. Computer code or software for shopping assistant (eg, dll file, exe. File, JavaScript, etc.) is provided by the server, stored on the user's computer 50, provided in accordance with the shopping assistant button 144 and the present invention. It can be executed in connection with a browser and browser interface 20 to define and provide other functions. These will be described in more detail below.

好ましい実施形態では、本発明の種々の実施形態に関して上記詳述したように、インターフェイス・オブジェクト40がブラウザ・インターフェイス20に追加されると、ショッピング・アシスタント・ボタン144およびショッピング・アシスタント・ボタン144により与えられる機能が提供される。即ち、インターフェイス・オブジェクト40がブラウザ・インターフェイス20に追加されると、ショッピング・アシスタント・ボタン144および関連するコンピュータコードがユーザのコンピュータ50へ送信またはダウンロードされる。上記とは別に、インターフェイス・オブジェクト40が追加された前後にユーザが要求した時、ショッピング・アシスタント・ボタン144と機能とをブラウザ・インターフェイス20に選択的に追加する事が出来る。   In a preferred embodiment, as described in detail above with respect to various embodiments of the present invention, when an interface object 40 is added to the browser interface 20, it is provided by a shopping assistant button 144 and a shopping assistant button 144. Functions are provided. That is, when the interface object 40 is added to the browser interface 20, the shopping assistant button 144 and associated computer code are transmitted or downloaded to the user's computer 50. Apart from the above, when the user requests before and after the interface object 40 is added, a shopping assistant button 144 and a function can be selectively added to the browser interface 20.

本発明のこの実施形態に準拠して提供されるショッピング・アシスタント機能は、少なくとも第1の例では、サーバ102(このサーバは物理的に互いに近い位置に配置された、あるいは、物理的に互いに別々の位置に配置された1以上のコンピュータを備えたものであってもよい)(図10などを参照のこと)によって提供される。ユーザがブラウザ・インターフェイス20のURLアドレスウィンドウ26内に所定のインターネットアドレスまたはURLを入力すると、上記サーバ102にアクセスする事が出来る。サーバ102は、セキュリティ保護が施されたサーバ(即ちセキュリティ保護ソケット層(SSL)接続を介してのみアクセス可能なサーバ)であることが望ましい。この所定のインターネットアドレスで、ユーザは1以上のウェブページにアクセスすることが可能となる。これらのウェブページのうちの少なくとも1つのウェブページによって、ユーザは本発明のこの実施形態に準拠するウォレットを設定することが可能となる。例示のウォレット設定ウェブページが図12〜図14に示される。このウォレット設定ウェブページについて以下さらに詳細に解説する。   The shopping assistant function provided in accordance with this embodiment of the present invention, at least in the first example, is the server 102 (this server is physically located close to each other or physically separate from each other. (See FIG. 10 and the like). When the user inputs a predetermined Internet address or URL in the URL address window 26 of the browser interface 20, the server 102 can be accessed. Server 102 is preferably a secure server (ie, a server accessible only via a secure socket layer (SSL) connection). With this predetermined Internet address, the user can access one or more web pages. At least one of these web pages allows the user to set up a wallet in accordance with this embodiment of the invention. An exemplary wallet settings web page is shown in FIGS. The wallet settings web page is described in more detail below.

このショッピング・アシスタント機能は、サーバ102によりユーザのコンピュータ50へダウンロードされるショッピング・アシスタント・コンピュータコードまたはソフトウェアによっても提供され、この機能はブラウザ・インターフェイス20とショッピング・アシスタント・ボタン144と接続して実行可能である。ショッピング・アシスタント・コードは、例えば、dllファイルや.exeファイル、JavaScriptあるいはその他の公知のタイプのコンピュータコードファイルやソフトウェアファイルであってもよい。ショッピング・アシスタント・コードは、異なるインターネットアドレスへのナビゲーションをユーザがブラウザに行わせる度に、インターネットアドレス(またはドメインやURL)をインターセプトすることによりインターネットブラウザのインターネット・ナビゲーションのモニタを行う。ショッピング・アシスタント・コードは、サポートされたマーチャントのインターネットアドレスを含むサポートされたマーチャント・ファイルとインターセプトされたアドレスとの比較を行うことにより、インターセプトされたインターネットアドレスと、サポートされたマーチャントのインターネットアドレスとの比較を行う。サポートされたマーチャント・ファイルは、サーバ102によりダウンロードされ、ユーザのコンピュータ50に格納されていることが望ましい。ユーザがサーバ102内へログを行う度に、サーバ102はサポートされたマーチャント・ファイルのそのバージョンと、ユーザのコンピュータ50に格納されたバージョンとの比較を行う(例えば、このバージョン情報はログイン処理中ユーザが送信することも可能である)。サーバ102は、必要に応じて、サポートされたマーチャント・ファイルの更新バージョンをユーザのコンピュータへダウンロードする。ショッピング・アシスタント・コードも、ブラウザが受信した個々のウェブページをインターセプトし、ウェブページの種別(例えば、課金ウェブページ、マーチャントホームページ、商品ページなど)をhtmlコードとHTTP要求ヘッダとにより判別する。   This shopping assistant function is also provided by shopping assistant computer code or software downloaded by the server 102 to the user's computer 50, which function is performed in conjunction with the browser interface 20 and the shopping assistant button 144. Is possible. The shopping assistant code may be, for example, a dll file, .exe file, JavaScript, or other known type of computer code file or software file. The shopping assistant code monitors the internet navigation of the internet browser by intercepting the internet address (or domain or URL) each time the user navigates to a different internet address. The shopping assistant code compares the intercepted internet address to the supported merchant internet address by comparing the intercepted address with a supported merchant file that contains the supported merchant internet address. Make a comparison. The supported merchant file is preferably downloaded by the server 102 and stored on the user's computer 50. Each time a user logs into the server 102, the server 102 compares that version of the supported merchant file with the version stored on the user's computer 50 (eg, this version information is in the process of logging in) It can also be sent by the user). Server 102 downloads an updated version of the supported merchant file to the user's computer as needed. The shopping assistant code also intercepts each web page received by the browser, and determines the type of the web page (for example, a billing web page, a merchant home page, a product page, etc.) based on the html code and the HTTP request header.

ショッピング・アシスタント・コードは、ショッピング・アシスタント・ボタン144とプルダウンメニュー44との規定も行い、ブラウザと、サーバ102と、オンライン・ショッピング用マーチャントサーバとの間の通信の制御を行う。   The shopping assistant code also defines the shopping assistant button 144 and pull-down menu 44, and controls communication between the browser, the server 102, and the online shopping merchant server.

本発明の種々の実施形態に準拠するインターフェイス・オブジェクト40の一部としてショッピング・アシスタント・ボタン144を設けることも可能である。しかし、ユーザがショッピング・アシスタント機能を利用し、アクセスするためには、ユーザは最初ウォレットの設定を行わなければならない。本願明細書で用いられる、“ウォレット”という用語は、(符号化または暗号化を施すことが可能な)当該ユーザ固有のファイルであって、(本願本願明細書でデータとも呼ばれる)情報から構成されるファイルを意味し、上記ファイルは当該ユーザにより設けられ、サーバ102(図10など参照)のデータ格納装置106(ハードドライブ、光ディスク)に設けられたウォレット・データベース104に格納される。ウォレットの設定時にユーザが提供した情報が予め設定したフィールドまたはフィールド名に格納されるようにウォレット・データベース106は構造化される。同様に、サポートされたマーチャント・データファイルも、マーチャント・チェックアウト・ウェブページがウォレット設定処理中に提供された情報と同じ情報を必要とする程度まで同じフィールドまたはフィールド名を用いて構造化される。   A shopping assistant button 144 can also be provided as part of the interface object 40 in accordance with various embodiments of the present invention. However, in order for the user to use and access the shopping assistant function, the user must first set up a wallet. As used herein, the term “wallet” is a user-specific file (which can be encoded or encrypted), and is composed of information (also referred to herein as data). The file is provided by the user and is stored in the wallet database 104 provided in the data storage device 106 (hard drive, optical disk) of the server 102 (see FIG. 10). The wallet database 106 is structured so that information provided by the user when setting the wallet is stored in a preset field or field name. Similarly, supported merchant data files are structured with the same fields or field names to the extent that the merchant checkout web page requires the same information that was provided during the wallet setup process. .

ウォレットを設定するために、ユーザは、サーバ102が提供した一定のウォレット設定ウェブページに応答して一定情報を提供する必要がある。インターネットブラウザが、ブラウザ・インターフェイス20による表示を行うためにサーバからデータ(典型的にはHTMLデータ)を受け取ることは当業者には公知である。従って、サーバがウェブページを提供するという本願明細書での言及は、インターネットブラウザにより表示するための、サーバからのダウンロードまたはデータ伝送を意味するものである。   In order to set a wallet, the user needs to provide certain information in response to a certain wallet setting web page provided by the server 102. Those skilled in the art know that Internet browsers receive data (typically HTML data) from a server for display by the browser interface 20. Thus, references herein to a server providing a web page mean a download or data transmission from the server for display by an Internet browser.

例示のウォレット設定ウェブページが図12に示され、全体が1000として指定されている。例えば、ショッピング・アシスタント・ボタン144のプルダウンメニュー44の“ウォレット編集”オプションを介して上記ウェブページ1000にアクセスする事が出来る。例えば、“ウォレット設定”リンク1002のような、ウォレット設定ウェブページ1000の所定のリンクを選択することにより、図13に示されるようなウォレットデータ入力ウェブページ1010がサーバ102によりダウンロードされる。ウォレットデータ入力ウェブページ1010で、ユーザは複数のフィールド1012に一定情報の入力(プルダウンメニューまたは英数字エントリ)を行う。この情報は、本発明を限定しない例として、クレジットカードタイプ、クレジットカード番号、クレジットカードの有効期限、ユーザの姓名、料金請求先、電話番号、ユーザID、ユーザパスワード並びにユーザ固有のその他の種々の情報となることが考えられる。ウォレットの設定時に、個々のユーザは、ユーザのウォレットを利用するために、ユーザIDとパスワードの他に、必要なセキュリティ保護キー(図16などを参照のこと)の入力も求められる。ウォレットデータ入力ウェブページ1010内の必要なフィールド1012の全てに記入を行うと、ユーザは“終了”ボタン(図示せず)を選択する事が出来る。これによって、ユーザ入力情報がサーバ102へ送信される。これに応答して、サーバ102は、図14に示されるように、最終的にユーザのウォレットを設定する前にユーザが再査するために、新しく入力されたユーザのアカウント情報の要約1022を含むウォレット・サマリ・ウェブページ1020のダウンロードを行う。ユーザ情報が正しければ、ユーザは、例えば、“続ける場合にはここをクリック”と指示されたリンク1024などのウォレット・サマリ・ウェブページ1020のリンクを選択する事が出来、ユーザ情報(データ)はサーバ102へ送信され、データ格納装置106のウォレット・データベース104に格納される。今説明したウォレット設定処理手順中、データはサーバ102とユーザのコンピュータ50(図10などを参照のこと)との間で送信される。例えば、ユーザが“ウォレット設定”リンク1002を選択した時、ウェブページ1000(図12)と1010(図11)の双方をサーバ102により送信して、ユーザはブラウザ・インターフェイス20にこれらのウェブページを表示する事が出来る。ユーザがウォレットデータ入力ウェブページ1010で必要な情報の入力を終了し、“終了”ボタン(図示せず)を選択した時、ユーザ情報即ちユーザデータをサーバ102へ送信する事が出来る。ユーザのコンピュータ50からのユーザ情報の受信時に、サーバ102はウォレット・サマリ・ウェブページ1020を送信する事が出来る。上記とは別に、サーバ102は、(ユーザによるリンクまたはボタンの選択時などの)ユーザ開始アクションに応答して別々に上述のウェブページの各々を送信することも可能である。   An exemplary wallet settings web page is shown in FIG. For example, the web page 1000 can be accessed via the “Edit Wallet” option in the pull-down menu 44 of the shopping assistant button 144. For example, by selecting a predetermined link of the wallet setting web page 1000 such as the “wallet setting” link 1002, the wallet data input web page 1010 as shown in FIG. 13 is downloaded by the server 102. On the wallet data entry web page 1010, the user enters certain information (pull-down menu or alphanumeric entry) in a plurality of fields 1012. This information includes, as a non-limiting example, the credit card type, credit card number, credit card expiration date, user first and last name, billing address, phone number, user ID, user password, and various other user specifics It can be considered as information. In setting the wallet, each user is required to input a necessary security protection key (see FIG. 16 and the like) in addition to the user ID and password in order to use the user's wallet. Once all required fields 1012 in the wallet data entry web page 1010 have been filled, the user can select an “Finish” button (not shown). As a result, user input information is transmitted to the server 102. In response, the server 102 includes a summary 1022 of the newly entered user account information for the user to review before finally setting up the user's wallet, as shown in FIG. Download the wallet summary web page 1020. If the user information is correct, the user can, for example, select a wallet summary web page 1020 link such as a link 1024 instructed to “Click here to continue” and the user information (data) is The data is transmitted to the server 102 and stored in the wallet database 104 of the data storage device 106. During the wallet setting processing procedure just described, data is transmitted between the server 102 and the user's computer 50 (see FIG. 10, etc.). For example, when the user selects the “Set Wallet” link 1002, both web pages 1000 (FIG. 12) and 1010 (FIG. 11) are sent by the server 102, and the user sends these web pages to the browser interface 20. Can be displayed. When the user finishes inputting necessary information on the wallet data input web page 1010 and selects an “end” button (not shown), user information, that is, user data can be transmitted to the server 102. Upon receiving user information from the user's computer 50, the server 102 can send a wallet summary web page 1020. Alternatively, the server 102 may send each of the web pages described above separately in response to a user initiated action (such as when a user selects a link or button).

サーバ102は、コンテンツ・プロバイダ100や、検索エンジンプロバイダやISPなどのような別のインターネット・サービス・プロバイダのサーバであってもよい。本願明細書ではこれらのサーバは一括してプロバイダ100と呼ばれる。プロバイダ100によりオンライン・マーチャントが選択され、このプロバイダ100と接続して本発明のショッピング機能を利用することが可能となる。サポートされているマーチャント・ファイルには、マーチャントのそれぞれのインターネットアドレスを含む全てのサポートされたマーチャントのリストが含まれる。ショッピング・アシスタント用コンピュータコードはこのファイルを利用して、URLアドレスウィンドウ26の中へ入力された(またはリンク内に設けられた)URLを、サポートされているマーチャント・ファイル内に含まれているURLと比較することにより、ユーザは、サポートされたマーチャント・ウェブサイトへナビゲーションを行ったかどうかの判定を行う事が出来る。   Server 102 may be a server of content provider 100, another Internet service provider such as a search engine provider or ISP. In the present specification, these servers are collectively referred to as the provider 100. The online merchant is selected by the provider 100, and the shopping function of the present invention can be used by connecting to the provider 100. Supported merchant files include a list of all supported merchants, including each merchant's Internet address. The computer code for the shopping assistant uses this file to convert the URL entered into the URL address window 26 (or provided in the link) into the URL contained in the supported merchant file. By comparing with, the user can determine if he has navigated to a supported merchant website.

一度マーチャント(マーチャントは図10で全体が200で指定されている)が選択されると、プロバイダ100は、チェックアウト・ウェブページのレイアウト(図17を参照のこと)と、マーチャントのチェックアウト処理およびチェックアウト・ウェブページの終了に必要な情報とを含むマーチャントのチェックアウト処理を確認する。プロバイダ100は、サポートされたマーチャント・ルールと、選択された個々のマーチャント(本願明細書ではやはりサポートされたマーチャントと呼ぶ)用のマッピングファイルとを作成する。このマッピングファイルによって、個々のマーチャントのチェックアウト処理中にマーチャントが必要とするユーザデータと、個々のマーチャントのチェックアウト・ウェブページとに対応する複数のマーチャント・フィールド名とが規定される。例えば、図17を参照すると、サポートされたマーチャント・チェックアウト・ウェブページ2100では、買物客が、例えば、支払い方法、クレジットカード番号、クレジットカードの有効期限を含む料金請求先を含む料金請求先情報、並びに、買物客の個人情報(氏名、住所および電話番号など)の提供が要求される。マーチャント・フィールド名は、ユーザのウォレット内に規定されたウォレット・フィールド名に対応する。個々のマーチャントはそのチェックアウト処理中異なる情報を必要とする場合も考えられるので、個々のサポートされたマーチャント・ルールとマッピングファイルとは、異なるマーチャント・フィールド名を含むものであってもよい。しかし、全てのマーチャント・フィールド名はウォレット・フィールド名に対応する。   Once the merchant is selected (the merchant is designated as 200 in FIG. 10 as a whole), the provider 100 determines the checkout web page layout (see FIG. 17), the merchant checkout process and Check out the merchant's checkout process, including the information needed to complete the checkout web page. Provider 100 creates supported merchant rules and mapping files for selected individual merchants (also referred to herein as supported merchants). The mapping file defines user data required by the merchant during an individual merchant checkout process and a plurality of merchant field names corresponding to the individual merchant checkout web page. For example, referring to FIG. 17, in a supported merchant checkout web page 2100, a shopper may enter billing information including a billing address including, for example, payment method, credit card number, and credit card expiration date. , And the provision of shopper's personal information (name, address, telephone number, etc.). The merchant field name corresponds to the wallet field name defined in the user's wallet. Because individual merchants may require different information during their checkout process, individual supported merchant rules and mapping files may contain different merchant field names. However, all merchant field names correspond to wallet field names.

サポートされたマーチャント・ルールとマッピングファイルとは、ウォレットデータ(即ちウォレット・フィールド名)を必要なマーチャントデータ(即ちマーチャント・フィールド名)と対応づける。例えば、姓フィールドと名フィールドとを規定するマーチャント・ルールとマッピングファイルでのエントリとは以下のように構造化することも可能である。   Supported merchant rules and mapping files associate wallet data (ie wallet field names) with the required merchant data (ie merchant field names). For example, the merchant rule defining the first name field and the first name field and the entry in the mapping file can be structured as follows.

Figure 0004780915
但し、"wallet_b_fname_first"はユーザの名前用のウォレット・データベースフィールド名である。これに対して、サポートされたマーチャント・ファイルではユーザの第1の名前は"contactFirstName"と特定される。従って、本発明は、ウォレット・データベース内のフィールドを、サポートされたマーチャント・ファイル内のフィールドに対応づけて、ユーザがサポートされたマーチャント・ウェブサイトで買い物をする時、個々のマーチャントの注文用紙に自動的に記入が出来るようにするものである。
Figure 0004780915
However, “wallet_b_fname_first” is the wallet database field name for the user's name. In contrast, in the supported merchant file, the user's first name is identified as “contactFirstName”. Thus, the present invention maps the fields in the wallet database to the fields in the supported merchant file so that when a user shop on a supported merchant website, the individual merchant's order form It allows you to fill in automatically.

図15〜図17を参照しながら、例示のチェックアウト処理について以下説明する。異なるマーチャントは異なるチェックアウト処理を含み、異なるチェックアウト・ウェブページを提供する場合もあるので、以下の説明は単に例示的なものであり、本発明の範囲を限定したり、本発明の範囲を画定したりすることを意図するものではない。さらに、以下の説明はオンライン・ショッピング処理(この処理マーチャント毎に変動する可能性がある)の全体を追跡するものではなく、専らチェックアウト処理のみを追跡するものである。このチェックアウト処理は一般に、ユーザが“チェックアウト”またはマーチャント・ウェブページの別の類似のボタンを選択した後開始される。   An exemplary checkout process will be described below with reference to FIGS. Since different merchants may include different checkout processes and provide different checkout web pages, the following description is merely exemplary and may limit the scope of the present invention. It is not intended to be defined. Furthermore, the following description does not track the entire online shopping process (which may vary from process to process merchant), but only the checkout process. This checkout process generally begins after the user selects “Checkout” or another similar button on the merchant web page.

ユーザが自分のインターネットブラウザを開始すると、インターフェイス・オブジェクト40はユーザのコンピュータ50とサーバ102との間で自動的に接続を確立する。種々のユーザデータがサーバ102によりユーザのコンピュータ50へダウンロードされる。ユーザは、URLアドレスウィンドウ26(図11を参照のこと)内にアドレスをタイプすることにより、または、ウェブページ上のリンクを選択することにより、任意のインターネットアドレスへインターネットブラウザのナビゲーションを行わせる事が出来る。ブラウザによるインターネットのナビゲーション方法に関係無く、ショッピング・アシスタント・コードは、ユーザが行うナビゲーションの行き先である個々のインターネットサイトのURLをインターセプトし、サポートされたマーチャント・データファイルとそのURLとの比較を行う。一致が発見された場合、ショッピング・アシスタント・コードは、例えば、ユーザがサポートされたマーチャント・ウェブサイトへナビゲーションを行っていることを示す黄色い円などのショッピング・アシスタント・ボタン144でユーザに知覚出来るインジケータを示す。ショッピング・アシスタント・コードはまた、サーバ102に対して、当該マーチャント用のルールおよびマッピング用データを含むファイルであって、当該マーチャントのチェックアウト処理に関する詳細情報を提供するファイルのダウンロード要求も行う。   When the user starts his internet browser, the interface object 40 automatically establishes a connection between the user's computer 50 and the server 102. Various user data is downloaded to the user's computer 50 by the server 102. The user can cause the Internet browser to navigate to any Internet address by typing the address in the URL address window 26 (see FIG. 11) or by selecting a link on the web page. I can do it. Regardless of how the browser navigates the Internet, the shopping assistant code intercepts the URL of the individual Internet site that the user is navigating to and compares the supported merchant data file with that URL. . If a match is found, the shopping assistant code can be perceived by the user with a shopping assistant button 144, such as a yellow circle indicating that the user is navigating to a supported merchant website, for example. Indicates. The shopping assistant code also makes a request to the server 102 to download a file containing rules and mapping data for the merchant and providing detailed information regarding the merchant checkout process.

ショッピング・アシスタント・コードも、ブラウザが受信した個々のウェブページをインターセプトし、htmlコードとHTTP要求ヘッダを見ることにより、課金ページ、電子メールアドレス要求、クレジットカード情報要求などのウェブページの種別を判別する。上記情報は、マーチャントのプロバイダの選択中、および、サポートされたマーチャント・データファイルの作成中に取得したものである。マーチャントのルールとマッピングファイルとを用いて、ショッピング・アシスタント・コードは、サービスを受ける専用ページと、そのページでのユーザ情報の提供方法とを決定する事が出来る。   The shopping assistant code also intercepts each web page received by the browser, and determines the type of web page such as billing page, email address request, credit card information request, etc. by looking at the html code and HTTP request header To do. The above information was obtained during selection of the merchant provider and creation of a supported merchant data file. Using the merchant rules and mapping file, the shopping assistant code can determine the dedicated page to receive the service and how to provide user information on that page.

図15に示されるように、ユーザのウォレットがある特定のページ用として必要である旨がショッピング・アシスタント・コードにより決定された場合、ショッピング・アシスタント・コードは、ユーザのブラウザ・インターフェイス20内でセキュリティ保護キーウィンドウ3000を開いて、データ・エントリ・ウィンドウ3020にセキュリティ保護キー(SK)を入力するようにユーザに求める。一度ユーザがSKを入力し、“継続”ボタン3030を選択すると、上記セキュリティ保護キーは、ユーザのコンピュータ50により好適にはhttpを用いてサーバ102へ安全に送信される。サーバ102は、ウォレット・データベース106上の当該ユーザのウォレットに予め格納されているデータと、ユーザデータ(IDとSKなど)とを比較する。データが一致すれば、SKが検証され、サーバ102により認証がショッピング・アシスタント・コードへ送信される。データが一致しなければ、拒絶が送信される。図16に示されるようなウォレット情報ウィンドウ3100として認証を出力してもよい。SKがサーバ102により首尾よく検証された場合、SSLを介して“セキュリティ・クッキー”がセキュリティ保護を施したサーバへ送信され、“セキュリティ・クッキー”がセットされると、ユーザのウォレットを利用するユーザのオンライン・ショッピングセッションが始まる。“セキュリティ・クッキー”は強制的に(aggressively)タイムアウトされ、好適には1時間まで有効とすることが望ましい。   As shown in FIG. 15, if the shopping assistant code determines that the user's wallet is required for a particular page, the shopping assistant code is security within the user's browser interface 20. The protection key window 3000 is opened and the user is prompted to enter a security protection key (SK) in the data entry window 3020. Once the user has entered SK and selected the “Continue” button 3030, the security key is securely transmitted to the server 102 by the user's computer 50, preferably using http. The server 102 compares data stored in advance in the wallet of the user on the wallet database 106 with user data (such as ID and SK). If the data matches, the SK is verified and authentication is sent by the server 102 to the shopping assistant code. If the data does not match, a rejection is sent. Authentication may be output as a wallet information window 3100 as shown in FIG. If the SK is successfully verified by the server 102, a “security cookie” is sent via SSL to the secure server, and if the “security cookie” is set, the user using the user's wallet The online shopping session begins. The “security cookie” should be aggressively timed out and preferably valid for up to 1 hour.

本発明のショッピング・アシスタント機能を用いてユーザがチェックアウト処理の継続を望む場合、ユーザは“継続”ボタン3130を選択する事が出来る。ユーザがマーチャントのチェックアウト処理を用いてチェックアウトを望む場合、ユーザは“取り消し”ボタン3140を選択する事が出来る。ユーザが継続ボタン3130を選択すると、ショッピング・アシスタント・コードは、サーバ102上のウォレット・データベース104からユーザのウォレットを検索し、図17に示されるようにマーチャントのチェックアウト・ウェブページ2100に自動的に記入を行う。ユーザのウォレットはサーバ102により好適にはhttpを用いて安全に送信される。ユーザのウォレット、従ってユーザの個人データは、ユーザのデータ格納装置52に格納する必要は無く、一時メモリ60(本願明細書でメインメモリまたはRAMと呼ぶ)内に格納するだけでよい。そしてこの個人データは、本発明のこの実施形態のショッピング・アシスタント・コードおよび機能によって、およびこれらと接続されて利用される。このユーザのデータは自動的に時間切れにしたり、ユーザがブラウザを閉じるとき、メモリ60からフラッシュさせて消したりする事が出来る。   If the user wishes to continue the checkout process using the shopping assistant function of the present invention, the user can select the “Continue” button 3130. If the user wishes to check out using the merchant's checkout process, the user can select a “Cancel” button 3140. When the user selects the continue button 3130, the shopping assistant code retrieves the user's wallet from the wallet database 104 on the server 102 and automatically enters the merchant's checkout web page 2100 as shown in FIG. Fill in. The user's wallet is securely transmitted by the server 102, preferably using http. The user's wallet, and hence the user's personal data, need not be stored in the user's data storage device 52, but only stored in temporary memory 60 (referred to herein as main memory or RAM). This personal data is then used by and connected to the shopping assistant code and functions of this embodiment of the present invention. This user's data can be automatically timed out or erased by flushing from the memory 60 when the user closes the browser.

ブラウザが表示するウェブページの種別に応じて、ショッピング・アシスタント・コードは、ユーザのウォレット(RAM内に一時的に格納されたデータ)から適切なユーザデータをウェブページへ提供する。例えば、ウェブページが“料金請求先”用ウェブページであるとショッピング・アシスタント・コードが判断した場合、料金請求先データがRAMからコピーされて、料金請求先ウェブページ内のフィールドにポピュレートされ、最終的にマーチャントのサーバへ伝送される。チェックアウト処理中、ショッピング・アシスタント・コードは、マーチャント・ルールとマッピングファイルおよびユーザのウォレットと接続して処理を行い、種々のマーチャント・チェックアウト・ウェブページにより求められるユーザデータを自動的に提供する。   Depending on the type of web page that the browser displays, the shopping assistant code provides appropriate user data to the web page from the user's wallet (data temporarily stored in RAM). For example, if the shopping assistant code determines that the web page is a “billing billing” web page, billing billing data is copied from RAM and populated into fields in the billing billing web page, and finally To the merchant server. During the checkout process, the shopping assistant code connects to the merchant rules and mapping file and the user's wallet for processing and automatically provides the user data required by the various merchant checkout web pages. .

ウォレット・データベース106はウォレットデータだけを含むものであってもよい。あるいは、ウォレットデータは別のデータと共にデータベース内に配置されたものであってもよい。ショッピング・アシスタント・ボタン144および機能によって、およびこれらと接続してウォレットを好適に利用しながら、例えば、ショッピング・アシスタントを使用しない料金支払いやショッピング、および、ユーザが個人データの入力を要求されるほとんどあらゆるオンライン取引に関して、ショッピング・アシスタント以外のアプリケーションによってこのウォレットを使用することも可能である。このウォレットによって、ユーザのデータにセキュリティ保護を施した送信と処理とが行われ、そのデータのセキュリティに不必要な疑いを招くことなく、様々なオンライン取引に関してユーザがそのデータを利用出来るようになる。   The wallet database 106 may contain only wallet data. Alternatively, the wallet data may be arranged in a database together with other data. The shopping assistant button 144 and functions, and connected to and using the wallet suitably, for example, payment and shopping without using the shopping assistant, and most of the users are required to enter personal data It is also possible to use this wallet by applications other than shopping assistants for any online transaction. This wallet provides secure transmission and processing of the user's data, making the data available to the user for various online transactions without incurring unnecessary suspicion on the security of the data. .

一度ユーザがウォレットを設定すると、ユーザがオンライン・ショッピングを行う時、本発明のこの実施形態に準拠して提供される機能がユーザに利用可能となる。好適には、ユーザが(インターネットブラウザを介して)接続しているインターネットサイトに関係無く、サポートされたマーチャントと接続してオンライン・ショッピング機能を利用出来ることが望ましい。従って、ユーザはプロバイダのインターネットサイトと接続する必要は無く、あるいは、サポートされたマーチャントのウェブサイトと接続する必要さえ無い。ショッピング・アシスタント・コードは、ユーザ(ユーザのコンピュータ50)と、サーバ102と、ウォレット・データベース104と、マーチャントのインターネットサイトおよびチェックアウト・ウェブページ間での全ての通信を処理するものである。   Once the user sets a wallet, the functions provided in accordance with this embodiment of the present invention are available to the user when the user performs online shopping. Preferably, it is desirable to be able to connect to a supported merchant and use the online shopping function regardless of the Internet site to which the user is connected (via an Internet browser). Thus, the user does not need to connect to the provider's Internet site, or even to connect to a supported merchant website. The shopping assistant code handles all communication between the user (user's computer 50), the server 102, the wallet database 104, and the merchant's Internet site and checkout web page.

本発明の別の実施形態によれば、プロバイダ102以外のパーティが、インターフェイス・オブジェクト・ツールバー42(図4を参照のこと)のようなブラウザ・インターフェイス・ツールバーにボタン44(即ちインターフェイス・オブジェクト)を追加することも可能である。例えば、ある企業のウェブサイトにリンクを設け、この企業ウェブサイトへの訪問者が、ブラウザ・インターフェイス20から、この企業ウェブサイトとワンクリックでつながるリンクを設けた自分のインターフェイス・オブジェクト・ツールバー42にボタン44を追加出来るようにすることも可能である。企業、あるいは、ウェブサイトを主催しているいずれのエンティティもプロバイダ100のスポンサとなる可能性がある。何故なら、インターフェイス・オブジェクト・ツールバー42に企業のボタンを追加することにより、ただ1回のマウスクリックで別の任意のウェブサイトからその企業のウェブサイトへ戻る事が出来るようになるからである。このようにして、ブラウザ・インターフェイス(即ちツールバー42)へ企業ボタンを追加することにより、ユーザと企業ウェブサイト間の親近性が確立されることになる。企業スポンサは、ボタン(外観(ワンクリックボタンやプルダウンメニュー)、アイコン、など)の設計を行い、プロバイダにより保守管理され、ブラウザ・インターフェイスと関連づけられるデータベース内へ組み込むためにこのボタンの設計とURLデータとをプロバイダ100へ提供する。このようにして、企業スポンサはプロバイダのデータベース内に規定されたボタンを持つ事が出来るようになる。   In accordance with another embodiment of the present invention, a party other than provider 102 places a button 44 (ie, an interface object) on a browser interface toolbar, such as interface object toolbar 42 (see FIG. 4). It is also possible to add. For example, a link is provided to a company website, and a visitor to the company website is transferred from the browser interface 20 to his / her interface object toolbar 42 that provides a link to the company website with a single click. It is also possible to add a button 44. Any entity that hosts a company or website can be a sponsor of provider 100. This is because by adding a company button to the interface object toolbar 42, it is possible to return to the company website from any other website with a single mouse click. In this way, adding a company button to the browser interface (ie, toolbar 42) establishes an affinity between the user and the company website. The corporate sponsor designs the buttons (appearance (one-click buttons and pull-down menus), icons, etc.), the button design and URL data for incorporation into a database maintained by the provider and associated with the browser interface. To the provider 100. In this way, a corporate sponsor can have a button defined in the provider's database.

その企業ウェブサイトへの訪問者が自分のブラウザ・インターフェイス20内にその企業のボタンのインストールを望むものの、ブラウザ・インターフェイス・ツールバー42をまだインストールしていない場合、本発明によって、ブラウザ・インターフェイス20内のブラウザ・インターフェイス・ツールバー42と企業ボタン44とのインストールも可能となる。その一方で、ブラウザ・インターフェイス20のツールバー22へ企業ボタン44を追加することも可能となる。あるいは、インターフェイス・オブジェクト・ツールバー42のボタン44として企業ボタン44を追加することも可能である。   If a visitor to the company website wants to install the company button in his browser interface 20 but has not yet installed the browser interface toolbar 42, the present invention allows The browser interface toolbar 42 and the company button 44 can be installed. On the other hand, it is possible to add a company button 44 to the toolbar 22 of the browser interface 20. Alternatively, the company button 44 can be added as the button 44 of the interface object toolbar 42.

また教示用ツールとして本発明を利用することも可能である。例えば、インターフェイス・オブジェクト・ツールバー42は、色、点滅、ハイライトなどを変化させることが可能な複数のボタン44を備えているため、そのボタンや、そのボタンが提供する機能へユーザの注意を向けさせる事が出来る。   The present invention can also be used as a teaching tool. For example, the interface object toolbar 42 includes a plurality of buttons 44 that can change color, blinking, highlight, etc., so that the user pays attention to the buttons and the functions provided by the buttons. You can make it.

ユーザが競合するウェブサイトを訪問している時、プロバイダや企業スポンサの或る特色についてプロバイダや企業スポンサがユーザに通知出来るようにすることも本発明では可能である。例えば、ユーザがある自動車会社のウェブサイトを訪問している時、対応するプロバイダの特色(プロバイダの自動車など)のハイライト表示を行って、その特色の利用可用性についてプロバイダウェブサイトでユーザに警告する事が出来る。ユーザがブラウザに或るウェブサイトへのナビゲーションを行わせる度に、そのURLをインターセプトするソフトウェアをユーザのコンピュータに設けることも可能である。そのインターセプトされたURLを、プロバイダのプロパティ用の複数のURLが含まれるファイルと比較する事が出来る。   It is also possible with the present invention to allow the provider or corporate sponsor to notify the user about certain features of the provider or corporate sponsor when the user is visiting a competing website. For example, when a user visits a car company website, highlight the corresponding provider feature (such as the provider's car) and alert the user on the provider website about the availability of the feature. I can do it. It is also possible to provide the user's computer with software that intercepts the URL each time the user causes the browser to navigate to a website. The intercepted URL can be compared to a file containing multiple URLs for provider properties.

重要なことは、ユーザが任意の特定時点にナビゲーションを行った行き先ウェブサイトの検出がユーザのコンピュータのみで検出出来るという点である。これによって、インターネットでのユーザの活動に関する情報がどのサーバへも伝送されないことになる。   What is important is that the detection of the destination website where the user has navigated to any particular point in time can be detected only by the user's computer. This prevents information about user activity on the Internet from being transmitted to any server.

一般に、ユーザのマーチャント・リストにマーチャントを追加するには2つのステップが要求される。第1に、ユーザは、当該マーチャントのウェブページを介してマーチャントとオンライン・アカウントを確立しなければならない。これを行う際、ユーザはユーザのログインIDと、パスワードとアカウント番号の入力を求められる場合がある。一度当該データがマーチャントにより受け付けられると、ユーザ用としてオンライン・アカウントが設定される。第2に、ユーザは、セキュリティ保護が施されたデータベースでこのオンライン・マーチャントアカウントを当該ユーザ用のデータとリンクしなければならない。例えば、ユーザは、マーチャントを選択する事が出来るウェブページにアクセスして、ユーザとマーチャントとに固有のデータ(当該ユーザのログインID、パスワード、アカウント番号など)を入力する事が出来る。次いで、(マーチャント・ウェブサイトと交信することにより)当該データを照合し、セキュリティ保護が施されたデータベースに該データを当該ユーザ用として格納する事が出来る。別のウェブページ(即ち上記マーチャントと関連しないウェブページ)を用いてこれらのステップを実行してもよい。一度上記2つのステップが終了すると、ユーザはマーチャント・リストにそのマーチャントを追加する事が出来、単にマーチャント・リストから当該マーチャントを選択するだけで、ある特定のマーチャントのユーザ用アカウントへ自動的にログインすることが可能となる。   In general, adding a merchant to a user's merchant list requires two steps. First, the user must establish an online account with the merchant via the merchant's web page. When doing this, the user may be prompted for the user's login ID, password, and account number. Once the data is accepted by the merchant, an online account is set up for the user. Second, the user must link this online merchant account with data for the user in a secure database. For example, a user can access a web page from which a merchant can be selected, and can input data unique to the user and the merchant (such as the user's login ID, password, and account number). The data can then be collated (by communicating with the merchant website) and stored in a secure database for the user. These steps may be performed using another web page (ie, a web page not associated with the merchant). Once the above two steps are complete, the user can add the merchant to the merchant list and simply select the merchant from the merchant list to automatically log in to a particular merchant's user account. It becomes possible to do.

ユーザが自分のブラウザを起動(開始)する度に、本発明に基づいて提供されるコンピュータコードは所定のインターネットサイトと自動的に交信し、当該ユーザに固有のデータが検索される。この検索されたデータを全体的にまたは部分的に利用してブラウザに機能を与え、ブラウザ・インターフェイスにインターフェイス・オブジェクトを追加することが可能となる。このようにして、上記検索されたデータにより、最新のマーチャント・リストを含む自動ログインインターフェイス・オブジェクトが規定されることになる。   Each time a user activates (starts) his / her browser, the computer code provided in accordance with the present invention automatically communicates with a predetermined Internet site to retrieve data specific to that user. The retrieved data can be used in whole or in part to add functionality to the browser and add interface objects to the browser interface. In this way, the retrieved data defines an automatic login interface object that includes the latest merchant list.

次に図18a〜18bを参照しながら、本発明の自動ログイン方法の好ましい実施形態について詳細に論じることにする。図18a〜18bに示され、以下詳細に論じる方法は、上記に詳述したように、自動ログイン・インターフェイス・オブジェクトがブラウザ・インターフェイスに予め追加されているとみなす方法である。当該方法はまた、本発明による自動ログイン(およびその他の)機能を提供するコンピュータコードがユーザ用コンピュータへ伝送され、該コンピュータのプロセッサおよびユーザのインターネットブラウザと接続して実行可能であるとみなすものである。ステップ1810で、ユーザは、ボタンとプルダウンメニューを備えたものであってもよい自動ログイン・インターフェイス・オブジェクトを介して提供されるマーチャント・リストからマーチャントを選択する。ステップ1820で、コンピュータコード(クライアントとも呼ばれる)は、自動ログイン処理が内部で実行され、隠されたウィンドウをブラウザに開かせる。コンピュータコードはまたマーチャントIDとクッキーとを含む第1リクエストも、サーバ(好ましくは、図19に示されるような、および、以下さらに詳細に論じるような機密保護を施したサーバ)へ伝送する。機密保護を施したサーバは第1リクエストを受け取り、ステップ1822でクッキーがセキュリティ・クッキーであるかどうかを判定する。クッキーがセキュリティ・クッキーでなければ、ユーザは、現在のインターネットセッションについては安全にログインしていないか、ユーザが安全にログインしてから所定の時間が経過していることになる。いずれの場合にせよ、機密保護を施したサーバは、ステップ1830で、安全にログインするために或るデータを入力するように促すユーザのブラウザへ、1以上のウェブページ(ユーザのブラウザ内に新たなブラウザ・ウィンドウとして開く)を伝送する。ステップ1832で、ユーザが入力しなければならないデータの1つはセキュリティ保護キーであり、機密保護を施したサーバはこのきーを受け取って、当該ユーザ用として正しいおよび/または有効なセキュリティ保護キーであるかどうかを判定する。不正しくないセキュリティ保護キーが入力された場合、ステップ1834で、機密保護を施したサーバは、ユーザが所定の回数より多くセキュリティ保護キーの再入力を試みたかどうかを判定する。ユーザの再試行が許容回数を超えた場合、セキュリティ保護を施したログイン処理は終了する(機密保護を施したサーバにより終了されることになり、ユーザのブラウザは、ユーザが自動ログインインターフェイス・オブジェクト(ボタン)のマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻る。ステップ1836で、ユーザが再試行の許容回数を超えていなければ、セキュリティ保護を施したログイン処理の取り消しを選択してなければ、ユーザはセキュリティ保護キーの再入力を試みてもよい。ステップ1832で、機密保護を施したサーバは正しいセキュリティ保護キーが入力されたかどうかを再び判定する。所定の試行回数後に、正しいセキュリティ保護キーが入力されなければ、または、ユーザが取り消しボタンを選択することによりセキュリティ保護を施したログイン処理の終了を選べば、セキュリティ保護を施したログイン処理は終了し(機密保護を施したサーバにより終了され)、ユーザのブラウザは、ユーザが自動ログインインターフェイス・オブジェクト(ボタン)のマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻ることになる(ステップ1850)。   A preferred embodiment of the automatic login method of the present invention will now be discussed in detail with reference to FIGS. The method shown in FIGS. 18a-18b and discussed in detail below is that of assuming that the auto login interface object has been pre-added to the browser interface, as detailed above. The method also assumes that computer code providing automatic login (and other) functionality according to the present invention is transmitted to a user's computer and can be executed in conjunction with the computer's processor and the user's Internet browser. is there. At step 1810, the user selects a merchant from a merchant list provided via an auto-login interface object that may include buttons and pull-down menus. At step 1820, computer code (also referred to as a client) performs an automatic login process internally, causing the browser to open a hidden window. The computer code also transmits a first request including the merchant ID and cookie to the server (preferably a secure server as shown in FIG. 19 and discussed in further detail below). The secure server receives the first request and determines in step 1822 whether the cookie is a security cookie. If the cookie is not a security cookie, the user has not logged in securely for the current Internet session or a predetermined time has passed since the user logged in safely. In any case, the secure server, in step 1830, prompts the user's browser to enter some data to securely log in, to one or more web pages (new in the user's browser). Open as a simple browser window). At step 1832, one of the data that the user must enter is the security key, and the secure server receives this key and is given the correct and / or valid security key for the user. Determine if it exists. If an incorrect security protection key is entered, at step 1834, the secure server determines whether the user has re-entered the security key more than a predetermined number of times. If the user's retries exceed the allowed number of times, the secure login process is terminated (it will be terminated by the secure server, and the user's browser will allow the user to automatically login interface object ( Button) to return to the web page that was displayed before selecting the merchant from the merchant list, and in step 1836, if the user has not exceeded the allowed number of retries, choose to cancel the secure login process If not, the user may attempt to re-enter the security key, and in step 1832 the secured server again determines whether the correct security key has been entered. If the correct security key is not entered, or If the user chooses to terminate the secure login process by selecting the cancel button, the secure login process is terminated (terminated by the secure server) and the user's browser is Will return to the web page being displayed before selecting the merchant from the merchant list of the auto-login interface object (button) (step 1850).

ユーザが正しいセキュリティ保護キーを首尾よく入力した場合、ステップ1840で、機密保護を施したサーバは承認メッセージをコンピュータコードへ伝送し、次いで、該サーバは、選択されたマーチャント固有の、ユーザのアクセス・クリデンシャルを求める第2リクエストをフィードサーバ1842へ伝送する。この第2リクエストは、フィードサーバがデータベース内にユーザおよびユーザのアクセス・クリデンシャルの所在位置を見つけるために翻訳する事が出来るユーザIDおよびマーチャントIDを含むものであってもよい。フィードサーバが、この第2リクエストとデータベースのエントリとの一致を見つけ出した場合、ユーザのアクセス・クリデンシャル(マーチャント用ログインIDおよびパスワード、マーチャント用ウェブサイトID(URLなど)およびマーチャント・ルール・ファイル)がフィードサーバによりユーザ用コンピュータへ伝送される。コンピュータコードはアクセス・クリデンシャルを受け取り、ユーザのブラウザに(URLにより特定されるような)マーチャントのウェブサイトへナビゲートさせ、ユーザのログインIDおよびパスワードと共に、および、マーチャント・ルール・ファイルに従ってログインフィールドを自動的にポピュレートさせ、マーチャント・ウェブサイトへのユーザの自動ログインを実行させる。   If the user has successfully entered the correct security key, then in step 1840, the secure server transmits an authorization message to the computer code, which then selects the user's access and password specific to the selected merchant. A second request for credentials is transmitted to feed server 1842. This second request may include a user ID and merchant ID that can be translated by the feed server to locate the user and the user's access credentials in the database. If the feed server finds a match between this second request and the database entry, the user's access credentials (merchant login ID and password, merchant website ID (such as URL) and merchant rules file) are It is transmitted to the user computer by the feed server. The computer code receives the access credentials, causes the user's browser to navigate to the merchant's website (as specified by the URL) and sets the login field along with the user's login ID and password and according to the merchant rules file. Automatically populate and perform automatic login of users to the merchant website.

上述の自動ログイン処理は本発明に従って提供されるコンピュータコードにより透過的に実行される。さらに、本発明は、ブラウザ・インターフェイスを制御し、それによって、クライアント側の変更を伴うことなく、ナビゲーションを制御するルール(この場合では、マーチャント・ウェブサイトへの自動化ログインのためのルール)をサーバ側で変更出来るように、ユーザによるナビゲーションを制御する能力を提供するものである。本発明は、上述のルールへの変更を実行するためにブラウザが利用可能なドキュメントオブジェクトモジュール(DOM)を好適に利用することを可能とするものである。即ち、ユーザがマーチャント・リストからマーチャントを選択した後、コンピュータコードはユーザからのさらなる入力を必要とすることなく(ユーザが安全にログインされない場合を除いて)自動ログイン処理を実行する。図18a〜18bを続けて参照しながら、本発明に従ってコンピュータコードにより実行される自動ログインについてさらに詳細に論じることにする。ステップ1844で、コンピュータコードは第2リクエストに応答してアクセス・クリデンシャルを受け取ったかどうかの判定を行う。アクセス・クリデンシャルを受け取っていなければ、コンピュータコードはユーザのブラウザにより表示されるエラーメッセージ作成する(ステップ1860)。その後、コンピュータコードは(ステップ1820で開かれた)隠されたウィンドウを閉じさせ、自動ログイン処理を終了させる。次いで、ブラウザ内の表示は、ユーザがマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻る。ステップ1844で判定されたように、コンピュータコードがアクセス・クリデンシャルを受け取っていれば、ステップ1870でコンピュータコードは自動ログイン処理の残り部分を実行するために別の隠されたウィンドウを開始する。自動ログイン処理が終了する前であればいつでも、ユーザは、コンピュータコード表示されている適当なボタン(コンピュータコードが自動ログイン処理を実行している間、表示されている取り消しボタン)を選択することにより、この処理を取り消す事が出来る。ステップ1872で、ユーザが自動ログイン処理の取り消しを選んだ場合、コンピュータコードは処理中に開かれた全ての隠されたウィンドウを閉じることになり、ブラウザによる表示は、ユーザがマーチャント・リストからマーチャントを選択する前に表示されているウェブページへ戻る。ユーザが手動で自動ログイン処理を終了させなかった場合、処理が終了される前に所定の時間が過ぎれば、コンピュータコードが処理を取り消してもよい。例えば、アクセス・クリデンシャルを受け取った後、装置やネットワーク上の問題に起因してコンピュータコードはブラウザにマーチャント・ウェブサイトへナビゲートさせる事が出来なくなる場合がある。その場合、コンピュータコードは自動ログイン処理を終了させ(ステップ1874)、自動ログインが終了できなかった旨のエラーメッセージをユーザに対して表示することになる(ステップ1878)。その時点で、コンピュータコードは、自動ログイン処理を再試行する機会をユーザに提供してもよい(ステップ1878)。この時点で、処理はステップ1844へ戻り、本願明細書に記載したように進む。   The automatic login process described above is performed transparently by computer code provided in accordance with the present invention. In addition, the present invention controls the browser interface, thereby providing rules for controlling navigation (in this case, rules for automated login to a merchant website) without client side changes. It provides the ability to control the navigation by the user so that it can be changed on the side. The present invention makes it possible to preferably use a document object module (DOM) that can be used by a browser to execute a change to the above-described rule. That is, after the user selects a merchant from the merchant list, the computer code performs an automatic login process without requiring further input from the user (unless the user is not securely logged in). With continued reference to FIGS. 18a-18b, automatic login performed by computer code in accordance with the present invention will be discussed in further detail. At step 1844, the computer code determines whether an access credential has been received in response to the second request. If no access credentials have been received, the computer code creates an error message that is displayed by the user's browser (step 1860). Thereafter, the computer code closes the hidden window (opened at step 1820) and terminates the automatic login process. The display in the browser then returns to the web page being displayed before the user selects the merchant from the merchant list. As determined at step 1844, if the computer code has received the access credentials, at step 1870 the computer code initiates another hidden window to perform the rest of the automatic login process. At any time prior to the end of the automatic login process, the user selects the appropriate button that is displayed in the computer code (the cancel button that is displayed while the computer code is performing the automatic login process). You can cancel this process. In step 1872, if the user chooses to cancel the automatic login process, the computer code will close all hidden windows opened during the process and the browser will display the merchant from the merchant list. Return to the displayed web page before making a selection. If the user does not manually terminate the automatic login process, the computer code may cancel the process if a predetermined time has passed before the process is terminated. For example, after receiving access credentials, computer code may not be able to cause the browser to navigate to the merchant website due to device or network issues. In that case, the computer code terminates the automatic login process (step 1874) and displays an error message to the user that automatic login could not be terminated (step 1878). At that point, the computer code may provide the user with an opportunity to retry the automatic login process (step 1878). At this point, processing returns to step 1844 and proceeds as described herein.

自動ログイン処理が自動的にタイムアウトしていないとコンピュータコードが判断した場合(ステップ1874)、コンピュータコードはマーチャント・ウェブサイトからログイン確認応答を受け取ったかどうかを判定する(ステップ1876)。これを行うために、コンピュータコードは隠されたウィンドウで受け取ったHTMLデータの評価を行い、所定の1ワード、複数のワード、メッセージまたはマーチャント・ウェブサイトでのログインが首尾よく終ったことを示す別のインジケータを探索する。例えば、ユーザが首尾よくログインした後、マーチャント・ウェブサイトはメッセージを表示してもよい。アクセス・クリデンシャルの一部としてコンピュータコードへフィードサーバが伝送したマーチャント・ルール・ファイルの一部として、当該メッセージを含めるようにしてもよい。このようにして、コンピュータコードは自動ログインが首尾よく終ったかどうかを判定する事が出来る。首尾よく終った場合、コンピュータコードはメインのブラウザ・ウィンドウでマーチャント・ウェブサイトからのウェブページを表示し(ステップ1890)、それによって効果的に、ユーザのブラウザにマーチャント・ウェブサイトへ、次いで当該ユーザのアカウント用ウェブページへ直接ナビゲートさせる。   If the computer code determines that the automatic login process has not automatically timed out (step 1874), the computer code determines whether a login confirmation response has been received from the merchant website (step 1876). To do this, the computer code evaluates the HTML data received in a hidden window to indicate that the login for a given word, word, message or merchant website was successful. Search for the indicator. For example, the merchant website may display a message after the user has successfully logged in. The message may be included as part of the merchant rule file transmitted by the feed server to the computer code as part of the access credentials. In this way, the computer code can determine whether the automatic login has been successfully completed. If successful, the computer code displays the web page from the merchant website in the main browser window (step 1890), thereby effectively bringing the user's browser to the merchant website and then the user. Navigate directly to your account web page.

次に図19を参照すると、ユーザがウェブサイトへ自動ログインを容易に行うシステムが示される。システムは、設計上の選択肢の定型としてサーバ(単一のサーバまたは複数のサーバ1900、1920、1940であってもよい)を備えたものである。好ましい実施形態では、システムはデータ格納装置を備え、該データ格納装置に格納されたソフトウェアを有するサーバを備える。本願明細書で詳述したように、ユーザのインターネットブラウザへの自動ログイン機能を追加するソフトウェアはコンピュータコードをユーザ用コンピュータへ伝送する。   Referring now to FIG. 19, a system that facilitates automatic login to a website by a user is shown. The system includes a server (which may be a single server or multiple servers 1900, 1920, 1940) as a standard design choice. In a preferred embodiment, the system comprises a data storage device and a server having software stored on the data storage device. As detailed herein, software that adds an automatic login function to the user's Internet browser transmits the computer code to the user's computer.

図19に示された実施形態では、機密保護を施したサーバ1900がコンピュータコードと接続したセキュリティ保護を施したログイン処理実行する。機密保護を施したサーバ1900は複数のユーザデータおよびそれに対応するセキュリティ保護キー情報を持つデータベースを有する。機密保護を施したサーバ1900はユーザからのクッキーを受け取り、クッキーが有効なセキュリティ保護キーを持つセキュリティ・クッキーであるかどうかを判定する事が出来る。そうであれば、機密保護を施したサーバ1900はユーザ用コンピュータのコンピュータコードへ肯定応答または認証を伝送する事が出来る。   In the embodiment shown in FIG. 19, a server 1900 that has been protected by security executes a login process that has been secured by connecting to a computer code. The security-protected server 1900 has a database having a plurality of user data and security protection key information corresponding thereto. The secure server 1900 receives a cookie from the user and can determine whether the cookie is a security cookie with a valid security protection key. If so, the secure server 1900 can transmit an acknowledgment or authentication to the computer code of the user computer.

フィードサーバ1920は、ユーザにより提供された個々のマーチャント用のマーチャント・ログインおよびパスワードデータ、並びに、マーチャント・ルールデータを含む、複数のユーザデータが含まれているデータベースを有する。ユーザ用コンピュータのコンピュータコードは、機密保護を施したサーバから肯定応答または認証を受け取ると、コンピュータコードは、ユーザIDおよびマーチャントIDを含むクッキー有するフィードサーバへ第2リクエストを伝送する。フィードサーバは、フィードサーバのデータベース内で特定されるユーザIDおよびマーチャントが存在するかどうかを判定し、存在すれば、ユーザ用コンピュータへアクセス・クリデンシャルを伝送する。好ましい実施形態では、アクセス・クリデンシャルには、特定のマーチャントに固有の全てのユーザログインID、パスワード、およびマーチャント・ルール・ファイルを含む。コンピュータコードはアクセス・クリデンシャルを用いて、当該サイトのマーチャントのウェブサイトへおよびログイン・ウェブページへユーザのブラウザをナビゲートさせ、ログインフィールド(ログインIDとパスワード)を自動的にポピュレートさせ、マーチャント・ルール・ファイルに従って(“ログイン”や別の同様のボタンを選択するなど)ログインを実行する。この時点で、ユーザ用コンピュータはマーチャントのサーバ1940とインターネットを介して接続してもよい。一度コンピュータコードが自動ログインが首尾よく終ったことを確定すると、ユーザのアカウント用マーチャント・ウェブページはブラウザにより表示される。   The feed server 1920 has a database containing a plurality of user data, including merchant login and password data for individual merchants provided by the user, and merchant rule data. When the computer code of the user computer receives an acknowledgment or authentication from the secure server, the computer code transmits a second request to the feed server having a cookie containing the user ID and merchant ID. The feed server determines whether the user ID and merchant specified in the feed server database exist, and if so, transmits the access credentials to the user computer. In the preferred embodiment, the access credentials include all user login IDs, passwords, and merchant rules files that are unique to a particular merchant. The computer code uses the access credentials to navigate the user's browser to the merchant's website and the login web page of the site, automatically populate the login fields (login ID and password), and the merchant rules • Log in according to the file (eg, select “Login” or another similar button). At this point, the user computer may connect to the merchant server 1940 via the Internet. Once the computer code determines that the automatic login has been successfully completed, the user's account merchant web page is displayed by the browser.

当業者は、さらに、本願明細書で行われた開示から、ユーザのコンピュータ並びに種々のサーバに設けたソフトウェアを利用して、本発明の種々の実施形態が実施可能であることは明らかである。   Furthermore, it will be apparent to those skilled in the art from the disclosure provided herein that various embodiments of the present invention can be implemented using software provided on a user's computer and various servers.

任意の数のコンピュータ技術を利用して本発明を実施出来ることを理解されたい。例えば、インターネットと接続して作動可能なものとして本実施形態を開示したが、例えば、広域ネットワークを含む任意のコンピュータネットワークを介して本発明を利用することも可能である。同様に、ユーザのコンピュータ50は、例えば、個人用情報機器、ウェブ可能な携帯電話、ネットワークの中へダイヤル出来る有線電話、モバイルコンピュータ、パーソナルコンピュータ、インターネット機器等を含むネットワークと接続された任意の装置であってもよい。さらに、本願明細書に記載のサーバは、任意のソフトウェアを実行する任意のタイプのものであってもよく、さらに、本願明細書に記載のソフトウェアモジュール、オブジェクトおよびプラグインは任意のプログラム言語で書かれたものであってもよい。最後に、本願明細書に記載のデータベースと格納装置は、例えば、ローカルなコンピュータメモリ、ネットワークと接続された格納装置、並びに、磁気や光学などの任意の公知の記憶媒体を含む任意の格納技術を利用するものであってもよい。   It should be understood that the present invention can be implemented using any number of computer technologies. For example, although the present embodiment has been disclosed as being operable by connecting to the Internet, the present invention can also be used via an arbitrary computer network including a wide area network, for example. Similarly, a user's computer 50 can be any device connected to a network including, for example, personal information devices, web-enabled cell phones, wired phones that can be dialed into the network, mobile computers, personal computers, Internet devices, and the like. It may be. Further, the server described herein may be of any type that executes any software, and the software modules, objects, and plug-ins described herein may be written in any programming language. It may be what was written. Finally, the databases and storage devices described herein include any storage technology including, for example, local computer memory, storage devices connected to a network, and any known storage media such as magnetism or optics. It may be used.

以上、本発明の好ましい実施形態で適用されるような本発明の主要な新規の特徴を示し、説明し、指摘したが、当業者が、本発明の精神から逸脱することなく、開示された発明の細部および形態の様々な省略と代用と変更とを行うことも可能である。従って、本発明は、本願明細書に添付の特許請求の範囲によってのみ限定されるものである。   While the main novel features of the present invention as applied in the preferred embodiments of the present invention have been shown, described and pointed out above, it will be appreciated by those skilled in the art without departing from the spirit of the invention. Various omissions, substitutions and alterations of the details and forms are possible. Accordingly, the invention is limited only by the claims appended hereto.

従来技術のインターネットブラウザ・インターフェイスの図を描く。Draw a diagram of a prior art internet browser interface. 本発明の一実施形態に基づくブラウザ・ツールバーにインターフェイス・オブジェクトを含むインターネットブラウザ・インターフェイスの図を描く。FIG. 6 depicts a diagram of an Internet browser interface that includes an interface object in a browser toolbar according to one embodiment of the present invention. 本発明の一実施形態に基づくインターフェイス・オブジェクトを含むインターフェイス・ツールバーを備えたインターネットブラウザ・インターフェイスの図を描く。FIG. 6 depicts a diagram of an internet browser interface with an interface toolbar containing interface objects according to one embodiment of the present invention. 本発明の一実施形態に基づく複数のインターフェイス・オブジェクトを含むインターフェイス・ツールバーを備えたインターネットブラウザ・インターフェイスの図を描く。FIG. 6 depicts a diagram of an internet browser interface with an interface toolbar that includes a plurality of interface objects in accordance with one embodiment of the present invention. 本発明によるインターネットブラウザ・インターフェイスの制御方法を示すフローチャートである。3 is a flowchart illustrating a method for controlling an Internet browser interface according to the present invention. 本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。6 is a flowchart illustrating a method for controlling and displaying an Internet browser interface according to various embodiments of the present invention. 本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。6 is a flowchart illustrating a method for controlling and displaying an Internet browser interface according to various embodiments of the present invention. 本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。6 is a flowchart illustrating a method for controlling and displaying an Internet browser interface according to various embodiments of the present invention. 本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。6 is a flowchart illustrating a method for controlling and displaying an Internet browser interface according to various embodiments of the present invention. 本発明の種々の実施形態に基づくインターネットブラウザ・インターフェイスを制御し、表示する方法を示すフローチャートである。6 is a flowchart illustrating a method for controlling and displaying an Internet browser interface according to various embodiments of the present invention. 本発明を実現することが可能なインターネットと接続されたコンピュータの概略ブロック図である。FIG. 2 is a schematic block diagram of a computer connected to the Internet capable of implementing the present invention. 本発明の一実施形態に基づくショッピング・アシスタント・ボタンを備えたインターネットブラウザ・インターフェイスの例示スクリーンショットである。4 is an exemplary screenshot of an internet browser interface with a shopping assistant button according to one embodiment of the present invention. 本発明の一実施形態に基づくウォレット設定ウェブページの例示スクリーンショットである。4 is an exemplary screenshot of a wallet settings web page according to one embodiment of the present invention. ウォレットデータ入力ウェブページの例示スクリーンショットである。4 is an example screenshot of a wallet data entry web page. 本発明の一実施形態に基づくウォレット・サマリ・ウェブページの例示スクリーンショットである。4 is an exemplary screenshot of a wallet summary web page according to one embodiment of the present invention. 本発明の一実施形態に基づくセキュリティ保護キーウィンドウの例示スクリーンショットである。4 is an exemplary screenshot of a secure key window according to an embodiment of the present invention. 本発明の一実施形態に基づくウォレット情報ウィンドウの例示スクリーンショットである。4 is an exemplary screenshot of a wallet information window according to one embodiment of the present invention. 本発明の一実施形態に基づくサポートされたマーチャント・チェックアウトのウェブページの例示スクリーンショットである。4 is an exemplary screenshot of a supported merchant checkout web page according to an embodiment of the present invention. 本発明の一実施形態に基づくマーチャント・ウェブサイトにユーザを自動的にログインする方法を示すフローチャートである。4 is a flowchart illustrating a method for automatically logging a user into a merchant website according to an embodiment of the present invention. 本発明の一実施形態に基づくマーチャント・ウェブサイトにユーザを自動的にログインする方法を示すフローチャートである。4 is a flowchart illustrating a method for automatically logging a user into a merchant website according to an embodiment of the present invention. 本発明の一実施形態に基づくマーチャント・ウェブサイトへのユーザによる自動ログインを容易に行えるようにするシステムを示す概略図である。1 is a schematic diagram illustrating a system that facilitates automatic login by a user to a merchant website according to an embodiment of the present invention. FIG.

Claims (16)

インターネットブラウザにより、サーバと通信するコンピュータのディスプレイに表示されるインターネットブラウザ・インターフェイスを制御する方法であって、前記インターネットブラウザは、前記コンピュータおよびインターネットブラウザのユーザがインターネットにアクセスし、インターネットのナビゲーションを行い、1以上のインターネットサイトからの1以上のウェブページを受け取り、所定のインターネットサイトからのウェブページの表示を含み、コンテンツ表示領域内に前記コンピュータ・ディスプレイ上で表示する事を可能とし、前記インターネットブラウザが、該ブラウザのユーザ・インターフェイス部分に少なくとも1つのインターネットブラウザ・ツールバーを有し、該ブラウザ・ツールバーが、前記コンピュータおよびインターネットブラウザの前記ユーザへ所定の機能を提供する少なくとも1つのツールバーボタンを有する前記方法が、
(a)前記サーバが、前記所定のインターネットサイトで、前記インターネットブラウザ・インターフェイスを制御する、前記ブラウザの一部ではないプログラムへのアクセスを提供するステップと、
(b)前記インターネットサイトからのダウンロード前には前記ブラウザには存在しなかった、前記ユーザに追加機能を利用出来るようにするユーザツールバーを前記インターネットブラウザ・ユーザ・インターフェイスの一部として表示するためのファイルを、前記所定のインターネットサイトによりダウンロードし、それによって、一度前記ユーザツールバーが前記ブラウザ・ユーザ・インターフェイス内に、且つ前記ブラウザ・ユーザ・インターフェイスと重ならないように表示されると、前記インターネットブラウザがナビゲートされる前記インターネットサイトに関係無く、前記ユーザツールバーが表示されたままであり、かつ前記追加機能が前記ユーザに利用可能なままであるようにするステップと、
を備え、
前記ファイルは、ナビゲートされた前記ウェブサイトが前記ユーザにログインを要求するか否かを判断し、ログインが要求された場合、ユーザデータを用いて、前記ウェブサイトのログインフィールドを自動的にポピュレートすることにより、前記ユーザが、前記ユーザがナビゲートした前記ウェブサイトで前記ユーザデータを再入力する必要なく、前記ウェブサイトのログイン要件を満足させることによって、前記ウェブサイトへのナビゲーションの際に前記ユーザデータを用いて前記ウェブサイトに前記ユーザを自動的にログインする自動ログイン機能を、前記ブラウザに更に追加するものである、
方法。
A method for controlling an internet browser interface displayed on a display of a computer that communicates with a server by an internet browser, wherein the internet browser user accesses the internet and performs internet navigation. Receiving one or more web pages from one or more internet sites, including displaying web pages from a predetermined internet site, and displaying them on a computer display in a content display area; Has at least one Internet browser toolbar in the user interface portion of the browser, the browser toolbar Said method comprising at least one tool bar buttons providing a predetermined function to chromatography data and Internet browser of the user,
(A) providing access to a program that is not part of the browser that controls the Internet browser interface at the predetermined Internet site;
(B) for displaying a user toolbar as part of the Internet browser user interface, which was not present in the browser prior to downloading from the Internet site, allowing the user to use additional functions; Once the file has been downloaded by the predetermined internet site so that the user toolbar is displayed in the browser user interface and not overlapping the browser user interface , the internet browser Ensuring that the user toolbar remains displayed and the additional functionality remains available to the user regardless of the Internet site being navigated;
With
The file determines whether the navigated website requires the user to log in and, if login is requested , automatically populates the login field of the website using user data. Thus, when the user navigates to the website by satisfying the login requirements of the website without having to re-enter the user data at the website navigated by the user, An automatic login function for automatically logging the user into the website using user data is further added to the browser.
Method.
前記ユーザツールバーは、インターフェイス・オブジェクトを含み、前記ユーザツールバーにおいてユーザ選択機能を提供するようにユーザによってカスタマイズする事が出来る、請求項1に記載の方法。  The method of claim 1, wherein the user toolbar includes an interface object and can be customized by a user to provide a user selection function in the user toolbar. 前記ファイルがアクティブXコントロールを備える、請求項1に記載の方法。  The method of claim 1, wherein the file comprises an active X control. 前記ファイルがプラグインを備える、請求項1に記載の方法。  The method of claim 1, wherein the file comprises a plug-in. 前記インターフェイス・オブジェクトがツールバーボタンである、請求項2に記載の方法。  The method of claim 2, wherein the interface object is a toolbar button. 前記インターフェイス・オブジェクトが、探索が開始された時点で前記ブラウザを介して前記コンピュータが接続された前記インターネットサイトに関係無く、前記所定のインターネットサイトで前記ユーザが前記探索を開始出来るようにするサーチウィンドウである、請求項2に記載の方法。  A search window that allows the user to start the search at the predetermined Internet site, regardless of the Internet site to which the computer is connected via the browser when the interface object is started. The method of claim 2, wherein 前記所定のインターネットサイトが、前記コンピュータおよびインターネットブラウザの前記ユーザを含む複数のユーザのユーザ固有情報を保持し、
前記方法が、前記所定のインターネットサイトにより前記ユーザツールバーの全部または一部を定義するための前記コンピュータおよびインターネットブラウザの前記ユーザに固有の情報をダウンロード可能にするステップを更に備え、
前記ユーザツールバーの表示の全部または一部が、前記所定のインターネットサイトによりダウンロードされる、前記コンピュータおよびインターネットブラウザの前記ユーザに固有の情報に依存する、請求項1に記載の方法。
The predetermined Internet site holds user-specific information of a plurality of users including the user of the computer and an Internet browser;
The method further comprising enabling download of information specific to the user of the computer and an internet browser for defining all or part of the user toolbar by the predetermined internet site;
The method of claim 1, wherein all or part of the display of the user toolbar depends on information specific to the user of the computer and internet browser downloaded by the predetermined internet site.
前記所定のインターネットサイトにより、前記ユーザツールバーの全部または一部を定義するための前記コンピュータおよびインターネットブラウザの前記ユーザに固有の追加情報をダウンロード可能にするステップを更に備え、
前記ユーザツールバーの表示の全部または一部が、前記ダウンロードされる情報に依存する、請求項7に記載の方法。
Further comprising the step of allowing the predetermined internet site to download additional information specific to the user of the computer and internet browser for defining all or part of the user toolbar;
The method of claim 7, wherein all or part of the display of the user toolbar depends on the downloaded information.
インターネットブラウザ・インターフェイスの構成を可能とするコンピュータ・コードをコンピュータに送信するように構成される、インターネットに接続可能なサーバを含むシステムであって、
前記インターネットブラウザ・インターフェイスは、インターネットブラウザにより前記コンピュータのディスプレイに表示され
前記インターネットブラウザは、前記コンピュータと、所定のインターネットサイトを含む1以上のインターネットサイトとの間での接続を前記インターネットブラウザのコンテンツ表示領域内で簡便化し、
前記インターネットブラウザは、該ブラウザのユーザ・インターフェイス部分に少なくとも1つのインターネットブラウザ・ツールバーを更に有し、該ブラウザ・ツールバーが、前記コンピュータおよびインターネットブラウザのユーザに利用可能な所定の機能を有し、前記インターネットブラウザは更に、前記所定のインターネットサイトからのウェブページの表示を含む、前記1以上のインターネットサイトからの1以上のウェブページの前記コンピュータ・ディスプレイ上の表示を簡便化し、
前記インターネットブラウザを介して前記コンピュータが接続されるインターネットサイトに関係無く、前記インターネットブラウザが起動されている間、前記インターネットブラウザ・ユーザ・インターフェイスの一部として、かつ、前記インターネットブラウザ・ツールバーと共に表示される、前記所定のインターネットサイトからの実行ファイルのダウンロードの結果得られるユーザツールバーを、前記インターネットブラウザ・インターフェイスが含み、
前記ユーザツールバーは、前記ブラウザ・ユーザ・インターフェイス内に、且つ前記ブラウザ・ユーザ・インターフェイスと重ならず表示され、前記インターネットブラウザ・ユーザ・インターフェイスの一部として追加機能を前記ユーザに対して提供し、それによって、一度前記ユーザツールバーが表示されると、前記インターネットブラウザがナビゲートされる前記インターネットサイトに関係無く、前記ユーザツールバーが前記ブラウザ・ユーザ・インターフェイスに表示されたままであり、かつ前記追加機能が前記ユーザに利用可能なままであるようにし、
前記追加機能は、ナビゲートされた前記ウェブサイトが前記ユーザにログインを要求するか否かを判断し、ログインが要求された場合、ユーザデータを用いて、前記ウェブサイトのログインフィールドを自動的にポピュレートすることにより、前記ユーザが、前記ユーザがナビゲートした前記ウェブサイトで前記ユーザデータを再入力する必要なく、前記ウェブサイトのログイン要件を満足させることによって、前記ウェブサイトへのナビゲーションの際に前記ユーザデータを用いて前記ウェブサイトに前記ユーザを自動的にログインする自動ログイン機能を、前記ブラウザに更に追加するものである、
システム。
A system comprising an internet connectable server configured to send computer code to a computer enabling configuration of an internet browser interface,
The internet browser interface is displayed on the display of the computer by an internet browser,
The Internet browser simplifies connection between the computer and one or more Internet sites including a predetermined Internet site within a content display area of the Internet browser ,
The Internet browser further includes at least one Internet browser toolbar in a user interface portion of the browser, the browser toolbar having a predetermined function available to users of the computer and the Internet browser, The Internet browser further simplifies the display on the computer display of one or more web pages from the one or more Internet sites, including display of web pages from the predetermined Internet site.
Regardless of the Internet site to which the computer is connected via the Internet browser, it is displayed as part of the Internet browser user interface and with the Internet browser toolbar while the Internet browser is running. The Internet browser interface includes a user toolbar obtained as a result of downloading an executable file from the predetermined Internet site ,
The user toolbar is displayed within the browser user interface and without overlapping the browser user interface, providing additional functionality to the user as part of the internet browser user interface; Thereby, once the user toolbar is displayed, the user toolbar remains displayed in the browser user interface regardless of the internet site to which the internet browser is navigated, and the additional function is Remain available to the user,
The additional function determines whether the navigated website requests login to the user, and automatically logs the login field of the website using user data when login is requested. By populating , the user can navigate to the website by satisfying the login requirements of the website without having to re-enter the user data at the website navigated by the user. An automatic login function for automatically logging the user into the website using the user data is further added to the browser.
system.
前記ユーザツールバーが、前記ユーザによってカスタマイズ可能なインターフェイス・オブジェクトを備える、請求項9に記載のシステム。  The system of claim 9, wherein the user toolbar comprises an interface object that is customizable by the user. 前記インターフェイス・オブジェクトがツールバーボタンである、請求項10に記載のシステム。  The system of claim 10, wherein the interface object is a toolbar button. 前記インターフェイス・オブジェクトが、探索が開始された時点で前記インターネットブラウザを介して前記コンピュータが接続された前記インターネットサイトに関係無く、前記所定のインターネットサイトで前記ユーザが前記探索を開始出来るようにするサーチウィンドウである、請求項10に記載のシステム。  A search that allows the user to start the search at the predetermined Internet site, regardless of the Internet site to which the computer is connected via the Internet browser when the interface object is started. The system of claim 10, wherein the system is a window. 前記インターフェイス・オブジェクトが、前記インターフェイス・オブジェクトの、ユーザによるカスタマイズを可能にするアクティブXコントロールを備える、請求項10に記載のシステム。  The system of claim 10, wherein the interface object comprises an active X control that allows a user to customize the interface object. 前記インターフェイス・オブジェクトが、前記インターフェイス・オブジェクトの、ユーザによるカスタマイズを可能にするプラグイン制御機能を備える、請求項10に記載のシステム。  The system of claim 10, wherein the interface object comprises a plug-in control function that allows a user to customize the interface object. 前記所定のインターネットサイトが、前記コンピュータおよびインターネットブラウザの前記ユーザを含む複数のユーザのユーザ固有情報を保持し、
前記インターネットブラウザが最初に起動された時、前記インターフェイス・オブジェクトが、所定のインターネットサイトとの接続を前記インターネットブラウザに確立させ、次いで、前記コンピュータおよびインターネットブラウザの前記ユーザに固有の情報を前記所定のインターネットサイトから受信し、
前記ユーザツールバーの全部または一部が、前記コンピュータおよびインターネットブラウザの前記ユーザに固有の、前記所定のインターネットサイトから受信される前記情報に依存する、
請求項10に記載のシステム。
The predetermined Internet site holds user-specific information of a plurality of users including the user of the computer and an Internet browser;
When the Internet browser is first launched, the interface object causes the Internet browser to establish a connection with a predetermined Internet site, and then provides information specific to the computer and the user of the Internet browser to the predetermined Internet site. Received from internet sites,
All or part of the user toolbar depends on the information received from the predetermined internet site specific to the user of the computer and internet browser;
The system according to claim 10.
前記コンピュータおよびインターネットブラウザの前記ユーザに固有の追加情報を前記所定のインターネットサイトから受信するために、前記インターネットブラウザが起動されている間、前記インターフェイス・オブジェクトが、前記所定のインターネットサイトとの接続を前記インターネットブラウザに周期的に再確立させ、
前記ユーザツールバーの全部または一部が、前記受信される情報および追加情報に依存する、
請求項15に記載のシステム。
In order to receive additional information specific to the user of the computer and Internet browser from the predetermined Internet site, the interface object is connected to the predetermined Internet site while the Internet browser is activated. Periodically re-establishing the internet browser;
All or part of the user toolbar depends on the received information and additional information;
The system according to claim 15.
JP2003540833A 2001-11-01 2002-10-28 Method and system for simplifying online shopping using internet browser Expired - Lifetime JP4780915B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/015,816 US20020186255A1 (en) 1999-10-28 2001-11-01 Method and system of facilitating on-line shopping using an internet browser
US10/015,816 2001-11-01
US33156501P 2001-11-16 2001-11-16
US60/331,565 2001-11-16
PCT/US2002/034510 WO2003038640A1 (en) 2001-11-01 2002-10-28 Method and system of facilitating automatic login to a web site using an internet browser

Publications (2)

Publication Number Publication Date
JP2005508047A JP2005508047A (en) 2005-03-24
JP4780915B2 true JP4780915B2 (en) 2011-09-28

Family

ID=44798135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003540833A Expired - Lifetime JP4780915B2 (en) 2001-11-01 2002-10-28 Method and system for simplifying online shopping using internet browser

Country Status (1)

Country Link
JP (1) JP4780915B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4695153B2 (en) * 2008-02-08 2011-06-08 富士通エフ・アイ・ピー株式会社 Toolbar providing server, toolbar providing program, toolbar providing method, toolbar providing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025239A1 (en) * 1998-10-28 2000-05-04 Yahoo! Inc. A method of controlling an internet browser interface and a controllable browser interface
JP2000259566A (en) * 1999-03-05 2000-09-22 Ntt Communicationware Corp Password management system
JP2000347994A (en) * 1999-04-28 2000-12-15 Sun Microsyst Inc Single sign-on used for network system including plural individually controlled limited access resources
WO2001016900A2 (en) * 1999-08-31 2001-03-08 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025239A1 (en) * 1998-10-28 2000-05-04 Yahoo! Inc. A method of controlling an internet browser interface and a controllable browser interface
JP2000259566A (en) * 1999-03-05 2000-09-22 Ntt Communicationware Corp Password management system
JP2000347994A (en) * 1999-04-28 2000-12-15 Sun Microsyst Inc Single sign-on used for network system including plural individually controlled limited access resources
WO2001016900A2 (en) * 1999-08-31 2001-03-08 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions

Also Published As

Publication number Publication date
JP2005508047A (en) 2005-03-24

Similar Documents

Publication Publication Date Title
US7788603B2 (en) Method and system of facilitating automatic login to a web site using an Internet browser
US9324080B2 (en) Method and system of facilitating on-line shopping using a downloadable toolbar
US7712033B2 (en) Method of controlling an Internet browser interface and a controllable browser interface
US20220272143A1 (en) Computer application promotion
US7793227B2 (en) Method and system of providing customizable buttons
CN104737175B (en) The method implemented by computer and system, computer-readable media
US7506260B2 (en) Method and system of providing browser functionality through a browser button
US20040034799A1 (en) Network system allowing the sharing of user profile information among network users
US20030208570A1 (en) Method and apparatus for multi-modal document retrieval in the computer network
EP1444591A1 (en) Method and system of facilitating automatic login to a web site using an internet browser
KR100942827B1 (en) Method and System for Generating Short Icon of Browsing On-line Market in Background
JP4780915B2 (en) Method and system for simplifying online shopping using internet browser
JP2009020301A (en) Web page browsing program, web page display method, terminal device and network system
US20200320251A1 (en) System and method for adding data to web forms
US20080270414A1 (en) Method and system for automating purpose usage selection on web sites

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041227

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051028

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070614

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070614

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090316

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100427

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110606

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110705

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4780915

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term