[go: up one dir, main page]

KR20050023242A - Displaying paid search listings in proportion to advertiser spending - Google Patents

Displaying paid search listings in proportion to advertiser spending Download PDF

Info

Publication number
KR20050023242A
KR20050023242A KR10-2004-7015700A KR20047015700A KR20050023242A KR 20050023242 A KR20050023242 A KR 20050023242A KR 20047015700 A KR20047015700 A KR 20047015700A KR 20050023242 A KR20050023242 A KR 20050023242A
Authority
KR
South Korea
Prior art keywords
advertiser
search
searcher
advertisers
block
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.)
Ceased
Application number
KR10-2004-7015700A
Other languages
Korean (ko)
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
Application filed by 오버츄어 서비시즈, 인크. filed Critical 오버츄어 서비시즈, 인크.
Priority to KR10-2004-7015700A priority Critical patent/KR20050023242A/en
Publication of KR20050023242A publication Critical patent/KR20050023242A/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

광고주(2202)는 검색자(2202)로부터의 질의에 응답하여 검색 결과(2212)가 제공되는 데이터베이스 내에 그 검색 리스트를 포함하도록 지불하는 PFP 데이터베이스 검색 시스템(2200)은 광고주가 검색어에 지출하기를 원하는 금액을 결정한다. 검색 제공자(2208)는 각 광고주가 지출하는 금액에 비례하여 광고주의 리스트(2212)를 표시한다. 이것은 광고주가 데이터베이스 검색 시스템(2200)에 가입하여, 소정 기간동안의 가입에 대해 얼마를 지불할 지를 결정할 수 있게 한다. 검색 제공자(2208)는 광고주(2202)에 대해 최적 지출 액(2206)을 추천할 수 있다.The advertiser 2202 pays to include a search list in a database in which a search result 2212 is provided in response to a query from a searcher 2202, so that an advertiser wants to spend on a search term. Determine the amount. Search provider 2208 displays a list 2212 of advertisers in proportion to the amount each advertiser spends. This allows the advertiser to subscribe to the database search system 2200 and determine how much to pay for the subscription for a period of time. Search provider 2208 may recommend optimal spending 2206 for advertiser 2202.

Description

광고주 지출에 비례한 유료 검색 리스트의 표시{DISPLAYING PAID SEARCH LISTINGS IN PROPORTION TO ADVERTISER SPENDING}Display Paid Search List Proportional to Advertiser Spending {DISPLAYING PAID SEARCH LISTINGS IN PROPORTION TO ADVERTISER SPENDING}

<관련 출원><Related application>

본 특허 출원은 2002년 4월 1일 출원된 미국 가특허 출원 제60/369,460호의 출원일의 이익을 청구하며, 그 전체가 본 명세서에 참조로 포함된다.This patent application claims the benefit of the filing date of US Provisional Patent Application No. 60 / 369,460, filed April 1, 2002, which is hereby incorporated by reference in its entirety.

PFP(pay-for-placement) 검색 엔진은 옐로우 페이지의 온라인 버전과 같이 작동한다: 사용자는 검색을 수행하고, 시스템은 사용자의 질의에 매칭되는 유료 광고주 리스트를 표시한다. 스크린의 실제 면적이 제한되므로, 사용자는 통상 그의 질의에 매칭하는 리스트들 중 일부만을 보게 된다. 그래서, 실행가능한 시스템을 만들기 위해, 검색 엔진 제공자들은 각 리스트를 얼마나 자주 표시할 지, 얼마나 청구할 지, 및 리스트가 나타나는 순서를 결정할 필요가 있다. A pay-for-placement search engine works like the online version of the yellow page: the user performs a search, and the system displays a list of paying advertisers that match the user's query. Since the actual area of the screen is limited, the user typically sees only some of the lists that match his query. So, to make a viable system, search engine providers need to determine how often to display each list, how much to charge, and the order in which the lists appear.

본 기술의 현재 수준은 www.overture.com에서 얻을 수 있는 오버추어의 검색 엔진이다. 오버추어는 순위 입찰(bid-for-rank)로서 알려진 스킴을 이용하는데, 이는 클릭에 의해 광고주에게 청구를 하고 각 광고주가 각 클릭에 대해 지불하려고 하는 액수에 기초하여 리스트를 순서화한다. 광고주는 그가 원하는 무엇이든지를 클릭당 최소 5센트의 입찰가로 입찰할 수 있다. 많은 웹 사이트들은 오버추어 검색 결과를 표시하고, 각각은 리스트의 최상위에서 시작하는 상이한 개수의 검색 결과들을 보여주므로, 최상위 근처에 있으려는 강한 동기가 존재한다. 최고 입찰가의 광고주는 항상 나타나고, 입찰가가 감소함에 따라 광고주는 점점 더 적게 나타난다. 이론적으로는, 최고의 서비스 품질을 제공하는 광고주가 최고로 입찰하고 리스트의 최상위에 나타난다. 실제로는, 시스템은 이렇게 잘 작동하지는 않는다. 이러한 스킴은 이론적으로는 간단하지만, 사용자 및 광고주 모두를 좌절하게 하는 다수의 문제들이 있다.The current level of technology is Overture's search engine, available at www.overture.com. Overture uses a scheme known as bid-for-rank, which bills advertisers by clicks and orders the list based on the amount each advertiser is willing to pay for each click. The advertiser can bid whatever he wants with a bid of at least 5 cents per click. Many web sites display overture search results, each showing a different number of search results starting at the top of the list, so there is a strong motivation to be near the top. Advertisers with the highest bid always appear, and fewer and fewer advertisers appear as the bid decreases. In theory, the advertiser with the best quality of service bids the best and appears at the top of the list. In reality, the system doesn't work so well. This scheme is simple in theory, but there are a number of problems that frustrate both users and advertisers.

사용자의 관점에서, 문제는 순위 입찰은, 관련이 없고 원하지 않는 검색 리스트를 최상위 근처로 유도할 수 있다는 것이다. 광고주는 그 리스트가 나타나는 순서에 대한 절대적인 제어권을 가지고 있고, 영리한 광고주들은 이러한 자유를 이용하여 사용자의 비용으로 공짜의 노출을 얻을 수 있다. 예를 들면, 애완용 흰족제비를 파는 광고주가 있다고 상상해 보자. 광고주는 "흰족제비" 및 "애완용 흰족제비"와 같은 매우 특정된 검색어 하에서 나타나고, 또한 "애완동물"과 같은 더 일반적인 용어 하에서도 나타난다. 사용자가 "애완용 흰족제비"를 검색하는 경우, 사용자는 흰족제비 광고주가 팔고 있는 것을 찾고 있는 것이 거의 확실하므로, 흰족제비 광고주가 리스트의 최상위에 나타나는 것이 이치에 맞는다. 그러나, "애완동물"과 같은 더 일반적인 용어에 대해, 흰족제비 광고주는 최상위 근처에 나타나지 않는다. "애완동물"을 타이핑하는 사용자는 흰족제비보다는 개나 고양이를 찾을 가능성이 훨씬 크다.From the user's point of view, the problem is that rank bidding can lead to an unrelated and unwanted search list near the top. Advertisers have absolute control over the order in which the list appears, and clever advertisers can use this freedom to get free exposure at the user's expense. For example, imagine an advertiser selling pet ferrets. Advertisers appear under very specific search terms such as "ferrets" and "pet ferrets" and also under more general terms such as "pets". When a user searches for "pet ferret", it makes sense that the ferret advertiser appears at the top of the list because the user is almost certain that he is looking for what the ferret advertiser is selling. However, for more general terms such as "pet", ferret advertisers do not appear near the top. Users who type "pets" are more likely to find dogs or cats than ferrets.

불행하게도, 흰족제비 광고주가 영리하다면, "뛰어난 애완용 흰족제비!, 엄청 쌉니다!"라고 읽혀지는 리스트를 생성할 것이다. 그는 사용자가 이것을 클릭할 때 이것이 흰족제비에 관한 것이라고 보는 것을 알고 있으므로, 이러한 리스트에 대해서는 매우 높은 가격 - 이것을 리스트의 최상위로 가져가는 가격에 입찰할 수 있다. 리스트 내에는 광고주가 판매하고자 매우 원하는 충분한 정보가 있다. 순위 입찰 시스템에서, 광고주는 리스트의 최상위에 있는 것에 대해 지불하지 않고, 단지 사용자가 그 리스트에 실제로 클릭하는 경우에만 지불한다. 이러한 리스트는 매우 구체적이어서 사용자는 흰족제비에 관심이 있는 경우에만 클릭할 것이고, 따라서, 리스트가 "애완동물"과 같은 일반적인 용어 하에 나타나는 경우라도 광고주에게는 거의 위험이 없다. 결론적으로, "애완동물"에 관한 제1 검색 결과는 소수의 사용자들에게만 관련된 리스트라는 것이다. 나머지 모든 사람에게는, 이 리스트는 무용지물이고, 전체 검색 경험이 빈약하다. 이러한 흰족제비 현상은 PFP 검색 엔진에서는 흔한 일이다. 옐로우페이지는 이러한 문제점이 없는데, 이는 광고주가 이들이 페이지를 차지하는 양에 기초하여 지불해야 하기 때문이다.Unfortunately, if a ferret advertiser is clever, it will generate a list that reads "Outstanding pet ferrets! It's so cheap!" He knows that when a user clicks on this, he thinks it's about ferrets, so he can bid a very high price for this list-the price that brings it to the top of the list. Within the list is enough information the advertiser wants to sell. In a ranking bidding system, an advertiser does not pay for being at the top of the list, but only if the user actually clicks on the list. This list is so specific that a user will only click if he is interested in ferrets, and therefore there is little risk for advertisers even if the list appears under general terms such as "pets." In conclusion, the first search result for "pet" is that the list is relevant only to a small number of users. For everyone else, this list is useless and the overall search experience is poor. This ferret phenomenon is common in PFP search engines. Yellow pages do not have this problem because advertisers must pay based on how much they occupy the page.

광고주의 관점에서는, 순위 입찰의 문제점은, 복잡하고 그가 얻는 것을 알기가 어렵다는 것이다. 광고주가 특정 순위로 입찰한 경우, 미리 그가 얼마나 많은 클릭을 수신할 지, 또는 그는 얼마나 많은 돈을 지출할 지, 또는 그가 일부 다른 순위에서 보다 높은 이익을 가질지 여부를 계산할 어떠한 방법도 가지고 있지 않는다. 또한, 다른 광고주가 더 높은 입찰가로 그 뒤로 들어올 수 있으므로, 심지어는 그가 원하는 순위를 얻는 것이 확실하지 않을 수 있다. 광고주가 한정된 예산을 가지고 있다면, 최대 가능한 클릭 개수를 얻기 충분한 입찰가를 유지하면서도, 예산을 초과하지 않도록 그 지출을 계속해서 모니터링해야 한다. 통상, 각각이 그 자신의 입찰가를 가지고 있는 50 또는 100개의 다른 검색 용어에 대해 모든 이러한 불확실성을 다루어야 한다.From the advertiser's point of view, the problem with ranking bidding is that it is complex and difficult to know what he gets. If an advertiser bids in a particular position, he has no way in advance to calculate how many clicks he will receive, or how much money he will spend, or whether he will have a higher profit in some other positions . Also, other advertisers may come behind with higher bids, so even it may not be certain that he gets the rank he wants. If you have a limited budget, you should keep monitoring your spending so you don't exceed your budget, while keeping enough bids to get the maximum possible number of clicks. Normally, all these uncertainties should be addressed for 50 or 100 different search terms, each with its own bid.

예로서, 광고주가 검색어 "신선한 생선"에 대해 두 번째 위치에 있도록 현재 $1.00을 입찰하고 있다고 가정하자. 그는 현재 그 위치에 유지하거나, 입찰가를 $1.20으로 올려 순위 1로 올라가거나, 입찰가를 $0.80으로 내려 순위 3으로 내려갈 수 있다. 이러한 결정을 내리기 위해서는, 3개의 순위들의 각각에서 그의 것이 얼마나 많이 클릭되는지를 알 필요가 있다. 그가 그러한 정보를 얻는 것은 거의 불가능하다. 본 기술분야의 현재 상태를 보면, 사실상 검색 엔진 제공자들은 그가 순위 3보다 순위 1에서 더 많은 클릭을 얻을 것이라는 것을 확실하게 말할 수도 없다. 광고주가 순위 1로 입찰가를 올리는 것이 타당하다고 결정하더라도, 다른 광고주들 중 하나가 수시간 후에 그보다 입찰가를 높게 하지 않을 것이라는 보장도 없다. 또는, 동일하게 광고주는 순위 1로 입찰가를 올리고나서, 수일 후에 그 아래에 있는 광고주들이 없어졌으므로 과도하게 지불하고 있다는 것을 발견할 가능성도 있다. 광고주는 과도하게 지불하지 않고 그가 원하는 것을 얻기 위해 그의 입찰가와 위치를 연속적으로 모니터링해야 한다. 본 기술분야의 현재의 상태는 전자 입찰 에이전트를 이용하여 입찰을 추적하는 것이다. 그 예들은 www.gotoast.com, www.did-it.com, 및 www.pay-per-click-bid-managers.com이다. 그러나, 이들은 단지 주기적으로 실행되므로 이들이 얼마나 잘 수행하는지에 대해 제한적이고, 검색엔진으로부터 그들이 필요로 하는 정보, 예컨대 광고주가 상이한 순위에서 받기를 원하는 클릭의 회수와 같은 정보를 얻을 수 없다.As an example, suppose an advertiser is currently bidding $ 1.00 to be in the second position for the search term "fresh fish". He can stay in the current position, raise the bid to $ 1.20 to rank 1, or lower the bid to $ 0.80 to rank 3. To make this decision, you need to know how many of his clicks are in each of the three rankings. It is almost impossible for him to obtain such information. Given the current state of the art, search engine providers in fact cannot say with certainty that he will get more clicks in rank 1 than rank 3. Even if the advertiser decides that it is reasonable to raise the bid to Rank 1, there is no guarantee that one of the other advertisers will not bid higher than that in a few hours. Or, similarly, an advertiser may raise a bid to rank 1 and find that they are overpaying because the advertisers below it are missing a few days later. The advertiser must continuously monitor his bid and position to get what he wants without overpaying. The current state of the art is to track bids using an electronic bidding agent. Examples are www.gotoast.com, www.did-it.com, and www.pay-per-click-bid-managers.com. However, they only run periodically and are limited in how well they perform and cannot obtain information from search engines such as the number of clicks they need, such as the number of clicks an advertiser wants to receive in a different ranking.

광고주가 고정된 예산을 가지고 있다면, 그는 연속적으로 그 지출을 모니터링하여, 그가 그 예산을 충족하도록 해야 한다. 예를 들면, 광고주가 다음 달에 지출할 $1,000을 가지고 있다고 가정하자. 그가 그 입찰가를 $1.00으로 설정하고 50명의 사용자가 첫날에 그 리스트를 클릭한다면, 지출 비율이 너무 높으므로 입찰가를 낮추어야 한다. $50/일이라면, 그는 월말이전에 그 전체 예산을 소모할 것이다. 반대로, 단지 10명의 사용자들만이 그 첫날에 리스트를 클릭한다면, 그 지출 비율이 너무 낮으므로, 입찰가를 높여야 한다. 입찰과 예산간의 상호작용은 복잡하고, 일정한 조정없이는 바로 얻기가 어렵다. 이는 또한 최상의 가장 관련있는 광고주를 보는 것 대신에 사용자는 단지 현재 그 예산 하에 있는 광고주들을 보고 있으므로, 나쁜 검색 결과를 유도할 수 있다.If the advertiser has a fixed budget, he must continuously monitor the expenditure so that he meets the budget. For example, suppose an advertiser has $ 1,000 to spend next month. If he sets the bid to $ 1.00 and 50 users click on the list on the first day, the spending ratio is too high and the bid should be lowered. At $ 50 / day, he will spend his entire budget before the end of the month. Conversely, if only 10 users click on the list on the first day, the spending rate is too low, so the bid should be increased. The interaction between bidding and budgeting is complex and difficult to obtain without constant adjustments. It can also lead to bad search results because instead of looking at the best and most relevant advertisers, the user is just looking at advertisers currently under that budget.

이러한 모든 문제들은 광고주가 복수의 검색어에 입찰하는 경우에 훨씬 더 복잡하게 된다. 각 용어는 상이한 개수의 검색 및 클릭을 수신하고, 상이한 입찰가를 요구한다. 광고주는 그 전체 이익을 최적화하는 방식으로 그 돈을 이들 사이에서 어느 정도 할당해야 한다. 광고주들이 이것을 수행하는데 도움을 주는 바람직한 도구는 현재 존재하지 않으며, 최상의 입찰 에이전트도 고정된 예산에 매칭되도록 복수의 용어들 사이에서 입찰가를 높이거나 낮추려고 시도하지 않는다.All these problems become even more complicated when an advertiser bids on multiple search terms. Each term receives a different number of searches and clicks and requires different bids. The advertiser must allocate some of the money between them in a way that optimizes the overall profit. There is currently no preferred tool to help advertisers do this, and even the best bidding agent does not attempt to raise or lower bids among multiple terms to match a fixed budget.

많은 광고주들은 이러한 시스템에 대한 대안을 선호한다. 정교한 입찰 구조는 너무 많은 극소 관리를 요구하고, 이는 광고주가 실제 염려하는 단지 2개의 문제, 즉 그가 지불해야 할 비용 및 이에 대한 보답으로 얻는 것을 흐리게 한다. 광고주는 검색 엔진 제공자가 $1,000에 대해 다음 달에는 1,000 클릭을 구입할 수 있고, 또는 2배만큼 비용을 지출하면 2배의 클릭 회수를 얻을 수 있으며, 절반의 비용을 지출하면 절반의 클릭 회수를 얻을 수 있다고 말하기를 원한다. 이러한 모델은 옐로우 페이지 및 인터넷 배너 광고와 같은 다른 종류의 광고와 훨씬 더 조화된다. 정보가 추출되어 비용과 클릭이 된다면, 입찰 및 순위라는 전체 개념이 불필요하다는 것은 명백하다. 광고주는 실제로 검색 결과 리스트에서 어떤 순위에 나타날 지에 대해 관심을 가지지 않는다. 그는 그가 투자한 금액에 대해 얼마나 많은 클릭을 얻을 지, 및 이들 클릭이 얼마나 자주 판매로 연결될 지에 대해 관심을 가진다. 이상적으로는, 그는 이러한 정보, 즉 그가 지불하는 액수, 및 그 보답으로 그가 얻는 클릭의 회수만에 기초하여 이러한 구매 결정을 하고, 그 리스트가 나타나는 위치 및 때에 관한 다른 모든 세부 사항은 검색 엔진 제공자에게 맡길 수 있다. 이러한 아이디어에 기초한 시스템은 사용자의 질의에 응답하여 어느 리스트를 보여주어야 할 지를 결정하는데 검색 엔진 제공자에게 완전한 자유를 제공할 수 있으므로, 광고주에게 훨씬 더 단순할 뿐만 아니라 흰족제비 문제도 해결한다.Many advertisers prefer an alternative to this system. Sophisticated bidding structures require too much micro-management, which obscures only two problems that an advertiser is really concerned about: the cost he has to pay and what he gets in return. Advertisers can get 1,000 clicks for $ 1,000 next month for search engine providers, or double the number of clicks if they spend twice as much, or half the number of clicks if they spend half I want to say that. This model is much more in line with other kinds of advertisements, such as yellow pages and internet banner advertisements. If the information is extracted, costed and clicked, it is clear that the whole concept of bidding and ranking is unnecessary. Advertisers aren't really interested in which ranking they appear in the search results list. He is interested in how many clicks he will get on the amount he invested and how often these clicks lead to sales. Ideally, he makes this purchase decision based only on this information, the amount he pays, and in return, the number of clicks he receives, and all other details about where and when the list appears are available to the search engine provider. You can leave it. A system based on this idea can provide search engine providers complete freedom in deciding which list to show in response to a user's query, thus making the advertiser much simpler and solving the ferret problem.

도 1-20은 각 광고주의 최적 지출을 구하기 위한 세부 알고리즘을 도시한 흐름도이다.1-20 are flowcharts showing detailed algorithms for calculating optimal spending of each advertiser.

도 21은 광고주의 전체 최적 지출이 광고주의 함수로서 가변되는 것을 도시한 플롯이다.21 is a plot showing that the advertiser's overall optimal spending varies as a function of the advertiser.

도 22는 컴퓨터 데이터베이스 검색 시스템을 포함하는 네트워크의 하나의 실시예를 예시하는 블록도이다.22 is a block diagram illustrating one embodiment of a network including a computer database search system.

본 실시예들은 순위 입찰 스킴의 최상의 특징들을 유지하면서 입찰 및 순위를 제거한 것으로서, 경매를 이용하여 자동으로 가격을 설정하고 광고주가 검색어를 이들이 나타내야 할 곳을 골라낼 수 있도록 한다. 뿐만 아니라, 이들 실시예들은 광고주가 나타나는 곳에서 검색어들에 대한 각 광고주의 지출을 자동으로 최적화하므로, 입찰 에이전트를 필요로 하지 않는다.The present embodiments remove bids and rankings while retaining the best features of the ranking bidding scheme, using auctions to automatically set prices and allow advertisers to pick where they should display their search terms. In addition, these embodiments automatically optimize each advertiser's spending on search terms where the advertiser appears, thus eliminating the need for a bid agent.

이들 실시예들의 아이디어는 간단한다. 각 광고주는 검색어에 얼마나 많은 돈을 지출하기 원하는 지를 결정하고, 검색 제공자는 각 광고주가 지출하는 돈의 액수에 비례하여 광고주의 리스트를 표시한다. M개의 리스트를 표시하는 검색 결과 페이지 상의 공간에 대해 경쟁하는 N명의 광고주가 있다고 가정하자. T개의 검색이 있다면, 검색 제공자는 광고주들에게 분배하는 TM개의 전체 임프레션(impression)을 가지고 있다. 임프레션은 검색자에게 제공되는 검색 결과들 중 하나의 검색 리스트의 표시이다. 광고주 i가 기꺼이 지출하는 돈의 액수가 ai라면, 그가 받는 임프레션의 개수는 수학식 1과 같다.The idea of these embodiments is simple. Each advertiser determines how much money they want to spend on the search term, and the search provider displays a list of advertisers in proportion to the amount of money each advertiser spends. Suppose there are N advertisers competing for space on a search results page that displays M lists. If there are T searches, the search provider has TM total impressions to distribute to advertisers. Impression is an indication of a search list of one of the search results provided to the searcher. If the amount of money the advertiser i is willing to spend is a i , the number of impressions he receives is equal to (1).

그가 예상할 수 있는 클릭의 회수는 수학식 2와 같다.The number of clicks he can predict is given by Equation 2.

항 ri는 광고주의 클릭-스루 레이트(click-through rate)로서, 검색시 나타난 경우에 사용자가 그 리스트를 클릭하는 확률을 나타낸다.The term r i is the advertiser's click-through rate, which indicates the probability that the user clicks on the list when it appears in the search.

정확한 임프레션 개수를 모든 사람에게 분배하기 위해, 제공자는 각 광고주가 얼마나 많은 임프레션을 수신하는 지를 나타내는 실행 전체 si를 유지한다. 사용자가 검색을 수행하는 경우, 제공자는 이 회수와 광고주가 수신되어야 하는 임프레션 개수간의 차이를 계산한다. 이러한 차이는 이고, S는 발생하는 전체 검색 회수이다. 제공자는 광고주들을 차이에 의해 분류하고, 최상위 M을 리턴한다. 리턴된 리스트의 순서는 임의적이거나, 클릭-스루 레이트 ri에 의해 분류되거나, 리스트의 파악된 품질에 의해 분류되거나, 일부 다른 기준에 의해 분류될 수 있다. 이러한 알고리즘은 임프레션을 시간에 걸쳐 고르게 분배하면서 T개의 전체 검색 이후에 정확한 임프레션 개수를 수신하는 것을 보장한다.To distribute the exact number of impressions to everyone, the provider maintains an overall run s i indicating how many impressions each advertiser receives. When the user performs a search, the provider calculates the difference between this number and the number of impressions the advertiser should receive. This difference And S is the total number of searches that occur. The provider sorts the advertisers by difference and returns the top M. The order of the returned list may be arbitrary, sorted by click-through rate r i , sorted by the determined quality of the list, or sorted by some other criteria. This algorithm distributes the impression evenly over time, ensuring that the correct number of impressions is received after T full searches.

광고주가 구매할 수 있는 임프레션의 개수에도 한계가 있다. 하나의 실시예에서, 어떠한 광고주도 임의의 검색 결과에서 한번 이상 나타날 수 없으므로, T 이상의 전체 임프레션을 가질 수 없다. 모든 광고주가 지출하는 총 금액을 T라 하면, 광고주에게 제한되는 금액은 수학식 3과 같다.There is also a limit on the number of impressions advertisers can purchase. In one embodiment, no advertiser may appear more than once in any search result, and therefore may not have an overall impression of T or more. If the total amount of money spent by all advertisers is T, the amount limited to the advertiser is shown in Equation 3.

우리는 이러한 한계를 트래픽 한계로서 지칭한다. 광고주가 트래픽 한계 이상이라면, 검색 엔진 제공자는 여분의 임프레션을 공백으로 남겨둔다. N≤M이라면, 트래픽 한계에 있는 적어도 하나의 광고주가 항상 있고, 시장이 붕괴된다. 이 경우에, M<N이고 광고주들이 경쟁할 동기를 가지도록, 검색 엔진 제공자는 리턴할 리스트의 개수를 감소시킬 수 있다. 다르게는, 제공자는 항상 리스트의 개수를 광고주 개수 의 일부로, 예를 들면 M=0.5N이 되도록 설정할 수 있다.We refer to this limit as the traffic limit. If the advertiser is above the traffic limit, the search engine provider leaves extra impressions blank. If N ≦ M, there is always at least one advertiser at the traffic limit and the market collapses. In this case, the search engine provider may reduce the number of lists to return so that M <N and the advertisers are motivated to compete. Alternatively, the provider can always set the number of lists as part of the number of advertisers, for example M = 0.5N.

양호한 실시예에서, 광고주는 임프레션이 아니라, 클릭 또는 클릭스루에 대해 지불하고, 가격은 판매 포인트에서 확정된다. 클릭 또는 클릭스루는 검색자가 광고주의 검색 리스트를 보고 그 연관된 하이퍼링크를 클릭하거나, 다르게는 검색 리스트를 보기 위해 선택하는 액션이다. 검색자의 웹 브라우저는 검색 리스트와 연관된 유니폼 리소스 로케이터(URL)로 재지향된다. 광고주가 클릭한 것을 구매하고자 원하는 경우, 검색 엔진 제공자는 사용자가 광고주의 리스트에 클릭하는 예상 회수 및 판매할 것으로 예상되는 전체 광고에 기초한 클릭당 비용(cost-per-click)으로 산출한다. 제공자가 가격을 매기는 클릭당 비용은 이다. 이러한 수학식에서, 는 T 개의 검색에 대해 제공자가 판매하려고 하는 광고의 전체 액수 A에 대한 검색 엔진 제공자의 추정이고, 는 광고주의 클릭-스루 레이트의 추정이다. 광고주의 클릭당 비용은 그 예상된 클릭-스루 레이트가 내려감에 따라 올라간다. 모든 사람이 동일한 클릭-스루 레이트를 가지고 있다면, 모든 사람은 동일한 CPC를 지불한다. 검색 엔진 제공자는 그가 전달할 것으로 예상하는 클릭의 개수를 로 하여 가격을 매긴다. 판매를 완료하기 위해, 광고주는 표시된 클릭당 비용에서 지출하기를 원하는 액수 ai를 결정한다. 광고주가 지출 한계에 도달하거나 사용자들이 T 전체 검색들을 종료할 때까지, 제공자는 이 가격으로 클릭을 전달한다.In a preferred embodiment, the advertiser pays for clicks or clickthroughs, not impressions, and the price is confirmed at the point of sale. Click or clickthrough is an action that a searcher selects to view an advertiser's search list and click on its associated hyperlink, or otherwise to view the search list. The searcher's web browser is redirected to the uniform resource locator (URL) associated with the search list. If the advertiser wishes to purchase what he / she clicks on, the search engine provider calculates a cost-per-click based on the estimated number of times the user clicks on the advertiser's list and the total advertisements that are expected to sell. The cost-per-click that the provider charges to be. In this equation, Is an estimate of the search engine provider for the total amount A of the ads the provider intends to sell for T searches, Is an estimate of the click-through rate of the advertiser. The advertiser's CPC goes up as its expected click-through rate decreases. If everyone has the same click-through rate, everyone pays the same CPC. The search engine provider can determine the number of clicks he expects to deliver. Price as To complete the sale, the advertiser determines the amount a i desired to spend from the displayed CPC. The provider delivers the click at this price until the advertiser reaches the spending limit or the users exit T full searches.

검색 엔진 제공자는 추정 를 조정함으로써 가격을 제어한다. 그는 추정이 가능한 한 정확한 경우에, 즉 =A인 경우에 가장 많은 소득을 올린다. 추정 가 너무 작으면, 클릭 추정이 너무 크고, 광고주는 개별적인 한계에 도달하지 않은 상태로 를 지출한다. 이 경우에, 제공자는 를 증가시킴으로써 가격을 올려야 한다. 광고주는 더 적게 지출하려는 경향이 있지만, 제공자가 만드는 전체 액수 는 올라간다. 추정 가 너무 크면, 클릭 추정이 너무 작고 광고주는 T 검색의 종료 이전에 전체 한계 A에 도달한다. 이 경우에, 제공자는 를 낮춤으로써 가격을 줄여야 한다. 광고주는 더 많이 지출하려는 경향이 있고, 제공자가 만드는 전체 액수 A도 올라간다. 추정 가 정확하다면, 각 광고주는 어떠한 미판매된 클릭없이 개별적인 지출 한계 ai를 지불한다. 마찬가지로, 검색 엔진 제공자도 모든 추정된 클릭-스루 레이트가 가능한 한 정확한 경우에 가장 성공한다.Search engine provider estimated Control the price by adjusting it. If the estimate is as accurate as possible, In the case of = A the highest income. calculation Is too small, the click estimate is too large and the advertiser has not reached individual To spend. In this case, the provider Increase the price by increasing Advertisers tend to spend less, but the total amount the provider makes Goes up. calculation Is too large, the click estimate is too small and the advertiser reaches the full limit A before the end of the T search. In this case, the provider Lower the price by reducing the price. Advertisers tend to spend more, raising the total amount A that providers make. calculation Is correct, each advertiser pays an individual spending limit a i without any unsold clicks. Similarly, search engine providers are most successful when all estimated click-through rates are as accurate as possible.

전체 지출 및 클릭-스루 레이트의 양호한 추정을 하는 하나의 방법은 역사적 데이터를 이용하는 것이다. 예를 들어, 전체 시장에 대한 역사적 클릭-스루 레이트가 CTR이라고 가정하자. 그러면, 제공자는 공식 를 이용하여 개별적인 리스트의 클릭스루 레이트를 추정할 수 있다. 항 ui는 리스트가 수신한 클릭의 회수이고, si는 임프레션의 개수이다. 새로운 리스트에 대해, 이들 개수들은 제로이고, 추정은 전체 클릭-스루 레이트 CTR로 초기화된다. 다수의 클릭 및 임프레션을 수신한 리스트에 대해, 추정은 관찰된 빈도에 접근한다. 상수 k는 추정이 이들 2개의 값들 사이에서 얼마나 신속하게 변경하는지를 결정하는 스케일링 인자로서 작용한다. 광고주가 그 리스트에 대해 더 많은 클릭을 구매하려고 결정한 경우, 제공자는 지금까지 최고의 추정 ri에 기초하여 클릭당 비용을 견적한다. 제공자는 다른 방식, 예를 들면 새로운 리스트와 역사적 데이터인 다른 리스트와 비교함으로써 클릭-스루 레이트를 추정할 수 있다.One way to make a good estimate of overall spending and click-through rate is to use historical data. For example, suppose the historical click-through rate for the entire market is CTR. Then, the provider We can estimate the click-through rates of individual lists using The term u i is the number of clicks received by the list and s i is the number of impressions. For a new list, these numbers are zero and the estimate is initialized to the full click-through rate CTR. For lists that have received a number of clicks and impressions, the estimate approaches the observed frequency. The constant k acts as a scaling factor that determines how quickly the estimate changes between these two values. If the advertiser decides to buy more clicks on the list, the provider estimates the cost per click based on the best estimate r i so far. The provider can estimate the click-through rate in other ways, for example by comparing the new list with other lists that are historical data.

제공자가 광고주를 등록하는 프로세스를 실행하는 다수의 다른 방법들이 있다. 예를 들어, 제공자는 주별 또는 월별 경매를 실행하여 액수 ai를 확정하거나, 광고주가 이를 연속적으로 조정할 수 있게 한다. 이러한 공개는 임의의 특정 스킴으로 제한되지 않는다.There are a number of other ways in which a provider executes the process of registering an advertiser. For example, the provider may run a weekly or monthly auction to confirm the amount a i , or allow the advertiser to continuously adjust it. Such disclosure is not limited to any particular scheme.

검색 결과를 표시하는 모든 웹 사이트는 다르다. 본 기술분야의 현재 상태에서, 리스트의 개수는 1 내지 20 사이에서 가변하고, 일부 웹 사이트는 완전한 리스트를 표시하지만, 다른 웹 사이트들은 타이틀만을 표시한다. 이들 차이점으로 인해, 바람직한 실시예는 검색어 및 웹 사이트의 모든 조합을 분리된 시장으로서 다룬다. 대안은 어느 곳에서든지 검색어가 수신하는 모든 임프레션을 단일 시장으로서 다루는 것이다. 이 경우에, 트래픽 한계 공식은 수학식 3과 다르지만, 나머지 수학식 및 알고리즘은 동일하게 유지된다. 당업자라면, 이러한 대안적인 공식에 대해 적절한 새로운 트래픽 제한 공식을 도출하는데 아무런 문제가 없다.Every website that displays search results is different. In the current state of the art, the number of lists varies between 1 and 20, and some web sites display a complete list, while others display only titles. Because of these differences, the preferred embodiment treats all combinations of search terms and web sites as separate markets. An alternative is to treat all the impressions a search term receives anywhere as a single market. In this case, the traffic limit formula is different from equation (3), but the remaining equations and algorithm remain the same. Those skilled in the art have no problem in deriving an appropriate new traffic restriction formula for this alternative formula.

광고주는 통상 다수의 다른 검색어에 대해 돈을 지출한다. 본 발명의 하나의 장점은, 제공자는 광고주가 지출하는 최적의 액수를 추천할 수 있고 다른 시장들 사이에서 그 돈을 자동으로 할당할 수 있다는 점이다. 광고주가 제공자의 추천을 따르는 경우, 그는 예상되는 이익을 최대화하도록 보장된다. 본 섹션의 나머지는 단일 시장에서 단일 광고주의 경우로부터 시작하여 다수의 시장에서 다수의 광고주의 모든 문제에까지 작용하는 필요한 공식 및 알고리즘을 기술한다.Advertisers typically spend money on many different search terms. One advantage of the present invention is that the provider can recommend the optimal amount the advertiser is spending and can automatically allocate that money among different markets. If an advertiser follows a provider's recommendation, he is guaranteed to maximize the expected benefit. The remainder of this section describes the necessary formulas and algorithms that begin with the case of a single advertiser in a single market and work with all the problems of multiple advertisers in multiple markets.

광고주의 지출을 최적화하기 위해, 제공자는 3가지, 즉 광고주의 전체 예산 bi, 광고주의 클릭당 이익(profit-per-click) pi, 및 광고주들이 다른 곳에서 돈을 지출하는 경우에 모든 광고주에게 가용한 외부 리턴 레이트 R을 알아야 한다. 단일 시장에서 유료 리스트를 구입하는 것으로부터 광고주의 예상 이익은 수학식 4와 같다.To optimize an advertiser's spending, a provider can choose from three things: the advertiser's overall budget b i , the advertiser's profit-per-click p i , and all advertisers if they spend money elsewhere. Know the available external return rate R. The advertiser's expected profit from buying a paid list in a single market is as shown in Equation 4.

첫번째 항은 광고주의 유료 리스트로부터의 광고주의 이익이고, 두번째 항는 다른 곳에 돈을 투자한 것으로부터 그의 이익이다. 외부 리턴 레이트 R이 높으면, 광고주는 클릭에 대해 그의 예산 중 더 적은 부분을 지불한다. 그의 이익을 최대화하는 ai의 값은 수학식 5이다.The first term is the advertiser's profit from the advertiser's paid list and the second term is his profit from investing money elsewhere. If the external return rate R is high, the advertiser pays less of his budget for the click. The value of a i that maximizes its benefit is (5).

양 di는 시장에서 다른 광고주에 의해 지출되는 돈의 전체 액수이고, vi=rip i는 광고주의 시장 값이다. 광고주가 지출하는 액수는 그 클릭-스루 레이트 또는 그 클릭당 이익이 감소됨에 따라 내려간다. ai가 제로보다 작거나, 제공자의 최소 지출액보다 작거나, 트래픽 한계보다 크거나, 광고주의 예산보다 크면, 이는 적절한 값으로 제한된다.The amount d i is the total amount of money spent by other advertisers in the market, and v i = r i p i is the advertiser's market value. The amount an advertiser spends goes down as its click-through rate or its profit per click decreases. If a i is less than zero, less than the provider's minimum spend, greater than the traffic limit, or greater than the advertiser's budget, this is limited to an appropriate value.

복수의 시장이 있는 경우, 최적의 솔루션은 이들을 독립적으로 다루는 것이다. 광고주의 최적의 지출은 각 시장에 대한 수학식 5의 하나의 예에 의해 주어진다. 양 T, vi, 및 di는 각 시장에서 모두 상이할 수 있다. 시장들간의 유일한 상호작용은 광고주의 예산 한계 이다. 이 합은 모든 시장에 대해 취해진다. 이러한 한계를 강제하기 위해, 광고주의 시장 값은 예산 스케일링 인자 vijirij pij를 포함한다. 유의할 점은, 모든 시장에서 광고주의 값을 일정하게 스케일링하는 하나의 λi가 있다는 점이다. 광고주가 예산 제한되지 않는다면, λi=1이다. 광고주가 예산 제한된다면, λi는 그 예산을 정확하게 지출하는 값으로 설정된다. 임의의 양호한 숫자 방정식 해결자라면 이 값을 구할 수 있다. 예들은 www.ece.nwe.edu/OTC 및 Numerical Methods for Unconstrained Optimization and Nonlinear Equations, Dennis and Schnabel, ISBN 0898713641에서, 비선형 방정식 해결자에 대한 온라인 지침을 포함한다.If there are multiple markets, the optimal solution is to deal with them independently. The advertiser's optimal spending is given by one example of equation (5) for each market. The amounts T, v i , and d i may all be different in each market. The only interaction between markets is advertiser budget limits to be. This sum is taken for all markets. To enforce this limit, the advertiser's market value includes a budget scaling factor v ij = λ i r ij p ij . Note that there is one λ i that constantly scales the value of the advertiser in all markets. If the advertiser is not budget limited, λ i = 1. If the advertiser is budget constrained, then lambda i is set to a value that will spend that budget correctly. Any good numerical equation solver can get this value. Examples include www.ece.nwe.edu/OTC and Numerical Methods for Unconstrained Optimization and Nonlinear Equations , Dennis and Schnabel, ISBN 0898713641, on-line guidance on nonlinear equation solvers.

하나의 시장에서 복수의 광고주가 있다면, 문제는 더 복잡하다. 임의의 광고주가 그가 기꺼이 지불하고자 하는 액수를 변경하면, 다른 광고주들에 대한 최적의 솔루션은 변경된다. 하나의 가능한 알고리즘은 각 광고주에 대해 반복적으로 구하고, 반복이 수렴하기를 바라는 것이다. 이들이 수렴한다면, 최종 해답은 다른 광고주가 기꺼이 지불하고자 하는 액수를 변경하지 않는 경우에는 어떠한 광고주도 그 이익을 증가시킬 수 없는 확정된 포인트이다. 수학식 4로부터 fi에 대한 정의를 이용하면, 이러한 확정된 포인트는 수학식 6의 방정식 시스템을 만족한다.If there are multiple advertisers in one market, the problem is more complicated. If an advertiser changes the amount he is willing to pay, the optimal solution for other advertisers changes. One possible algorithm is to get iteratively for each advertiser and hope that the iterations converge. If they converge, the final answer is a firm point where no advertiser can increase its profit unless the other advertiser is willing to change the amount they are willing to pay. Using the definition for f i from equation (4), this determined point satisfies the equation system of equation (6).

하나의 광고주가 그가 지출하는 액수를 변경하면 다른 광고주들에 대한 이익이 올라가므로, 확정된 포인트는 임의의 광고주에 대한 포괄적인 최대치가 아니다. 여전히, 이것은 그가 제어할 수 있는 하나의 양 - 자신의 지출 - 에 대해 각 광고주의 이익을 최대화하므로, 이는 문제에 대한 정확한 솔루션이다.As one advertiser changes the amount he spends, the benefit for other advertisers rises, so the determined point is not a comprehensive maximum for any advertiser. Still, this maximizes each advertiser's profits for the amount he can control-his spending-so this is the correct solution to the problem.

수학식 6의 시스템을 닫힌 형태로 해결할 수 있다. 각 광고주에 대한 솔루션은 수학식 7과 같다.The system of Equation 6 can be solved in a closed form. The solution for each advertiser is shown in equation (7).

모든 광고주가 함께 지출하는 전체 달러 액수 A는 수학식 8과 같다.The total dollar amount A that all advertisers spend together is equal to Equation 8.

양 vL은 수학식 7이 음이 되기 전에 광고주가 가질 수 있는 최저 시장 값이고, 광고주는 어떠한 돈도 지출하지 않는다. 그 값는 모든 광고주 값의 조화 평균에 관련된다.Positive v L is the lowest market value an advertiser can have before Equation 7 becomes negative, and the advertiser does not spend any money. The value is related to the harmonic mean of all advertiser values.

여기에서, 조화 평균 값 는 수학식 10과 같다.Where the harmonic mean value Is the same as Equation 10.

다른 관심있는 양은 vU로서, 광고주가 트래픽 한계가 되기 이전에 가질 수 있는 최대 값이다. 그 값은 수학식 11과 같다.Another amount of interest is v U , which is the maximum value an advertiser can have before it becomes a traffic limit. The value is shown in equation (11).

수학식 7-11은 이들 실시예들의 기본적인 공식이다.Equations 7-11 are the basic formulas of these embodiments.

수학식 7을 이용하여 최적 지출액을 계산할 때, 일부 광고주는 제로 또는 트래픽 한계보다 적은 최적 액수를 가지는 것이 가능하다. 이들 솔루션들은 실제 세계에서는 불가능하다. 유효한 솔루션을 구하는 알고리즘은 경계 외부에 있는 광고주들 중 하나를 집어내고, 이를 적절한 한계로 제한하며, 이를 문제로부터 제거하고, 다른 모든 다른 사람에 대한 솔루션을 재계산하는 것이다. 각 반복에서 재계산된 값은 vL에 대해 약간 다른 공식을 이용한다.When calculating optimal spending using Equation 7, it is possible for some advertisers to have an optimal amount less than zero or traffic limits. These solutions are not possible in the real world. The algorithm for finding a valid solution is to pick one of the advertisers out of bounds, limit it to the appropriate limit, remove it from the problem, and recalculate the solution for everyone else. The recalculated value at each iteration uses a slightly different formula for v L.

이러한 수학식에서, m은 트래픽 한계에서 광고주들에 의해 차지되지 않는 검색 결과 페이지 상의 자유 공간의 개수이고, n은 제로 한계 또는 트래픽 한계 중 어느 하나가 아닌 자유로운 광고주의 개수이다. 조화 평균 는 자유로운 광고주들에 대해 계산된다. 모든 광고주들이 자유롭다면, m=M이고 n=N이며, 그 솔루션은 앞서 수학식 9의 공식과 동일하다.In this equation, m is the number of free spaces on the search results page that are not occupied by advertisers at the traffic limit, and n is the number of free advertisers, which is neither zero limit nor traffic limit. Harmonic mean Is calculated for free advertisers. If all advertisers are free, then m = M and n = N, the solution is the same as the formula in Equation 9 above.

제거할 광고주를 집어내기 위한 알고리즘은 음이거나 트래픽 한계를 초과하는 전체 부호가 있는 과도 지출을 본다. The algorithm for picking up the advertiser to remove sees the total signed excess spend that is negative or exceeds the traffic limit.

E<0이면, 제로 한계 이하인 광고주들에 대해 다수의 과도한 지출이 있고, 알고리즘은 최저 시장 값을 가지는 광고주를 제거한다. E≥0이면, 트래픽 한계를 넘는 광고주들에 대해 다수의 과도한 지출이 있고, 알고리즘은 최대 시장 값을 가지는 광고주를 트래픽 한계로 제한한다. 경계 경우 E=0은 시장이 검색 결과 페이지 상의 공간보다 더 적은 광고주들로 붕괴되지 않게 보장하도록 트래픽 한계를 부가하도록 결정된다.If E <0, there are a large number of excessive spending for advertisers below the zero limit, and the algorithm removes the advertiser with the lowest market value. If E≥0, there are a large number of excessive spending for advertisers beyond the traffic limit, and the algorithm limits the advertiser with the maximum market value to the traffic limit. The boundary case E = 0 is determined to add traffic limits to ensure that the market does not collapse into fewer advertisers than the space on the search results page.

복수의 시장 및 복수의 광고주가 있는 경우, 최적의 솔루션은 이들을 독립적으로 다루는 것이다. 단일 광고주에서와 같이, 각 광고주의 시장 값은 모든 시장에 걸친 그의 지출을 제한하는 예산 스케일 인자를 포함한다. 광고주가 예산 제한되지 않는다면, 그의 예산 스케일 인자 λi=1이다. 광고주가 예산 제한된다면, λi<1이다. 첫번째 k가 예산에 제한되는 것들이 되도록 광고주를 다시 번호를 매기려면, 예산 제한을 만족하는 알고리즘은 비선형 방정식의 동시 시스템을 푸는 것이다.If there are multiple markets and multiple advertisers, the optimal solution is to deal with them independently. As with a single advertiser, each advertiser's market value includes a budget scale factor that limits its spending across all markets. If the advertiser is not budget limited, its budget scale factor λ i = 1. If the advertiser is budget constrained, then λ i <1. To renumber the advertiser so that the first k is budget bound, the algorithm that satisfies the budget constraint is to solve a simultaneous system of nonlinear equations.

자유 변수는 그 예산 한계에서 광고주들에 대한 λi이다. aij의 값들은 수학식 7 및 12에 의해 주어지고, 한계 0 및 Aj/Mj에 의해 제한된다. 임의의 뛰어난 방정식 해결자라면 이 시스템을 수치적으로 풀 수 있다.The free variable is λ i for advertisers at that budget limit. The values of a ij are given by equations 7 and 12, and are limited by the limits 0 and A j / M j . Any good equation solver can solve this system numerically.

몇가지 실질적인 문제가 있다. 우선, 광고주의 예산 스케일 인자가 변경됨에 따라 광고주의 시장 값이 변경되므로, 그의 최적 지출은 수학식 14의 시스템을 해결할 때 제로 한계 또는 트래픽 한계 중 하나를 교차할 수 있다. 그러므로, 광고주가 처음에 일부 시장에서 제한되더라도, 수학식 7 및 12를 이용하여 aij를 항상 계산하는 것이 중요하다. 항상 수학식들을 이용함으로써, 광고주의 전체 최적 지출이 제로와 그 최대 값 사이에서 원활하게 가변된다.There are some practical problems. First, since the advertiser's market value changes as the advertiser's budget scale factor changes, his optimal spending may cross either the zero limit or the traffic limit when solving the system of equation (14). Therefore, even if an advertiser is initially limited in some markets, it is important to always calculate a ij using equations (7) and (12). By always using the equations, the advertiser's overall optimal spending smoothly varies between zero and its maximum value.

두 번째로, λi에 대해 풀 때 시장 제한이 변경될 수 있으므로, 알고리즘은 안정된 솔루션에 도달될 때까지 반복되어야 한다. 알고리즘은, 우선 각 시장에서 모든 제로 제한 및 트래픽 제한에 대해 해결하고, m 및 n 값들을 구하며, 예산 제한을 해결하며, m 및 n 값을 확정되게 유지하는 것이다. 임의의 광고주가 예산 한계에 대해 해결하는 동안에 제로 한계 또는 트래픽 한계를 교차하는 경우, 프로세스를 반복한다.Secondly, since the market limit can be changed when solving for λ i , the algorithm must be repeated until a stable solution is reached. The algorithm is to first solve for all zero limits and traffic limits in each market, find m and n values, solve budget constraints, and keep m and n values fixed. If any advertiser crosses the zero limit or traffic limit while solving for the budget limit, the process is repeated.

세 번째로, 알고리즘은 예산 제한에 대해 해결할 때 수학식 14에 어느 광고주를 포함할 지를 결정해야 한다. 알고리즘은 예산이 초과한 임의의 광고주, 및 λi<1인 임의의 광고주를 포함한다. 이러한 조합은 그 예산 한계에 있는 광고주의 워킹 세트를 제공한다. 이러한 워킹 세트는 잘못된 것일 수 있고, 일부 광고주들은 λi=1인 경우라도 실제로는 예산 이하일 수 있다. 이 경우에, 수학식 14는 현재 워킹 세트로는 솔루션을 가지고 있지 않는다. 뛰어난 방정식 해결자라면 가능한 한 많은 예산 제한에 대해 해결할 수 있다. 다음 반복에서, 알고리즘은 워킹 세트에 속하지 않는 광고주들을 제거하고 수학식 14를 해결한다.Third, the algorithm must determine which advertiser to include in equation (14) when solving for budget constraints. The algorithm includes any advertiser over budget, and any advertiser with λ i <1. This combination provides a working set of advertisers that are within their budget limits. This working set may be wrong and some advertisers may actually be below budget even if λ i = 1. In this case, Equation 14 currently has no solution with the working set. A good equation solver can solve as many budget constraints as possible. In the next iteration, the algorithm removes advertisers that do not belong to the working set and solves equation (14).

마지막으로, 광고주의 전체 최적 지출이 그 예산 스케일이 변경됨에 따라 변경되지 않는 영역들이 있다. 이러한 상황은 광고주가 모든 시장에서 제한될 때 발생한다. 도 21은 그 문제를 예시하고 있다. 본 도는 광고주의 전체 최적 경비가 그 예산 스케일의 함수로서 가변되는 방법을 플롯팅한다. 광고주의 최적 지출이 모든 시장에서 제로 한계 이하이므로, 그래프는 좌측에서 편평하고, 그 최적 지출이 모든 시장에서 트래픽 한계 이상이므로, 그래프는 우측에서 편평하다. 이들 편평한 영역들은 숫자 방정식 해결자에 대해 문제를 유발시킬 수 있다.Finally, there are areas where the advertiser's overall optimal spending does not change as its budget scale changes. This situation occurs when advertisers are restricted in all markets. 21 illustrates the problem. This figure plots how the advertiser's overall optimal expense varies as a function of its budget scale. Since the advertiser's optimal spending is below the zero limit in all markets, the graph is flat on the left, and since the optimal spending is above the traffic limit in all markets, the graph is flat on the right. These flat areas can cause problems for numerical equation solvers.

솔루션은 수학식 해결자에게 λi에 대한 경계 제한으로서 2개의 포인트 min λi 및 max λi를 제공하는 것이다. 이들 경계들은 제로 및 1의 통상적인 한계를 대체한다. 단일 시장 내에서, min λi는 광고주가 제로 한계에 도달하는 포인트이고, max λi는 광고주가 트래픽 한계에 도달하는 포인트이다. 이들 값들은 수학식 15와 같다.The solution is to provide a border to the equation solver limited to two points λ i 2 min λ i and max λ i. These boundaries replace the conventional limits of zero and one. Within a single market, min λ i is the point at which the advertiser reaches the zero limit and max λ i is the point at which the advertiser reaches the traffic limit. These values are shown in equation (15).

β의 값은 다음과 같다.The value of β is as follows.

β = 0 광고주가 제한된 경우β = 0 if the advertiser is limited

/n 광고주가 자유로운 경우 / n the advertiser is free

원하는 경계 제한은 모든 시장에 걸친 이들 값들의 최소 및 최대이다. 이러한 제한으로도, 수학식 해결자는 지출 그래프의 중간에서 편평한 영역을 만날 수 있다. 이들 편평한 영역은 광고주가 일부 시장에서는 제로 한계 이하이고 나머지에서는 트래픽 한계 이상인 경우에 드물게 발생한다. 이 경우에, 알고리즘은 진행할 수 있도록 편평한 영역 외부에 있는 λi값으로 방정식 해결자를 재시작하는 것이다.The desired boundary constraint is the minimum and maximum of these values across all markets. Even with this limitation, the equation solver can encounter a flat area in the middle of the expenditure graph. These flat areas rarely occur when an advertiser is below the zero limit in some markets and above the traffic limit in others. In this case, the algorithm is to restart the equation solver with a value of λ i outside of the flat area to proceed.

광고주는 자동적인 최적화를 무시하고, 그 지출을 자신이 조정할 수 있다. 모든 수학식들은 vL에 대한 공식이 변경되는 것을 제외하고는 나머지 광고주들에 대해 계속해서 유효하다. C가 고정된 액수를 지출하는 광고주에 의해 제공되는 전체 금액이라면, vL은 이하와 같다.Advertisers can override the automatic optimization and adjust their spending on their own. All equations continue to be valid for the rest of the advertiser except that the formula for v L is changed. If C is the total amount provided by the advertiser spending a fixed amount, then v L is as follows.

양 vo는 수학식 12로부터의 이전 제로 한계 값이다.The amount v o is the previous zero limit value from (12).

유의할 점은, C=0인 경우에 vL은 vo로 감소된다는 점이다. 다른 관심있는 테스트는 n=1이고 m=M이다. 이 경우에, vo=0이고, 수학식 16은 수학식 5의 원래의 하나의 광고주 결과로 다시 유도된다.Note that v L is reduced to v o when C = 0. Another test of interest is n = 1 and m = M. In this case, v o = 0, and equation (16) leads back to the original one advertiser result of equation (5).

하나의 실시예에서, 가입 방법은 PFP 데이터베이스 검색 시스템에 대해 구현된다. 이 방법은 광고주들에게 특정 비용으로 다수의 검색자 계약을 제공하는 검색 제공자를 포함한다. 검색자 계약은 임프레션, 클릭 또는 클릭스루, 포스트-클릭스루 액션 또는 일부 다른 타입의 계약일 수 있다. 이와 같이, 광고주는 이들이 기꺼이 지불하는 클릭의 개수 또는 액수, 및 따라서 가입자를 선택할 수 있다. 가입은 1개월과 같이 설정된 기간 동안이고, 임의의 상호 동의할수 있는 방식으로 배열될 수 있다. 검색 제공자는 다른 광고주에 대해 다른 비율을 제공하거나, 광고주가 참여하는 검색 리스트 또는 시장의 개수에 따라 다른 비율을 제공할 수 있다. In one embodiment, the subscription method is implemented for a PFP database search system. The method includes a search provider that provides advertisers with multiple searcher contracts at specific costs. The searcher contract may be an impression, click or clickthrough, post-clickthrough action or some other type of contract. As such, advertisers may select the number or amount of clicks they are willing to pay, and thus subscribers. The subscription is for a set period of time, such as one month, and can be arranged in any mutually agreeable manner. The search provider may provide different ratios for different advertisers, or different ratios depending on the number of search lists or markets in which the advertiser participates.

이 방법은 가입하는 광고주들로 가입 어카운트를 개시하는 것을 더 포함한다. 가입 어카운트는 광고주들로부터 지불 신용되어 있고, 검색자 계약이 발생함에 따라 후속적으로 자동으로 인출된다.The method further includes initiating a subscription account with subscribing advertisers. Subscription accounts are paid for by advertisers and subsequently withdrawn automatically as searcher contracts occur.

PFP 데이터베이스 검색 시스템은 후속적으로 검색자들로부터 검색 요구를 수신한다. 이를 검색 요구에 응답하여, 데이터베이스 검색 시스템은 검색 결과를 제공한다. 일부 검색 결과들은 검색 질의가 검색 리스트와 매칭되는 경우에 가입 광고주의 리스트일 수 있다. 가입 광고주 검색 리스트가 검색 리스트의 페이지로 제공된다면, 가입 어카운트는 자동으로 조정된다. 이것은 어카운트에서 가입 광고주에 의해 지불되는 임프레션 또는 클릭스루의 개수를 세고 검색자에게 제공되는 각 검색 리스트에 대해 하나씩 인출함으로써 수행될 수 있다. 가입 관리의 임의의 다른 분류가 이용될 수 있다.The PFP database search system subsequently receives a search request from searchers. In response to the search request, the database search system provides the search results. Some search results may be a list of subscribing advertisers when the search query matches the search list. If a subscription advertiser search list is provided as a page of the search list, the subscription account is automatically adjusted. This may be done by counting the number of impressions or clickthroughs paid by the subscribing advertiser in the account and withdrawing one for each search list provided to the searcher. Any other classification of subscription management can be used.

이제, 도면을 참조하면, 도 1-20은 각 광고주의 최적 지출을 구하기 위한 세부 알고리즘을 제공하는 플로우 다이어그램을 형성한다. 알고리즘의 입력은 다음과 같다.Referring now to the drawings, FIGS. 1-20 form a flow diagram that provides a detailed algorithm for obtaining optimal spending for each advertiser. The input of the algorithm is as follows.

SEARCHES[M] : 시장 M에서의 검색의 회수SEARCHES [M]: Number of searches in market M

SPACES[M] : 검색 결과 페이지 상의 공간의 개수SPACES [M]: the number of spaces on the search results page

ROM[M] : 외부 리턴 레이트ROM [M]: External Return Rate

PROFIT_PER_CLICK[A,M] : 광고주의 클릭당 이익PROFIT_PER_CLICK [A, M]: Profit per click for advertiser

CLICK_RATE[A,M] : 광고주의 클릭-스루 레이트CLICK_RATE [A, M]: Advertiser click-through rate

BUDGE[A] : 광고주의 예산BUDGE [A]: Budget of the advertiser

알고리즘의 출력은 다음과 같다.The output of the algorithm is

SPEND[A,M] : 광고주의 최적 지출액SPEND [A, M]: Advertiser's optimal spend

CONSTRAINT[A,M] : 광고주의 제한 상태CONSTRAINT [A, M]: Restricted status of the advertiser

LAMBDA[A] : 광고주의 예산 스케일 인자LAMBDA [A]: The advertiser's budget scale factor

상세한 설명 전체에 걸쳐, 변수 A는 항상 광고주를 지칭하고, 변수 M은 항상 시장을 지칭한다. BUDGET[A] 및 LAMBDA[A]를 제외한 모든 양이 현재 시장 M에 의존하므로, 그 가독성을 향상시키기 위해 도면에서는 통상 M을 생략한다. 마찬가지로, 도면은 에러 조건 또는 부동소수점 경계 조건, 또는 캐싱 또는 최적화를 위한 기회를 보여주지 않는다. 본 기술분야의 숙련자라면 의사코드를 해석하고 이를 구현하는 효율적인 컴퓨터 프로그램을 저작하는데 전혀 어려움이 없을 것이다. Throughout the description, variable A always refers to the advertiser and variable M always refers to the market. Since all quantities except BUDGET [A] and LAMBDA [A] depend on the current market M, M is usually omitted in the drawings to improve its readability. Likewise, the figures do not show error conditions or floating point boundary conditions, or opportunities for caching or optimization. Those skilled in the art will have no difficulty in writing efficient computer programs that interpret and implement pseudocode.

여기에 설명된 실시예들은 하나 이상의 처리 디바이스 및 연관된 데이터 저장 장비를 동작시키기 위한 컴퓨터 판독가능한 프로그램 코드로서 구현될 수 있다. 하나의 특정 실시예에서, 개시된 방법 및 장치는 데이터베이스 관리 시스템 또는 검색 엔진을 제어하기 위한 C++ 프로그램 코드로서 구현될 수 있다. 다른 실시예에서, 방법 및 장치는 컴퓨터 판독가능한 프로그램 코드를 저장하는 데이터 저장 매체, 여기에 설명된 기능을 수행하는 데이터 처리 장치 또는 임의의 다른 적합한 디바이스로서 구현될 수 있다.The embodiments described herein may be implemented as computer readable program code for operating one or more processing devices and associated data storage equipment. In one particular embodiment, the disclosed methods and apparatus may be implemented as C ++ program code for controlling a database management system or search engine. In other embodiments, the methods and apparatus may be implemented as a data storage medium storing computer readable program code, a data processing apparatus that performs the functions described herein, or any other suitable device.

도 1은 상위 레벨 방법의 하나의 실시예를 도시하고 있다. 본 실시예의 방법은 각 시장에서 제로 및 트래픽 제한에 대해 풀고 나서 예산 제한을 푸는 루프이다. 루프는 현재의 솔루션이 모든 제한을 만족한다고 함수 IS_SOLVED가 지시할 때 종료한다. 최종 단계에서, 알고리즘은 각 광고주의 최적 지출을 출력 변수 SPEND[A,M]에 기록한다.1 illustrates one embodiment of a higher level method. The method of this embodiment is a loop to solve for zero and traffic limits in each market and then solve the budget limits. The loop terminates when the function IS_SOLVED indicates that the current solution meets all the constraints. In the final step, the algorithm records each advertiser's optimal spending in the output variable SPEND [A, M].

이 상위 레벨 방법은 블록 100에서 시작하는 Solve라고 라벨링된 절차이다. 블록 102에서, 절차 INITIALIZE_BUDGET_SCALES가 호출된다. 이 절차는 광고주의 예산 스케일 인자, 람다를 초기화한다. 본 절차의 하나의 실시예는 도 9에 도시되어 있다. 루프는 블록 104에서 시작한다. 블록 106에서, 루핑 변수가 초기화된다. 블록 108에서, 절차 SOLVE_MARKET이 호출된다. 본 절차의 하나의 실시예는 도 2에 도시되어 있다. 이러한 절차는 시장에서 제로 및 트래픽 제한을 만족시킨다. 모든 시장 M이 처리될 될 때까지 블록 110에서 루핑이 계속된다. 블록 112에서, 루프가 야기되어 절차 SOLVE_BUDGET이 호출된다. 이러한 절차의 하나의 실시예는 도 10에 도시되어 있다. 이러한 절차는 각 광고주의 예산 제한을 만족시킨다. 블록 104, 106, 108, 110, 112, 및 114를 포함하는 루프는 절차 IS_SOLVED가 참 값을 리턴할 때까지 처리를 계속한다. 이 절차의 하나의 실시예는 도 17에 도시되어 있다. 이러한 절차는 모든 제로, 트래픽 및 예산 제한이 해결되어 있는지를 결정한다. 그렇지 않다면, 제어는 블록 104로 되돌아간다. 그렇다면, 블록 116에서, 절차 COMPUTE_SPENDING이 호출된다. 이러한 절차는 각 광고주의 최적 지출을 계산한다. 이러한 절차의 하나의 실시예는 도 18에 도시되어 있다. 그리고 나서, 절차 Solve는 블록 118에서 종료한다.This high level method is a procedure labeled Solve starting at block 100. In block 102, the procedure INITIALIZE_BUDGET_SCALES is called. This procedure initializes the advertiser's budget scale factor, lambda. One embodiment of this procedure is shown in FIG. 9. The loop begins at block 104. In block 106, the looping variable is initialized. In block 108, the procedure SOLVE_MARKET is called. One embodiment of this procedure is shown in FIG. This procedure meets the zero and traffic restrictions in the market. Looping continues at block 110 until all market Ms have been processed. At block 112, a loop is caused and the procedure SOLVE_BUDGET is called. One embodiment of such a procedure is shown in FIG. 10. This procedure satisfies each advertiser's budget limit. The loop comprising blocks 104, 106, 108, 110, 112, and 114 continues processing until the procedure IS_SOLVED returns a true value. One embodiment of this procedure is shown in FIG. 17. This procedure determines whether all zero, traffic and budget restrictions are resolved. Otherwise, control returns to block 104. If so, at block 116, the procedure COMPUTE_SPENDING is called. This procedure calculates the optimal spending for each advertiser. One embodiment of such a procedure is shown in FIG. 18. The procedure Solve then ends at block 118.

도 2-8은 제로 및 트래픽 제한을 푸는 단계들을 도시하고 있다. 출력은 시장에서 광고주가 제로 제한되거나, 트래픽 제한되거나 제한되지 않은지 여부를 나타내는 CONTRAINT[A,M] 값이다. 상위 레벨 루프는 도 2에 도시되어 있다. 알고리즘은 처음에 현재 시장에서의 모든 제한들을 NONE으로 초기화하고, 그리고 나서 MARKET_IS_SOLVED가 현재 솔루션이 유효하다는 것을 나타낼 때까지 제한을 반복적으로 부가한다. 각 반복 동안에, 알고리즘은 COMPUTE_MARKET_PARAMETERS를 호출하여 시장을 특징짓는 수학식 7-12의 양을 계산한다.2-8 illustrate steps for solving the zero and traffic restrictions. The output is a CONTRAINT [A, M] value that indicates whether the advertiser is zero restricted, traffic restricted or unrestricted in the market. The high level loop is shown in FIG. The algorithm initially initializes all restrictions in the current market to NONE, and then adds the restrictions repeatedly until MARKET_IS_SOLVED indicates that the current solution is valid. During each iteration, the algorithm calls COMPUTE_MARKET_PARAMETERS to calculate the amount of equations 7-12 that characterize the market.

도 2는 절차 SOLVE_MARKET의 하나의 실시예를 예시한 흐름도이다. 절차는 블록 200에서 시작한다. 블록 202에서, 절차 INITIALIZE_CONSTRAINTS가 호출된다. 이 절차의 하나의 실시예는 도 3에 도시되어 있다. 이러한 절차는 시장에서의 광고주 제한을 초기화한다. 다음으로, 블록 204에서 루프에 들어간다. 블록 206에서, 절차 COMPUTE_MARKET_PARAMETER가 호출된다. 이 절차는 시장을 구성하는 다양한 양들을 계산한다. 이러한 절차의 하나의 실시예는 도 4에 도시되어 있다. 또한, 블록 206에서, 절차 ADD_CONSTRAINT가 호출된다. 이 절차는 가장 중요한 트래픽 또는 제로 상수를 시장에 부가한다. 이러한 절차의 하나의 실시예는 도 6에 도시되어 있다. 블록 208에서, 절차 MARKET_IS_SOLVED에 의해 리턴된 값이 테스트된다. 이러한 절차의 하나의 실시예는 도 8에 도시되어 있다. 이 절차는 모든 시장의 제로 및 트래픽 제한이 해결되어 있는지를 결정한다. 이 절차가 참 값을 리턴하지 않으면, 루핑 동작이 계속된다. 그렇지 않으면, 절차 SOLVE_MARKET은 블록 210에서 종료한다.2 is a flow diagram illustrating one embodiment of a procedure SOLVE_MARKET. The procedure begins at block 200. In block 202, the procedure INITIALIZE_CONSTRAINTS is called. One embodiment of this procedure is shown in FIG. 3. This procedure initiates advertiser restrictions in the market. Next, enter the loop at block 204. At block 206, the procedure COMPUTE_MARKET_PARAMETER is called. This procedure calculates the various quantities that make up the market. One embodiment of this procedure is shown in FIG. 4. Also, at block 206, the procedure ADD_CONSTRAINT is called. This procedure adds the most important traffic or zero constant to the market. One embodiment of this procedure is shown in FIG. 6. At block 208, the value returned by procedure MARKET_IS_SOLVED is tested. One embodiment of this procedure is shown in FIG. 8. This procedure determines if all market zero and traffic restrictions are resolved. If this procedure does not return a true value, the looping operation continues. Otherwise, the procedure SOLVE_MARKET ends at block 210.

도 3은 시장 제한을 초기화하는 알고리즘을 도시하고 있다. 알고리즘은 각 광고주의 제한을 NONE로 설정하는 루프이다. 절차 INITIALIZE_CONSTRAINTS는 블록 300에서 시작한다. 루프는 블록 302에서 들어간다. 고려중인 각 광고주에 대해, 블록 304에서, 광고주에 의해 인덱스되는 어레이 Constraint의 값이 값 NONE로 초기화된다. 블록 306에서 모든 광고주들이 처리될 때까지 루핑이 계속된다. 절차는 블록 308에서 종료한다.3 illustrates an algorithm for initializing market constraints. The algorithm is a loop that sets each advertiser's limit to NONE. Procedure INITIALIZE_CONSTRAINTS starts at block 300. The loop enters at block 302. For each advertiser under consideration, at block 304, the value of the array Constraint indexed by the advertiser is initialized to the value NONE. Looping continues until all advertisers are processed at block 306. The procedure ends at block 308.

도 4는 수학식 7-12에 의해 주어지는 다양한 시장 파라미터를 계산하는 방법의 하나의 실시예를 도시하고 있다. 방법은 블록 400에서 시작한다. 블록 402에서, 절차 COMPUTE_SUMS가 호출된다. COMPUTE_SUMS는 예비 양 FREE_SPACES, FREE_ADVERTISERS 및 Z, 즉 수학식 10D서 주어지는 조화 평균값의 분모를 계산한다. 이들 양들은 나머지 공식에서 나타난다. 방법은 수학식 12에 의해 주어지는 V_L에 대한 공식을 이용하지만, 일부 광고주들이 수동으로 그 지출을 조정한다면, 더 일반적인 수학식 16을 동일하게 잘 이용한다. 절차 COMPUTE_SUMS의 하나의 실시예는 도 5에 도시되어 있다. 블록 404에서, V_Bar의 값이 계산되고 블록 406에서 값 V_L이 계산된다. 블록 408에서, 변수 TOTAL_MARKET_SPEND의 값이 정의된다. 방법은 블록 410에서 종료한다.4 illustrates one embodiment of a method for calculating the various market parameters given by Equations 7-12. The method begins at block 400. At block 402, the procedure COMPUTE_SUMS is called. COMPUTE_SUMS calculates the denominators of the preliminary amounts FREE_SPACES, FREE_ADVERTISERS and Z, i.e., the harmonic mean values given by Equation 10D. These quantities appear in the rest of the formula. The method uses the formula for V_L given by Equation 12, but if some advertisers manually adjust their spending, they use the more general Equation 16 equally well. One embodiment of the procedure COMPUTE_SUMS is shown in FIG. At block 404, the value of V_Bar is calculated and at block 406 the value V_L is calculated. At block 408, the value of the variable TOTAL_MARKET_SPEND is defined. The method ends at block 410.

도 5는 FREE_ADVERTISERS, FREE_SPACES 및 Z를 계산하는 절차의 하나의 실시예를 도시하고 있다. FREE_ADVERTISERS는 제한되지 않은 광고주의 개수를 카운트한다. FREE_SPACES는 트래픽 제한된 광고주에 의해 차지되지 않은 검색 결과 페이지 상의 자유로운 공간의 개수를 카운트한다. Z는 각 자유로운 광고주의 역수 시장 값의 합이다. 절차는 모든 광고주들에 대해 루프를 이용하여 이들 양들을 계산한다.5 illustrates one embodiment of a procedure for calculating FREE_ADVERTISERS, FREE_SPACES, and Z. FREE_ADVERTISERS counts an unlimited number of advertisers. FREE_SPACES counts the number of free spaces on the search results page that are not occupied by traffic restricted advertisers. Z is the sum of the inverse market values of each free advertiser. The procedure calculates these quantities using a loop for all advertisers.

절차는 블록 500에서 시작한다. 블록 503에서, FREE_ADVERTISERS, FREE_SPACES 및 Z가 초기화된다. 블록 504에서, 광고주를 루핑 인덱스로서 이용하여 루프가 들어간다. 블록 606에서, 광고주에 대한 제한이 NONE과 동일한지가 결정된다. 그렇다면, 블록 508에서, FREE_ADVERTISERS 및 Z의 값이 증가된다. 그리고 나서, 제어는 블록 514로 진행한다. 그렇지 않으면, 블록 510에서 광고주에 대한 Constraint의 값이 Traffic과 동일하다면, 블록 512에서 Free_Space의 값이 감소된다. 블록 514에서, 모든 광고주들이 처리될 때까지 루핑 동작이 계속된다. 절차는 블록 516에서 종료한다.The procedure begins at block 500. In block 503, FREE_ADVERTISERS, FREE_SPACES and Z are initialized. At block 504, a loop enters using the advertiser as a looping index. At block 606, it is determined whether the restriction for the advertiser is equal to NONE. If so, then at block 508 the values of FREE_ADVERTISERS and Z are incremented. Control then passes to block 514. Otherwise, if the value of Constraint for the advertiser in block 510 is equal to Traffic, then in block 512 the value of Free_Space is reduced. At block 514, the looping operation continues until all advertisers have been processed. The procedure ends at block 516.

도 6은 가장 중요한 트래픽 또는 제로 제한을 CONTRAINT[A,M] 값에 부가하는 알고리즘을 도시하고 있다. 시장이 해결되어 있다면, 할 것이 아무것도 없다. 그렇지 않으면, 알고리즘은 EXCESS_SPEND의 부호에 따라 제로 제한 또는 트래픽 제한 중 하나를 부가한다. 과도 지출이 음이라면, 알고리즘은 가장 작은 시장 값을 가지는 자유로운 광고주에 대해 제로 제한을 부가한다. 과도 지출이 제로 또는 양이라면, 알고리즘은 가장 큰 시장값을 가지는 자유로운 광고주에 대해 트래픽 제한을 부가한다.6 shows an algorithm that adds the most important traffic or zero limit to the CONTRAINT [A, M] value. If the market is solved, there is nothing to do. Otherwise, the algorithm adds either a zero limit or a traffic limit, depending on the sign of EXCESS_SPEND. If the overspending is negative, the algorithm imposes a zero limit on the free advertiser with the smallest market value. If the overspending is zero or positive, the algorithm adds a traffic limit to the free advertiser with the largest market value.

절차는 블록 600에서 시작한다. 블록 602에서, 절차는 절차 MARKET_SOLVED를 호출함으로써 시장이 해결되어 있는지를 테스트한다. 이러한 절차의 하나의 실시예는 도 8에 도시되어 있다. 시장이 해결되면, 절차는 종료하고 제어는 호출 프로세스로 리턴한다. 그렇지 않으면, 블록 604에서, 절차 EXCESS_SPEND가 호출된다. 이 절차의 하나의 실시예는 도 7에 도시되어 있다. EXCESS_SPEND에 의해 리턴된 값이 제로보다 작으면, 블록 606에서, 알고리즘은 가장 작은 시장 값을 가지는 자유로운 광고주 A에 대해 제로 제한을 부가한다. EXCESS_SPEND에 의해 리턴된 값이 제로 또는 양이라면, 블록 608에서 알고리즘은 가장 큰 시장값을 가지는 자유로운 광고주 A에 대해 트래픽 제한을 부가한다. 절차는 블록 610에서 종료한다.The procedure begins at block 600. At block 602, the procedure tests whether the market is resolved by calling procedure MARKET_SOLVED. One embodiment of this procedure is shown in FIG. 8. When the market is resolved, the procedure ends and control returns to the calling process. Otherwise, at block 604, the procedure EXCESS_SPEND is called. One embodiment of this procedure is shown in FIG. If the value returned by EXCESS_SPEND is less than zero, then at block 606, the algorithm adds a zero limit to the free advertiser A with the smallest market value. If the value returned by EXCESS_SPEND is zero or positive, then at block 608 the algorithm adds a traffic limit to the free advertiser A with the largest market value. The procedure ends at block 610.

도 7은 상기 수학식 13에 의해 주어지는 전체 부호가 있는 과도 지출을 계산하는 알고리즘을 도시하고 있다. 이는 과도 경비의 실행 전체를 유지하고, V_L보다 작거나 V_U보다 큰 값을 가지는 모든 광고주들로부터 액수에 부가한다. 알고리즘은 제로 제한되거나 트래픽 제한된 임의의 광고주를 무시한다.Fig. 7 shows an algorithm for calculating the total signed excess expenditure given by Eq. This maintains the overall execution of the excessive expense and adds to the amount from all advertisers that have a value less than V_L or greater than V_U. The algorithm ignores any advertisers that are zero or traffic limited.

절차는 블록 700에서 시작한다. 블록 702에서, 변수 EXCESS_SPEND의 값이 0으로 초기화된다. 루핑 동작은 블록 704에서 광고주 A를 루핑 인덱스로 이용하여 개시된다. 루프에서, 블록 706에서, 현재 인덱스된 광고주 A에 대한 값이 V_L, 최저 가능한 자유 값보다 작은지가 결정된다. 그렇다면, 블록 708에서, 광고주 A에 대한 제한이 없다면, 변수 EXCESS_SPEND가 도 7, 블록 708에 도시된 값만큼 증가된다. 그리고 나서, 제어는 블록 714로 진행한다. 블록 710에서, 현재 인덱스된 광고주 A에 대한 값이 V_U, 최대 가능한 자유 값보다 크다면, 제어는 블록 712로 진행한다. 광고주 A에 대한 제한이 없다면, EXCESS_SPEND의 값이 도 7, 블록 712에 도시된 값만큼 증가된다. 그리고 나서, 제어는 블록 714로 진행한다. 루핑 동작은 모든 광고주들이 처리될 때까지 반복된다. 절차는 블록 716에서 종료한다.The procedure begins at block 700. In block 702, the value of the variable EXCESS_SPEND is initialized to zero. The looping operation is initiated at block 704 using Advertiser A as the looping index. In a loop, at block 706 it is determined whether the value for the currently indexed advertiser A is less than V_L, the lowest possible free value. If so, at block 708, if there is no restriction on advertiser A, the variable EXCESS_SPEND is increased by the value shown in FIG. 7, block 708. Control then passes to block 714. At block 710, if the value for the currently indexed advertiser A is greater than V_U, the maximum possible free value, control passes to block 712. If there is no limit for advertiser A, the value of EXCESS_SPEND is increased by the value shown in FIG. 7, block 712. FIG. Control then passes to block 714. The looping operation is repeated until all advertisers have been processed. The procedure ends at block 716.

도 8은 현재 CONSTRAINT[A,M] 값이 유효한 솔루션인지 여부를 결정하는 알고리즘을 도시하고 있다. 각 자유로운 광고주에 대해, 알고리즘은 그 값이 최저 가능 자유값 V_L보다 작은지 또는 최대 가능 자유값 V_U보다 큰 지를 알기 위해 체크한다. 현재 솔루션은 모든 자유 광고주들이 이들 한계내에 들어가는 경우에만 유효하다.8 shows an algorithm for determining whether the current CONSTRAINT [A, M] value is a valid solution. For each free advertiser, the algorithm checks to see if the value is less than the lowest possible free value V_L or greater than the maximum possible free value V_U. The current solution is only valid if all free advertisers fall within these limits.

절차는 블록 800에서 시작한다. 블록 802에서, 루핑 동작은 광고주 A를 인텍스로서 이용하여 개시된다. 블록 804에서, 광고주 A에 대한 값이 V_L과 비교된다. 값이 V_L보다 작으면, 블록 806에서, 광고주 A에 대한 제한이 없는 경우에, 값 NO가 절차에 의해 리턴된다. 제어는 블록 812로 진행한다. 광고주 A에 대한 값이 블록 804에서 V_L보다 작지 않으면, 블록 808에서 이 값은 V_U에 대해 테스트된다. V_U를 초과하면, 블록 810에서, 광고주 A에 대해 제한이 없는 경우에, 절차는 값 NO를 리턴한다. 제어는 블록 812로 진행한다. 추가 광고주가 남아있다면, 루핑 동작은 블록 802에서 계속된다. 모든 광고주들이 절차에 대해 값 NO를 리턴하지 않고 처리되었다면, 제어는 루프를 나와, 블록 814에서 절차는 값 YES를 리턴하고, 이는 시장이 해결되었다는 것을 나타낸다. 절차는 블록 816에서 종료한다.The procedure begins at block 800. At block 802, the looping operation is initiated using Advertiser A as an index. At block 804, the value for advertiser A is compared with V_L. If the value is less than V_L, then at block 806, if there is no restriction for advertiser A, the value NO is returned by the procedure. Control passes to block 812. If the value for advertiser A is not less than V_L in block 804, then this value is tested for V_U in block 808. If V_U is exceeded, then at block 810, if there is no limit for advertiser A, the procedure returns the value NO. Control passes to block 812. If additional advertisers remain, the looping operation continues at block 802. If all advertisers were processed without returning the value NO for the procedure, control exits the loop, and at block 814 the procedure returns the value YES, indicating that the market has been resolved. The procedure ends at block 816.

도 9는 예산 스케일 인자를 초기화하는 알고리즘을 도시하고 있다. 알고리즘은 각 광고주의 예산 스케일 인자를 1로 설정하는 루프이다. 절차는 SOLVE 알고리즘의 시작 시에 한번 호출된다.9 illustrates an algorithm for initializing a budget scale factor. The algorithm is a loop that sets the budget scale factor of each advertiser to one. The procedure is called once at the start of the SOLVE algorithm.

절차는 블록 900에서 시작한다. 블록 902에서, 루핑 동작은 광고주 A를 루핑 인덱스로서 이용하여 들어간다. 블록 904에서, 광고주에 대한 예산 스케일 인자 LAMBDA가 1의 값으로 초기화된다. 블록 906에서, 루핑 동작은 모든 광고주들이 처리될 때까지 계속된다. 절차는 블록 908에서 종료한다.The procedure begins at block 900. At block 902, the looping operation enters using advertiser A as a looping index. At block 904, the budget scale factor LAMBDA for the advertiser is initialized with a value of one. At block 906, the looping operation continues until all advertisers have been processed. The procedure ends at block 908.

도 10-15는 예산 스케일 인자 LAMBDA[A]에 대해 푸는 단계들을 도시하고 있다. 상위 레벨 알고리즘은 도 10에 도시되어 있다. 알고리즘은 그 예산 한계에 있는 광고주의 워킹 세트를 계산함으로써 시작한다. 그리고 나서, 알고리즘은 변수 벡터를 생성하여 수학식 해결자에게 워킹 세트에서 각 광고주에 대해 하나의 변수로 패스한다. 각 변수는 연관된 상한 및 하한을 가지고 있다. SET_TO_ZERO 함수는 각 광고주의 전체 지출이 정확하게 그의 예산과 매칭하도록 LAMDBA[A]를 조정하는 외부 수학식 해결자이다. 임의의 수학식 해결자는 경계 제한을 가진 비선형 수학식의 시스템을 풀 수 있는 한 작용한다. 수학식 해결자로의 입력은 벡터 목적 함수 BUDGET_ERROR, 변수의 개수 N, 조정하는 변수 벡터, 및 경계 제한이다. 실행함에 따라, SET_TO_ZERO는 BUDGET_ERROR(I)를 호출하여 목적 함수의 I번째 성분을 평가한다. 솔루션을 구하면, 모든 I에 대해 제로와 동일한 BUDGET_ERROR(I)로 종료한다. 솔루션이 없다면, 그 상한에서 하나 이상의 LAMBDA[A]로 종료하고, 알고리즘은 다음 반복시 워킹 세트에서 대응하는 광고주를 제거한다. 10-15 illustrate the steps for solving for the budget scale factor LAMBDA [A]. The high level algorithm is shown in FIG. The algorithm starts by calculating an advertiser's working set that is at its budget. The algorithm then generates a variable vector and passes it to the equation solver as one variable for each advertiser in the working set. Each variable has an associated upper and lower bound. The SET_TO_ZERO function is an external equation solver that adjusts LAMDBA [A] so that each advertiser's overall spending exactly matches his budget. Any equation solver works as long as it can solve a system of nonlinear equations with boundary constraints. Inputs to the equation solver are the vector objective function BUDGET_ERROR, the number of variables N, the variable vector to adjust, and the boundary constraints. As it executes, SET_TO_ZERO calls BUDGET_ERROR (I) to evaluate the I-th component of the objective function. Once the solution is found, we exit with BUDGET_ERROR (I) equal to zero for all I's. If there is no solution, terminate with one or more LAMBDA [A] at the upper limit, and the algorithm removes the corresponding advertiser from the working set on the next iteration.

도 10은 예산 스케일 인자에 대해 해결하는 절차 SOLVE_BUDGETS의 하나의 실시예를 예시하고 있다. 절차는 블록 1000에서 시작한다. 블록 1002에서, 변수 N은 0으로 초기화되고, 변수 WORKING_SET는 절차 BUDGET_LIMITED_ADVERTISERS의 결과와 동일하게 설정된다. 이 절차의 하나의 실시예는 도 12에 도시되어 있다. 블록 1004에서, 루핑 동작은 광고주 A를 루핑 인덱스로서 이용하여 개시된다. 블록 1006에서, 변수 N이 증가되고, 변수 N에 의해 인덱스된 벡터 VARIABLES의 엔트리가 현재 광고주에 대한 벡터 LAMBDA의 엔트리로의 참조와 동일하게 설정된다. 절차 MIN_LAMBDA가 호출되어 변수 LOWER_BOUND에 대한 값을 결정한다. MIN_LAMBDA는 광고주가 어느 곳에서든지 제로 제한되기 이전에 현재 인덱스된 광고주의 최소 람다를 계산한다. 이러한 절차의 하나의 실시예는 도 13에 도시되어 있다. 그리고 나서, 절차 MAX_LAMBDA는 변수 UPPER_BOUND에 대한 값을 결정하는데 이용된다. MAX_LAMBDA는 광고주가 어느 곳에서든지 트래픽 제한되기 이전에 현재 인덱스된 광고주의 최대 람다를 계산한다. 이 절차의 하나의 실시예는 도 14에 도시되어 있다. 블록 1008에서, 루핑 동작은 모든 광고주 A가 처리될 때까지 계속된다.10 illustrates one embodiment of a procedure SOLVE_BUDGETS for solving for a budget scale factor. The procedure begins at block 1000. At block 1002, variable N is initialized to zero and variable WORKING_SET is set equal to the result of procedure BUDGET_LIMITED_ADVERTISERS. One embodiment of this procedure is shown in FIG. 12. At block 1004, the looping operation is initiated using Advertiser A as the looping index. In block 1006, the variable N is incremented and the entry of the vector VARIABLES indexed by the variable N is set equal to the reference to the entry of the vector LAMBDA for the current advertiser. Procedure MIN_LAMBDA is called to determine the value for the variable LOWER_BOUND. MIN_LAMBDA calculates the minimum lambda of the currently indexed advertiser before the advertiser is restricted to zero anywhere. One embodiment of such a procedure is shown in FIG. 13. Then, the procedure MAX_LAMBDA is used to determine the value for the variable UPPER_BOUND. MAX_LAMBDA calculates the maximum lambda of the currently indexed advertiser before the advertiser is restricted from traffic anywhere. One embodiment of this procedure is shown in FIG. 14. At block 1008, the looping operation continues until all advertisers A have been processed.

루핑 동작을 완료한 후, 블록 1010에서, 절차 SET_TO_ZERO가 호출되어 상기 설명된 바와 같이 입력, 함수 BUDGET_ERROR에 의해 정의된 수학식 시스템을 푼다. 이러한 함수의 하나의 실시예는 도 11에 도시되어 있다. SOLVE_BUDGETS 절차는 블록 1012에서 종료한다.After completing the looping operation, at block 1010, procedure SET_TO_ZERO is called to solve the mathematical system defined by the input, function BUDGET_ERROR as described above. One embodiment of such a function is shown in FIG. The SOLVE_BUDGETS procedure ends at block 1012.

도 11은 워킹 세트의 광고주가 예산 초과하거나 미만인 액수를 계산하는 절차를 도시하고 있다. 절차는 워킹 세트로부터 I번째 광고주를 검색하고, 그 현재 전체 지출과 그 예산 한계 간의 차이를 리턴한다.11 shows a procedure for calculating an amount for an advertiser in a working set that is above or below a budget. The procedure retrieves the I-th advertiser from the working set and returns the difference between its current total spending and its budget limit.

절차 BUDGET_ERROR는 블록 1100에서 시작한다. 블록 1102에서, I번째 광고주가 검색된다. 블록 1104에서, BUDGET_ERROR의 값이 절차 TOTAL_SPEND에 의해 리턴된 결과와 광고주 A에 대한 BUDGET_LIMIT간의 차이로서 계산된다. 절차 TOTAL_SPEND의 하나의 실시예가 도 16에 도시되어 있다. 절차는 블록 1106에서 종료한다.Procedure BUDGET_ERROR begins at block 1100. In block 1102, the I th advertiser is retrieved. In block 1104, the value of BUDGET_ERROR is calculated as the difference between the result returned by procedure TOTAL_SPEND and BUDGET_LIMIT for advertiser A. One embodiment of the procedure TOTAL_SPEND is shown in FIG. 16. The procedure ends at block 1106.

도 12는 그 예산 한계에 있는 광고주의 워킹 세트를 계산하는 절차의 하나의 실시예를 도시하고 있다. 워킹 세트는 그 예산을 초과하거나 최대 가능값보다 작은 LAMBDA[A]를 가지는 모든 광고주들을 포함한다. 알고리즘은 이들 2가지 예산 한계 조건 중 하나를 만족시키는 모든 광고주를 워킹 세트에 부가한다.12 illustrates one embodiment of a procedure for calculating a working set of advertisers at their budget limits. The working set includes all advertisers with a LAMBDA [A] that exceeds its budget or is less than the maximum possible value. The algorithm adds to the working set all advertisers that meet one of these two budgetary constraints.

절차는 블록 1200에서 시작한다. 블록 1202에서, 변수 BUDGET_LIMITED_ADVERTISERS가 초기화된다. 루핑 동작은 블록 1204에서 광고주 A를 루핑 인덱스로서 이용하여 초기화된다. 블록 1206에서, 광고주 A에 대한 절차 TOTAL_SPEND의 현재 값이 광고주 A에 대한 예산을 초과하는지가 결정된다. 절차 TOTAL_SPEND의 하나의 실시예가 도 16에 도시되어 있다. 블록 1206에서 테스트된 조건이 참이면, 변수 BUDGET_LIMITED_ADVERTISERS의 값이 블록 1208에서 광고주 A에 대한 예산만큼 증가된다. 그렇지 않다면, 블록 1210에서, 현재 인덱스된 광고주에 대한 람다 값이 광고주 A에 대한 MAX_LAMBDA의 현재 값보다 적은 지를 결정한다. 절차 MAX_LAMBDA의 하나의 실시예가 도 14에 도시되어 있다. 그렇다면, 블록 1212에서, 변수 BUDGET_LIMITED_ADVERTISERS의 값이 광고주 A에 대한 예산만큼 증가된다. 그렇지 않으면, 제어는 블록 1214로 진행한다.The procedure begins at block 1200. In block 1202, the variable BUDGET_LIMITED_ADVERTISERS is initialized. The looping operation is initialized at block 1204 using Advertiser A as a looping index. In block 1206, it is determined whether the current value of the procedure TOTAL_SPEND for advertiser A exceeds the budget for advertiser A. One embodiment of the procedure TOTAL_SPEND is shown in FIG. 16. If the condition tested in block 1206 is true, then the value of the variable BUDGET_LIMITED_ADVERTISERS is increased by the budget for advertiser A in block 1208. If not, then at block 1210, determine if the lambda value for the currently indexed advertiser is less than the current value of MAX_LAMBDA for advertiser A. One embodiment of the procedure MAX_LAMBDA is shown in FIG. 14. If so, at block 1212 the value of the variable BUDGET_LIMITED_ADVERTISERS is increased by the budget for advertiser A. Otherwise, control passes to block 1214.

블록 1214에서, 추가 광고주가 남아있는 경우, 제어는 블록 1204로 리턴한다. 그렇지 않으면, 모든 광고주가 처리되었다면, 절차는 블록 1216에서 종료한다.At block 1214, control returns to block 1204 if additional advertisers remain. Otherwise, if all advertisers have been processed, the procedure ends at block 1216.

도 13은 광고주의 최적 지출이 모든 시장에서 음이 되기 전에 광고주가 가질 수 있는 최소 LAMBDA[A]를 계산하는 절차의 하나의 실시예를 도시하고 있다. 각 시장에 대해, 알고리즘은 수학식 15를 이용하여 광고주의 최소 LAMBDA[A]를 계산한다. 모든 시장에 대해 최소는 임의의 시장내의 최소값이다.FIG. 13 illustrates one embodiment of a procedure for calculating the minimum LAMBDA [A] an advertiser may have before the advertiser's optimal spending is negative in all markets. For each market, the algorithm calculates the advertiser's minimum LAMBDA [A] using equation (15). For all markets the minimum is the minimum in any market.

절차는 블록 1300에서 시작한다. 블록 1302에서, 변수 MIN_LAMBDA의 값이 1로 초기화된다. 루핑 동작은 블록 1304에서 시장 M을 루핑 인덱스로서 이용하여 들어간다. 블록 1306, 1308에서, 상기 수학식 15가 구현되어 광고주에 대한 최소 람다를 결정한다. 블록 1310에서, 처리될 추가 시장이 남아있는 경우, 제어는 블록 1304로 리턴한다. 그렇지 않으면, 절차는 블록 1312에서 종료한다.The procedure begins at block 1300. At block 1302, the value of variable MIN_LAMBDA is initialized to one. The looping operation enters at block 1304 using market M as the looping index. In blocks 1306 and 1308, Equation 15 is implemented to determine the minimum lambda for the advertiser. At block 1310, control returns to block 1304 if there are additional markets to be processed. Otherwise, the procedure ends at block 1312.

도 14는 광고주가 모든 시장에서 트래픽 한계에 도달하기 이전에 광고주가 가질 수 있는 최대 LAMBDA[A]를 계산하는 하나의 절차를 도시하고 있다. 각 시장에 대해, 알고리즘은 수학식 15를 이용하여 광고주의 최대 LAMBDA[A]를 계산한다. 모든 시장에 대한 최대는 임의의 시장내의 최대값이다. 14 shows one procedure for calculating the maximum LAMBDA [A] an advertiser may have before reaching the traffic limit in all markets. For each market, the algorithm calculates the advertiser's maximum LAMBDA [A] using equation (15). The maximum for all markets is the maximum in any market.

절차는 블록 1400에서 시작한다. 블록 1402에서, 변수 MAX_LAMBDA는 0으로 초기화된다. 루핑 동작은 블록 1404에서 시장 M을 루핑 인덱스로 이용하여 시작한다. 블록 1406, 1408에서, 상기 수학식 15가 구현되어 광고주에 대한 최대 람다를 결정한다. 루핑은 모든 시장이 처리될 때까지 블록 1410에서 계속된다. 절차는 블록 1412에서 종료한다.The procedure begins at block 1400. At block 1402, the variable MAX_LAMBDA is initialized to zero. The looping operation begins at block 1404 using market M as the looping index. In blocks 1406 and 1408, Equation 15 is implemented to determine the maximum lambda for the advertiser. Looping continues at block 1410 until all markets have been processed. The procedure ends at block 1412.

도 15는 임의의 예산 제한 위반이 있는지를 결정하는 절차 BUDGET_ARE_SOLVED의 하나의 실시예를 예시하고 있다. 알고리즘은 모든 광고주가 그 예산을 초과하지 않고 LAMBDA[A]의 최대 가능값을 가지는 것을 보장하도록 체크한다. 알고리즘은 모든 광고주들이 이 조건을 만족할 때에만 YES를 리턴한다.15 illustrates one embodiment of a procedure BUDGET_ARE_SOLVED to determine if there are any budget constraint violations. The algorithm checks to ensure that all advertisers have a maximum possible value of LAMBDA [A] without exceeding its budget. The algorithm returns YES only if all advertisers satisfy this condition.

절차는 블록 1502에서 시작한다. 루핑은 블록 1504에서 각 광고주 A에 대해 시작한다. 블록 1506에서, 광고주 A에 대한 절차 TOTAL_SPEND에 의해 리턴된 결과는 광고주 A의 예산과 비교된다. 절차 TOTAL_SPEND의 하나의 실시예는 도 16에 도시되어 있다. 결과가 예산보다 크다면, 절차는 블록 1508에서 값 NO을 리턴한다. 그렇지 않으면, 블록 1510에서, 절차 TOTAL_SPEND에 의해 리턴된 결과가 광고주에 대한 예산보다 적다면, 단계 1512에서, 광고주에 대한 람다가 광고주에 대한 절차 MAX_LAMBDA에 의해 리턴된 값보다 작은 경우에, 값 NO가 절차에 의해 리턴된다. 절차 MAX_LAMBDA의 하나의 실시예는 도 15에 도시되어 있다. 블록 1512에서, 모든 광고주들이 처리될 때까지 루핑이 계속된다. 어떤 광고주도 루프를 통한 반복 동안에 값 NO를 리턴하지 않는다면, 블록 1514에서, 값 YES가 리턴되고, 절차는 블록 1516에서 종료한다. The procedure begins at block 1502. The looping starts for each advertiser A in block 1504. At block 1506, the result returned by the procedure TOTAL_SPEND for advertiser A is compared with advertiser A's budget. One embodiment of the procedure TOTAL_SPEND is shown in FIG. 16. If the result is greater than the budget, the procedure returns the value NO at block 1508. Otherwise, if at block 1510 the result returned by procedure TOTAL_SPEND is less than the budget for the advertiser, then at step 1512, if the lambda for the advertiser is less than the value returned by procedure MAX_LAMBDA for the advertiser, the value NO Returned by the procedure. One embodiment of the procedure MAX_LAMBDA is shown in FIG. 15. At block 1512, looping continues until all advertisers have been processed. If no advertiser returns a value NO during iteration through the loop, then at block 1514 the value YES is returned and the procedure ends at block 1516.

도 16은 전체 시장에 대해 광고주의 전체 최적 지출을 계산하는 절차 TOTAL_SPEND의 하나의 실시예를 도시하고 있다. 이는 OPTIMAL_SPEND(A,M)을 이용하여 각 시장에서의 액수를 계산하고 결과를 실행 전체에서 합산한다.FIG. 16 illustrates one embodiment of a procedure TOTAL_SPEND for calculating an advertiser's overall optimal spending for an entire market. It uses OPTIMAL_SPEND (A, M) to calculate the amount in each market and adds the results throughout the run.

절차는 블록 1600에서 시작한다. 블록 1602에서, 변수 TOTAL_SPEND의 값이 0으로 초기화된다. 각 시장 M에 대해 블록 1604, 1606, 1608을 포함하는 루프에서, 변수 TOTAL_SPEND의 값이 절차 OPTIMAL_SPEND에 의해 리턴된 결과에 의해 증가된다. 이러한 절차의 하나의 실시예가 도 19에 도시되어 있다. 모든 시장들이 처리된 후, 절차는 블록 1610에서 종료한다.The procedure begins at block 1600. At block 1602, the value of variable TOTAL_SPEND is initialized to zero. In the loop containing blocks 1604, 1606, 1608 for each market M, the value of the variable TOTAL_SPEND is increased by the result returned by the procedure OPTIMAL_SPEND. One embodiment of such a procedure is shown in FIG. 19. After all markets have been processed, the procedure ends at block 1610.

도 17은 현재의 CONSTRAINT[A,M] 및 LAMBDA[A] 값들이 모든 제로, 트래픽 및 예산 한계를 만족하는지 여부를 결정하는 절차 IS_SOLVED의 하나의 실시예를 도시하고 있다. 알고리즘은 우선 모든 시장이 제로 및 트래픽 제한을 만족하는 것을 보장하도록 체크한다. 그리고 나서, 알고리즘은 모든 광고주가 그 예산 한계를 만족시키는 것을 보장하도록 체크한다. 알고리즘은 모든 조건들이 참인 경우에만 YES를 리턴한다.FIG. 17 illustrates one embodiment of a procedure IS_SOLVED for determining whether current CONSTRAINT [A, M] and LAMBDA [A] values meet all zero, traffic and budget limits. The algorithm first checks to ensure that all markets meet the zero and traffic limits. The algorithm then checks to ensure that all advertisers meet their budget limits. The algorithm returns YES only if all conditions are true.

절차는 블록 1700에서 시작한다. 블록 1702에서, 시장 M을 루핑 변수로서 이용하는 루프가 들어간다. 블록 1704에서, 절차 MARKET_IS_SOLVED에 의해 리턴된 값이 테스트된다. 절차 MARKET_IS_SOLVED의 하나의 실시예가 도 8에 도시되어 있다. 절차가 음의 값을 리턴한다면, 절차 IS_SOLVED는 값 NO를 리턴한다. 그렇지 않으면, 블록 1706에서, 루핑은 계속해서 다른 시장 M을 테스트한다. 일단 모든 시장이 테스트되면, 절차 BUDGETS_ARE_SOLVED에 의해 리턴된 값이 테스트된다. 절차 BUDGETS_ARE_SOLVED의 하나의 실시예가 도 15에 도시되어 있다. 이러한 절차가 양의 값을 리턴하지 않는다면, 절차 IS_SOLVED는 단계 1708에서 값 NO를 리턴한다. 그렇지 않으면, 블록 1710에서, 절차는 값 YES를 리턴한다. 절차는 블록 1712에서 종료한다.The procedure begins at block 1700. At block 1702, a loop enters using market M as a looping variable. At block 1704, the value returned by procedure MARKET_IS_SOLVED is tested. One embodiment of the procedure MARKET_IS_SOLVED is shown in FIG. 8. If the procedure returns a negative value, the procedure IS_SOLVED returns the value NO. Otherwise, at block 1706, the looping continues to test another market M. Once all markets have been tested, the value returned by the procedure BUDGETS_ARE_SOLVED is tested. One embodiment of the procedure BUDGETS_ARE_SOLVED is shown in FIG. 15. If this procedure does not return a positive value, then procedure IS_SOLVED returns the value NO in step 1708. Otherwise, at block 1710, the procedure returns the value YES. The procedure ends at block 1712.

도 18은 각 시장에서 각 광고주에 대한 최종 최적 지출 액수를 기록하는 절차 COMPUTE_SPENDING의 하나의 실시예를 도시하고 있다. 알고리즘은 각 SPEND[A,M] 값을 OPTIMAL_SPEND(A,M)의 현재 값으로 설정하는 루프이다.18 illustrates one embodiment of a procedure COMPUTE_SPENDING for recording the final optimal spending amount for each advertiser in each market. The algorithm is a loop that sets each SPEND [A, M] value to the current value of OPTIMAL_SPEND (A, M).

절차는 블록 1700에서 시작한다. 블록 1702에서, 외부 루프는 광고주 A를 루핑 변수로서 이용함으로써 들어간다. 블록 1704에서, 내부 루프는 시장 M을 루핑 변수로서 이용함으로써 들어간다. 블록 1806에서, 어레이 SPEND의 엔트리는 절차 OPTIMAL_SPEND에 의해 리턴되는 현재 값들로 설정된다. 이러한 절차의 하나의 실시예는 도 19에 도시되어 있다. 모든 시장들이 광고주 A의 값에 대해 처리된 후, 회부 루프에 대한 루핑 변수로서의 광고주의 값이 증가된다. 모든 광고주들이 처리된 후, 절차는 블록 1812에서 종료한다.The procedure begins at block 1700. In block 1702, the outer loop enters by using advertiser A as a looping variable. At block 1704, the inner loop enters by using market M as a looping variable. At block 1806, an entry of the array SPEND is set to current values returned by the procedure OPTIMAL_SPEND. One embodiment of such a procedure is shown in FIG. 19. After all markets have been processed for advertiser A's value, the advertiser's value as a looping variable for the referral loop is increased. After all advertisers have been processed, the procedure ends at block 1812.

도 19는 수학식 7을 이용하여 단일 시장에서 광고주의 최적 지출을 계산하는 절차 OPTIMAL_SPEND의 하나의 실시예를 도시하고 있다. 값이 제로보다 작거나 트래픽 한계보다 큰 경우에, 알고리즘은 이를 적절한 값으로 제한한다.FIG. 19 illustrates one embodiment of a procedure OPTIMAL_SPEND for calculating an advertiser's optimal spending in a single market using Equation 7. FIG. If the value is less than zero or greater than the traffic limit, the algorithm limits it to an appropriate value.

절차는 블록 1900에서 시작한다. 블록 1902에서, 변수 OPTIMAL_SPEND에 대한 값이 시장에서 광고주에 대한 TOTAL_SPEND에 기초하여 결정된다. 이러한 동작에 대한 절차 TOTAL_SPEND의 하나의 실시예가 도 16에 도시되어 있다. 블록 1904에서, OPTIMAL_SPEND의 결과는 OPTIMAL_SPEND와 0 중 큰 것 및 OPTIMAL_SPEND와 TARFFIC_LIMIT 중 최소로 설정된다. 절차는 블록 1906에서 종료한다.The procedure begins at block 1900. At block 1902, the value for the variable OPTIMAL_SPEND is determined based on TOTAL_SPEND for the advertiser in the market. One embodiment of the procedure TOTAL_SPEND for this operation is shown in FIG. At block 1904, the result of OPTIMAL_SPEND is set to the greater of OPTIMAL_SPEND and 0 and the minimum of OPTIMAL_SPEND and TARFFIC_LIMIT. The procedure ends at block 1906.

도 20은 광고주의 시장 값을 계산하는 절차의 하나의 실시예를 도시하고 있다. 절차는 블록 2000에서 시작한다. 값 VALUE는 광고주의 예산 스케일 인자 람다, 그의 클릭당 이익, 및 그 클릭스루 레이트의 곱이다. 클릭당 이익 및 클릭스루 레이트는 임의의 간편한 소스로부터 얻어질 수 있다.20 illustrates one embodiment of a procedure for calculating an advertiser's market value. The procedure begins at block 2000. The value VALUE is the product of the advertiser's budget scale factor lambda, its profit per click, and its clickthrough rate. The profit per click and clickthrough rate can be obtained from any convenient source.

그러므로, 도 22의 블록도는 모두가 네트워크(22100)에 접속되는, 복수의 클라이언트 컴퓨터(2202), 복수의 광고주 웹 서버(2204), 어카운트 관리 서버(2206), 및 검색 엔진 웹 서버(2208)를 포함하는 분산 시스템(2200)을 도시하고 있다. 네트워크(2210)는 이하에서는 일반적으로 인터넷으로 지칭된다. 개시된 시스템 및 방법이 인터넷에 특별히 유용하지만, 클라이언트 컴퓨터(2202), 광고주 웹 서버(2204), 어카운트 관리 서버(2206), 및 검색 엔진 웹 서버(2208)는 다수의 다른 타입의 네트워크들 중 하나를 통해 함께 접속될 수 있다는 것은 자명하다. 그러한 네트워크는 로컬 영역 네트워크(LAN), 다른 와이드 영역 네트워크(WAN), 및 상용 정보 서비스와 같이 전화선을 통해 액세스되는 지역 네트워크를 포함한다. 클라이언트 및 서버 프로세스들은 하나의 컴퓨터 상에서 동시에 실행하는 다른 프로그램들을 포함할 수 있다.Therefore, the block diagram of FIG. 22 shows a plurality of client computers 2202, a plurality of advertiser web servers 2204, an account management server 2206, and a search engine web server 2208, all of which are connected to the network 22100. A distributed system 2200 is shown that includes. Network 2210 is hereinafter referred to generally as the Internet. Although the disclosed systems and methods are particularly useful for the Internet, client computer 2202, advertiser web server 2204, account management server 2206, and search engine web server 2208 may be one of many different types of networks. It is obvious that they can be connected together via. Such networks include local area networks (LANs), other wide area networks (WANs), and local networks accessed through telephone lines, such as commercial information services. Client and server processes may include other programs running simultaneously on one computer.

클라이언트 컴퓨터(2202)는 종래의 퍼스널 컴퓨터(PC), 워크스테이션, 또는 임의의 다른 크기의 컴퓨터 시스템일 수 있다. 각 클라이언트(2202)는 통상 하나 이상의 프로세서, 메모리, 입출력 디바이스, 및 종래 모뎀과 같은 네트워크 인터페이스를 포함한다. 광고주 웹 서버(2204), 어카운트 관리 서버(2206) 및 검색 엔진 웹 서버(2208)는 동일하게 구성될 수 있다. 그러나, 광고주 웹 서버(2204), 어카운트 관리 서버(2206) 및 검색 엔진 웹 서버(2208)는 각각 분리된 사설 네트워크에 의해 접속된 다수의 컴퓨터를 포함할 수 있다. 실제로, 네트워크(2210)는 수십만 개의 개별적인 컴퓨터 네트워크를 포함할 수 있다.Client computer 2202 may be a conventional personal computer (PC), workstation, or any other sized computer system. Each client 2202 typically includes one or more processors, memory, input / output devices, and network interfaces such as conventional modems. The advertiser web server 2204, the account management server 2206, and the search engine web server 2208 may be configured identically. However, advertiser web server 2204, account management server 2206 and search engine web server 2208 may each include multiple computers connected by separate private networks. Indeed, the network 2210 may include hundreds of thousands of individual computer networks.

클라이언트 컴퓨터(2202)는 NAVIGATOR, EXPLORER, 또는 MOSAIC 브라우저 프로그램과 같은 웹 브라우저 프로그램(2212)을 실행하여, 광고주 서버(2204)에 저장된 웹 페이지 또는 기록(2214)을 로케이팅할 수 있다. 브라우저 프로그램(2212)은 사용자가 검색될 특정 웹 페이지(2214)의 어드레스를 입력할 수 있게 한다. 이들 어드레스들은 유니폼 리소스 로케이터 또는 URL로서 지칭된다. 뿐만 아니라, 일단 하나의 페이지가 검색되었으면, 브라우저 프로그램(2212)은 사용자가 다른 웹 페이지로의 하이퍼링크에 "클릭한" 경우에 다른 페이지 또는 기록으로 액세스를 제공할 수 있다. 그러한 하이퍼링크는 웹 페이지(2214)내에 배치되고, 사용자가 다른 페이지의 URL을 입력하고 그 페이지를 검색하는 자동화된 방법을 제공한다. 페이지는 컨텐트 보통 텍스트 정보, 또는 소프트웨어 프로그램, 그래픽스, 오디오 신호, 비디오 등과 같은 더 복잡한 디지털로 인코딩된 멀티미디어 컨텐트로서 포함하는 데이터 기록일 수 있다.Client computer 2202 can execute a web browser program 2212, such as a NAVIGATOR, EXPLORER, or MOSAIC browser program, to locate a web page or record 2214 stored in advertiser server 2204. Browser program 2212 allows a user to enter the address of a particular web page 2214 to be searched. These addresses are referred to as uniform resource locators or URLs. In addition, once one page has been retrieved, the browser program 2212 can provide access to another page or record when the user “clicks” on a hyperlink to another web page. Such hyperlinks are placed within web page 2214 and provide an automated way for the user to enter the URL of another page and retrieve that page. A page may be a content record containing content as plain text information or more complex digitally encoded multimedia content such as software programs, graphics, audio signals, video, and the like.

하나의 실시예에서, 클라이언트 컴퓨터(2202)는, FTP, SNMP, TELNET 및 본 기술분야에서 주지된 다수의 다른 프로토콜이 이용될 수 있지만, 하이퍼텍스트 전달 프로토콜(HTTP)에 의해 제공되는 기능을 이용하여, 어카운트 관리 서버(2206), 검색 엔진 서버(2208) 및 광고주 서버(2204)를 포함하는 다양한 네트워크 정보 제공자와 네트워크(2210)를 통해 통신한다. 양호하게는, 검색 엔진 서버(2208), 어카운트 관리 서버(2206), 및 광고주 서버(2204)는 월드 와이드 웹 상에 배치된다.In one embodiment, client computer 2202 may utilize FTP, SNMP, TELNET, and many other protocols well known in the art, but with the functionality provided by Hypertext Transfer Protocol (HTTP). And communicate over a network 2210 with various network information providers, including an account management server 2206, a search engine server 2208, and an advertiser server 2204. Preferably, search engine server 2208, account management server 2206, and advertiser server 2204 are deployed on the world wide web.

상기 설명된 바와 같이, 적어도 2가지 타이브이 서버가 실시예에서 고려된다. 고려되는 제1 서버는 컴퓨터 저장 매체(2220) 및 처리 시스템(2222)을 포함하는 어카운트 관리 서버(2206)이다. 데이터베이스(2224)는 어카운트 관리 서버(2206)의 저장 매체(2220) 상에 저장된다. 데이터베이스(2224)는 하나의 실시예에서의 광고주 가입 어카운트 정보를 포함하는 광고주 어카운트 정보를 포함한다. 여기에 개시된 시스템 및 방법은 어카운트 관리 서버(2206) 상의 메모리나 대량 저장 디바이스와 같은 컴퓨터 저장 매체 상의 실행가능한 명령으로서 저장된 소프트웨어로 구현된다는 것은 상기 설명으로부터 잘 이해될 것이다. 클라이언트 컴퓨터(2202) 상에서 실행되는 종래 브라우저 프로그램(2212)은 어카운트 관리 서버(2206)에 저장된 광고주 어카운트 정보에 액세스하는데 이용될 수 있다. 바람직하게는, 어카운트 관리 서버(2206)로의 액세스는 어카운트 관리 및 검색 결과 배치 프로그램 및 어카운트 정보를 외부 변경으로부터 보호하는 도시되지 않은 방화벽을 통해 달성될 수 있다. 추가적인 보안은 Secure HTTP 또는 Secure Sockets Layer와 같은 표준 통신 프로토콜에 대한 향상을 통해 제공된다.As described above, at least two tie servers are contemplated in this embodiment. A first server contemplated is an account management server 2206 that includes a computer storage medium 2220 and a processing system 2222. The database 2224 is stored on the storage medium 2220 of the account management server 2206. Database 2224 includes advertiser account information, including advertiser subscription account information in one embodiment. It will be understood from the above description that the systems and methods disclosed herein are implemented in software stored as executable instructions on a computer storage medium, such as a memory or mass storage device, on the account management server 2206. Conventional browser program 2212 running on client computer 2202 may be used to access advertiser account information stored in account management server 2206. Preferably, access to the account management server 2206 may be accomplished through an unshown firewall that protects account management and search result batch programs and account information from external changes. Additional security is provided through enhancements to standard communication protocols such as Secure HTTP or Secure Sockets Layer.

고려되는 제2 서버 타입은 검색 엔진 웹 서버(2208)이다. 검색 엔진 프로그램은, 검색 엔진 웹 서버 URL 또는 브라우저 프로그램(2212)을 통해 검색 엔진 웹 서버(2208)에 질의를 제출할 수 있는 다른 웹 서버 상의 사이트에 네비게이션할 때, 네트워크 사용자 또는 검색자들이 키워드 질의를 타이핑하여, 월드 와이드 웹 상에서 가용한 수백만개의 페이지들 중에서 관심있는 페이지들을 식별할 수 있게 한다. 하나의 실시예에서, 검색 엔진 웹 서버(2208)는 어카운트 관리 서버(2206)에 의해 수행된 입찰 프로세스의 결과에 의해 얻어지고 포맷되는 관련된 엔트리를 적어도 부분적으로 포함하는 검색 결과 리스트를 생성한다. 검색 엔진 웹 서버(2208)는 클라이언트 컴퓨터(2202)에서 사용자에 의해 입력된 검색어와 관련된 정보를 포함하는 문서로의 하이퍼텍스트 링크의 리스트를 생성한다. 검색 엔진 웹 서버는 이 리스트를 웹 페이지의 형태로 네트워크 사용자에게 송신하고, 이는 클라이언트 컴퓨터(2202)에서 실행되는 브라우저(2212) 상에 표시된다. 검색 엔진 웹 서버의 하나의 실시예는 URL http://www.overtue.com의 웹 페이지를 네비게이션함으로써 발견될 수 있다.The second server type considered is a search engine web server 2208. When a search engine program navigates to a site on another web server that can submit a query to a search engine web server 2208 via a search engine web server URL or browser program 2212, a network user or searchers may search for a keyword query. Typing allows us to identify pages of interest from the millions of pages available on the World Wide Web. In one embodiment, search engine web server 2208 generates a search results list that includes at least partially related entries that are obtained and formatted by the results of the bidding process performed by account management server 2206. Search engine web server 2208 generates a list of hypertext links from client computer 2202 to documents containing information related to the search terms entered by the user. The search engine web server sends this list to the network user in the form of a web page, which is displayed on a browser 2212 running on the client computer 2202. One embodiment of a search engine web server can be found by navigating a web page at the URL http://www.overtue.com .

검색 엔진 웹 서버(2208)는 인터넷(2210)에 접속된다. 하나의 실시예에서, 검색 엔진 웹 서버(2208)는 사용자 질의에 응답하여 검색 결과를 생성하는데 이용되는 검색 리스트 기록을 포함하는 검색 데이터베이스(230)를 포함한다. 뿐만 아니라, 검색 엔진 웹 서버(2208)는 어카운트 관리 서버(2206)에 접속될 수 있다. 어카운트 관리 서버(2206)는 인터넷에 접속된다. 검색 엔진 웹 서버(2208) 및 어카운트 관리 서버(2206)는 클라이언트 컴퓨터(2202)에 배치된 사용자들의 다른 정보 요구를 충족시킨다.Search engine web server 2208 is connected to the Internet 2210. In one embodiment, search engine web server 2208 includes a search database 230 that includes a search list record used to generate search results in response to a user query. In addition, the search engine web server 2208 may be connected to the account management server 2206. The account management server 2206 is connected to the internet. Search engine web server 2208 and account management server 2206 meet different information needs of users deployed at client computer 2202.

클라이언트 컴퓨터(2202)에 위치한 한 부류의 사용자들은 광고하는 웹 사이트 프로모터 또는 광고주 웹 서버(2204) 상에 위치한 광고주 웹 페이지(2214)를 가지는 광고주들과 같은 네트워크 정보 제공자일 수 있다. 이들 광고하는 웹 사이트 프로모터 또는 광고주들은 어카운트 관리 서버(2206) 상의 저장 장치(2220)에 상주하는 어카운트 정보에 액세스하기 원할 수 있다. 광고하는 웹 사이트 프로모터는 어카운트 관리 서버(2206)에 상주하는 어카운트를 통해, 다른 광고주들과의 경쟁적인 입찰 프로세스에 참여한다. 광고주는 광고주의 웹 사이트의 내용과 관련된 임의의 개수의 검색어에 대해 입찰할 수 있다. 하나의 실시예에서, 대응하는 웹 사이트에 대한 검색 리스트에서 입찰되는 검색어의 관련성은 어카운트 관리 서버(2206)의 프로세서(2222)에서 실행되는 컴퓨터 프로그램을 이용하여 평가되고, 여기에서 컴퓨터 프로그램은 선정된 편집 규칙 세트에 따라 검색어 및 대응하는 웹 사이트를 평가한다.A class of users located on client computer 2202 may be a network information provider, such as an advertiser with a web site promoter advertising or an advertiser web page 2214 located on an advertiser web server 2204. These advertising web site promoters or advertisers may wish to access account information residing on storage 2220 on account management server 2206. The advertising web site promoter participates in a competitive bidding process with other advertisers through an account residing at the account management server 2206. The advertiser may bid for any number of search terms related to the content of the advertiser's web site. In one embodiment, the relevance of a search term bid in a search list for a corresponding web site is evaluated using a computer program running on the processor 2222 of the account management server 2206, where the computer program is selected. Evaluate search terms and corresponding websites according to a set of editing rules.

광고주에 의한 입찰되는 검색어를 이용한 검색이 실행된 경우에, 검색 엔진(2208)에 의해 생성되는 검색 결과 리스트 페이지 상에서 더 높은 입찰가는 더 양호한 위치를 받는다. 하나의 실시예에서, 광고주에 의해 입찰되는 액수는 광고주의 웹 사이트가 검색 결과 리스트 페이지 상의 하이퍼링크를 통해 액세스될 때마다 광고주의 어카운트로부터 인출되는 금액으로 구성된다. 다른 실시예에서, 광고주의 가입 어카운트는 검색 질의에 응답하여 광고주의 검색 리스트가 검색자에게 서빙되거나 표시될때마다 소정 액수만큼 인출된다. 검색자는 컴퓨터 입력 디바이스로 하이퍼링크를 "클릭"하여 검색 요구를 개시시키고 광고주의 하이퍼링크와 연관된 정보를 검색한다. 양호하게는, 각 액세스 또는 검색 결과 리스트 하이퍼링크상의 "클릭"은 검색 엔진 웹 서버(2208)에 재지향되어 "클릭"을 광고주에 대한 어카운트 식별자와 연관시킨다. 검색자에게 명백하지 않은 이러한 재지향 액션은, 검색자에 의해 클리된 검색 결과 리스트 하이퍼링크를 이용하여 광고주의 URL에 액세스하기 이전에, 검색 결과 페이지로 코딩된 어카운트 식별 정보를 액세스할 것이다. 다른 실시예에서, 광고주의 가입 어카운트로부터 소정 액수의 인출을 유발하는 것은 광고주의 URL로의 이러한 클릭스루 동작이다. 어카운트 식별 정보는 검색 요구 이벤트로서의 검색 요구로부터의 정보와 함께 광고주의 어카운트에 기록된다. 이러한 메커니즘을 통해 얻어지는 정보는 본 기술분야에서 주지된 종래 서버 시스템 또는 로그를 이용하여서는 불가능한 방식으로 URL을 가지는 어카운트 식별자와 결론적으로 매칭하므로, 정확한 어카운트 지불 기록이 유지된다. 일부 실시예들에서, 검색 결과 리스트 페이지 상의 광고주의 웹 사이트 기술 및 하이퍼링크는 광고주의 리스트가 유료 리스트라는 표시를 동반한다. When a search is performed using a search term bid by an advertiser, the higher bid on the search result list page generated by the search engine 2208 receives a better position. In one embodiment, the amount bid by the advertiser consists of the amount withdrawn from the advertiser's account each time the advertiser's web site is accessed via a hyperlink on a search results list page. In another embodiment, an advertiser's subscription account is withdrawn a predetermined amount each time an advertiser's search list is served or displayed to a searcher in response to a search query. The searcher "clicks" the hyperlink with the computer input device to initiate the search request and retrieve the information associated with the advertiser's hyperlink. Preferably, the "click" on each access or search result list hyperlink is redirected to search engine web server 2208 to associate the "click" with an account identifier for the advertiser. This redirect action, which is not apparent to the searcher, will access the account identification information coded into the search results page prior to accessing the advertiser's URL using the search result list hyperlink clicked by the searcher. In another embodiment, it is this click-through action to the advertiser's URL that causes a certain amount of withdrawal from the advertiser's subscription account. The account identification information is recorded in the account of the advertiser along with the information from the search request as the search request event. Information obtained through this mechanism conclusively matches an account identifier with a URL in a way that would not be possible using conventional server systems or logs well known in the art, so that accurate account payment records are maintained. In some embodiments, the advertiser's website description and hyperlink on the search results list page is accompanied by an indication that the advertiser's list is a paid list.

클라이언트 컴퓨터(2202)에서의 제2 부류의 사용자들은 웹 상에서 특정 정보를 찾는 검색자들로 구성된다. 검색자들은 그 브라우저(2212)를 통해 웹 서버(2208)에 상주하는 검색 엔진 웹 페이지(2232)에 액세스한다. 검색 엔진 웹 페이지(2232)는 검색자가 하나 이상의 키워드를 포함하는 검색어를 타이핑하는 질의 박스를 포함한다. 다르게는, 검색자는 검색 엔진 웹 서버(2208)에 하이퍼링크되고 원격 웹 서버에 저장된 웹 페이지에 위치한 질의 박스를 통해 검색 엔진 웹 서버(2208)에 질의한다. 검색자가 검색어를 입력하는 것을 종료한 경우에, 검색자는 제공된 하이퍼링크를 클릭함으로써 질의를 검색 엔진 웹 서버(2208)에 송신할 수 있다. 검색 엔진 웹 서버(2208)는 검색 결과 리스트 페이지를 생성하고 이 페이지를 클라이언트 컴퓨터(2202)의 검색자에게 송신한다.The second class of users at client computer 2202 consists of searchers looking for specific information on the web. Searchers access the search engine web page 2232 residing on web server 2208 through its browser 2212. Search engine web page 2232 includes a query box in which the searcher types a search term that includes one or more keywords. Alternatively, the searcher queries the search engine web server 2208 via a query box hyperlinked to the search engine web server 2208 and located on a web page stored on the remote web server. When the searcher has finished entering the search term, the searcher may send a query to the search engine web server 2208 by clicking on the provided hyperlink. The search engine web server 2208 generates a search result list page and sends this page to the searcher of the client computer 2202.

검색자는 검색 결과 페이지 상의 각 리스트와 연관된 하이퍼텍스트 링크를 클릭하여 대응하는 웹 페이지에 액세스한다. 하이퍼텍스트 링크는 인터넷 상의 어디에서라도 웹 페이지를 액세스하고, 광고주 웹 서버(2204) 상에 위치한 광고주 웹 페이지(2214)로의 유료 리스트를 포함한다. 하나의 실시예에서, 검색 결과 리스트는 광고주 입찰의 결과로서 배치되지 않고 INKTOMI, LYCOS 또는 YAHOO! 검색 엔진과 같은 종래 월드 와이드 웹 검색 엔진에 의해 생성된 무료 리스트를 포함한다. 무료 하이퍼텍스트 링크는 편집 팀에 의해 데이터베이스(2230)에 수동으로 인덱스된 링크를 포함할 수 있다.The searcher clicks on the hypertext link associated with each list on the search results page to access the corresponding web page. The hypertext link accesses the web page from anywhere on the internet and includes a paid list to advertiser web page 2214 located on advertiser web server 2204. In one embodiment, the search result list is not placed as a result of advertiser bidding and is not INKTOMI, LYCOS or YAHOO! It includes a free list generated by a conventional world wide web search engine, such as a search engine. Free hypertext links may include links that have been manually indexed in the database 2230 by the editorial team.

상기 설명으로부터, 본 실시예들은 광고주에 의해 지출되는 액수에 비례하여 광고주의 리스트를 표시하기 위한 방법 및 장치를 제공하는 것을 알 수 있다. 각 광고주는 하나의 검색어에 얼마를 지출하기를 원하는지를 결정하고, 이에 따라 검색 제공자는 광고주의 리스트를 표시한다.From the above description, it can be seen that the present embodiments provide a method and apparatus for displaying a list of advertisers in proportion to the amount spent by the advertiser. Each advertiser decides how much they want to spend on one search term, so the search provider displays a list of advertisers.

본 발명의 특정 실시예가 도시되고 설명되었지만, 변경이 가해질 수 있다. 그러므로, 본 발명의 진정한 사상 및 범주에 드는 첨부된 청구의 범위는 그러한 변경 및 변형을 포함하려는 것이다. Although specific embodiments of the invention have been shown and described, changes may be made. Therefore, it is intended that the appended claims fall within the true spirit and scope of this invention to cover such modifications and variations.

그러므로, 상기 상세한 설명은 제한적이라기보다는 예시적인 것으로 간주되어야 하고, 이하의 청구의 범위 및 그 등가들은 본 발명의 사상 및 범주를 정의하려는 것이라는 것은 자명하다.Therefore, the above detailed description should be considered as illustrative rather than limiting, and it is obvious that the following claims and their equivalents are intended to define the spirit and scope of the invention.

Claims (24)

검색자들이 검색 질의들을 데이터베이스에 제출하고 적어도 일부 광고주-후원된 검색 리스트들(search listings)을 포함하는 검색 리스트들을 수신하는 데이터베이스 검색 시스템을 위한 영업 방법에 있어서,A sales method for a database search system in which searchers submit search queries to a database and receive search lists comprising at least some advertiser-sponsored search listings. 지정된 가격에 대해 각 광고주에게 검색자 계약들(searcher engagements)의 지정된 양을 판매하는 단계; 및Selling a designated amount of searcher engagements to each advertiser for a designated price; And 이어서, 검색 질의들에 응답하고, 상기 검색자 계약들의 각 광고주의 지정된 양에 비례하여 각 광고주의 검색 리스트들을 제공하는 단계Then responding to search queries and providing search lists of each advertiser in proportion to a specified amount of each advertiser of the searcher contracts. 를 포함하는 영업 방법.Sales method comprising a. 제1항에 있어서, 상기 검색자 계약들의 지정된 양을 판매하는 단계는, The method of claim 1, wherein selling the designated amount of searcher contracts comprises: 상기 각 광고주의 검색 리스트들의 검색자 임프레션들(searcher impressions)을 판매하는 단계를 포함하는 영업 방법.Selling searcher impressions of each advertiser's search lists. 제1항에 있어서, 상기 검색자 계약들의 지정된 양을 판매하는 단계는, The method of claim 1, wherein selling the designated amount of searcher contracts comprises: 상기 각 광고주의 검색 리스트들의 검색자 클릭스루들(searcher clickthroughs)를 판매하는 단계를 포함하는 영업 방법.Selling searcher clickthroughs of each advertiser's search lists. 제1항에 있어서, 상기 검색자 계약들의 지정된 양을 판매하는 단계는, 각 광고주의 검색 리스트의 클릭스루 이후에 상기 각 광고주의 웹 사이트에서의 포스트-클릭스루 검색자 액션들을 판매하는 단계를 포함하는 영업 방법.2. The method of claim 1, wherein selling a specified amount of searcher contracts comprises selling post-clickthrough searcher actions at each advertiser's web site after a click through of each advertiser's search list. How to do. 제1항에 있어서, 상기 검색자 계약들의 지정된 양을 판매하는 단계는, 소정 기간 동안에 상기 각 광고주의 검색 리스트들의 검색자 임프레션들 및 클릭스루들 중 하나를 판매하는 단계를 포함하는 영업 방법.2. The method of claim 1, wherein selling a specified amount of searcher contracts comprises selling one of the searcher impressions and clickthroughs of the respective advertiser's search lists for a predetermined period of time. 제1항에 있어서,The method of claim 1, 검색 요청을 수신하는 단계;Receiving a search request; 각각의 광고주에 대해, 수신된 검색자 계약들의 각 개수와 상기 각 광고주가 수신해야 하는 검색자 계약들의 각 개수와 관련된 각 차이값을 결정하는 단계; 및For each advertiser, determining each number of searcher agreements received and each difference associated with each number of searcher agreements each advertiser should receive; And 상기 결정된 차이값에 따라 검색 리스트들을 리턴하는 단계Returning search lists according to the determined difference value 를 더 포함하는 영업 방법.Sales method comprising more. 제1항에 있어서, 상기 검색자 계약들의 지정된 양을 판매하는 단계는, The method of claim 1, wherein selling the designated amount of searcher contracts comprises: 각 광고주에 대한 클릭당 비용, 및 상기 각 광고주에 대한 추정된 클릭 회수 중 적어도 하나를 결정하는 단계를 포함하는 영업 방법.Determining at least one of a cost per click for each advertiser, and an estimated number of clicks for each advertiser. 제7항에 있어서, 시장에 대한 이력 데이터에 기초하여 각 광고주에 대한 클릭스루 레이트를 결정하는 단계를 더 포함하는 영업 방법.8. The method of claim 7, further comprising determining a clickthrough rate for each advertiser based on historical data for the market. 제8항에 있어서, 상기 클릭스루 레이트를 결정하는 단계는, The method of claim 8, wherein determining the clickthrough rate comprises: 상기 검색 리스트가 수신한 임프레션들의 개수에 대한 상기 각 광고주의 검색 리스트가 수신한 클릭 개수의 비율로서 상기 클릭스루 레이트를 추정하는 단계를 포함하는 영업 방법.Estimating the clickthrough rate as a ratio of the number of clicks received by the search list of each advertiser to the number of impressions received by the search list. 제1항에 있어서, 각 광고주에게 최적의 광고 비용을 추천하는 단계; 및 The method of claim 1, further comprising: recommending an optimal advertising cost to each advertiser; And 다른 시장들 사이에서 상기 광고주 광고 비용을 할당하는 단계를 더 포함하는 영업 방법.Allocating the advertiser advertising cost among different markets. 검색자들이 검색 질의들을 데이터베이스에 제출하고 적어도 일부 광고주-후원된 검색 리스트들을 포함하는 검색 리스트들을 수신하는 데이터베이스 검색 시스템을 위한 방법을 구현하도록 구성된 컴퓨터 판독가능한 컴퓨터 코드를 저장하는 컴퓨터 판독가능한 매체에 있어서, 상기 컴퓨터 판독가능한 컴퓨터 코드는,A computer readable medium storing computer readable computer code configured to implement a method for a database search system for which searchers submit search queries to a database and receive search lists comprising at least some advertiser-supported search lists. The computer readable computer code, 지정된 가격에 대해 각 광고주에게 검색자 계약들 - 상기 검색자 계약들은 검색자 임프레션들 및 검색자 클릭스루들 중 적어도 하나를 포함함 -의 지정된 양을 제공하기 위한 제1 컴퓨터 판독가능한 코드; 및First computer readable code for providing a specified amount of searcher agreements to each advertiser for a specified price, the searcher agreements comprising at least one of searcher impressions and searcher clickthroughs; And 연이어 수신된 검색 질의들에 응답하고 검색자 계약들의 상기 각 광고주의 지정된 양에 비례하여 각 광고주의 검색 리스트들을 제공하기 위한 제2 컴퓨터 판독가능한 코드Second computer readable code for responding to subsequent received search queries and for providing each advertiser's search lists in proportion to the specified amount of each advertiser of searcher agreements. 를 포함하는 컴퓨터 판독가능한 저장 매체.Computer-readable storage medium comprising. 제11항에 있어서,The method of claim 11, 각 광고주에 대한 클릭스루당 비용을 결정하기 위한 제3 프로그램 코드; 및Third program code for determining a cost per clickthrough for each advertiser; And 상기 각 광고주에게 전달가능한 추정된 클릭스루의 개수를 결정하기 위한 제4 프로그램 코드Fourth program code for determining an estimated number of clickthroughs deliverable to each advertiser 를 더 포함하는 컴퓨터 판독가능한 저장 매체.The computer readable storage medium further comprising. 제12항에 있어서, 상기 제3 컴퓨터 프로그램 코드는 상기 각 광고주에 대한 추정된 전체 광고 판매 및 추정된 클릭스루 레이트의 함수로서 상기 클릭스루당 비용을 결정하도록 구성되는 컴퓨터 판독가능한 저장 매체.13. The computer readable storage medium of claim 12, wherein the third computer program code is configured to determine the cost per clickthrough as a function of estimated total ad sales and estimated clickthrough rate for each advertiser. 제12항에 있어서, 시장에 대한 이력 데이터에 기초하여 상기 클릭스루 레이트 및 상기 추정된 전체 광고 판매를 결정하도록 구성되는 제5 컴퓨터 프로그램 코드를 더 포함하는 컴퓨터 판독가능한 저장 매체.13. The computer readable storage medium of claim 12, further comprising fifth computer program code configured to determine the clickthrough rate and the estimated total advertisement sales based on historical data for a market. 제12항에 있어서, 상기 제4 컴퓨터 프로그램 코드는 추정된 전체 광고 판매에 대한 각 광고주의 광고 비용의 비율의 함수로서 상기 추정된 클릭스루 회수를 결정하도록 구성되는 컴퓨터 판독가능한 저장 매체.13. The computer readable storage medium of claim 12, wherein the fourth computer program code is configured to determine the estimated number of clickthroughs as a function of the ratio of each advertiser's advertising cost to an estimated total advertising sale. 제11항에 있어서, 상기 광고주의 전체 광고 예산, 상기 광고주의 클릭스루당 이익, 및 외부 리턴 레이트에 기초하여 각 광고주의 광고 비용을 최적화하기 위한 제3 프로그램 코드를 더 포함하는 컴퓨터 판독가능한 저장 매체.12. The computer readable storage medium of claim 11, further comprising third program code for optimizing each advertiser's advertising cost based on the advertiser's overall advertising budget, the advertiser's profit per clickthrough, and an external return rate. . 제16항에 있어서, 상기 각 광고주에 대한 예산 스케일 인자를 결정하기 위한 제4 컴퓨터 프로그램 코드를 더 포함하는 컴퓨터 판독가능한 저장 매체.17. The computer readable storage medium of claim 16, further comprising fourth computer program code for determining a budget scale factor for each advertiser. 제17항에 있어서, 상기 제4 컴퓨터 프로그램 코드는,The computer program code of claim 17 wherein the fourth computer program code comprises: 우선 모든 제로 제한(zero constraint) 및 트래픽 제한(traffic constraint)에 대해 풀고,First we solve for all zero constraints and traffic constraints, 트래픽 한계에서 광고주들에 의해 차지되지 않는 검색 질의에 응답하여 제공되는 검색 결과들의 페이지 상에서 자유 공간의 개수, 및 현재 제로 한계 또는 트래픽 한계에 있지 않은 광고주들의 개수를 결정하며,Determine the number of free spaces on the page of search results provided in response to a search query not occupied by advertisers at the traffic limit, and the number of advertisers that are not currently at the zero limit or the traffic limit, 상기 각 광고주의 예산 제한을 결정하는 방정식들의 시스템을 풀도록 구성되는 컴퓨터 판독가능한 저장 매체.Computer readable storage medium configured to solve a system of equations that determine a budget constraint of each advertiser. 사용자에 의해 원격 입력 디바이스를 통해 입력되는 키워드에 응답하여 결과 리스트를 생성하기 위해 컴퓨터 네트워크 상에서 동작하는 장치에 있어서,An apparatus operating on a computer network to generate a result list in response to a keyword entered through a remote input device by a user, the apparatus comprising: 상기 장치는 상기 컴퓨터 네트워크에 접속된 컴퓨터 시스템을 포함하고, The apparatus comprises a computer system connected to the computer network, 각 리스트가 광고주와 연관되는 복수의 리스트를 포함하는 데이터베이스;A database including a plurality of lists, each list associated with an advertiser; 사용자가 키워드를 입력하는 것에 응답하여 결과 리스트를 생성하기 위한 프로그래밍 코드 - 상기 결과 리스트는 상기 사용자에 의해 입력된 상기 키워드와의 매치를 생성하는 연관된 키워드를 가지는 리스트들을 포함함 - ; 및Programming code for generating a result list in response to a user entering a keyword, the result list including lists having associated keywords that generate a match with the keyword entered by the user; And 사용자 계약들의 개수를 지정하는 광고주 가입 주문들을 수락하고, 광고주 가입 어카운트들(accounts)을 관리하며, 광고주 리스트가 생성된 검색 리스트에 포함될 때 각 광고주의 가입 어카운트를 조정하는 것을 포함하여, 광고주 가입을 관리하기 위한 프로그래밍 코드Advertiser subscriptions include accepting advertiser subscription orders that specify a number of user agreements, managing advertiser subscription accounts, and adjusting each advertiser's subscription account when the advertiser list is included in the generated search list. Programming code to manage 를 저장하는 장치.Device to store it. 제19항에 있어서, 상기 컴퓨터 시스템은 각 광고주에 의해 제공되는 보상에 응답하여 상기 사용자 계약들의 개수를 저장하는 장치.20. The apparatus of claim 19, wherein the computer system stores the number of user contracts in response to a reward provided by each advertiser. 제20항에 있어서, 상기 컴퓨터 시스템은 각 광고주에 의해 제공되는 보상에 대해 그 보답으로 제공되는 추정된 클릭스루 개수를 결정하고, 상기 추정된 클릭스루의 개수는 모든 광고주에 의해 제공되는 전체 보상에 대한 상기 각 광고주에 의해 제공되는 상기 보상의 비율에 관련되는 장치.21. The computer-readable medium of claim 20, wherein the computer system determines an estimated number of clickthroughs provided in return for rewards provided by each advertiser, wherein the estimated number of clickthroughs is based on the total rewards offered by all advertisers. A device related to a ratio of said reward provided by each said advertiser to said. PFP(pay-for-placement) 데이터베이스 검색 시스템에 대한 가입 방법에 있어서,In a subscription method for a pay-for-placement (PFP) database search system, 광고주들에게 지정된 비용으로 지정된 개수의 검색자 계약들을 제공하는 단계;Providing advertisers with a specified number of searcher contracts at a specified cost; 하나 이상의 가입 광고주로 가입 어카운트들을 개시하는 단계;Initiating subscription accounts with one or more affiliate advertisers; 검색자들로부터 검색 요청들을 수신하는 단계;Receiving search requests from searchers; 상기 검색 요청들에 응답하여, 가입 광고주들의 검색 리스트들을 포함한 검색 결과들을 제공하는 단계; 및In response to the search requests, providing search results including search listings of subscribing advertisers; And 상기 검색 결과들을 제공하는 것에 응답하여 상기 가입 광고주들의 상기 가입 어카운트들을 조정하는 단계Adjusting the subscription accounts of the affiliate advertisers in response to providing the search results 를 포함하는 가입 방법.Sign up method comprising a. 제22항에 있어서,The method of claim 22, 상기 각 광고주의 광고 예산, 클릭스루당 이익 및 외부 리턴 레이트 중 적어도 하나에 기초하여 각 광고주에게 최적의 광고주 비용 액수를 추천하는 단계를 더 포함하는 가입 방법.Recommending an optimal amount of advertiser cost to each advertiser based on at least one of the advertiser's advertising budget, profit per clickthrough, and external return rate. 제23항에 있어서,The method of claim 23, wherein 복수의 시장에 걸쳐 상기 광고주의 비용을 제한하기 위해 상기 각 광고주에 대한 예산 스케일 인자를 결정하는 단계를 더 포함하는 가입 방법.Determining a budget scale factor for each advertiser to limit the advertiser's costs across a plurality of markets.
KR10-2004-7015700A 2002-04-01 2003-03-31 Displaying paid search listings in proportion to advertiser spending Ceased KR20050023242A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2004-7015700A KR20050023242A (en) 2002-04-01 2003-03-31 Displaying paid search listings in proportion to advertiser spending

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/369,460 2002-04-01
KR10-2004-7015700A KR20050023242A (en) 2002-04-01 2003-03-31 Displaying paid search listings in proportion to advertiser spending

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020077007092A Division KR100908756B1 (en) 2002-04-01 2003-03-31 Display of paid search list proportional to advertiser spend

Publications (1)

Publication Number Publication Date
KR20050023242A true KR20050023242A (en) 2005-03-09

Family

ID=41784465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7015700A Ceased KR20050023242A (en) 2002-04-01 2003-03-31 Displaying paid search listings in proportion to advertiser spending

Country Status (1)

Country Link
KR (1) KR20050023242A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071586A1 (en) * 2004-01-27 2005-08-04 Nhn Corporation Method for offering a search-word advertisement and generating a search result list in reponse to the search-demand of a searcher and a system thereof
KR100744063B1 (en) * 2005-03-25 2007-07-30 주식회사 다음커뮤니케이션 Internet search advertisement service system and method
KR100903501B1 (en) * 2007-03-30 2009-06-18 엔에이치엔비즈니스플랫폼 주식회사 A method for providing keyword advertising and a system for performing the method
KR101041692B1 (en) * 2008-08-05 2011-06-14 엔에이치엔비즈니스플랫폼 주식회사 Method and system for providing ads using specified amount and bid

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005071586A1 (en) * 2004-01-27 2005-08-04 Nhn Corporation Method for offering a search-word advertisement and generating a search result list in reponse to the search-demand of a searcher and a system thereof
KR100744063B1 (en) * 2005-03-25 2007-07-30 주식회사 다음커뮤니케이션 Internet search advertisement service system and method
KR100903501B1 (en) * 2007-03-30 2009-06-18 엔에이치엔비즈니스플랫폼 주식회사 A method for providing keyword advertising and a system for performing the method
US8725562B2 (en) 2007-03-30 2014-05-13 Nhn Business Platform Corporation Keyword advertisement using ranking of advertisers
KR101041692B1 (en) * 2008-08-05 2011-06-14 엔에이치엔비즈니스플랫폼 주식회사 Method and system for providing ads using specified amount and bid

Similar Documents

Publication Publication Date Title
KR100908756B1 (en) Display of paid search list proportional to advertiser spend
JP4030841B2 (en) System and method for ranking and value protection in a search result list generated by a computer network search engine
KR100849555B1 (en) Database Search System and Method for Determining the Value of Keywords in Search
JP5153814B2 (en) Method and system for facilitating management of advertising campaigns
JP4406362B2 (en) System and method for auction-based ranking of search results on a computer network
CN100447735C (en) Recommend search terms using collaborative filtering and World Wide Web spidering
JP4540927B2 (en) System and method for enabling bidding of multi-factors affecting position on a search result list generated by a search engine of a computer network
US20060026062A1 (en) System and method for optimizing advertising marketplace operations
US20160225018A1 (en) Computer-implemented method and system for managing keyword bidding prices
US20050137939A1 (en) Server-based keyword advertisement management
US20030216930A1 (en) Cost-per-action search engine system, method and apparatus
US20170116647A1 (en) Method, medium, and system for keyword bidding in a market cooperative
US20050144065A1 (en) Keyword advertisement management with coordinated bidding among advertisers
US20100082433A1 (en) Using A Threshold Function For Bidding In Online Auctions
US12118589B2 (en) Controlling display layout of digital content
US20110184802A1 (en) Auction format selection using historical data
KR20050023242A (en) Displaying paid search listings in proportion to advertiser spending
HK1082065A (en) Displaying paid search listings in proportion to advertiser spending
HK1116565A (en) Platform for advertising data integration and aggregation

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20041001

Patent event code: PA01051R01D

Comment text: International Patent Application

A201 Request for examination
AMND Amendment
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20041004

Comment text: Request for Examination of Application

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20050104

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060330

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20061228

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20060330

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

A107 Divisional application of patent
J201 Request for trial against refusal decision
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20070328

PJ0201 Trial against decision of rejection

Patent event date: 20070328

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20061228

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20071207

Appeal identifier: 2007101003440

Request date: 20070328

AMND Amendment
PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20070427

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20070328

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20060630

Patent event code: PB09011R02I

Comment text: Amendment to Specification, etc.

Patent event date: 20041004

Patent event code: PB09011R02I

B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
PB0601 Maintenance of original decision after re-examination before a trial

Comment text: Report of Result of Re-examination before a Trial

Patent event code: PB06011S01D

Patent event date: 20070605

PE0801 Dismissal of amendment

Patent event code: PE08012E01D

Comment text: Decision on Dismissal of Amendment

Patent event date: 20070605

Patent event code: PE08011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20070427

Patent event code: PE08011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20060630

Patent event code: PE08011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20041004

J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070328

Effective date: 20071207

Free format text: TRIAL NUMBER: 2007101003440; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070328

Effective date: 20071207

PJ1301 Trial decision

Patent event code: PJ13011S01D

Patent event date: 20071207

Comment text: Trial Decision on Objection to Decision on Refusal

Appeal kind category: Appeal against decision to decline refusal

Request date: 20070328

Decision date: 20071207

Appeal identifier: 2007101003440

J121 Written withdrawal of request for trial
PC1202 Submission of document of withdrawal before decision of registration

Comment text: [Withdrawal of Procedure relating to Patent, etc.] Withdrawal (Abandonment)

Patent event code: PC12021R01D

Patent event date: 20080111

PJ1201 Withdrawal of trial

Patent event code: PJ12011R01D

Patent event date: 20080111

Comment text: Written Withdrawal of Request for Trial

Appeal identifier: 2007101003440

Request date: 20070328

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20071207

WITB Written withdrawal of application