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 PDF

Info

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
Application number
KR1020050022908A
Other languages
Korean (ko)
Other versions
KR20060101055A (en
Inventor
베스키 에릭
심슨 네이트
Original Assignee
주식회사 고페츠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 고페츠 filed Critical 주식회사 고페츠
Priority to KR1020050022908A priority Critical patent/KR100700086B1/en
Publication of KR20060101055A publication Critical patent/KR20060101055A/en
Application granted granted Critical
Publication of KR100700086B1 publication Critical patent/KR100700086B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

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

프로필에 근거한 전자대리인 이동 방법 및 시스템{Method and system for an electronic agent traveling based on profile}Method and system for an electronic agent traveling based on profile

도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 electronic agent 155 connected with the server 130. The server 130 is connected to one or more clients 100, 105, 120, 125. Each client (eg, 100) may contact the electronic representative 155 through the server 130. The server 130 determines the destination of the electronic agent 155. As a result, the electronic agent 155 may exist in one or more clients 100. The server 130 or the origin client may decide to move the electronic representative to other clients 100, 105, 120, and 125. When the electronic agent leaves the origin client and moves to the destination client 100, 105, 120, 125, the electronic agent stays there until the server 130 or the client decides again to move the electronic agent.

클라이언트(100)는 전통적인 컴퓨터와 달리 다양한 표시장치(135)를 구비할 수 있다. 이러한 표시장치(135)에는 휴대용 컴퓨터, 이동전화기, 무선장치 등이 포함되지만, 이에 한정되지는 않는다. The client 100 may be provided with various display devices 135, unlike a traditional computer. Such display devices 135 include, but are not limited to, portable computers, mobile phones, wireless devices, and the like.

서버 저장매체(135)로는 주지되어 있는 형태의 저장장치(예를 들어, 하드디스크, 플래시메모리, 마이크로드라이브, 하드드라이브, 플로피디스크, 광디스크, DVD, CD-ROM, 광자기디스크, RAM, EPROM, EEPROM, 자기식 또는 광학식카드, 기타 전자적 명령/데이터를 저장할 수 있는 여타 형태의 저장매체)를 사용할 수 있다. 서버 저장매체(135)는 서버(130)와 동일한 물리적 시스템 내에 위치할 수 있다.The server storage medium 135 may be a storage device of a known type (eg, hard disk, flash memory, micro drive, hard drive, floppy disk, optical disk, DVD, CD-ROM, magneto-optical disk, RAM, EPROM, EEPROM, magnetic or optical cards, and other forms of storage media capable of storing electronic commands / data) can be used. The server storage medium 135 may be located in the same physical system as the server 130.

도1의 실시예와 같은 컴퓨터 시스템에서는 서버(130)와 클라이언트(100)가 두 개의 분리된 범용 컴퓨터(도7 참조)로서 표시되어 있지만, 당업자라면 실제로 서버(130)와 클라이언트(100)를 데이터 네트워크로 연결하여 하나의 범용 컴퓨터로 구성하고, 데이터 네트워크를 인터넷 등으로 사용하는 대신에 버스(도 7 참조)로 연결하도록 할 수 있다. 즉, 도1의 실시예에는 서버와 클라이언트가 별개의 분리된 구성요소로 표시되어 있지만, 이들 구성요소는 도7에서와 같이 사실상 하나의 범용 컴퓨터로 구현될 수 있다. In a computer system such as the embodiment of FIG. 1, server 130 and client 100 are represented as two separate general purpose computers (see FIG. 7). It can be connected to a network to form a single general purpose computer, and connected to a bus (see FIG. 7) instead of using the data network as the Internet. That is, although the server and client are shown as separate components in the embodiment of FIG. 1, these components may be implemented as virtually one general purpose computer as shown in FIG. 7.

다시 도1로 돌아가서, 데이터 네트워크가 서버(130)와 클라이언트(100)를 연결하고 있다. 데이터 네트워크는 인터넷, 인트라넷, 엑스트라넷, 무선망, 이더넷형 버스, 기타 서버(130)와 클라이언트(100) 사이에서 데이터를 전달할 수 있는 형태의 연결망으로 구현될 수 있다. 본 실시예에서는, 데이터 네트워크를 서버(130) 및 클라이언트(100)가 위치하는 지역과 다른 지리적 위치로부터 데이터를 전송할 수 있는 인터넷으로 구성한다. 서버(130)는 서버처리기(미도시)를 포함하는데, 이는 주지되어 있는 중앙처리장치(CPU) 또는 마이크로프로세서(단일 마이크로프로세서든 다수의 마이크로프로세서든)일 수 있다. 본 발명의 일실시예에 따르면 서버(130)의 처리기는 사용자의 프로필(325) 및/또는 전자대리인의 프로필(320)에 근거한 일련의 전자대리인(155) 행위를 생성한다. 따라서 아래에서 상세히 설명한 바와 같이, 사용자(165)는 개인화된 데이터를 프로필(170)의 형태로서 클라이언트(100)를 통해 제공할 수 있게 된다.  1, the data network is connecting the server 130 and the client 100. The data network may be implemented as an internet, intranet, extranet, wireless network, Ethernet bus, and other types of connection networks capable of transferring data between the server 130 and the client 100. In this embodiment, the data network is configured as the Internet capable of transmitting data from a geographic location different from the area where the server 130 and the client 100 are located. Server 130 includes a server processor (not shown), which may be a well known central processing unit (CPU) or microprocessor (either a single microprocessor or multiple microprocessors). According to an embodiment of the present invention, the processor of the server 130 generates a series of electronic agent 155 behaviors based on the user's profile 325 and / or the electronic agent's profile 320. Accordingly, as described in detail below, the user 165 may provide personalized data through the client 100 in the form of a profile 170.

도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 server system 130. The server 130 is a main part for determining the behavior and movement of the electronic agent 155. The server 130 includes a service for adding various functions to the functions of the electronic agent 155. The basic service includes an electronic agent profile 320, a user profile 325, inventory management 330, user management 335, and communication service 340. The agent profile 320 service is responsible for maintaining all manner of behavior, needs, desires, history, and extended profile data of the electronic representative 155. User profile 325 is a service that maintains all manner of user behavior, needs, desires, hobbies, interests, features, attributes, history, and extended profile data. List management 330 is a service for maintaining a list of all objects available to various electronic agents and users. User management 335 is a service related to information and billing about the user and the corresponding account. The communication service 340 is a service for communication with each other. In addition to these basic service layers, a database service 345 and a client communication layer 315 are included. The database service allows the server to access the database 350 (which includes user data 355 and delegate data 360). The user database 355 is an area commonly included in the user profile 325 service, and the agent database 360 is an area commonly included in the electronic agent profile 320 service.

로깅 서비스(300)는 서버(130)의 행위의 로그를 유지하며, 클라이언트 및/또 는 서버의 행위로부터 파생된 적절한 모든 정보에 로그할 수 있도록 관리자에 의해 관리된다. The logging service 300 maintains a log of the actions of the server 130 and is managed by the administrator to log all the appropriate information derived from the actions of the client and / or server.

클라이언트 통신 계층(315)은 클라이언트와 서버 사이의 인터페이스 역할을 하는 공통 서비스이다. 이는 클라이언트(100)에 연결되는 데이터 네트워크(160)에 대한 직접적인 인터페이스 역할을 하게 된다. The client communication layer 315 is a common service that acts as an interface between the client and the server. This serves as a direct interface to the data network 160 connected to the client 100.

다른 실시예에 있어서 서버(130)는 상술한 기본 서비스 이외에 한층 더 많은 서비스를 수행할 수 있다. 이 서버는, 사용자(165) 또는 전자대리인 프로그램 자체에 이익이 되는 다양한 서비스들을 수행하기 위하여 전자대리인에 의해 이용될 수 있다. 이러한 서비스에는 쇼핑, 약속하기, 블로깅, 게임, 기타 확장된 서비스들이 포함된다. In another embodiment, the server 130 may perform more services in addition to the basic service described above. This server may be used by the electronic representative to perform various services that benefit the user 165 or the electronic representative program itself. These services include shopping, appointments, blogging, games, and other extended services.

도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 electronic agent 155 is stored in the server 130, but since most of the time is consumed by each client 100, various AI functions that operate simultaneously are required. As already mentioned, since the client 100 and server 130 can actually be one general purpose computer, these AI functional parts can be one at a time.

서버(130)는 서버 AI(480)로 호칭되는 서비스를 포함한다. 이 서버 AI(480)는 전자대리인(155)의 행위와 동작을 제어하는 많은 역할을 한다. 이 서버 AI(480)는 주로 전자대리인(155)의 목적지를 이동시키는 역할을 하지만, 이 역할만 있는 것은 아니다. 이러한 역할은 이동 알고리즘(405)을 이용하여 이루어진다. 서버 AI(480)는 다른 많은 중요한 스테이트풀 동작들을 수행한다. 이 동작들에는 게임 시에 대리인의 출석을 요청하는 결정인 게임동작(410)과, 사회적 네트워크 결정인 "만날 대상의 결정"(415)과, 전자대리인이 특정 장소에서 다른 전자대리인과 만나야 하는지를 결정하는 일련의 파라미터인 그룹 및 모임 결정(420)과, 기타 서버측 결정들(425)이 포함된다. 일단 이들 결정이 이루어지고 서버(130)가 동작 내지는 행위를 결정하게 되면, 이 행위는 스테이트풀 스택(stateful stack) (465)에 전달되어 삽입된다. 이 스테이트풀 스택(465)은 클라이언트(100)가 로그오프할 때마다 사라진다는 점에서 세션 스택(470)과 다르다. Server 130 includes a service called server AI 480. The server AI 480 plays a role in controlling the behavior and operation of the electronic agent 155. The server AI 480 mainly serves to move the destination of the electronic agent 155, but this is not the only role. This role is played using the movement algorithm 405. Server AI 480 performs many other important stateful operations. These actions include game action 410, which is a decision to request an agent's presence at the time of the game, "the decision of the person to meet" 415, which is a social network decision, and whether an electronic agent should meet with another electronic agent at a particular place. Group and meeting decisions 420, which are a set of parameters, and other server-side decisions 425. Once these decisions are made and the server 130 decides to act or act, the act is passed to and inserted into a stateful stack 465. This stateful stack 465 differs from the session stack 470 in that it disappears every time the client 100 logs off.

서버 AI(480)와 유사하게, 클라이언트 AI(485)는 전자대리인(155)의 동작 및 행위에 영향을 주는 결정을 한다. 이들 결정은 특정 클라이언트측 동작에 더 관계되어 있으며, 사용자(165)와의 대화가 자주 일어난다. Similar to server AI 480, client AI 485 makes decisions that affect the operation and behavior of electronic representative 155. These decisions are further related to specific client-side actions, and conversations with user 165 frequently occur.

클라이언트 AI(485)는 클라이언트(100)가 활성화될 때에만 활성화된다. 즉 클라이언트(100)가 "온(On)"될 때 세션이 시작된다. 세션은 전자대리인(155)과 함께 하는 일련의 행위를 수행한다. 세션은 클라이언트(100)가 온 되어 있는 동안 결정을 계속한다. 이러한 결정은 클라이언트 AI(485)에 의해 결정되어서 세션 스택(470)으로 전달된다. 세션 스택(470)은 또한 서버(130)에서 새로운 아이템을 받는데, 이는 스테이트풀 스택(465)으로부터 전해온 스테이트풀 행위를 결정하는 역할을 한다. Client AI 485 is only activated when client 100 is activated. In other words, the session is started when the client 100 is "On". The session performs a series of actions with the electronic representative 155. The session continues the decision while the client 100 is on. This decision is made by client AI 485 and passed to session stack 470. The session stack 470 also receives a new item at the server 130, which serves to determine the stateful behavior passed from the stateful stack 465.

클라이언트 AI(485)는 영구적인 "스테이트(state)"와는 무관한 결정들을 수행할 수 있다. 이들 결정에는 잠자기(435), 먹기(440), 사용자와의 통신(445), 다른 전자대리인과의 통신(450), 통신방법(455), 기타 클라이언트측 결정들(460)과 같은 항목이 포함된다.Client AI 485 may make decisions that are independent of permanent "states." These decisions include items such as sleep 435, eating 440, communication with the user 445, communication with other electronic agents 450, communication method 455, and other client-side decisions 460. do.

일단 클라이언트(100)가 오프라인 상태이거나 꺼지는 등 동작하지 않게 되면, 세션 스택(470)은 비워진다. Once the client 100 is offline or inactive, such as being turned off, the session stack 470 is empty.

클라이언트 AI(485)에 의해 세션 스택(470)에 삽입되는 특정 행위는 또한 서버(130)로 복제되어 스테이트풀 스택(465)으로 삽입될 수 있다. Certain actions that are inserted into the session stack 470 by the client AI 485 may also be replicated to the server 130 and inserted into the stateful stack 465.

도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 electronic representative 155 is activated. The user then performs the acts affecting the electronic representative (505). At this time, the system controlled by the AI algorithm requests subsequent actions (510). These actions are delivered to the stack in order of priority (515). Finally, the electronic representative sequentially executes the actions in the stack (520).

도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 server 130 or the client 100 of FIGS. 1, 3, and 4 described above. The general purpose computer of FIG. 7 includes a processor 730 and a memory 725. Processor 730 may include one microprocessor, or may include multiple microprocessors to construct a multiprocessor system. Unlike the above-described embodiments, the processor 730 includes the server processor and client processor of FIGS. 1, 3, and 4. The memory 725 partially stores instructions and data executed by the processor 730. If the system of the present invention is implemented in whole or in part in software (including computer instructions), memory 725 will store executable code in operation. The memory 725 may include banks of dynamic random access memory (DRAM) as well as high speed cache memory.

도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 mass storage device 735, peripheral device 740, acoustic means 750, input device 755, portable storage drive 760, graphics device 770, display means 785. It includes. For simplicity, the components of FIG. 1 are shown as being connected via a network (ie, means of transmission), but in this single general purpose computer, the components may be connected by a bus 780. For example, processor 730 and memory 725 may be connected to a local microprocessor bus, and mass storage 735, peripheral 740, portable storage drive 760, graphics device 770 may be one or more devices. It can be connected to an input / output (I / O) bus. The mass storage device 735, which is implemented as a magnetic disk drive or an optical disk drive, is a nonvolatile storage device that stores data and instructions used by the processor 730 in one embodiment of the present invention. The mass storage device 735 includes a storage medium in one embodiment of the invention, and in another embodiment a server storage medium and a client storage medium. In another embodiment, mass storage device 735 includes the first and second algorithms of one embodiment of the present invention. Computer instructions for executing the methods of the present invention may also be stored in the processor 730.

휴대용 저장매체 드라이브(760)는 플래시메모리, 무선 저장장치, 플로피디스 크, 또는 기타 컴퓨터로 읽힐 수 있는 매체 등의 휴대형 비휘발성 저장매체와 함께 동작하는데, 도7의 컴퓨터 시스템으로 데이터와 코드를 입력하고 출력하는 역할을 한다. 본 발명에 따른 방법의 일실시예에 따르면, 컴퓨터 명령어를 휴대용 저장매체에 저장하고 이를 상기 휴대용 저장매체 드라이브(760)를 통해서 컴퓨터 시스템(790)에 입력한다. 주변장치(740)는 컴퓨터 시스템(790)에 부가적 기능을 부여하기 위한 것으로서, 입/출력(I/O) 인터페이스와 같은 임의 종류의 컴퓨터 보조 장치를 포함 할 수 있다. 가령, 주변장치(740)에는 컴퓨터 시스템(790)을 네트워크, 모뎀 등과 인터페이싱하는 네트워크 인터페이스 카드를 포함할 수 있다. The portable storage drive 760 works with portable nonvolatile storage media, such as flash memory, wireless storage, floppy disks, or other computer readable media. The data and code can be entered into the computer system of FIG. And output. According to one embodiment of the method according to the present invention, computer instructions are stored in a portable storage medium and input to the computer system 790 via the portable storage medium drive 760. Peripheral device 740 is intended to provide additional functionality to computer system 790 and may include any type of computer assisted device, such as an input / output (I / O) interface. For example, the peripheral device 740 may include a network interface card that interfaces the computer system 790 with a network, a modem, and the like.

입력장치(755)는 사용자 인터페이스의 일부인데, 문자/숫자와 기타 키정보를 입력하는 문자/숫자 키패드, 또는 마우스, 트랙볼, 스타일러스, 커서 이동키 등의 포인팅장치를 포함한다. 이러한 장치들은 본 발명에 따른 방법의 커스텀화된 매체목록 및 커스텀화된 매체와의 인터페이싱을 위한 부가수단 역할을 한다. 문자 및 그래픽 정보를 표시하기 위하여 도7의 컴퓨터에는 그래픽 장치(770)와 표시수단(785)이 포함된다. 표시수단(785)은, 사용자가 커스텀화된 매체목록 또는 커스텀화된 매체를 볼 수 있도록 하기 위한, 음극선관(CRT) 표시장치, 액정표시장치(LCD), 기타 적절한 표시장치 또는 표시수단을 포함할 수 있다. 그래픽 장치(770)는 문자 및 그래픽정보를 수신하여 이를 표시수단(785)으로 출력하기 위하여 처리한다. 표시수단(785)은 본 발명의 커스텀화된 매체목록을 제공하기 위한 실제적인 구성요소이다. 왜냐하면 본 발명의 방법은 표시수단(785)을 통하여서 직접적으로 그리고 실제적으로 실현될 수 있기 때문이다. 도7의 컴퓨터 시스템은 또한 음향시스템(750) 을 포함한다. 한 실시예에 따르면, 이 음향수단(750)은 주변장치(740)에 포함될 수 있는 마이크로폰으로부터 음향신호를 수신하는 사운드카드를 포함한다. 다른 실시예에 따르면, 이 음향시스템(750)은 음향을 처리하는 프로세서(예를 들어 프로세서(730))일 수 있다. 또한, 도7의 컴퓨터는 출력장치(745)를 포함한다. 적절한 출력장치로는 스피커, 프린터 등을 들 수 있다. The input device 755 is part of a user interface, and includes a character / numeric keypad for inputting letters / numbers and other key information, or a pointing device such as a mouse, a trackball, a stylus, and a cursor movement key. Such devices serve as an additional means for interfacing with the customized medium list and the customized medium of the method according to the invention. In order to display text and graphic information, the computer of FIG. 7 includes a graphic device 770 and display means 785. Display means 785 includes a cathode ray tube (CRT) display, a liquid crystal display (LCD), other suitable display or display means for allowing a user to view a customized media list or customized media. can do. The graphic device 770 receives and processes text and graphic information to output it to the display means 785. The display means 785 is an actual component for providing the customized media list of the present invention. This is because the method of the present invention can be realized directly and practically through the display means 785. The computer system of FIG. 7 also includes an acoustic system 750. According to one embodiment, the sound means 750 comprises a sound card for receiving a sound signal from a microphone which may be included in the peripheral device 740. According to another embodiment, the acoustic system 750 may be a processor (eg, a processor 730) that processes sound. In addition, the computer of FIG. 7 includes an output device 745. Suitable output devices include speakers, printers, and the like.

도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, user 165 of FIG. 1) logging on to a client 100 running an application that enables an electronic representative 155. (200).

단계 200 이후에 일단 클라이언트(100)가 작동되면 클라이언트(100)는 전자대리인(155)이 현재 다른 클라이언트에 존재하는지를 결정한다(205). 만일 전자대리인(155)이 실제로 다른 컴퓨터에 있다면, 클라이언트(100)는 전자대리인을 재호출한다(210). 다음 단계에서, 또는 상기 205 단계에서 전자대리인이 다른 컴퓨터에 없는 경우에는, 전자대리인이 사용자의 클라이언트에 나타난다(215). 다음에 사용자는 전자대리인(155)의 상태에 영향을 줄 수 있거나 줄 수 없는 클라이언트(100)에서 계속해서 동작을 수행한다. 이러한 사용자가 수행하는 동작의 "사이클"은 단계 220에서 이루어진다. 사용자가 동작을 수행하는 중에, 사건 취급자(640)는 실행할 일련의 동작들을 계속해서 만들어낸다. 이러한 동작들의 일부는 다른 컴퓨터로의 이동에 관계있을 수도 있고 없을 수도 있다. 상기 예가 이동에 대해서 설명하고 있기 때문에, 이동에 근거한 이들 동작 및 결정들은 밀접한 관계가 있을 뿐이다. Once the client 100 is activated after step 200, the client 100 determines whether the electronic representative 155 currently exists in another client (205). If the electronic representative 155 is actually on another computer, the client 100 recalls the electronic representative (210). In the next step, or if the electronic agent is not at another computer in step 205, the electronic agent appears at the user's client (215). The user then continues to operate at the client 100, which may or may not affect the state of the electronic representative 155. The "cycle" of the operation performed by this user occurs at step 220. While the user is performing an action, the event handler 640 continues to create a series of actions to execute. Some of these operations may or may not be involved in moving to another computer. Since the example above illustrates movement, these actions and decisions based on movement are only closely related.

본 실시예에서, 전자대리인(155)은 그 이동 상황에 영향을 줄 수 있는 세 가지 경우를 갖고 있다. 단계 225에서, 이동 욕구를 위한 내부 임계값에 대해서 첫 번째 이동 체크가 이루어진다. 이는 전자대리인이 이동을 원하는 고유한 요구 및 욕구라고 달리 표현할 수 있다. 이러한 욕구는 전자대리인이 이동하지 않는 동안에 는 시간에 따라 증가할 수 있다. 이는 전자대리인이 오랜 시간 동안 먹지 못할 경우에 점점 배고파지는 것과 같은 "배고픔"과 유사하게 동작한다. 소정의 임의 임계값에 도달하면 전자대리인은 자동적으로 "배고픔"을 치유할 방법을 찾기 시작한다. 이 경우에 "배고픔"은 이동하고픈 욕구가 된다. 단계 225에서 임계값에 도달된다면, 다음 단계 240으로 이동한다.In this embodiment, the electronic agent 155 has three cases that may affect the movement situation. In step 225, a first move check is made against an internal threshold for the move desire. This can be expressed differently as the unique needs and desires for the electronic agent to move. This desire may increase over time while the electronic representative is not moving. This works similarly to "hunger", such as becoming increasingly hungry when an electronic agent has not eaten for a long time. Once a certain threshold is reached, the electronic representative automatically begins to look for ways to cure "hunger". In this case, "hunger" is the desire to move. If the threshold is reached in step 225, the flow moves to the next step 240.

단계 240에서, 전자대리인은 목적지 범위를 결정한다. 프로필(170)에서 나타낸 것과 같이 목적지 선호도를 나타내는 이동 범위는 다양하다. 선호도 범위에는 친구, 친구의 친구, 무작위, 고객, 그리고 대리인 자신의 친구가 포함된다. 사용자는 이러한 선호도에 대해서 가중치와 우선순위를 일부 또는 전부 통제할 수 있다. In step 240, the electronic representative determines the destination range. As shown in profile 170, a range of movements representing destination preferences may vary. Preference ranges include friends, friends of friends, randoms, customers, and agents' own friends. The user may control some or all of the weights and priorities for these preferences.

일단 단계 240에서 범위가 결정되면, 단계 245에서는 정해진 범위 내에서 어느 사용자를 방문할 것인지 확실하게 결정한다. 이는 목적지 범위 내에 속하는 모든 사용자의 목록을 조사함으로써 이루어진다. 다른 실시예로서, 목적지 범위의 사용자는 여러 가지 이유로 특정 전자대리인의 방문을 원치 않을 수도 있음을 알아야 한다. 이러한 이유에는 특정 전자대리인에 대한 거부, 특정 범위에 해당하는 전자대리인을 걸러내기 위한 필터를 지정하거나 클라이언트가 전자대리인들로 꽉 찼거나 전자대리인을 추가하기에 너무 바쁜 경우가 포함되나, 이에 한정되지는 않는다. 목록이 조사된 다음에, 목록은 선호도 순서로 정렬되고 분산알고리즘은 선호도에 의해 가중치를 주는 마지막 선택을 하게 된다. Once the range is determined in step 240, in step 245 it is determined with certainty which users to visit within the defined range. This is done by examining a list of all users who fall within the destination range. As another example, it should be appreciated that a user in the destination range may not want to visit a particular electronic representative for a variety of reasons. This may include, but is not limited to, rejection of certain electronic agents, specifying filters to filter out electronic agents within a certain range, or when the client is full of electronic agents or is too busy to add an electronic agent. Does not. After the list is examined, the list is sorted in order of preference and the variance algorithm makes the last choice, weighted by preference.

일단 목적지가 단계 245에서 결정되면, 단계 255에서는 이동 동작이 스택으로 삽입된다. 이동 동작이 긴급한 경우에는, 스택에 우선순위 높게 삽입될 수 있 다. 전자대리인이 더 높은 우선순위의 과제를 수행하느라 바쁜 상태라면, 이동행위는 스택의 아래 부분에 삽입된다. 마지막으로 단계 260에서 전자대리인은 목적지로 이동하게 된다.Once the destination is determined in step 245, in step 255 a move operation is inserted into the stack. If the move operation is urgent, it may be inserted in the stack with high priority. If the electronic agent is busy doing a higher priority task, the move is inserted at the bottom of the stack. Finally, in step 260, the electronic agent moves to the destination.

단계 225에서 전자대리인이 이동 임계값에 도달되지 못했을 경우에는, 단계 230에서 다른 사용자가 요청한 것이 있는지를 체크한다. 이러한 행위를 촉발하기 위해 일어날 수 있는 많은 경우의 수가 있는데, 이에는 전자대리인의 "친구"가 새로 온라인으로 도착하는 경우, 다른 사용자의 명시적 요청, 또는 전자대리인의 출석을 요청하는 다른 장소에서의 행위가 포함된다. 이러한 마지막 가능성에 대해서는, 전자대리인이 다른 전자대리인으로부터 요청을 수신할 때인 단계 235에서 보다 구체적으로 언급된다.If the electronic agent has not reached the movement threshold in step 225, it is checked in step 230 whether there is a request from another user. There are a number of cases that can occur to trigger this behavior, such as when an electronic representative's "friend" arrives online, at another place where an explicit request from another user or the electronic representative's attendance is requested. Action is included. This last possibility is discussed in more detail in step 235 where the electronic agent receives a request from another electronic agent.

이들 단계 230 또는 235 중 하나가 참인 경우에는, 단계 250에서는 이어서 전자대리인이 목적지 주소를 결정하게 된다. 이는 요청의 발원지에 근거한 특정 위치이다. 따라서 단계 240과 245에 설명한 알고리즘을 수행할 필요가 없다. If either of these steps 230 or 235 is true, then at step 250 the electronic agent will determine the destination address. This is a specific location based on the origin of the request. Thus, there is no need to perform the algorithm described in steps 240 and 245.

도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. Stack 475 contains a series of acts that queue the electronic agent 155 to execute. In this example, server AI 480 and / or client AI 485 determine the actions to be placed on the stack. The first item to be executed on the stack is idle animation (605), next is a food search operation (610), next is talking to another electronic agent (615), next gameplay (620), Next is a dinner reservation for the user (625), next is a joke with the user (630) and other actions.

현재 실행되고 있는 행위는 스택의 시작점에 위치하고 있는 행위이다. 도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 idle animation 605. Each action may be performed immediately, but may take several seconds, minutes, hours, or days. The current act may be a number of acts. For example, an electronic agent may make a dinner reservation while playing a game with the user.

사건 취급자(640, event handler)는 모든 사건들(events)을 항시 감시하고 있다가(645) 스택(475)에 보낼 적절한 것을 결정한다. 본 예에서, 스택은 전자대리인(155)의 모든 현재 척도(meter)를 조사하고 있다. 이들 척도에는 목마름, 배고픔, 인간과의 대화를 원하는 욕구, 놀고 싶은 욕구, 자신의 사용자의 건강, 무료함 등을 돕고 싶은 욕구 등이 포함되지만 이에 한정되지는 않는다. The event handler 640 is constantly monitoring all events (645) and decides what is appropriate to send to the stack 475. In this example, the stack is examining all current meters of the electronic representative 155. These measures include, but are not limited to, thirst, hunger, the desire to communicate with humans, the desire to play, the desire to help their users' health, freeness, and the like.

현재의 상태를 감시하는 중에(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)

전자대리인이 전자적 네트워크를 통해 출발지 클라이언트 시스템으로부터 목적지 클라이언트 시스템으로 이동하는 프로필에 근거한 전자대리인 이동 방법에 있어서, A method of moving an electronic agent based on a profile in which an electronic agent moves from an origin client system to a destination client system through an electronic network, 전자대리인 사용자가 입력시킨 자신의 프로필에 근거한 전자대리인을 서버의 처리기에서 생성하는 단계; Generating, at a processor of the server, an electronic agent based on the user's profile input by the electronic agent user; 상기 전자대리인을 서버가 상기 전자적 네트워크에 연결되어 있는 상기 출발지 클라이언트 시스템상에 표시하는 단계; Displaying the electronic representative on the origin client system where a server is connected to the electronic network; 상기 전자대리인이 이동할, 상기 전자적 네트워크에 연결되어 있는 목적지 클라이언트 시스템을 서버가 결정하는 단계, Determining, by the server, a destination client system to which the electronic agent is to move, connected to the electronic network; 상기 목적지 클라이언트 시스템 상에 상기 전자대리인을 서버가 표시하는 단계를 포함하는 프로필에 근거한 전자대리인 이동 방법. And a server displaying the electronic representative on the destination client system. 제1항에 있어서, The method of claim 1, 상기 전자대리인은 가상 애완동물인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.The electronic agent moving method based on the profile, characterized in that the virtual pet. 제1항에 있어서, The method of claim 1, 상기 전자대리인은 만화캐릭터인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.The electronic agent movement method based on the profile, characterized in that the cartoon character. 제1항에 있어서, The method of claim 1, 상기 전자적 네트워크는 인터넷인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And the electronic agent is an electronic agent based on a profile, characterized in that the Internet. 제1항에 있어서, The method of claim 1, 상기 전자대리인을 상기 출발지 클라이언트 시스템으로부터 사용자의 선택에 의하여 서버가 숨기는 단계가 추가로 포함하는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And hiding the electronic agent by the user's selection from the source client system. 전자대리인이 이동할 다음 목적지를 결정하는 방법에 있어서, In the method of determining the next destination for the electronic agent to move, 상기 전자대리인의 사용자가 자신의 프로필을 입력시켜 생성하는 단계; Generating by the user of the electronic representative input his profile; 상기 사용자가 입력시킨 프로필에 의하여 서버에서 상기 전자대리인을 생성하는 단계; Generating the electronic representative in the server according to the profile input by the user; 상기 사용자가 입력시킨 선호도에 의하여 서버가 새로운 목적지를 결정하는 단계; Determining, by the server, a new destination based on the preference input by the user; 상기 새로운 목적지를 향후의 목적지 대열에 우선순위에 따라 서버가 삽입하는 단계, Inserting the new destination into a future destination row according to priority; 상기 우선순위로 배열된 향후 목적지 대열에서 가장 높은 우선순위의 목적지를 서버가 선정하여 다음 목적지를 결정하는 단계를 포함하는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And determining, by the server, a next destination by selecting a destination having the highest priority in the future destination row arranged in the priority order. 제6항에 있어서, The method of claim 6, 상기 새로운 목적지를 결정하는 단계는 상기 프로필에 근거하여 이루어지는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And determining the new destination is based on the profile. 제6항에 있어서, The method of claim 6, 상기 새로운 목적지를 결정하는 단계는 상기 사용자에 의한 요청에 근거하여 이루어지는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And determining the new destination is based on a request by the user. 제6항에 있어서, The method of claim 6, 상기 새로운 목적지를 결정하는 단계는 다른 전자대리인의 다른 사용자의 요청에 근거하여 이루어지는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And determining the new destination based on a request of another user of another electronic agent. 제6항에 있어서, The method of claim 6, 상기 새로운 목적지를 결정하는 단계는, 상기 새로운 목적지의 우선순위를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And determining the new destination further comprises determining a priority of the new destination. 제6항에 있어서, The method of claim 6, 상기 새로운 목적지를 결정하는 단계는, Determining the new destination, 상기 전자대리인을 위한 가능한 목적지 목록을 생성하는 단계; 및Generating a list of possible destinations for the electronic representative; And 상기 가능한 목적지 목록에서 새로운 목적지를 선택하는 단계를 추가로 포함하는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And selecting a new destination from the list of possible destinations. 제6항에 있어서, The method of claim 6, 상기 전자대리인은 가상 애완동물인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.The electronic agent moving method based on the profile, characterized in that the virtual pet. 제6항에 있어서, The method of claim 6, 상기 전자대리인은 만화캐릭터인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.The electronic agent movement method based on the profile, characterized in that the cartoon character. 제6항에 있어서, The method of claim 6, 상기 전자대리인은 상기 사용자의 실사 사진물인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.The electronic agent is an electronic agent moving method based on a profile, characterized in that the user's photo real picture. 제6항에 있어서, The method of claim 6, 상기 전자대리인은 전자대리인 프로필을 갖는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.The electronic agent moving method based on the profile, characterized in that having an electronic agent profile. 제15항에 있어서, The method of claim 15, 새로운 목적지를 결정하는 단계는 상기 전자대리인의 프로필에 근거하여 이루어지는 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 방법.And determining a new destination is performed based on the profile of the electronic agent. 전자대리인을 이동시키기 위한 시스템으로서,A system for moving an electronic agent, 전자대리인이 이동하기 전에 상기 전자대리인을 표시하는 출발지 클라이언트 단말기; A source client terminal displaying the electronic agent before the electronic agent moves; 상기 전자대리인이 이동한 후에 상기 전자대리인을 표시하는 목적지 클라이언트 단말기;A destination client terminal displaying the electronic representative after the electronic representative moves; 상기 전자대리인의 프로필과 목적지 대열을 저장하는 저장매체를 포함하며, 상기 전자대리인 프로필에 근거하여 상기 전자대리인의 다음 목적지를 결정하는 서버;A server including a storage medium storing the electronic agent's profile and a destination column, wherein the server determines the next destination of the electronic agent's profile based on the electronic agent's profile; 상기 서버, 출발지 클라이언트 단말기, 목적지 클라이언트 단말기를 연결하는 데이터 네트워크를 포함하는 프로필에 근거한 전자대리인 이동 시스템.A mobile agent based on a profile comprising a data network connecting said server, source client terminal, and destination client terminal. 제17항에 있어서, The method of claim 17, 상기 목적지 클라이언트 단말기와 출발지 클라이언트 단말기는 데스크톱 컴퓨터인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 시스템.And the destination client terminal and the source client terminal are desktop computers. 제17항에 있어서, The method of claim 17, 상기 데이터 네트워크는 인터넷인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 시스템.And said data network is the Internet. 제17항에 있어서, 상기 전자대리인은 가상 애완동물인 것을 특징으로 하는 프로필에 근거한 전자대리인 이동 시스템.18. The mobile system of claim 17, wherein the electronic agent is a virtual pet.
KR1020050022908A 2005-03-19 2005-03-19 Method and system for an electronic agent traveling based on profile KR100700086B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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