KR100700086B1 - Method and system for an electronic agent traveling based on profile - Google Patents
Method and system for an electronic agent traveling based on profile Download PDFInfo
- Publication number
- KR100700086B1 KR100700086B1 KR1020050022908A KR20050022908A KR100700086B1 KR 100700086 B1 KR100700086 B1 KR 100700086B1 KR 1020050022908 A KR1020050022908 A KR 1020050022908A KR 20050022908 A KR20050022908 A KR 20050022908A KR 100700086 B1 KR100700086 B1 KR 100700086B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic
- profile
- agent
- electronic agent
- destination
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
전자대리인이 출발지 컴퓨터에서 목적지 컴퓨터로 자동으로 이동하는 방법 및 시스템이 개시되어 있다. 이 방법은 이동 요청을 감시하는 단계, 가능한 목적지 리스트를 생성하는 단계, 이동의 중요도에 따른 우선순위를 결정하는 단계, 최종적으로 이동 동작을 스택에 삽입하는 단계로 구성된다. 데이터 네트워크를 통해 상기 방법을 수행하는 것에 관한 시스템이 또한 개시 및 청구되어 있다. A method and system are disclosed for automatically moving an electronic representative from a source computer to a destination computer. The method consists of monitoring a move request, generating a list of possible destinations, determining priorities according to the importance of the move, and finally inserting the move action on the stack. A system for performing the method over a data network is also disclosed and claimed.
Description
도1은 본 발명의 바람직한 실시예의 블록도.1 is a block diagram of a preferred embodiment of the present invention.
도2는 본 발명의 방법의 일실시예의 흐름도.2 is a flow chart of one embodiment of the method of the present invention.
도3은 본 발명의 서버의 일실시예의 블록도.Figure 3 is a block diagram of one embodiment of a server of the present invention.
도4는 본 발명의 인공지능 서비스의 일실시예의 블록도.4 is a block diagram of one embodiment of an artificial intelligence service of the present invention;
도5는 본 발명에 따른 방법의 일실시예의 흐름도.5 is a flow diagram of one embodiment of a method according to the present invention.
도6은 본 발명에 따른 방법의 일실시예의 흐름도.6 is a flow diagram of one embodiment of a method according to the present invention.
도7은 본 발명의 방법과 장치의 일실시예를 적용할 수 있는 범용 컴퓨터의 블록도.Figure 7 is a block diagram of a general purpose computer to which one embodiment of the method and apparatus of the present invention can be applied.
본 발명은 데이터 네트워크를 통한 전자대리인의 이동 방식에 관한 것으로서, 보다 구체적으로는 상기 이동 방식에 대한 인공지능적인 알고리즘의 방법 및 시스템에 관한 것이다. The present invention relates to a method of movement of an electronic agent through a data network, and more particularly, to a method and system of an artificial intelligence algorithm for the method of movement.
종래에 전자대리인(electronic agent)은 가상 애완동물(virtual pet), 전자 애완동물(electronic pet) 등의 여러 가지 형식과 명칭으로 호칭되었으며, 가상 애완동물의 행위를 수행하고 있다. 이러한 행위에는 먹기, 공놀이, 물체 ??아가기, 긁기 등의 일반적인 "애완동물"의 행위를 포함한다.In the related art, an electronic agent has been referred to by various forms and names such as a virtual pet, an electronic pet, and performs the behavior of a virtual pet. These activities include common "pet" behaviors such as eating, playing ball, playing objects, and scraping.
이러한 종래의 전자대리인은 하나의 컴퓨터에 상주하여, 거의 정보를 나타내지 않고 사용자의 행위에는 거의 관심이 없었다. 전자대리인은 웹페이지 상에서 "아바타" 즉, 가상 애완동물, 가상 실체 등의 형태로 구현되는 경우가 많았다. 이러한 웹페이지는 전통적으로 매우 정적이며 제한된 정도의 인터랙션을 허용할 뿐이다. This conventional electronic agent resides on one computer, shows little information and has little interest in the user's actions. Electronic agents were often implemented in the form of "avatars," that is, virtual pets, virtual entities, etc. on web pages. Such web pages are traditionally very static and only allow a limited degree of interaction.
현재의 전자대리인 구현에 있어서는 여러 가지 문제점이 있다.There are various problems in the current electronic agent implementation.
첫째 문제점은, 전자대리인이 사용자 컴퓨터에만 존재한다는 것이다. 이는 사용자가 자신의 컴퓨터에서 다른 장소로 전자대리인을 옮겨서 작업을 할 수 없다는 의미이다. 종래의 전자대리인은 더 넓은 전자세계에 대해서는 전혀 알지 못하고 있기 때문에, 프로그래밍상의 한계로 인해 사용자 컴퓨터 밖에서의 웹 항해, 각종 행위들, 작업수행 등이 방해를 받게 된다.The first problem is that an electronic representative exists only on the user's computer. This means that you can't move an electronic representative from your computer to another location. Conventional electronic agents are not aware of the wider electronic world at all, and programming limitations hinder web navigation, various actions, and work performance outside the user's computer.
둘째 문제점은, 전자대리인은 사용자를 대신하여 네트워크에 관련된 일(event)과 상호 대화(interaction) 할 수 없다는 것이다. 사실상, 전자대리인은 어떠한 외부적 행위(가령, 친구 사귀기, 관심 있는 소식을 찾기, 약속하기 등)를 함으로써 사용자를 도울 수 없다. The second problem is that an electronic agent cannot interact with network related events on behalf of a user. In fact, an electronic agent cannot help the user by doing any external action (eg, making friends, finding news of interest, making an appointment, etc.).
세 째 문제점은, 전자대리인의 지식량은 현재 프로그램된 상태에만 국한되고 지식도 사용자 컴퓨터에서만 습득될 수 있는 등, 전자대리인의 능력에 한계가 있다 는 것이다. 전자대리인은 고립되어 있기 때문에 다른 컴퓨터로부터 배울 수 없다. 여기서의 고립이란 의미는, 전자대리인이 사용자에게 명령을 해야 할 행위들에 대해서 다른 대리인이나 컴퓨터로부터 새로운 능력을 배우거나 서로 대화할 수 없다는 것이다. The third problem is that the amount of knowledge of the electronic representative is limited to the ability of the electronic representative, such that the knowledge of the electronic representative is limited to the current programmed state and the knowledge can only be acquired from the user's computer. Electronic agents are isolated and cannot learn from other computers. Isolation here means that electronic agents cannot learn new skills from other agents or computers or communicate with each other about actions that the user must command.
따라서 상술한 많은 문제점을 해결하기 위한 전자 애완동물의 지능적인 이동 방법과 시스템이 필요하게 되었다. Therefore, there is a need for an intelligent pet moving method and system for solving the above-mentioned problems.
본 발명은 전자대리인이 컴퓨터들 사이에서 이동하는 방법을 제공한다. 본 방법에는 전자대리인의 목적지를 결정하는 일련의 결정행위들이 포함된다. The present invention provides a method for an electronic agent to move between computers. The method involves a series of decision actions to determine the destination of the electronic representative.
"전자대리인"은 다양한 방식으로 표현될 수 있다. 사용자가 가장 일반적으로 볼 수 있는 형태로는 "아바타" 형식의 소프트웨어 프로그램이다. 아바타는 많은 형태를 취할 수 있고 많은 명칭으로 호칭되고 있다. 이 형태와 명칭에는 가상 애완동물, 가상 대리인, 전자 애완동물, 또는 기타 특정 종류의 정보를 표시하는 스크린에 표시되는 인터랙티브한 실체물이 포함된다. An "electronic agent" can be expressed in a variety of ways. The most commonly seen form of user is a software program in the form of "avatar". Avatars can take many forms and are called many names. This form and name includes an interactive entity displayed on a screen displaying a virtual pet, a virtual agent, an electronic pet, or some other kind of information.
마찬가지로, 각 "전자대리인"은 오너(owner)를 갖고 있는데 본 명세서에서는 "사용자"로 명명하고 있다. 바람직한 실시예에서, 대리인대 사용자의 관계는 다수대 일의 관계를 갖고 있다. 즉, 하나의 사용자가 다수의 대리인을 가질 수 있다는 것이다. 사용자가 반드시 사람일 필요는 없고 다른 소프트웨어 프로그램일 수도 있다. 다른 실시예에서, 하나의 사용자가 대리인을 공유할 수도 있다. Similarly, each "electronic agent" has an owner, which is named "user" in this specification. In a preferred embodiment, the agent-to-user relationship has a many-to-one relationship. In other words, one user can have multiple agents. The user does not necessarily need to be a person, but may be another software program. In another embodiment, one user may share a representative.
전자대리인의 목적지를 결정하는 데는 두 단계의 과정이 있게 된다. 첫 번째 단계는 다른 컴퓨터로 이동할지 여부를 결정하는 과정이다. 이 결정은 단순한 사건기반(event-based) 알고리즘 또는 시간기반(timer-based) 알고리즘 중 하나를 이용하여 이루어진다. 이 알고리즘을 이용하여 전자대리인에 영향을 줄 수 있는 요청과 사건(event)을 조사한다. 전자대리인은 많은 수의 잠재적 행위들(이들 중 하나에 다른 컴퓨터로의 이동이 포함됨)을 가질 수 있다. 알고리즘에 의해 다음 동작이 실제로 "이동" 동작인 것이 결정되면, 다음 단계가 시작된다. 두 번째 단계는 목적지를 결정하는 것이다. 일단 전자대리인이 이동할 것으로 결정되었으면 모든 가능한 목적지가 후보로서 고려된다. There are two steps in determining the destination of an electronic representative. The first step is to decide whether to move to another computer. This decision is made using either a simple event-based algorithm or a time-based algorithm. This algorithm is used to investigate requests and events that may affect electronic agents. An electronic agent can have a large number of potential actions, one of which involves moving to another computer. If the algorithm determines that the next operation is actually a "move" operation, the next step begins. The second step is to determine the destination. Once the electronic representative is determined to move, all possible destinations are considered as candidates.
전자대리인이 이동하는 데에는 다양한 원인이 있다. 마찬가지로, 사용자가 자신의 전자대리인을 다른 사용자에게 이동시킬 많은 이유가 있다. 이동 결정은 서버 AI(인공지능) 및 클라이언트 AI에 의해 수행된다. 이들 두 인공지능 시스템은(각각 같은 컴퓨터에 설치될 수도 있고 다른 컴퓨터에 설치될 수도 있음)은 대개, 적절한 전자대리인의 행위와 동작을 담보하기 위하여 상호 협력하여 동작된다.There are various reasons for the movement of electronic agents. Likewise, there are many reasons for a user to move his electronic representative to another user. Movement decisions are performed by server AI (artificial intelligence) and client AI. These two artificial intelligence systems, each of which can be installed on the same computer or on different computers, usually work in concert to ensure the actions and actions of the appropriate electronic representative.
서버 AI와 클라이언트 AI가 클라이언트/서버 구성상의 이유로 다른 실체로 분리될 경우에는, 서버 AI는 클라이언트 AI와는 약간 다른 결정을 맡는다. 예를 단순화시키기 위하여, 이하의 설명에서는 클라이언트 AI와 서버 AI는, 비록 반드시 그러할 필요가 없을지라도, 별도의 기계에 존재하는 별개의 실체인 것으로 전제한다. If the server AI and client AI are separated into different entities for client / server configuration reasons, the server AI assumes a slightly different decision from the client AI. To simplify the example, the following description assumes that the client AI and the server AI, although not necessarily so, are separate entities that exist on separate machines.
서버 AI는 전자대리인의 고유 "요구"를 조사하는 등의 결정을 한다. 전자대리인은 어느 정도는 자치체이기 때문에 이 서버 AI는 사용자가 입력하지 않아도 결 정을 할 수 있다. 서버 AI는 사용자 프로필과 전자대리인 프로필을 모두 고려하여 다음에 무슨 동작 또는 행위를 수행할지를 결정한다. 예를 들어, 서버 AI가 모든 해당 프로필을 조사하여 사용자가 친구를 사귀고자 하는 경향을 강하게 갖고 있는 것으로 결정하였다면, 서버 AI는 다른 컴퓨터의 사용자와 "친구"를 맺기 위하여 전자대리인으로 하여금 다른 컴퓨터를 방문하도록 결정할 수 있다. 다른 예로서는 전자대리인의 서버 AI가 전자대리인을 하나 이상의 다른 전자대리인에게 보내어 서로 "게임놀이"를 할 수 있도록 결정하는 상황을 들 수 있다.The server AI makes a decision, such as investigating the unique "request" of the electronic agent. Electronic agents are, to some extent, municipalities, so the server AI can make decisions without user input. The server AI considers both the user profile and the electronic agent profile to determine what action or action to perform next. For example, if the server AI examines all of its profiles and determines that the user has a strong tendency to make friends, the server AI may allow an electronic representative to connect the other computer to make a "friend" with the user of the other computer. You can decide to visit. Another example is the situation in which the server AI of the electronic agent decides to send the electronic agent to one or more other electronic agents to "play games" with each other.
클라이언트 AI는 서버 AI와는 다른 종류의 결정을 할 수 있지만, 여전히 전자대리인에게 영향을 줄 수 있도록 연결되어 있다. 클라이언트 AI는 사용자의 행위를 감시하고 사용자의 동작에 특별히 주목하고 있다. 가령, 사용자는 전자대리인을 집어서 스크린의 다른 부분에 떨어뜨리는 것을 선택할 수 있다. 다른 예로서, 사용자는 다른 종류의 동작을 수행하기 위하여 자신의 캘린더 및 전자대리인과 상호 대화할 수 있다. 이러한 다양한 예에서, 애완동물은 클라이언트 AI의 결정에 따라서 반응할 것이다. 이러한 동작들에는 귀찮게 굴기, 테니스공 쫓기, 캘린더 변경에 대해서 다른 친구와 대화하기 위하여 달아나기 등이 포함될 수 있다. 이동이라는 용어에 있어서, 클라이언트 AI는 발생한 사건(event)이 너무 중요해서 전자대리인을 클라이언트로부터 호출하거나 클라이언트로부터 축출할 것을 결정할 수 있다. Client AIs can make different kinds of decisions than server AIs, but they are still connected to affect electronic agents. Client AI monitors user behavior and pays special attention to user behavior. For example, the user may choose to pick up the electronic representative and drop it on another part of the screen. As another example, a user may interact with his or her calendar and electronic representative to perform other kinds of operations. In these various examples, the pet will respond according to the client AI's decision. These actions may include bothering, chasing a tennis ball, running away to talk to other friends about changing the calendar, and the like. In terms of movement, the client AI may decide that the event that occurred is so important that it will call or evict the electronic agent from the client.
전자대리인은 항상 스택에 종속되어 있다. 스택은 전자대리인이 순차적으로 수행해야 할 일련의 동작이 대열지어 있는 곳이다. 각 동작은 소정 시간 동안에 완료된다. 수행될 동작항목 중 하나가 완료되면 이 동작은 대열에서 제거되고, 다음 동작이 동작항목이 된다. Electronic agents are always dependent on the stack. The stack is where a series of actions that an electronic agent must perform sequentially. Each operation is completed for a predetermined time. When one of the action items to be performed is completed, this action is removed from the queue, and the next action becomes the action item.
클라이언트 AI와 서버 AI는 결정을 할 때에 현재의 스택과 함께 동작한다. 두 개의 AI 중 하나가 결정을 하면, 동작항목이 스택에 삽입된다. 삽입위치는 항목의 중요도에 따른다. 매우 긴급한 동작항목일 때에는 대열의 앞부분에 삽입되거나, 대열에 있는 현재의 동작항목이 새로운 긴급 동작항목에 의해 즉각 자리를 빼앗기게 된다. 보다 덜 중요한 동작항목일 경우에는 대열의 뒷부분 또는 마지막으로 삽입된다. Client AI and server AI work with the current stack in making decisions. When one of the two AIs makes a decision, the action is inserted into the stack. The insertion position depends on the importance of the item. In the case of a very urgent action item, it is inserted at the beginning of the order, or the current action item in the order is immediately taken away by the new emergency action item. For less important action items, they are inserted at the end or last of the line.
AI가 결정한 동작을 가능케 하는 다른 구성 요소로서 사건취급자(event handler)가 있다. 이 사건취급자는 클라이언트 사건취급자와 서버 사건취급자로 분류할 수 있는데, 이들 각각은 분리될 수도 있고 아닐 수도 있다. 이 사건취급자는 항시 모든 사건들을 듣고 있다. 사건에는 네트워크상의 사건, 사용자에 관한 사건, 대리인에 관한 사건 등이 포함된다. 사건취급자는 중요한 정보를 수집하여 AI 서브루틴에 전달하여 적절한 동작을 수행하도록 한다. Another component that enables the behavior determined by the AI is an event handler. These event handlers can be categorized as client event handlers and server event handlers, each of which may or may not be separate. This case handler is always listening to all cases. Incidents include network incidents, user cases, and agents. Event handlers collect important information and pass it on to AI subroutines to perform appropriate actions.
전자대리인은 그 자체로 자신의 동작을 제어할 수 있는 기본 특성을 갖고 있는 실체이다. 이 "DNA"는 전자대리인의 지능, 욕구, 특성을 형성하기 위한 기초블록이다. 전자대리인은 시간에 따라 변화하고 진화하는 일군의 특성을 갖고 태어난다. 또한, 시간이 갈수록, 각 전자대리인은 수행된 동작, 방문한 장소, 사귄 친구, 완료된 과제, 배운 기술, 얻은 항목 등의 고유한 이력을 수집할 수 있다. An electronic agent is an entity that has basic characteristics that can control its own operation. This "DNA" is the basic block for forming the intelligence, desires and characteristics of the electronic agent. Electronic representatives are born with a set of characteristics that change and evolve over time. In addition, over time, each electronic agent may collect a unique history of performed actions, places visited, friends made, completed tasks, skills learned, items obtained, and the like.
전자대리인의 동작은 자신의 내부 척도에 의해서 부분적으로 해석된다. 이들 내부 척도는 시간에 따라 변화하며, 각각은 하나 이상의 "문턱값"(임계값)을 갖는 다. 일단 이 척도가 충분히 변화되어 임계값중 하나에 도달하면, 사건취급자가 취급할 수 있는 사건이 발생하게 된 것이다. 내부 척도들은 서로 연결되거나 서로 완전히 독립될 수 있다. 내부 척도의 예로서, 음식에 대한 욕구, 인간관계에 대한 욕구, 사용자를 위한 더 많은 친구를 사귀고 싶은 욕구, 스스로를 위한 더 많은 친구를 사귀고 싶은 욕구, 다른 컴퓨터로 이동하고자 하는 욕구, 놀고 싶은 욕구, 사용자를 더 재밌게 하기 위한 일정짜기 욕구, 사용자에게 좋은 책을 골라주는 욕구 등을 들 수 있다. The behavior of an electronic agent is interpreted in part by his own internal measures. These internal measures change over time, each with one or more "thresholds" (thresholds). Once this scale is sufficiently changed to reach one of the thresholds, an event can occur that can be handled by the event handler. Internal measures may be connected to each other or completely independent of each other. Examples of internal measures include: craving for food, craving for relationships, craving to make more friends for users, craving to make more friends for yourself, craving to move to other computers, and craving to play. , A desire for scheduling to make the user more interesting, a desire to select a good book for the user, and the like.
전자대리인은 데이터 네트워크가 연결되어 있는 어디든 이동할 수 있다. 목적지는 어떠한 종류의 컴퓨터 시스템이라도 가능하다(즉, PC, 게임콘솔 시스템, 휴대형 이동통신, 차량 표시장치, 텔레비전, PDA 등 기타 네트워크상의 표시장치). 전자대리인은 또한 로봇 등과 같은 비전형적인 클라이언트로도 이동할 수 있다. Electronic representatives can travel anywhere the data network is connected. The destination can be any kind of computer system (ie, a PC, a game console system, a portable mobile communication, a vehicle display, a television, a PDA, or other network display). Electronic representatives can also move to atypical clients such as robots.
서버와 클라이언트가 함께 동작하는 방식은 마치 "정신(soul)"과 "환영(ghost)"의 관계와 유사하다. 전자대리인의 "정신"은 항상 서버에 남아있고, 클라이언트는 정신의 "환영" (즉, 물리적 표현체)만 수신할 뿐이다. 이는, 클라이언트가 비활성상태일 때에 "환영"은 사라지지만 "정신"은 서버에 남아 있어서 향후에 클라이언트에 다른 "환영"을 생성시키는 것을 나타낸다.The way the server and client work together is similar to the relationship between "soul" and "ghost". The electronic agent's "spirit" always remains on the server, and the client only receives the "welcome" (ie physical representation) of the mind. This indicates that when the client is inactive, the "welcome" disappears but the "spirit" remains on the server, creating another "welcome" to the client in the future.
전자대리인은 한 번에 하나 이상의 장소에 있거나, 한 번에 오직 하나의 독립된 장소에만 있을 수 있다. 전자대리인이 한 번에 하나의 장소에만 있을 수 있는 경우에는, 전자대리인이 이동하는 동물과 한층 유사하다는 "신뢰감"을 배가시키게 된다. 예를 들어, "Joe"의 전자대리인은, 잠시 동안 Joe의 데스크톱에 머물다가 Joe의 여자 친구의 전자대리인과 놀기 위하여 그녀의 데스크톱으로 이동하는 고양이에 비유할 수 있다.An electronic agent may be in more than one place at a time or in only one independent place at a time. If an electronic agent can only be in one place at a time, it adds to the "trust" that the electronic agent is more like a moving animal. For example, Joe's e-agent could be likened to a cat who stayed at Joe's desktop for a while and then moved to her desktop to play with Joe's girlfriend's e-agent.
전자대리인은 사용자에 대한 대리인 역할을 한다. 사용자가 다른 과제를 수행하느라 매우 바쁠 수 있는데, 이때에 전자대리인으로 하여금 특정 과제에 대해서 수행하도록 선택할 수 있다. 다른 가능성으로서, 사용자는 사용자에게 존재할 수 있는 다양한 가능성의 여지를 알지 못한다는 것이다. 반면에 사용자의 전자대리인은 사용자를 대신하여 이러한 가능성의 여지를 항시 탐색할 수 있다.The electronic representative acts as an agent for the user. The user may be very busy doing other tasks, at which point the electronic representative may choose to perform the particular task. Another possibility is that the user is unaware of the various possibilities that may exist for the user. On the other hand, the user's electronic representative can always explore this possibility on behalf of the user.
예를 들어, 전자대리인은 전자사회 네트워크에서의 촉진자가 될 수 있다. 전자사회 네트워크는 다양한 장소에 사는 다양한 사람들이 친목, 친교, 사업상 접촉, 연애 등을 할 수 있도록 하는 소프트웨어 프로그램이다. 전자사회 네트워크의 한 가지 문제점은, 사용자들이 자신들의 사회적 네트워크를 확장하는 것을 부끄러워하거나 익숙지 않거나 그 방법을 잘 모른다는 것이다. 이러한 문제점은 전자대리인이 사용자를 대신하여 네트워크를 활동적으로 이동하면서 사용자의 사회적 네트워크를 확장시킴에 의해 치유될 수 있다. 이미 설명한 바와 같이, 전자대리인은 사용자 프로필에 근거하여 이동 결정을 한다. 따라서 사회적 네트워크의 잠재적 확장위치를 잘 찾아낼 수 있게 된다. 만일 전자대리인을 귀여운 애완동물의 형태로 구현한다면, 이 전자대리인은 순하고 비공격적인 태도로 다른 사회적 네트워크 "후보"를 방문할 수 있을 것이다. 이것의 전제는 사용자는 귀여운 고양이가 자신의 스크린을 찾아와 친구하자고 하는 것이 문자메시지로 요청하는 경우보다 더 호의적이라는 것이다. 따라서 사용자를 대신해 애완동물로 하여금 친구를 사귀자는 것은 사용자의 사회적 네트워크를 확장하는 훨씬 더 효과 있는 방법이 된다. For example, an electronic agent can be a facilitator in an electronic social network. An electronic society network is a software program that allows people in different places to socialize, socialize, make business contacts, and make love. One problem with e-social networks is that users are ashamed, unfamiliar with, or unaware of how to expand their social networks. This problem can be cured by extending the social network of the user while the electronic agent actively moves the network on behalf of the user. As already explained, the electronic agent makes a movement decision based on the user profile. Thus, it is possible to identify potential expansion of social networks. If the electronic agent is implemented in the form of a cute pet, the electronic agent can visit other social network "candidates" in a gentle and un-attack manner. The premise of this is that the user is more favored than having a cute cat visit his screen and ask him to text him. Thus making pets friends on behalf of users is a much more effective way to expand their social networks.
본 발명의 더욱 완전한 이해와 장점들은 첨부한 도면을 참조한 상세한 설명에 의해 보다 더 잘 이해될 것이다. A more complete understanding and advantages of the present invention will be better understood by the following detailed description with reference to the accompanying drawings.
시스템 개요System overview
도1은 본 발명에 따른 컴퓨터 시스템의 일실시예의 블록도이다. 도1에서, 컴퓨터 시스템은, 서버(130)와 연결되는 전자대리인(155)을 포함하고 있다. 서버(130)는 하나 또는 그 이상의 클라이언트(100, 105, 120, 125)와 연결된다. 각 클라이언트(예를 들어 100)는 서버(130)를 통해 전자대리인(155)과 접촉할 수 있다. 서버(130)는 전자대리인(155)의 목적지를 결정한다. 이로써 전자대리인(155)은 하나 이상의 클라이언트(100)에 존재할 수 있게 된다. 서버(130) 또는 원점 클라이언트는 전자대리인이 다른 클라이언트(100, 105, 120, 125)로 이동하도록 결정할 수 있다. 전자대리인이 원점 클라이언트를 떠나서 목적지 클라이언트(100, 105, 120, 125)로 이동하면, 서버(130) 또는 클라이언트가 전자대리인의 이동을 다시 결정할 때까지 전자대리인은 거기서 머물게 된다. 1 is a block diagram of one embodiment of a computer system in accordance with the present invention. In FIG. 1, the computer system includes an
클라이언트(100)는 전통적인 컴퓨터와 달리 다양한 표시장치(135)를 구비할 수 있다. 이러한 표시장치(135)에는 휴대용 컴퓨터, 이동전화기, 무선장치 등이 포함되지만, 이에 한정되지는 않는다. The
서버 저장매체(135)로는 주지되어 있는 형태의 저장장치(예를 들어, 하드디스크, 플래시메모리, 마이크로드라이브, 하드드라이브, 플로피디스크, 광디스크, DVD, CD-ROM, 광자기디스크, RAM, EPROM, EEPROM, 자기식 또는 광학식카드, 기타 전자적 명령/데이터를 저장할 수 있는 여타 형태의 저장매체)를 사용할 수 있다. 서버 저장매체(135)는 서버(130)와 동일한 물리적 시스템 내에 위치할 수 있다.The
도1의 실시예와 같은 컴퓨터 시스템에서는 서버(130)와 클라이언트(100)가 두 개의 분리된 범용 컴퓨터(도7 참조)로서 표시되어 있지만, 당업자라면 실제로 서버(130)와 클라이언트(100)를 데이터 네트워크로 연결하여 하나의 범용 컴퓨터로 구성하고, 데이터 네트워크를 인터넷 등으로 사용하는 대신에 버스(도 7 참조)로 연결하도록 할 수 있다. 즉, 도1의 실시예에는 서버와 클라이언트가 별개의 분리된 구성요소로 표시되어 있지만, 이들 구성요소는 도7에서와 같이 사실상 하나의 범용 컴퓨터로 구현될 수 있다. In a computer system such as the embodiment of FIG. 1,
다시 도1로 돌아가서, 데이터 네트워크가 서버(130)와 클라이언트(100)를 연결하고 있다. 데이터 네트워크는 인터넷, 인트라넷, 엑스트라넷, 무선망, 이더넷형 버스, 기타 서버(130)와 클라이언트(100) 사이에서 데이터를 전달할 수 있는 형태의 연결망으로 구현될 수 있다. 본 실시예에서는, 데이터 네트워크를 서버(130) 및 클라이언트(100)가 위치하는 지역과 다른 지리적 위치로부터 데이터를 전송할 수 있는 인터넷으로 구성한다. 서버(130)는 서버처리기(미도시)를 포함하는데, 이는 주지되어 있는 중앙처리장치(CPU) 또는 마이크로프로세서(단일 마이크로프로세서든 다수의 마이크로프로세서든)일 수 있다. 본 발명의 일실시예에 따르면 서버(130)의 처리기는 사용자의 프로필(325) 및/또는 전자대리인의 프로필(320)에 근거한 일련의 전자대리인(155) 행위를 생성한다. 따라서 아래에서 상세히 설명한 바와 같이, 사용자(165)는 개인화된 데이터를 프로필(170)의 형태로서 클라이언트(100)를 통해 제공할 수 있게 된다. 1, the data network is connecting the
도3은 서버시스템(130)의 바람직한 실시예를 나타낸다. 서버(130)는 전자대리인(155)의 행위 및 이동 방식을 결정하는 주요부이다. 서버(130)는 전자대리인(155)의 기능에 다양한 기능을 추가하는 서비스를 포함하고 있다. 기본 서비스에는 전자대리인 프로필(320), 사용자 프로필(325), 목록 관리(330)(inventory management), 사용자 관리(335), 통신서비스(340)가 포함된다. 대리인 프로필(320) 서비스는 전자대리인(155)의 행위, 요구, 욕구, 이력, 및 확장된 프로필 데이터에 대한 모든 방식을 유지하는 역할을 한다. 사용자 프로필(325)은 사용자의 행위, 요구, 욕구, 취미, 관심사, 특징, 속성, 이력 및 확장된 프로필 데이터에 대한 모든 방식을 유지하는 서비스이다. 목록 관리(330)는 다양한 전자대리인과 사용자들이 이용할 수 있는 모든 객체의 목록을 유지하는 서비스이다. 사용자 관리(335)는 사용자 및 해당 계정에 관한 정보 및 과금에 관련된 서비스이다. 통신 서비스(340)는 상호간의 통신을 위한 서비스이다. 이들 기본 서비스 계층에 추가하여 데이터베이스 서비스(345)와 클라이언트 통신 계층(315)이 포함된다. 데이터베이스 서비스는 서버로 하여금 데이터베이스(350)(사용자 데이터(355)와 대리인 데이터(360)를 포함하고 있음)에 접근할 수 있게 한다. 사용자 데이터베이스(355)는 사용자 프로필(325) 서비스에 공통으로 포함되는 영역이고, 대리인 데이터베이스(360)는 전자대리인 프로필(320) 서비스에 공통으로 포함되는 영역이다. 3 illustrates a preferred embodiment of
로깅 서비스(300)는 서버(130)의 행위의 로그를 유지하며, 클라이언트 및/또 는 서버의 행위로부터 파생된 적절한 모든 정보에 로그할 수 있도록 관리자에 의해 관리된다. The
클라이언트 통신 계층(315)은 클라이언트와 서버 사이의 인터페이스 역할을 하는 공통 서비스이다. 이는 클라이언트(100)에 연결되는 데이터 네트워크(160)에 대한 직접적인 인터페이스 역할을 하게 된다. The
다른 실시예에 있어서 서버(130)는 상술한 기본 서비스 이외에 한층 더 많은 서비스를 수행할 수 있다. 이 서버는, 사용자(165) 또는 전자대리인 프로그램 자체에 이익이 되는 다양한 서비스들을 수행하기 위하여 전자대리인에 의해 이용될 수 있다. 이러한 서비스에는 쇼핑, 약속하기, 블로깅, 게임, 기타 확장된 서비스들이 포함된다. In another embodiment, the
도4는 인공지능(AI) 엔진에 대한 바람직한 실시예를 나타내는 블록도이다. 전자대리인(155)은 서버(130)에 저장되어 있는 존재이지만 대개는 각 클라이언트(100)에서 시간을 소모하게 되기 때문에, 동시에 동작하는 다양한 AI 기능이 필요해진다. 이미 언급한 것과 같이, 클라이언트(100)와 서버(130)는 실제로 하나의 범용 컴퓨터일 수 있기 때문에, 이러한 AI 기능부분들은 동시에 하나가 될 수 있다. 4 is a block diagram illustrating a preferred embodiment of an artificial intelligence (AI) engine. The
서버(130)는 서버 AI(480)로 호칭되는 서비스를 포함한다. 이 서버 AI(480)는 전자대리인(155)의 행위와 동작을 제어하는 많은 역할을 한다. 이 서버 AI(480)는 주로 전자대리인(155)의 목적지를 이동시키는 역할을 하지만, 이 역할만 있는 것은 아니다. 이러한 역할은 이동 알고리즘(405)을 이용하여 이루어진다. 서버 AI(480)는 다른 많은 중요한 스테이트풀 동작들을 수행한다. 이 동작들에는 게임 시에 대리인의 출석을 요청하는 결정인 게임동작(410)과, 사회적 네트워크 결정인 "만날 대상의 결정"(415)과, 전자대리인이 특정 장소에서 다른 전자대리인과 만나야 하는지를 결정하는 일련의 파라미터인 그룹 및 모임 결정(420)과, 기타 서버측 결정들(425)이 포함된다. 일단 이들 결정이 이루어지고 서버(130)가 동작 내지는 행위를 결정하게 되면, 이 행위는 스테이트풀 스택(stateful stack) (465)에 전달되어 삽입된다. 이 스테이트풀 스택(465)은 클라이언트(100)가 로그오프할 때마다 사라진다는 점에서 세션 스택(470)과 다르다.
서버 AI(480)와 유사하게, 클라이언트 AI(485)는 전자대리인(155)의 동작 및 행위에 영향을 주는 결정을 한다. 이들 결정은 특정 클라이언트측 동작에 더 관계되어 있으며, 사용자(165)와의 대화가 자주 일어난다. Similar to
클라이언트 AI(485)는 클라이언트(100)가 활성화될 때에만 활성화된다. 즉 클라이언트(100)가 "온(On)"될 때 세션이 시작된다. 세션은 전자대리인(155)과 함께 하는 일련의 행위를 수행한다. 세션은 클라이언트(100)가 온 되어 있는 동안 결정을 계속한다. 이러한 결정은 클라이언트 AI(485)에 의해 결정되어서 세션 스택(470)으로 전달된다. 세션 스택(470)은 또한 서버(130)에서 새로운 아이템을 받는데, 이는 스테이트풀 스택(465)으로부터 전해온 스테이트풀 행위를 결정하는 역할을 한다.
클라이언트 AI(485)는 영구적인 "스테이트(state)"와는 무관한 결정들을 수행할 수 있다. 이들 결정에는 잠자기(435), 먹기(440), 사용자와의 통신(445), 다른 전자대리인과의 통신(450), 통신방법(455), 기타 클라이언트측 결정들(460)과 같은 항목이 포함된다.
일단 클라이언트(100)가 오프라인 상태이거나 꺼지는 등 동작하지 않게 되면, 세션 스택(470)은 비워진다. Once the
클라이언트 AI(485)에 의해 세션 스택(470)에 삽입되는 특정 행위는 또한 서버(130)로 복제되어 스테이트풀 스택(465)으로 삽입될 수 있다. Certain actions that are inserted into the
도5는 본 발명의 처리흐름의 바람직한 실시예이다. 전체적 개념은 전자대리인이 사용자를 대신하여 원격지든 근거리든 관계없이 지능적으로 행위를 수행하는 반자치체(semi-autonomous)로서의 역할을 한다는 것이다. 5 is a preferred embodiment of the process flow of the present invention. The whole idea is that an electronic agent acts as a semi-autonomous to perform actions intelligently on behalf of the user, whether remote or near.
우선 사용자가 클라이언트 시스템에서 행위를 수행함으로써 프로세스가 시작된다(500). 이러한 행위는 전자대리인(155)이 활성화된 상태에서만 수행되는 것으로 전제한다. 그리고 사용자는 전자대리인에 영향을 주는 행위들을 수행한다(505). 이때에, AI 알고리즘에 의해 제어되는 이 시스템에서는 이후의 행위를 요청한다(510). 이러한 행위들은 우선순위에 따라 스택으로 전달된다(515). 마지막으로, 전자대리인은 스택 내의 행위들을 순차로 실행한다(520).First, the process begins by the user performing an action on the client system (500). This act is assumed to be performed only when the
도7은 본 발명의 일실시예를 구현하기 위해 사용된 범용 컴퓨터의 개략적 구성 블록도이다. 이 범용 컴퓨터는 상술한 도1, 3, 4의 서버(130) 또는 클라이언트(100) 중 하나로서 동작한다. 도7의 범용 컴퓨터에는 프로세서(730)와 메모리(725)가 포함된다. 프로세서(730)는 한 개의 마이크로프로세서를 포함할 수도 있고, 다중프로세서 시스템을 구성하기 위하여 다수의 마이크로프로세서를 포함할 수도 있다. 상술한 실시예들과 달리, 프로세서(730)는 도1, 3, 4의 서버 프로세서와 클라 이언트 프로세서를 포함한다. 메모리(725)는 프로세서(730)에 의해 실행되는 명령어와 데이터를 부분적으로 저장한다. 본 발명의 시스템이 완전히 또는 부분적으로 소프트웨어(컴퓨터 명령어를 포함함)로 구현된다면, 메모리(725)는 동작 시에 실행 가능한 코드를 저장하게 된다. 메모리(725)는 고속의 캐쉬 메모리 뿐만 아니라 동적 랜덤 액세스 메모리(DRAM)의 뱅크들(banks)을 포함할 수 있다. 7 is a schematic structural block diagram of a general purpose computer used to implement one embodiment of the present invention. This general purpose computer operates as either the
도7의 컴퓨터는 또한 대용량 저장장치(735), 주변장치(740), 음향수단(750), 입력장치(755), 휴대용 저장매체드라이브(760), 그래픽장치(770), 표시수단(785)을 포함하고 있다. 단순화시키기 위하여 도1의 구성요소들은 네트워크(즉, 전송수단)를 통해 연결되어 있는 것으로 표시되어 있지만, 이 단일 범용 컴퓨터에서는 버스(780)에 의해 구성요소들이 연결될 수 있다. 가령, 프로세서(730)와 메모리(725)는 로컬 마이크로프로세서 버스로 연결될 수 있고, 대용량 저장장치(735), 주변장치(740), 휴대용 저장매체드라이브(760), 그래픽장치(770)는 하나 이상의 입/출력 (I/O) 버스로 연결될 수 있다. 자기디스크 드라이브나 광디스크 드라이브로 구현되는 상기 대용량 저장장치(735)는, 본 발명의 일실시예에서는 프로세서(730)가 사용하는 데이터와 명령어를 저장하는 비휘발성 저장장치이다. 이 대용량 저장장치(735)는 본 발명의 일실시예에서는 저장매체를 포함하고, 다른 실시예에서는 서버 저장매체와 클라이언트 저장매체를 포함한다. 다른 실시예에서, 대용량 저장장치(735)는 본 발명의 일실시예의 제1 및 제2알고리즘을 포함한다. 본 발명의 방법을 실행하는 컴퓨터 명령어가 또한 프로세서(730)에 저장될 수 있다. The computer of FIG. 7 also includes
휴대용 저장매체 드라이브(760)는 플래시메모리, 무선 저장장치, 플로피디스 크, 또는 기타 컴퓨터로 읽힐 수 있는 매체 등의 휴대형 비휘발성 저장매체와 함께 동작하는데, 도7의 컴퓨터 시스템으로 데이터와 코드를 입력하고 출력하는 역할을 한다. 본 발명에 따른 방법의 일실시예에 따르면, 컴퓨터 명령어를 휴대용 저장매체에 저장하고 이를 상기 휴대용 저장매체 드라이브(760)를 통해서 컴퓨터 시스템(790)에 입력한다. 주변장치(740)는 컴퓨터 시스템(790)에 부가적 기능을 부여하기 위한 것으로서, 입/출력(I/O) 인터페이스와 같은 임의 종류의 컴퓨터 보조 장치를 포함 할 수 있다. 가령, 주변장치(740)에는 컴퓨터 시스템(790)을 네트워크, 모뎀 등과 인터페이싱하는 네트워크 인터페이스 카드를 포함할 수 있다. The
입력장치(755)는 사용자 인터페이스의 일부인데, 문자/숫자와 기타 키정보를 입력하는 문자/숫자 키패드, 또는 마우스, 트랙볼, 스타일러스, 커서 이동키 등의 포인팅장치를 포함한다. 이러한 장치들은 본 발명에 따른 방법의 커스텀화된 매체목록 및 커스텀화된 매체와의 인터페이싱을 위한 부가수단 역할을 한다. 문자 및 그래픽 정보를 표시하기 위하여 도7의 컴퓨터에는 그래픽 장치(770)와 표시수단(785)이 포함된다. 표시수단(785)은, 사용자가 커스텀화된 매체목록 또는 커스텀화된 매체를 볼 수 있도록 하기 위한, 음극선관(CRT) 표시장치, 액정표시장치(LCD), 기타 적절한 표시장치 또는 표시수단을 포함할 수 있다. 그래픽 장치(770)는 문자 및 그래픽정보를 수신하여 이를 표시수단(785)으로 출력하기 위하여 처리한다. 표시수단(785)은 본 발명의 커스텀화된 매체목록을 제공하기 위한 실제적인 구성요소이다. 왜냐하면 본 발명의 방법은 표시수단(785)을 통하여서 직접적으로 그리고 실제적으로 실현될 수 있기 때문이다. 도7의 컴퓨터 시스템은 또한 음향시스템(750) 을 포함한다. 한 실시예에 따르면, 이 음향수단(750)은 주변장치(740)에 포함될 수 있는 마이크로폰으로부터 음향신호를 수신하는 사운드카드를 포함한다. 다른 실시예에 따르면, 이 음향시스템(750)은 음향을 처리하는 프로세서(예를 들어 프로세서(730))일 수 있다. 또한, 도7의 컴퓨터는 출력장치(745)를 포함한다. 적절한 출력장치로는 스피커, 프린터 등을 들 수 있다. The
도7의 컴퓨터 시스템에 포함되는 장치들은 일반적으로 범용 컴퓨터에 사용되는 것들로서, 당업계에서 잘 알려져 있는 컴퓨터 구성요소들을 넓은 범위로 표시하고자 한 것이다. 도7의 시스템은 본 발명의 방법을 실제적으로 실현하기 위하여 사용될 수 있는 하나의 플랫폼 구조를 나타내는데, 이외의 다양한 플랫폼(가령, 애플 컴퓨터사의 매킨토시 계열의 플랫폼, 닌텐도와 소니의 휴대장치용 비디오게임 플랫폼(가령 Nintendo DS, Sony PSP 등), 그래픽 유저인터페이스(GUI)를 이용하는 이동전화 플랫폼, 서로 다른 버스 구조를 갖는 플랫폼, 네트워크 플랫폼, 다중프로세서 플랫폼, 기타 개인용 컴퓨터, 워크스테이션, 메인프레임, 네비게이션 시스템 등)도 사용가능하다. Devices included in the computer system of FIG. 7 are generally used in general purpose computers, and are intended to represent a wide range of computer components well known in the art. The system of Fig. 7 shows one platform structure that can be used to practically implement the method of the present invention, and various other platforms (e.g., Apple-based Macintosh-based platform, Nintendo and Sony's video game platform) (Eg Nintendo DS, Sony PSP, etc.), mobile phone platforms with graphical user interfaces (GUIs), platforms with different bus structures, network platforms, multiprocessor platforms, other personal computers, workstations, mainframes, navigation systems, etc. ) Can also be used.
또다른 실시예로서, 본 발명은 또한 컴퓨터가 본 발명의 방법을 실행할 수 있도록 프로그램할 수 있는 컴퓨터 명령어를 기록한 컴퓨터 기록매체인 컴퓨터 프로그램 제품을 포함할 수 있다. 이 저장매체에는 플래시메모리, 하드디스크, 플로피디스크, 광디스크, DVD, 쓰기 가능한 DVD, CD-ROM, 광자기디스크, RAM, EPROM, EEPROM, 자기식 또는 광학식카드, 기타 전자적 명령어를 저장할 수 있는 여타 형태의 저장매체가 포함될 수 있으나, 이에 한정되지는 않는다.In another embodiment, the present invention may also include a computer program product, which is a computer recording medium having recorded computer instructions that can be programmed to enable a computer to carry out the method of the present invention. This storage medium can store flash memory, hard disk, floppy disk, optical disk, DVD, writable DVD, CD-ROM, magneto-optical disk, RAM, EPROM, EEPROM, magnetic or optical card, and other forms of electronic storage. Storage media may include, but are not limited to.
이해를 위한 예Example for understanding
도2는 본 발명의 방법의 처리흐름도이다. 도2에서 본 발명의 방법 및 실시예의 일실시예의 이해를 위한 예는 사용자(가령, 도1의 사용자 165)가 전자대리인(155)을 가능케 하는 응용을 실행하는 클라이언트(100)에 로그온하면서 시작된다(200).2 is a process flow diagram of the method of the present invention. An example for understanding one embodiment of the method and embodiment of the present invention in FIG. 2 begins with a user (eg,
단계 200 이후에 일단 클라이언트(100)가 작동되면 클라이언트(100)는 전자대리인(155)이 현재 다른 클라이언트에 존재하는지를 결정한다(205). 만일 전자대리인(155)이 실제로 다른 컴퓨터에 있다면, 클라이언트(100)는 전자대리인을 재호출한다(210). 다음 단계에서, 또는 상기 205 단계에서 전자대리인이 다른 컴퓨터에 없는 경우에는, 전자대리인이 사용자의 클라이언트에 나타난다(215). 다음에 사용자는 전자대리인(155)의 상태에 영향을 줄 수 있거나 줄 수 없는 클라이언트(100)에서 계속해서 동작을 수행한다. 이러한 사용자가 수행하는 동작의 "사이클"은 단계 220에서 이루어진다. 사용자가 동작을 수행하는 중에, 사건 취급자(640)는 실행할 일련의 동작들을 계속해서 만들어낸다. 이러한 동작들의 일부는 다른 컴퓨터로의 이동에 관계있을 수도 있고 없을 수도 있다. 상기 예가 이동에 대해서 설명하고 있기 때문에, 이동에 근거한 이들 동작 및 결정들은 밀접한 관계가 있을 뿐이다. Once the
본 실시예에서, 전자대리인(155)은 그 이동 상황에 영향을 줄 수 있는 세 가지 경우를 갖고 있다. 단계 225에서, 이동 욕구를 위한 내부 임계값에 대해서 첫 번째 이동 체크가 이루어진다. 이는 전자대리인이 이동을 원하는 고유한 요구 및 욕구라고 달리 표현할 수 있다. 이러한 욕구는 전자대리인이 이동하지 않는 동안에 는 시간에 따라 증가할 수 있다. 이는 전자대리인이 오랜 시간 동안 먹지 못할 경우에 점점 배고파지는 것과 같은 "배고픔"과 유사하게 동작한다. 소정의 임의 임계값에 도달하면 전자대리인은 자동적으로 "배고픔"을 치유할 방법을 찾기 시작한다. 이 경우에 "배고픔"은 이동하고픈 욕구가 된다. 단계 225에서 임계값에 도달된다면, 다음 단계 240으로 이동한다.In this embodiment, the
단계 240에서, 전자대리인은 목적지 범위를 결정한다. 프로필(170)에서 나타낸 것과 같이 목적지 선호도를 나타내는 이동 범위는 다양하다. 선호도 범위에는 친구, 친구의 친구, 무작위, 고객, 그리고 대리인 자신의 친구가 포함된다. 사용자는 이러한 선호도에 대해서 가중치와 우선순위를 일부 또는 전부 통제할 수 있다. In
일단 단계 240에서 범위가 결정되면, 단계 245에서는 정해진 범위 내에서 어느 사용자를 방문할 것인지 확실하게 결정한다. 이는 목적지 범위 내에 속하는 모든 사용자의 목록을 조사함으로써 이루어진다. 다른 실시예로서, 목적지 범위의 사용자는 여러 가지 이유로 특정 전자대리인의 방문을 원치 않을 수도 있음을 알아야 한다. 이러한 이유에는 특정 전자대리인에 대한 거부, 특정 범위에 해당하는 전자대리인을 걸러내기 위한 필터를 지정하거나 클라이언트가 전자대리인들로 꽉 찼거나 전자대리인을 추가하기에 너무 바쁜 경우가 포함되나, 이에 한정되지는 않는다. 목록이 조사된 다음에, 목록은 선호도 순서로 정렬되고 분산알고리즘은 선호도에 의해 가중치를 주는 마지막 선택을 하게 된다. Once the range is determined in
일단 목적지가 단계 245에서 결정되면, 단계 255에서는 이동 동작이 스택으로 삽입된다. 이동 동작이 긴급한 경우에는, 스택에 우선순위 높게 삽입될 수 있 다. 전자대리인이 더 높은 우선순위의 과제를 수행하느라 바쁜 상태라면, 이동행위는 스택의 아래 부분에 삽입된다. 마지막으로 단계 260에서 전자대리인은 목적지로 이동하게 된다.Once the destination is determined in
단계 225에서 전자대리인이 이동 임계값에 도달되지 못했을 경우에는, 단계 230에서 다른 사용자가 요청한 것이 있는지를 체크한다. 이러한 행위를 촉발하기 위해 일어날 수 있는 많은 경우의 수가 있는데, 이에는 전자대리인의 "친구"가 새로 온라인으로 도착하는 경우, 다른 사용자의 명시적 요청, 또는 전자대리인의 출석을 요청하는 다른 장소에서의 행위가 포함된다. 이러한 마지막 가능성에 대해서는, 전자대리인이 다른 전자대리인으로부터 요청을 수신할 때인 단계 235에서 보다 구체적으로 언급된다.If the electronic agent has not reached the movement threshold in
이들 단계 230 또는 235 중 하나가 참인 경우에는, 단계 250에서는 이어서 전자대리인이 목적지 주소를 결정하게 된다. 이는 요청의 발원지에 근거한 특정 위치이다. 따라서 단계 240과 245에 설명한 알고리즘을 수행할 필요가 없다. If either of these
도6은 본 발명에서 스택을 취급하는 방법에 관련된 실시예를 나타낸다. 스택(475)은 전자대리인(155)이 실행하기 위하여 대열(queue)을 만들고 있는 일련의 행위들을 포함하고 있다. 본 예에서, 서버 AI(480) 및/또는 클라이언트 AI(485)는 스택에 위치되어야 할 행위들을 결정한다. 스택에서 실행되어야 할 첫 번째 항목은 아이들 애니메이션(605, idle animation)이고, 다음은 음식 찾기 동작(610)이고, 다음은 다른 전자대리인과 대화하기(615)이고, 다음은 게임놀이(620), 다음은 사용자를 위한 만찬 예약(625), 다음은 사용자와 농담하기(630) 및 기타 행위들이다. Figure 6 shows an embodiment related to the method of handling a stack in the present invention.
현재 실행되고 있는 행위는 스택의 시작점에 위치하고 있는 행위이다. 도6의 예에서, 현재의 행위는 아이들 애니메이션(605)이다. 각 행위는 즉각 수행될 수도 있지만, 수 초, 수 분, 수 시간, 수 일이 소요될 수도 있다. 현재의 행위는 다수의 행위일 수도 있다. 예를 들어, 전자대리인은 사용자와 게임을 하면서 만찬예약을 할 수도 있다.The action currently being executed is the one located at the beginning of the stack. In the example of FIG. 6, the current behavior is
사건 취급자(640, event handler)는 모든 사건들(events)을 항시 감시하고 있다가(645) 스택(475)에 보낼 적절한 것을 결정한다. 본 예에서, 스택은 전자대리인(155)의 모든 현재 척도(meter)를 조사하고 있다. 이들 척도에는 목마름, 배고픔, 인간과의 대화를 원하는 욕구, 놀고 싶은 욕구, 자신의 사용자의 건강, 무료함 등을 돕고 싶은 욕구 등이 포함되지만 이에 한정되지는 않는다. The
현재의 상태를 감시하는 중에(645) 이동 임계값에 도달하거나 원격요청이 온 경우에는(650), 사건 취급자는 새로운 이동 동작(655)을 생성한다. 모든 동작마다에는 우선순위가 부가되어서 현재의 스택에 배치될 때 우선순위대로 배치된다. While monitoring the current state (645) when the movement threshold is reached or when the remote request is on (650), the event handler creates a new movement operation (655). Priority is added to all operations so that they are placed in order of priority when placed on the current stack.
이상에서 본 발명을 특정 실시예와 예로서 설명하였지만, 이로부터의 변형과 개량은 이하의 청구범위에서 한정되는 본 발명의 범위 내에 있게 된다. While the invention has been described above by way of specific embodiments and examples, modifications and improvements therefrom are intended to be within the scope of the invention as defined in the following claims.
전술한 바와 같이, 본 발명에서는, 사용자가 자신의 컴퓨터에서 다른 장소로 전자대리인을 옮겨서 작업할 수 있기 때문에 사용자 컴퓨터 밖에서의 웹 항해, 각종 행위들, 작업수행 등이 가능해지며, 전자대리인이 네트워크 상에서 상호 대화(interaction)가 가능해지므로 어떠한 외부적 행위(가령, 친구 사귀기, 관심 있는 소식을 찾기, 약속하기 등)를 스스로 수행할 수 있는 효과가 있다. 또한, 본 발명에 따르면, 전자대리인이 사용자 컴퓨터에 내에 고립되지 않기 때문에, 사용자에게 명령을 해야 할 행위들에 대해서 다른 대리인이나 컴퓨터로부터 새로운 능력을 배울 수 있다. As described above, in the present invention, since the user can work by moving the electronic agent from his computer to another place, it is possible to navigate the web, perform various actions, perform tasks, etc. outside the user's computer, Interaction is possible so that you can perform any external action on your own, such as making friends, finding news of interest, or making promises. In addition, according to the present invention, since the electronic agent is not isolated in the user's computer, new capabilities can be learned from other agents or the computer about the actions to be instructed to the user.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050022908A KR100700086B1 (en) | 2005-03-19 | 2005-03-19 | Method and system for an electronic agent traveling based on profile |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050022908A KR100700086B1 (en) | 2005-03-19 | 2005-03-19 | Method and system for an electronic agent traveling based on profile |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060101055A KR20060101055A (en) | 2006-09-22 |
KR100700086B1 true KR100700086B1 (en) | 2007-03-28 |
Family
ID=37632423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050022908A KR100700086B1 (en) | 2005-03-19 | 2005-03-19 | Method and system for an electronic agent traveling based on profile |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100700086B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020059806A (en) * | 2000-09-29 | 2002-07-13 | 이데이 노부유끼 | Agent system, agent selling method, information providing device, and data recorded medium |
KR20040001053A (en) * | 2002-06-26 | 2004-01-07 | 라바테크 주식회사 | Character Agent Offering Method Of Based On Web |
-
2005
- 2005-03-19 KR KR1020050022908A patent/KR100700086B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020059806A (en) * | 2000-09-29 | 2002-07-13 | 이데이 노부유끼 | Agent system, agent selling method, information providing device, and data recorded medium |
KR20040001053A (en) * | 2002-06-26 | 2004-01-07 | 라바테크 주식회사 | Character Agent Offering Method Of Based On Web |
Non-Patent Citations (2)
Title |
---|
1020020059806 |
1020040001053 |
Also Published As
Publication number | Publication date |
---|---|
KR20060101055A (en) | 2006-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060190524A1 (en) | Method and system for an electronic agent traveling based on a profile | |
US20190362252A1 (en) | Learning user preferences in a conversational system | |
US11196863B2 (en) | Method and system for virtual assistant conversations | |
US20210371528A1 (en) | Virtual assistant focused user interfaces | |
US9589380B2 (en) | Avatar-based unsolicited advertisements in a virtual universe | |
JP7250853B2 (en) | A virtual assistant configured to recommend actions to facilitate existing conversations | |
AU2010204767B2 (en) | Conditional incentive presentation, tracking and redemption | |
US8117551B2 (en) | Computer system and method of using presence visualizations of avatars as persistable virtual contact objects | |
Dey et al. | A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications | |
US8127236B2 (en) | Virtual universe subject matter expert assistance | |
US8095595B2 (en) | Summarization of immersive collaboration environment | |
US20100211638A1 (en) | Method and device for creating computer applications | |
US9256347B2 (en) | Routing a teleportation request based on compatibility with user contexts | |
JP2009522687A (en) | Remote access and social networking using presence-based applications | |
KR101247859B1 (en) | Dynamic content preference and behavior sharing between computing devices | |
CN107391522A (en) | Optional application link is incorporated into message exchange topic | |
CN101765823A (en) | Context-aware shared content representations | |
CN103608811A (en) | Context aware application model for connected devices | |
CN113630303B (en) | Content sharing method, content sharing system, readable storage medium and electronic device | |
JPWO2002027592A1 (en) | Information management system using agents | |
US20210279962A1 (en) | Use of Secondary Sources for Location and Behavior Tracking | |
EP3563311A1 (en) | Systems and methods for contextual memory capture and recall | |
KR100700086B1 (en) | Method and system for an electronic agent traveling based on profile | |
US20220253717A1 (en) | System and method for bringing inanimate characters to life | |
TW202219880A (en) | Method and system for recommending content using chatbot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |